# HG changeset patch # User Pat Downey # Date 1283340237 -3600 # Node ID c74b3d9f6b9efcff0373950ab8f6f74e9f639fc6 # Parent bad0cc58d154eaf0801c9dced6c44647a4a7cfd6 Revert incorrect RCL_3 drop: Revision: 201029 Kit: 201035 diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec.pro --- a/accesssec.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# Project file for building accesssec package - -# %version: 5 % - - -TEMPLATE = subdirs - -SUBDIRS += \ - accesssec_plat \ - securitysettings - -CONFIG += ordered - -BLD_INF_RULES.prj_exports += \ - "$${LITERAL_HASH}include \"./group/bld.inf\"" diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/accesssec_plat.pro --- a/accesssec_plat/accesssec_plat.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# Project file for accesssec_plat Qt exports -# - -# %version: 2 % - -TEMPLATE = subdirs - -include(eap_qt_configuration_api/eap_qt_configuration_api.pri) - -for(filename,PLATFORM_HEADERS){ - BLD_INF_RULES.prj_exports *= "$$filename MW_LAYER_PLATFORM_EXPORT_PATH($$basename(filename))" -} diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_qt_configuration_api/eap_qt_configuration_api.pri --- a/accesssec_plat/eap_qt_configuration_api/eap_qt_configuration_api.pri Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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 Qt configuration API project include -# - -# %version: 5 % - - -PLATFORM_HEADERS += \ - eap_qt_configuration_api/inc/eapqtcertificateinfo.h \ - eap_qt_configuration_api/inc/eapqtconfig.h \ - eap_qt_configuration_api/inc/eapqtconfiginterface.h \ - eap_qt_configuration_api/inc/eapqtexpandedeaptype.h \ - eap_qt_configuration_api/inc/eapqtpluginhandle.h \ - eap_qt_configuration_api/inc/eapqtplugininfo.h \ - eap_qt_configuration_api/inc/eapqtvalidator.h \ - eap_qt_configuration_api/inc/eapqtconfigexport.h \ - eap_qt_configuration_api/inc/eapqtpacstoreconfig.h diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_qt_configuration_api/inc/eapqtcertificateinfo.h --- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtcertificateinfo.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Certificate information data structure for EAP QT - * configuration interface - * - */ - -/* - * %version: 5 % - */ - -#ifndef EAPQTCERTIFICATEINFO_H -#define EAPQTCERTIFICATEINFO_H - -// System includes -#include -#include -#include - -// User includes - -// Forward declarations -class EapQtCertificateInfoPrivate; - -// External data types - -// Constants - -// Class declaration -class EAP_QT_CONFIG_INTERFACE_EXPORT EapQtCertificateInfo -{ - -public: - - // Data types - - enum ItemId - { - /*! QString */ - SubjectName = 0, - /*! QString */ - IssuerName, - /*! QString */ - SerialNumber, - /*! QByteArray */ - SubjectKeyId, - /*! QString */ - ThumbPrint, - /*! QString */ - CertificateLabel, - /* marker for the last item */ - ItemIdLast - }; - - // default constructor - EapQtCertificateInfo(); - // destructor - ~EapQtCertificateInfo(); - - // copy constuctor - EapQtCertificateInfo(const EapQtCertificateInfo& certInfo); - // assignment - EapQtCertificateInfo &operator=(const EapQtCertificateInfo& certInfo); - - // gets the certificate field referred to by an id from ItemId - // returns QVariant::Invalid is the field has not been set - QVariant value(const ItemId id) const; - - // sets the certificate field referred to by an id from ItemId - // does nothing if newValue >= ItemIdLast - void setValue(const ItemId id, const QVariant& newValue) const; - - // resets the object i.e. any successive call to - // value() returns QVariant::Invalid - void clear() const; - -private: // data - - QScopedPointer d_ptr; - -}; - -// Make the class known to QMetaType to support using QVariant -Q_DECLARE_METATYPE(EapQtCertificateInfo) - -#endif // EAPQTCERTIFICATEINFO_H diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_qt_configuration_api/inc/eapqtconfig.h --- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtconfig.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,161 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method QT configuration - * - */ - -/* - * %version: 8 % - */ - -#ifndef EAPQTCONFIG_H -#define EAPQTCONFIG_H - -// System includes -#include -#include -#include - -// User includes - -// Forward declarations -class EapQtConfigPrivate; - -// External data types - -// Constants - -// Class declaration -class EAP_QT_CONFIG_INTERFACE_EXPORT EapQtConfig -{ - -public: - - // Data types - - enum CipherSuite - { - /* from RFC4346, listing only suites supported by EAP server */ - TLS_NULL_WITH_NULL_NULL = 0x0000, - TLS_RSA_WITH_RC4_128_MD5 = 0x0004, - TLS_RSA_WITH_RC4_128_SHA = 0x0005, - TLS_RSA_WITH_3DES_EDE_CBC_SHA = 0x000a, - TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 0x0013, - TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 0x0016, - TLS_RSA_WITH_AES_128_CBC_SHA = 0x002f, - TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 0x0032, - TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 0x0033, - TLS_DH_anon_WITH_AES_128_CBC_SHA = 0x0034, - }; - - enum SettingsId - { - // see also EapSettings.h - - /*! bool */ - UsernameAutomatic = 0, - /*! QString */ - Username, - /*! bool */ - PasswordPrompt, - /*! write-only: QString */ - Password, - /*! bool - * in read: defines if password already exists in settings database - * in write: when true, defines that password is not included in the provided - * configuration since it already exists in settings database, i.e. earlier - * set password remains unchanged */ - PasswordStored, - /*! write-only: bool - * true: clears the password from database - * false: does nothing - */ - PasswordClear, - /*! bool */ - RealmAutomatic, - /*! QString */ - Realm, - /*! bool */ - UsePseudonyms, - /*! bool */ - VerifyServerRealm, - /*! bool */ - ClientAuthenticationRequired, - /*! uint */ - SessionValidityTime, - /*! QList, values from EapQtConfig::CipherSuite */ - CipherSuites, - /*! bool */ - PeapVersion0Allowed, - /*! bool */ - PeapVersion1Allowed, - /*! bool */ - PeapVersion2Allowed, - /*! bool */ - AuthorityCertificateAutomatic, - /*! QList< QVariant(EapQtCertificateInfo) > */ - AuthorityCertificate, - /*! QList< QVariant(EapQtCertificateInfo) > */ - UserCertificate, - /*! QList< QVariant(EapQtPluginHandle) > */ - InnerType, - /*! EapQtPluginHandle */ - OuterType, - /*! bool */ - ProvisioningModeAuthenticated, - /*! bool */ - ProvisioningModeUnauthenticated, - /*! QString */ - PACGroupReference, - /*! bool */ - WarnADHPNoPAC, - /*! bool */ - WarnADHPNoMatchingPAC, - /*! bool */ - WarnNotDefaultServer, - /*! bool */ - UseIdentityPrivacy, - /* marker for the last entry */ - SettingsIdLast - }; - - // default constructor - EapQtConfig(); - // destructor - ~EapQtConfig(); - - // gets the configuration field referred to by an id from SettingsId - // returns QVariant::Invalid is the field has not been set - QVariant value(const SettingsId id) const; - - // sets the configuration field referred to by an id from SettingsId - // does nothing if newValue >= SettingsIdLast - void setValue(const SettingsId id, const QVariant &newValue) const; - - // resets the object i.e. any successive call to - // value() returns QVariant::Invalid - void clear() const; - -private: - - Q_DISABLE_COPY(EapQtConfig) - -private: // data - - QScopedPointer d_ptr; - -}; - -#endif // EAPQTCONFIG_H diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_qt_configuration_api/inc/eapqtconfigexport.h --- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtconfigexport.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Export definition file for EAP QT configuration API - * headers - * - */ - -/* - * %version: 3 % - */ - -#ifndef EAPQTCONFIGEXPORT_H_ -#define EAPQTCONFIGEXPORT_H_ - -#ifdef BUILD_EAP_QT_CONFIG_INTERFACE_DLL -// the class gets exported -#define EAP_QT_CONFIG_INTERFACE_EXPORT Q_DECL_EXPORT -#else -// the class gets imported (used) -#define EAP_QT_CONFIG_INTERFACE_EXPORT Q_DECL_IMPORT -#endif - -#ifdef BUILD_EAP_QT_PLUGIN_INFO_DLL -// the class gets exported -#define EAP_QT_PLUGIN_INFO_EXPORT Q_DECL_EXPORT -#else -// the class gets imported (used) -#define EAP_QT_PLUGIN_INFO_EXPORT Q_DECL_IMPORT -#endif - -#endif // EAPQTCONFIGEXPORT_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_qt_configuration_api/inc/eapqtconfiginterface.h --- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtconfiginterface.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,202 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method configuration QT interface - * - */ - -/* - * %version: 8 % - */ - -#ifndef EAPQTCONFIGINTERFACE_H -#define EAPQTCONFIGINTERFACE_H - -// System includes -#include -#include -#include -#include - -// User includes - -// Forward declarations -class CpBaseSettingView; -class EapQtValidator; -class EapQtPluginInfo; -class EapQtPluginHandle; -class EapQtExpandedEapType; -class EapQtCertificateInfo; -class EapQtConfigInterfacePrivate; - -// External data types - -// Constants - -// Class declaration -class EAP_QT_CONFIG_INTERFACE_EXPORT EapQtConfigInterface -{ - -public: - - // Data types - - // bearer type used for creating an interface object - enum EapBearerType - { - // EAP configuration interface for WLAN - EapBearerTypeWlan = 0, - // EAP configuration interface for VPN - EapBearerTypeVpn - }; - - // IAP ID to be used for accessing limited number of - // API methods, see below the method descriptions - static const int IapIdUndefined = -1; - - // NOTE: the default constuctor can only be used for creating validators - // with validatorEap() and validatorPacStore(), and accessing EAP-FAST PAC store, - // any other call throws an exeption; - // also, throws an exception if the construction fails - EapQtConfigInterface(); - - // this is the constructor for using the interface for all - // available operations, including validators; - // throws an exception if the construction fails; - // the parameter iapId is the identifier of the configured IAP; - // if iapId is negative (i.e. IapIdUndefined or negative), only a limited set of - // methods are available and setConfigurationReference must be later called to - // correct the IAP ID and use the rest of the API methods - EapQtConfigInterface(const EapBearerType bearerType, const int iapId); - - // destructor - ~EapQtConfigInterface(); - - // method for creating a setting validator for the specified EAP method - // NOTE: CALLER OWNS the returned object - // returns NULL on failure (e.g. if the requested validator does not exist) - EapQtValidator *validatorEap(const EapQtExpandedEapType &type, const EapQtConfig::SettingsId id) const; - - // method for creating a EAP-FAST PAC store validator, see also EapQtPacStoreConfig - // NOTE: CALLER OWNS the returned object - // returns NULL on failure (e.g. if EAP-FAST is not supported) - EapQtValidator *validatorPacStore(const EapQtPacStoreConfig::PacStoreSettings id) const; - - // reads EAP-FAST PAC store configuration, see EapQtPacStoreConfig - // returns false on failure (e.g. if EAP-FAST is not supported) - bool readPacStoreConfiguration(EapQtPacStoreConfig &config) const; - - // stores EAP-FAST PAC store configuration, see EapQtPacStoreConfig - // returns false on failure (e.g. if EAP-FAST is not supported) - bool savePacStoreConfiguration(const EapQtPacStoreConfig &config) const; - - /** - * NOTE: all the following methods throw an exception if the interface - * instance was created with the default (validator) constructor; - * otherwise the return value is as defined - */ - - // sets the IAP ID for accesssing EAP settings with the other methods - // returns false on failure (e.g. WLAN IAP with the specified ID - // [if the ID is other than IapIdUndefined] does not exist) - bool setConfigurationReference(const int iapId) const; - - // returns supported outer EAP types - // returns empty list on failure - QList supportedOuterTypes() const; - - // returns supported inner EAP types for the specified outer type - // returns empty list on failure - QList supportedInnerTypes(const EapQtPluginHandle &outerType) const; - - // retrieves the list of installed CA certificates; - // list returned from device database only when called for the first time, - // otherwise returns the list from cache; - // call updateCertificates() to update the cache; - // returns empty list on failure or if CA certificates do not exist - QList certificateAuthorityCertificates() const; - - // retrieves the lsit of installed user certificate list; - // list returned from device database only when called for the first time, - // otherwise returns the list from cache; - // call updateCertificates() to update the cache; - // returns empty list on failure or if user certificates do not exist - QList userCertificates() const; - - // updates CA and user certificate lists from the device database - bool updateCertificates() const; - - // checks if the specified outer EAP is supported - // returns true if supported, false otherwise - bool isSupportedOuterType(const EapQtPluginHandle &handle) const; - - // checks if the specified inner EAP is supported inside the specified outer EAP - // returns true if supported, false otherwise - bool isSupportedInnerType(const EapQtPluginHandle &outerHandle, - const EapQtPluginHandle &innerHandle) const; - - /** - * NOTE: all the following methods return failure if the current IAP - * ID is IapIdUndefined (or negative); - * setConfigurationReference must be called first to correct the IAP ID - */ - - // returns the list of activated outer EAP methods for the IAP - // returns empty list on failure - QList selectedOuterTypes() const; - - // sets the list of activated outer EAP methods for the IAP - // returns empty list on failure - bool setSelectedOuterTypes(const QList &outerHandles) const; - - // reads the configuration for pluginHandle inside outerHandle - // if outerHandle is EapQtPluginHandle::PluginUndefined, the configuration is read for - // pluginHandle as outer type; - // returns false on failure (e.g. outerHandle/pluginHandle is not supported) - bool readConfiguration(const EapQtPluginHandle &outerHandle, - const EapQtPluginHandle &pluginHandle, EapQtConfig &config) const; - - // stores the configuration for pluginHandle - // in config: - // if OuterType is defined, the configuration for pluginHandle is set inside this OuterType - // if OuterType is not defined, pluginHandle is for an outer type - // if InnerType is defined, the defined inner types in config are activated for pluginHandle - // if InnerType is not defined, the pluginHandle does not activate any inner type (or they do not exist) - // returns false on failure (e.g. pluginHandle is not supported) - bool saveConfiguration(const EapQtPluginHandle &pluginHandle, const EapQtConfig &config) const; - - // deletes all EAP configurations for the current IAP ID - bool deleteConfiguration() const; - - // returns control panel UI instance for the specified EAP method (pluginHandle) - // outerHandle specifies if the UI is for pluginHandle as outer (EapQtPluginHandle::PluginUndefined) or - // inner (other than EapQtPluginHandle::PluginUndefined) EAP method; - // NOTE: CALLER OWNS the returned object; - // returns NULL on failure (e.g. if the combination of outerHandle/pluginHandle is not supported) - // NOTE: the method throws an exception if current IAP ID is IapIdUndefined (or negative); - CpBaseSettingView *uiInstance(const EapQtPluginHandle &outerHandle, - const EapQtPluginHandle &pluginHandle) const; - -private: - - Q_DISABLE_COPY(EapQtConfigInterface) - -private: // data - - QScopedPointer d_ptr; - -}; - -#endif // EAPQTCONFIGINTERFACE_H - diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_qt_configuration_api/inc/eapqtexpandedeaptype.h --- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtexpandedeaptype.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,106 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Expanded EAP type QT data structure - * - */ - -/* - * %version: 5 % - */ - -#ifndef EAPQTEXPANDEDEAPTYPE_H -#define EAPQTEXPANDEDEAPTYPE_H - -// System includes -#include -#include -#include - -// User includes - -// Forward declarations -class EapQtExpandedEapTypePrivate; - -// External data types - -// Constants - -// Class declaration -class EAP_QT_PLUGIN_INFO_EXPORT EapQtExpandedEapType -{ - -public: - - // Data types - - enum Type - { - TypeUndefined = 0, - TypeEapAka, - TypeEapFast, - TypeEapGtc, - TypeLeap, - TypeEapMschapv2, - TypePeap, - TypeEapSim, - TypeEapTls, - TypeEapTtls, - TypeProtectedSetup, - TypePap, - TypePlainMschapv2, - // marker for the last item - TypeLast - }; - - // default constructor - EapQtExpandedEapType(); - - // constructs an instance from an EapQtExpandedEapType::Type value - EapQtExpandedEapType(const Type type); - - // constructs an instance from expanded EAP type binary data, - // see RFC3748 - EapQtExpandedEapType(const QByteArray &data); - - // copy constructor - EapQtExpandedEapType(const EapQtExpandedEapType &type); - - // destructor - ~EapQtExpandedEapType(); - - // returns expanded EAP type binary data, - // see RFC3748 - QByteArray eapExpandedData() const; - - // returns EapQtExpandedEapType::Type of the instance - Type type() const; - - // assignment - EapQtExpandedEapType &operator=(const EapQtExpandedEapType &type); - - // comparisons - bool operator ==(const EapQtExpandedEapType &right_type_value) const; - bool operator !=(const EapQtExpandedEapType &right_type_value) const; - -private: // data - - QScopedPointer d_ptr; - -}; - -// Make the class known to QMetaType to support using QVariant -Q_DECLARE_METATYPE(EapQtExpandedEapType) - -#endif // EAPQTEXTENDEDEAPTYPE_H diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_qt_configuration_api/inc/eapqtpacstoreconfig.h --- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtpacstoreconfig.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,121 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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-FAST PAC store configuration data - * - */ - -/* - * %version: 6 % - */ - -#ifndef EAPQTPACSTORECONFIG_H -#define EAPQTPACSTORECONFIG_H - -// System includes -#include -#include - -// User includes - -// Forward declarations -class EapQtPacStoreConfigPrivate; - -// External data types - -// Constants - -// Class declaration -class EAP_QT_CONFIG_INTERFACE_EXPORT EapQtPacStoreConfig -{ - -public: - - // PAC store is global, i.e. only a single PAC store exists in a device - - // Data types - - enum PacStoreState - { - // PAC store does not exist and needs to be created - // (status also reverts to PacStoreStateStoreNotExists if the PAC store is - // corrupted, i.e. it gets deleted automatically) - PacStoreStateStoreNotExists = 0, - // PAC store exists but the password has not been stored and - // is needed to access the PAC store - PacStoreStatePasswordRequired, - // PAC store password has been stored to settings database - // and is not needed to use the PAC store - PacStoreStatePasswordStored, - // marker for the last item - PacStoreStateLast - }; - - enum PacStoreSettings - { - /*! write-only: QString - * password to be used for accessing the PAC store - * - must be new password if the read PacStoreState is PacStoreStateStoreNotExists - * - must be password of the existing PAC store if the PacStoreState state is - * PacStoreStatePasswordRequired */ - PacStorePassword = 0, - /*! write-only: bool - * true: saves the password given in settings - * false: clears the earlier stored password from database, i.e. password - * will be prompted when needed, PAC store itself remains valid - * QVariant::Invalid: no actions */ - PacStoreSavePassword, - /*! write-only: bool - * true: deletes PAC store, i.e. clears everything related to the - * existing PAC store inlcuding saved password - * false/QVariant::Invalid: no actions */ - PacStoreReset, - /*! read-only: int (PacStoreState) */ - PacStoreState, - /*! no write nor read operation, for validator usage only - * - uses the validator to check if the given password - * can open the existing PAC store */ - PacStorePasswordConfirmation, - // marker for the last item - PacStoreLast - }; - - // default constructor - EapQtPacStoreConfig(); - // destructor - ~EapQtPacStoreConfig(); - - // gets the configuration field referred to by an id from PacStoreSettings - // returns QVariant::Invalid is the field has not been set - QVariant value(const PacStoreSettings id) const; - - // sets the configuration field referred to by an id from PacStoreSettings - // does nothing if newValue >= PacStoreLast - void setValue(const PacStoreSettings id, const QVariant &newValue) const; - - // resets the object i.e. any successive call to - // value() returns QVariant::Invalid - void clear() const; - -private: - - Q_DISABLE_COPY(EapQtPacStoreConfig) - -private: // data - - QScopedPointer d_ptr; - -}; - -#endif // EAPQTPACSTORECONFIG_H diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_qt_configuration_api/inc/eapqtpluginhandle.h --- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtpluginhandle.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 UI plugin handle - * - */ - -/* - * %version: 7 % - */ - -#ifndef EAPQTPLUGINHANDLE_H -#define EAPQTPLUGINHANDLE_H - -// System includes -#include -#include -#include - -// User includes - -// Forward declarations -class EapQtExpandedEapType; -class EapQtPluginHandlePrivate; - -// External data types - -// Constants - -// Class declaration -class EAP_QT_PLUGIN_INFO_EXPORT EapQtPluginHandle -{ - -public: - - // Data types - - enum Plugin - { - PluginUndefined = 0, - PluginEapAka, - PluginEapFast, - PluginEapGtc, - PluginLeap, - PluginEapMschapv2, - PluginPeap, - PluginEapSim, - PluginEapTls, - PluginEapTtls, - PluginPap, - PluginPlainMschapv2, - PluginLast - }; - - // default constructor - EapQtPluginHandle(); - - // constructs an instance from an EapQtPluginHandle::Plugin value - EapQtPluginHandle(const Plugin id); - - // constructs an instance from an EapQtExpandedEapType object, - // maps the supplied type to UIDs of default EAP protocol implementations - EapQtPluginHandle(const EapQtExpandedEapType &type); - - // copy constructor - EapQtPluginHandle(const EapQtPluginHandle &handle); - - // constructs an instance from an EapQtExpandedEapType object and - // supplied EAP protocol implementation UID - EapQtPluginHandle(const EapQtExpandedEapType &type, int uid); - - // destructor - ~EapQtPluginHandle(); - - // returns EapQtExpandedEapType of the handle instance - EapQtExpandedEapType type() const; - - // returns EAP protocol implementation UID of the handle instance - int protocolImplementationUid() const; - - // returns EapQtPluginHandle::Plugin of the handle instance - Plugin pluginId() const; - - // assignment - EapQtPluginHandle &operator=(const EapQtPluginHandle &handle); - - // comparisons - bool operator ==(const EapQtPluginHandle &right_type_value) const; - bool operator !=(const EapQtPluginHandle &right_type_value) const; - -private: // data - - QScopedPointer d_ptr; - -}; - -// Make the class known to QMetaType to support using QVariant -Q_DECLARE_METATYPE(EapQtPluginHandle) - -#endif // EAPQTPLUGINHANDLE_H diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_qt_configuration_api/inc/eapqtplugininfo.h --- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtplugininfo.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,81 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 UI plugin information - * - */ - -/* - * %version: 5 % - */ - -#ifndef EAPQTPLUGININFO_H -#define EAPQTPLUGININFO_H - -// System includes -#include -#include - -// User includes - -// Forward declarations -class EapQtPluginHandle; -class EapQtPluginInfoPrivate; - -// External data types - -// Constants - -// Class declaration -class EAP_QT_PLUGIN_INFO_EXPORT EapQtPluginInfo -{ - -public: - - // Data types - - // copy constructor - EapQtPluginInfo(const EapQtPluginInfo &info); - - // constructs an instance from an plugin handle, - // plugin name as a string (e.g. "EAP-SIM") used on the UI, and oder number; - // order number specifies the location of the plugin in lists of - // EAP plugins shown on the UI - EapQtPluginInfo(const EapQtPluginHandle &id, const QString &locId, const int orderNumber ); - - // destructor - ~EapQtPluginInfo(); - - // returns plugin handle of the instance - EapQtPluginHandle pluginHandle() const; - - // returns plugin name string of the instance - QString localizationId() const; - - // returns order number of the instance - int orderNumber() const; - - // assignment - EapQtPluginInfo &operator=(const EapQtPluginInfo &info); - -private: - EapQtPluginInfo(); - -private: // data - - QScopedPointer d_ptr; - -}; - -#endif // EAPQTPLUGININFO_H diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_qt_configuration_api/inc/eapqtvalidator.h --- a/accesssec_plat/eap_qt_configuration_api/inc/eapqtvalidator.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,106 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 QT configuration validator interface - * - */ - -/* - * %version: 6 % - */ - -#ifndef EAPQTVALIDATOR_H -#define EAPQTVALIDATOR_H - -// System includes -#include - -// User includes - -// Forward declarations -class QVariant; -class HbLineEdit; - -// External data types - -// Constants - -// Class declaration - -/* - * Eap Qt Validator interface. This interface provides a method to configure - * the editor to use required constraints, hints, editor classes and so one - * depending on the EAP type and the configuration identifier. - * See updateEditor() method for further details. - * - * validate() method checks that the content and format are valid for - * given configuration parameter. - * - * An instance of a validator is created with - * EapQtConfigInterface::validatorEap() method. - */ - -class EapQtValidator -{ - -public: - - // Data types - - /* - * Validation status. Can be extended. - */ - enum Status { - /// Ok - StatusOk = 0, - /// Content is invalid - StatusInvalid, - /// The length is not valid - StatusInvalidLength, - /// Invalid characters detected - StatusInvalidCharacters, - /// Input is too short - StatusTooShort, - /// Input is too long - StatusTooLong, - }; - - EapQtValidator() {}; - virtual ~EapQtValidator() {}; - - /*! - * Validates the given input \a value. - * - * @param value Value to be validated - * - * @return Status code. - */ - virtual Status validate(const QVariant &value) = 0; - - /*! - * Sets required configurations to the line edit. - * - * Configurations depend on given EAP type and the configuration - * identifire which was used to instantiate the validator. - * - * @param edit LineEdit to be updated. - */ - virtual void updateEditor(HbLineEdit* const edit) = 0; - -private: - - Q_DISABLE_COPY(EapQtValidator) -}; - -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_type_api/eap_type_api.metaxml --- a/accesssec_plat/eap_type_api/eap_type_api.metaxml Tue Aug 31 15:16:37 2010 +0300 +++ b/accesssec_plat/eap_type_api/eap_type_api.metaxml Wed Sep 01 12:23:57 2010 +0100 @@ -3,17 +3,15 @@ EAP Type API Generic API for configuring EAP type plugins c++ - accesssec + wlaneapol - eapsymbiantools.lib - eaptools.lib - no + yes no diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_type_api/group/bld.inf --- a/accesssec_plat/eap_type_api/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 +++ b/accesssec_plat/eap_type_api/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -17,7 +17,7 @@ */ /* -* %version: tr1cfwln#17 % +* %version: tr1cfwln#5.1.2 % */ #include @@ -27,16 +27,8 @@ PRJ_EXPORTS -../inc/EapTraceSymbian.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTraceSymbian.h) -../inc/EapExpandedType.h MW_LAYER_PLATFORM_EXPORT_PATH(EapExpandedType.h) -../inc/EapTypeDefinitions.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTypeDefinitions.h) ../inc/EapType.h MW_LAYER_PLATFORM_EXPORT_PATH(EapType.h) ../inc/EapType.inl MW_LAYER_PLATFORM_EXPORT_PATH(EapType.inl) -../inc/EapTypePlugin.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTypePlugin.h) -../inc/EapTypePlugin.inl MW_LAYER_PLATFORM_EXPORT_PATH(EapTypePlugin.inl) ../inc/EapSettings.h MW_LAYER_PLATFORM_EXPORT_PATH(EapSettings.h) +../inc/EapSettings.inl MW_LAYER_PLATFORM_EXPORT_PATH(EapSettings.inl) ../inc/EapTypeInfo.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTypeInfo.h) -../inc/EapGeneralSettings.inl MW_LAYER_PLATFORM_EXPORT_PATH(EapGeneralSettings.inl) -../inc/EapGeneralSettings.h MW_LAYER_PLATFORM_EXPORT_PATH(EapGeneralSettings.h) - -// end diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_type_api/inc/EapExpandedType.h --- a/accesssec_plat/eap_type_api/inc/EapExpandedType.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,167 +0,0 @@ -/* -* Copyright (c) 2001-2010 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-expanded type definition. -* -*/ - -/* -* %version: 17 % -*/ - -#ifndef _SYMBIAN_EAP_EXPANDED_TYPE_H_ -#define _SYMBIAN_EAP_EXPANDED_TYPE_H_ - -#include - -const TUint KEapExpandedTypeLength = 8; - -//-------------------------------------------------- - -class TEapExpandedType -{ -public: - - IMPORT_C TEapExpandedType(); - - IMPORT_C virtual ~TEapExpandedType(); - - IMPORT_C TEapExpandedType(const TEapExpandedType * const init); - - IMPORT_C TEapExpandedType(const TEapExpandedType & init); - - IMPORT_C TEapExpandedType(const TBufC8 & init); - - IMPORT_C TEapExpandedType(const TDesC8 & init); - - IMPORT_C const TBuf8 & GetValue() const; - - IMPORT_C TInt SetValue( - const void * const data, - const TUint data_length); - - IMPORT_C TInt SetValue( - const TUint vendor_id, - const TUint vendor_type); - - IMPORT_C TEapExpandedType &operator = (const TEapExpandedType & right_type_value); - - IMPORT_C TEapExpandedType &operator = (const TBufC8 & right_type_value); - - IMPORT_C TEapExpandedType &operator = (const TDesC8 &right_type_value); - - IMPORT_C TInt Compare(const TEapExpandedType &right_type_value) const; - - IMPORT_C bool operator == (const TEapExpandedType &right_type_value) const; - - IMPORT_C bool operator != (const TEapExpandedType &right_type_value) const; - - IMPORT_C TUint GetVendorId() const; - - IMPORT_C TUint GetVendorType() const; - -private: - - TBuf8 iValue; -}; - -//-------------------------------------------------- - -/// This template is binary compatible with TEapExpandedType. -template -class TConstEapExpandedTypeTemplate -{ -public: - - /// GetType() casts the constant TConstEapExpandedTypeTemplate object to TEapExpandedType *. - inline const TBufC8 * GetType() const; - - // These must be public. - TUint m_field_length; - TUint8 m_field[buffer_length]; -}; - -template -inline const TBufC8 * TConstEapExpandedTypeTemplate::GetType() const -{ - return reinterpret_cast *>(this); -} - -//-------------------------------------------------- - -/// Macro initializes const TEapExpandedType object named "name". -/// Each value value1 ... value8 initializes 8-bit byte of expanded EAP-type. -/// EAP-type field is defined in RFC3748: -/// 0 1 2 3 -/// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 -/// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -/// | Type | Vendor-Id | -/// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -/// | Vendor-Type | -/// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -/// -/// Type -/// -/// 254 for Expanded Type -/// -/// Vendor-Id -/// -/// The Vendor-Id is 3 octets and represents the SMI Network -/// Management Private Enterprise Code of the Vendor in network byte -/// order, as allocated by IANA. A Vendor-Id of zero is reserved for -/// use by the IETF in providing an expanded global EAP Type space. -/// -/// Vendor-Type -/// -/// The Vendor-Type field is four octets and represents the vendor- -/// specific method Type. -/// -/// If the Vendor-Id is zero, the Vendor-Type field is an extension -/// and superset of the existing namespace for EAP Types. The first -/// 256 Types are reserved for compatibility with single-octet EAP -/// Types that have already been assigned or may be assigned in the -/// future. Thus, EAP Types from 0 through 255 are semantically -/// identical, whether they appear as single octet EAP Types or as -/// Vendor-Types when Vendor-Id is zero. There is one exception to -/// this rule: Expanded Nak and Legacy Nak packets share the same -/// Type, but must be treated differently because they have a -/// different format. -/// -/// Macro casts initialized TConstEapExpandedTypeTemplate. -#define EAP_EXPANDED_TYPE_CONST(name, value1, value2, value3, value4, value5, value6, value7, value8) \ - static const TConstEapExpandedTypeTemplate name \ - = {KEapExpandedTypeLength, {value1, value2, value3, value4, value5, value6, value7, value8}} - -//-------------------------------------------------- - -EAP_EXPANDED_TYPE_CONST(EapExpandedTypeNone, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); - -EAP_EXPANDED_TYPE_CONST(EapExpandedTypeGtc, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06); -EAP_EXPANDED_TYPE_CONST(EapExpandedTypeTls, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d); -EAP_EXPANDED_TYPE_CONST(EapExpandedTypeLeap, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11); -EAP_EXPANDED_TYPE_CONST(EapExpandedTypeSim, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12); -EAP_EXPANDED_TYPE_CONST(EapExpandedTypeTtls, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15); -EAP_EXPANDED_TYPE_CONST(EapExpandedTypeAka, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17); -EAP_EXPANDED_TYPE_CONST(EapExpandedTypePeap, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19); -EAP_EXPANDED_TYPE_CONST(EapExpandedTypeMsChapv2, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a); -EAP_EXPANDED_TYPE_CONST(EapExpandedTypeFast, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b); -EAP_EXPANDED_TYPE_CONST(EapExpandedTypeProtectedSetup, 0xfe, 0x00, 0x37, 0x2a, 0x00, 0x00, 0x00, 0x01); - -EAP_EXPANDED_TYPE_CONST(EapExpandedTypeTtlsPap, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x62); // This is for internal use only. This value is used in configuration of TTLS/PAP. -EAP_EXPANDED_TYPE_CONST(EapExpandedPlainMsChapv2, 0xfe, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x63); // This is for internal use only. This value is used in configuration of TTLS/plain-MsChapv2. - -//-------------------------------------------------- - -#endif // _SYMBIAN_EAP_EXPANDED_TYPE_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_type_api/inc/EapGeneralSettings.h --- a/accesssec_plat/eap_type_api/inc/EapGeneralSettings.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,117 +0,0 @@ -/* -* 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: Class is interface to the generic EAP type. -* -*/ - -/* -* %version: 14 % -*/ - -#ifndef _EAP_GENERAL_SETTINGS_H_ -#define _EAP_GENERAL_SETTINGS_H_ - -// INCLUDES -#include -#include - -// FORWARD DECLARATIONS - -// CLASS DECLARATION -/** -* Class is interface to the generic EAP type. -*/ -class CEapGeneralSettings -: public CBase -{ -public: - - /** - * Construction function. Called by ECom after the EAP generic plugin has been loaded. - * @param aIndexType is the bearer type, ELan for WLAN and EVpn for VPN. - * @param aIndex is the WLAN service ID for WLAN bearer type and IAP id for VPN. Each bearer must use same aIndex for configuration and authentication. - * @return Pointer to the instance. - */ - inline static CEapGeneralSettings* NewL( - const TIndexType aIndexType, - const TInt aIndex); - - /** - * Destructor does nothing. - */ - inline virtual ~CEapGeneralSettings(); - - /** - * Returns the version of the interface that the EAP type implements. - * The client-side of the interface must always check the version with this function - * and not call the functions that are not implemented. New functions must be - * added to the end of the interface so that the order of the old functions - * does not change. - * @return Integer indicating the version. - */ - virtual TUint GetInterfaceVersion() = 0; - - /** - * Function sets the active and disabled EAP-methods. - * @param aActiveEapMethods includes a list of enabled EAP-methods. This list can be empty - * @param aDisabledEapMethods includes a list of disabled EAP-methods. This list can be empty. - */ - virtual TInt SetEapMethods( - const RArray & aActiveEapMethods, - const RArray & aDisabledEapMethods) = 0; - - /** - * Function gets the active and disabled EAP-methods. - * @param aActiveEapMethods includes a list of enabled EAP-methods. This list can be empty - * @param aDisabledEapMethods includes a list of disabled EAP-methods. This list can be empty. - */ - virtual TInt GetEapMethods( - RArray & aActiveEapMethods, - RArray & aDisabledEapMethods) = 0; - - /** - * Function gets the all installed certificates. - * @param aUserCerts includes a list of user certificates. This list can be empty. - * @param aCACerts includes a list of CA root certificates. This list can be empty. - */ - virtual TInt GetCertificateLists( - RPointerArray & aUserCerts, - RPointerArray & aCACerts) = 0; - - /** - * Function deletes all settings of the IAP, a pair (aIndexType, aIndex) of NewL() function selects the deleted items. - */ - virtual TInt DeleteAllEapSettings() = 0; - - /** - * Function copies all settings of the IAP to destination. - * A pair (aIndexType, aIndex) of NewL() function selects the source items. - * A pair (aDestinationIndexType, aDestinationIndex) selects the destination. - */ - virtual TInt CopyAllEapSettings( - const TIndexType aDestinationIndexType, - const TInt aDestinationIndex) = 0; - -private: - - /// ECom uses this key to keep track of DLL usage. - TUid iDtor_ID_Key; - -}; - -#include "EapGeneralSettings.inl" - -#endif // _EAP_GENERAL_SETTINGS_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_type_api/inc/EapGeneralSettings.inl --- a/accesssec_plat/eap_type_api/inc/EapGeneralSettings.inl Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -/* -* 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: Class is interface to the generic EAP type. -* -*/ - -/* -* %version: 7 % -*/ - -#include "EapTraceSymbian.h" - -inline CEapGeneralSettings* CEapGeneralSettings::NewL( - const TIndexType aIndexType, - const TInt aIndex) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapGeneralSettings::NewL(): start"))); - - // The arguments are stored to a iapInfo struct. - SIapInfo iapInfo; - iapInfo.indexType = aIndexType; - iapInfo.index = aIndex; - iapInfo.aEapType = *EapExpandedTypeNone.GetType(); - - // This call finds and loads the correct DLL and after that calls the - // entry function in the interface implementation in the DLL. - TAny* ptr = 0; - - const TUid KimplementationUid = { 0x20026FD8 }; - - TRAPD( err, ptr = REComSession::CreateImplementationL( - KimplementationUid, - _FOFF(CEapGeneralSettings, iDtor_ID_Key), - &iapInfo)); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapGeneralSettings::NewL(): CreateImplementationL(Uid=0x%08x), err=%d, returns ptr=0x%08x\n"), - KimplementationUid.iUid, - err, - ptr)); - - User::LeaveIfError(err); - - return (CEapGeneralSettings *) ptr; -} - -inline CEapGeneralSettings::~CEapGeneralSettings() -{ - // Unload DLL - REComSession::DestroyedImplementation(iDtor_ID_Key); -} - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_type_api/inc/EapSettings.h --- a/accesssec_plat/eap_type_api/inc/EapSettings.h Tue Aug 31 15:16:37 2010 +0300 +++ b/accesssec_plat/eap_type_api/inc/EapSettings.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 11.1.29 % +* %version: 11.1.2.1.3 % */ // Refer the document S60_3_1_EAP_Symbian_Adaptation_Design_C.doc for more @@ -25,170 +25,21 @@ #ifndef EAP_SETTINGS_H #define EAP_SETTINGS_H -#include -#include -#include "EapExpandedType.h" - const TUint KGeneralStringMaxLength = 255; const TUint KKeyIdentifierLength = 255; const TUint KThumbprintMaxLength = 64; -/* This is the maximum length of a certificate primary/secondary name we are interested in. */ -const TUint32 KMaxCertNameLength = 64; - -//------------------------------------------------------------------------------- - -class EapCertificateEntry -: public CBase +class CertificateEntry { - public: - enum TCertType - { - ENone, + CertificateEntry(); + + enum TCertType { EUser, ECA }; - IMPORT_C EapCertificateEntry(); - - IMPORT_C virtual ~EapCertificateEntry(); - - IMPORT_C void trace() const; - - IMPORT_C EapCertificateEntry * Copy(); - - // This operator is indentionally without implementation. - EapCertificateEntry * const operator = (const EapCertificateEntry * const right_type_value); // Do not use this. - - IMPORT_C EapCertificateEntry &operator = (const EapCertificateEntry &right_type_value); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORT_C TBool GetSubjectNamePresent() const; - - IMPORT_C TBool GetIssuerNamePresent() const; - - IMPORT_C TBool GetSerialNumberPresent() const; - - IMPORT_C TBool GetThumbprintPresent() const; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORT_C TBool GetLabelPresent() const; - - IMPORT_C TBool GetPrimaryNamePresent() const; - - IMPORT_C TBool GetSecondaryNamePresent() const; - - IMPORT_C TBool GetIsEnabledPresent() const; - - IMPORT_C TBool GetSubjectKeyIdPresent() const; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORT_C void SetSubjectNamePresent(); - - IMPORT_C void SetIssuerNamePresent(); - - IMPORT_C void SetSerialNumberPresent(); - - IMPORT_C void SetThumbprintPresent(); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORT_C void SetLabelPresent(); - - IMPORT_C void SetPrimaryNamePresent(); - - IMPORT_C void SetSecondaryNamePresent(); - - IMPORT_C void SetIsEnabledPresent(); - - IMPORT_C void SetSubjectKeyIdPresent(); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORT_C TCertType GetCertType() const; - - IMPORT_C const TDes * GetSubjectName() const; - - IMPORT_C const TDes * GetIssuerName() const; - - IMPORT_C const TDes * GetSerialNumber() const; - - IMPORT_C const TDes * GetThumbprint() const; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORT_C TDes * GetSubjectNameWritable(); - - IMPORT_C TDes * GetIssuerNameWritable(); - - IMPORT_C TDes * GetSerialNumberWritable(); - - IMPORT_C TDes * GetThumbprintWritable(); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORT_C const TDes * GetLabel() const; - - IMPORT_C const TKeyIdentifier & GetSubjectKeyId() const; - - IMPORT_C const TDes * GetPrimaryName() const; - - IMPORT_C const TDes * GetSecondaryName() const; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORT_C TDes * GetLabelWritable(); - - IMPORT_C TKeyIdentifier * GetSubjectKeyIdWritable(); - - IMPORT_C TDes * GetPrimaryNameWritable(); - - IMPORT_C TDes * GetSecondaryNameWritable(); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORT_C TInt SetCertType(const TCertType & aType); - - IMPORT_C TInt SetSubjectName(const TBuf & aSubjectName); - - IMPORT_C TInt SetIssuerName(const TBuf & aIssuerName); - - IMPORT_C TInt SetSerialNumber(const TBuf & aSerialNumber); - - IMPORT_C TInt SetThumbprint(const TBuf & aThumbprint); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORT_C TInt SetLabel(const TCertLabel & aLabel); - - IMPORT_C TInt SetSubjectKeyId(const TKeyIdentifier & aSubjectKeyId); - - IMPORT_C TInt SetPrimaryName(const TBuf & aPrimaryName); - - IMPORT_C TInt SetSecondaryName(const TBuf & aSecondaryName); - - IMPORT_C TInt SetIsEnabled(const TBool aIsEnabled); - - IMPORT_C TInt SetIsValid(const TBool aIsValid); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORT_C TBool GetIsEnabled() const; - - IMPORT_C TBool GetIsValid() const; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -private: - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // These members are used by authentication protocols. - // Specifies whether this entry describes user or CA certificate (mandatory) TCertType iCertType; @@ -206,108 +57,70 @@ TBool iSerialNumberPresent; TBuf iSerialNumber; + // Subject key in binary form. This is mandatory. + TBool iSubjectKeyIDPresent; + TBuf8 iSubjectKeyID; + // Thumbprint in binary form. This is optional. TBool iThumbprintPresent; TBuf iThumbprint; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // These members are used by UI. - - // This holds only the certificate label. This is the text UI will show. - TBool iLabelPresent; - TCertLabel iLabel; - - // Primary name of the certificate if any. - TBool iPrimaryNamePresent; - TBuf iPrimaryName; - - // Secondary name of the certificate if any. - TBool iSecondaryNamePresent; - TBuf iSecondaryName; - - // UI uses this to indicate enabled certificate. - TBool iIsEnabledPresent; - TBool iIsEnabled; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // These members are used by both authentication protocols and UI. - - // Subject key in binary form. This is mandatory field to find correct certificate from CUnifiedCertStore. UI uses this too. - TBool iSubjectKeyIdPresent; - //TBuf8 iSubjectKeyId; - TKeyIdentifier iSubjectKeyId; // This is mandatory field to find correct certificate from CUnifiedCertStore. - - // Indicates this object is correctly initialized. - TBool iIsValid; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - }; -//------------------------------------------------------------------------------- - class EAPSettings : public CBase { public: - IMPORT_C EAPSettings(); - - IMPORT_C virtual ~EAPSettings(); - - IMPORT_C void trace() const; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + EAPSettings(); + + enum TEapType + { + EEapNone = 0, + EEapGtc = 6, + EEapTls = 13, + EEapLeap = 17, + EEapSim = 18, + EEapTtls = 21, + EEapAka = 23, + EEapPeap = 25, + EEapMschapv2 = 26, + EEapSecurid = 32, + EEapFast = 43, + ETtlsPlainPap = 98, + EPlainMschapv2 = 99 + }; // Specifies the EAP type these settings are for. // Is not really needed but is here so just some sanity checks can be made - TEapExpandedType iEAPExpandedType; // Use this in new code. + TEapType iEAPType; - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Use automatic CA certificate. - TBool iUseAutomaticCACertificatePresent; - TBool iUseAutomaticCACertificate; - - // Use automatic username. - TBool iUseAutomaticUsernamePresent; - TBool iUseAutomaticUsername; - - // Use automatic realm. - TBool iUseAutomaticRealmPresent; - TBool iUseAutomaticRealm; - // Username in ASCII format TBool iUsernamePresent; TBuf iUsername; - - /// Get: Whether password is stored in database. - /// Set: Whether password must be cleared from database. - TBool iPasswordExistPresent; - TBool iPasswordExist; - + // Password in ASCII format TBool iPasswordPresent; TBuf iPassword; - + // Realm in ASCII format TBool iRealmPresent; TBuf iRealm; - + // Use pseudonym identities in EAP-SIM/AKA TBool iUsePseudonymsPresent; TBool iUsePseudonyms; - + // Whether EAP-TLS/TTLS/PEAP should verify server realm TBool iVerifyServerRealmPresent; TBool iVerifyServerRealm; - + // Whether EAP-TLS/TTLS/PEAP should require client authentication TBool iRequireClientAuthenticationPresent; TBool iRequireClientAuthentication; - + // General session validity time (in minutes) TBool iSessionValidityTimePresent; TUint iSessionValidityTime; - + // An array of allowed cipher suites for EAP-TLS/TTLS/PEAP. // Refer to RFC2246 chapter A.5 for the values. TBool iCipherSuitesPresent; @@ -323,24 +136,13 @@ // Subject key ID and Certificate type are the only mandatory certificate // details needed at the moment. TBool iCertificatesPresent; - RPointerArray iCertificates; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Use this in new code. - // Array listing the enabled encapsulated Expanded EAP types (in priority order). - // Use constant Expanded EAP type values from EapExpandedType.h. - TBool iEnabledEncapsulatedEAPExpandedTypesPresent; - RArray iEnabledEncapsulatedEAPExpandedTypes; + CArrayFixFlat iCertificates; - // Use this in new code. - // Array listing the disabled encapsulated Expanded EAP types. - // Use constant Expanded EAP type values from EapExpandedType.h. - TBool iDisabledEncapsulatedEAPExpandedTypesPresent; - RArray iDisabledEncapsulatedEAPExpandedTypes; + // Array listing the encapsulated EAP types (in priority order). + // Use EAP type values from TEapType. + TBool iEncapsulatedEAPTypesPresent; + RArray iEncapsulatedEAPTypes; - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Whether Authenticated provisioning mode allowed or not in EAP-FAST. TBool iAuthProvModeAllowedPresent; TBool iAuthProvModeAllowed; @@ -367,34 +169,10 @@ // the client with a PAC before but is not currently selected as the default server. // EAP-FAST specific. TBool iWarnNotDefaultServerPresent; - TBool iWarnNotDefaultServer; - - TBool iShowPassWordPromptPresent; - TBool iShowPassWordPrompt; - - // This is used in TLS/PEAP/TTLS/FAST. It activates TLS-renegotiation, that will send user certificate with in TLS-protected application data. - TBool iUseIdentityPrivacyPresent; - TBool iUseIdentityPrivacy; - + TBool iWarnNotDefaultServer; }; -//#include "EapSettings.inl" - -//------------------------------------------------------------------------------- - -#if defined(USE_EAP_TRACE) - - #define EAP_TRACE_SETTINGS(settings) { (settings)->trace(); } - -#else - - #define EAP_TRACE_SETTINGS(settings) - -#endif //#if defined(USE_EAP_TRACE) - - -//------------------------------------------------------------------------------- +#include "EapSettings.inl" #endif - // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_type_api/inc/EapSettings.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_type_api/inc/EapSettings.inl Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,49 @@ +/* +* 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. +* +*/ + +/* +* %version: 5.1.3 % +*/ + +inline CertificateEntry::CertificateEntry() +: iCertType(ECA) +, iSubjectNamePresent(EFalse) +, iIssuerNamePresent(EFalse) +, iSerialNumberPresent(EFalse) +, iSubjectKeyIDPresent(EFalse) +, iThumbprintPresent(EFalse) +{ +} + +inline EAPSettings::EAPSettings() +: iUsernamePresent(EFalse) +, iPasswordPresent(EFalse) +, iRealmPresent(EFalse) +, iVerifyServerRealmPresent(EFalse) +, iRequireClientAuthenticationPresent(EFalse) +, iSessionValidityTimePresent(EFalse) +, iCipherSuitesPresent(EFalse) +, iCipherSuites(1) +, iPEAPVersionsPresent(EFalse) +, iCertificatesPresent(EFalse) +, iCertificates(1) +, iEncapsulatedEAPTypesPresent(EFalse) +, iEncapsulatedEAPTypes(1) +{ +} + +// end of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_type_api/inc/EapTraceSymbian.h --- a/accesssec_plat/eap_type_api/inc/EapTraceSymbian.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,102 +0,0 @@ -/* -* Copyright (c) 2001-2005 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined( _EAP_AM_TRACE_SYMBIAN_H_ ) -#define _EAP_AM_TRACE_SYMBIAN_H_ - -#include - -//------------------------------------------------------------------------ - -IMPORT_C void eap_trace_data_symbian( - const char * const prefix, - const void * const p_data, - const TUint data_length); - -//------------------------------------------------------------------------ - -#if defined(_DEBUG) || defined(DEBUG) - - #define EAP_TRACE_DEBUG_SYMBIAN(_parameter_list_) \ - { \ - RDebug::Print _parameter_list_ ; \ - } \ - - #define EAP_TRACE_DATA_DEBUG_SYMBIAN(_parameter_list_) \ - { \ - eap_trace_data_symbian _parameter_list_ ; \ - } \ - -#else // #if defined(_DEBUG) || defined(DEBUG) - - #define EAP_TRACE_DEBUG_SYMBIAN(_parameter_list_) - - #define EAP_TRACE_DATA_DEBUG_SYMBIAN(_parameter_list_) - -#endif // #if defined(_DEBUG) || defined(DEBUG) - -//------------------------------------------------------------------------ - -class eap_automatic_trace_string_symbian_c -{ -private: - - /// This is pointer to the string that will be traced on destructor. - const TPtrC m_string; - -public: - - /** - * The destructor traces the string. - */ - virtual ~eap_automatic_trace_string_symbian_c() - { - if (m_string.Length() > 0) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("<<< %S <<<\n"), &m_string)); - } - } - - /** - * The constructor sets the values for the member variables - */ - eap_automatic_trace_string_symbian_c( - const TPtrC string) - : m_string(string) - { - } -}; - -#if defined(_DEBUG) || defined(DEBUG) - - #define EAP_TRACE_RETURN_STRING_SYMBIAN(string) \ - eap_automatic_trace_string_symbian_c __eap_trace_function_returns__(string) - -#else // #if defined(_DEBUG) || defined(DEBUG) - - #define EAP_TRACE_RETURN_STRING_SYMBIAN(string) - -#endif // #if defined(_DEBUG) || defined(DEBUG) - -//------------------------------------------------------------------------ - - -#endif //#if !defined( _EAP_AM_TRACE_SYMBIAN_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_type_api/inc/EapType.h --- a/accesssec_plat/eap_type_api/inc/EapType.h Tue Aug 31 15:16:37 2010 +0300 +++ b/accesssec_plat/eap_type_api/inc/EapType.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 33 % +* %version: 18.1.3 % */ #ifndef _EAPTYPE_H_ @@ -27,7 +27,6 @@ #include #include -#include // FORWARD DECLARATIONS class abs_eap_am_tools_c; @@ -40,38 +39,101 @@ class abs_eap_configuration_if_c; #endif +// LOCAL DATA +// The UID for EAP plugin interface. ECom uses this. +const TUid KEapTypeInterfaceUid = {0x101f8e4a}; + +/// Possible services. +enum TIndexType +{ + EDialoutISP, + EDialinISP, + EOutgoingGPRS, + ELan, + EVpn +}; + +struct SIapInfo { + TIndexType indexType; + TInt index; +}; + // CLASS DECLARATION /** * The base interface class for EAP plug-in access. * Includes methods to create either the configuration interface or the EAP protocol interface. */ -class CEapType -: public CBase +class CEapType : public CBase { public: - /** - * Factory function that loads the Generic EAP type implementation DLL (plug-in). - * @param aIndexType Indicates the bearer used for this connection. - * @param aIndex Index for the connection. aIndexType and aIndex uniquely specify the connection. - * @return Pointer to the implementation. - */ - inline static CEapType* NewL(const TIndexType aIndexType, const TInt aIndex, const TEapExpandedType aEapType); - + /** + * Factory function that loads the EAP type implementation DLL (plug-in). + * Uses ECom architecture to load the correct EAP type DLL. Calls the initialization + * function of the EAP type + * @param aCue EAP type id that specifies which plugin is loaded. + * @param aIndexType Indicates the bearer used for this connection. + * @param aIndex Index for the connection. aIndexType and aIndex uniquely specify the connection. + * @return Pointer to the implementation. + */ + inline static CEapType* NewL(const TDesC8& aCue, TIndexType aIndexType, TInt aIndex); + /** * Unloads the implementation DLL. */ inline virtual ~CEapType(); +#ifndef RD_WLAN_3_1_BACKPORTING + /** + * Creates EAP protocol interface implementation. Instances an object that + * has been derived from eap_base_type_c that handles the communication + * with EAP stack. + * @param aTools Pointer to tools class. + * @param aPartner Used for callbacks to the stack. + * @param is_client_when_true Specifies whether the EAP type acts as a client or server. + * @param receive_network_id Network addresses + * @param eap_config_if Pointer used for call back to creater of stack (eapol_am_wlan_authentication_symbian_c class). + * @return Pointer to the implementation. + */ + virtual eap_base_type_c* GetStackInterfaceL(abs_eap_am_tools_c* const aTools, + abs_eap_base_type_c* const aPartner, + const bool is_client_when_true, + const eap_am_network_id_c * const receive_network_id, + abs_eap_configuration_if_c * const configuration_if) = 0; +#else + + /** + * Creates EAP protocol interface implementation. Instances an object that + * has been derived from eap_base_type_c that handles the communication + * with EAP stack. + * @param aTools Pointer to tools class. + * @param aPartner Used for callbacks to the stack. + * @param is_client_when_true Specifies whether the EAP type acts as a client or server. + * @param receive_network_id Network addresses + * @return Pointer to the implementation. + */ + + virtual eap_base_type_c* GetStackInterfaceL(abs_eap_am_tools_c* const aTools, + abs_eap_base_type_c* const aPartner, + const bool is_client_when_true, + const eap_am_network_id_c * const receive_network_id) = 0; + +#endif // #ifndef RD_WLAN_3_1_BACKPORTING + + /** + * Invokes the configuration UI. Displays a dialog for configuring the EAP type settings. + */ + virtual TInt InvokeUiL() = 0; + /** * Gets information about EAP type. * @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack. */ - virtual CEapTypeInfo* GetInfoL() = 0; - + virtual CEapTypeInfo* GetInfoLC() = 0; + /** * Deletes EAP type configuration */ @@ -88,11 +150,35 @@ virtual TUint GetInterfaceVersion() = 0; /** + * Parses the opaque_data field in CImplementationInformation and returns true if + * string NOT_OUTSIDE_PEAP is found. + * @param aImplInfo Implementation info returned by ListImplementations call + * @return Boolean + */ + inline static TBool IsDisallowedOutsidePEAP(const CImplementationInformation& aImplInfo); + + /** + * Parses the opaque_data field in CImplementationInformation and returns true if + * string NOT_INSIDE_PEAP is found. + * @param aImplInfo Implementation info returned by ListImplementations call + * @return Boolean + */ + inline static TBool IsDisallowedInsidePEAP(const CImplementationInformation& aImplInfo); + + /** + * Parses the opaque_data field in CImplementationInformation and returns true if + * string NOT_INSIDE_TTLS is found. + * @param aImplInfo Implementation info returned by ListImplementations call + * @return Boolean + */ + inline static TBool IsDisallowedInsideTTLS(const CImplementationInformation& aImplInfo); + + /** * Sets the tunneling type. This is used to indicate that this type is run inside another * EAP type. * @param aTunnelingType Type number for the tunneling type */ - virtual void SetTunnelingType(const TEapExpandedType aTunnelingType) = 0; + virtual void SetTunnelingType(const TInt aTunnelingType) = 0; /** * Changes the index of the saved parameters. diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_type_api/inc/EapType.inl --- a/accesssec_plat/eap_type_api/inc/EapType.inl Tue Aug 31 15:16:37 2010 +0300 +++ b/accesssec_plat/eap_type_api/inc/EapType.inl Wed Sep 01 12:23:57 2010 +0100 @@ -16,53 +16,119 @@ */ /* -* %version: 22 % +* %version: 11.1.2 % */ -#include "EapTraceSymbian.h" +/* The meaning and bit positions used in "opaque_data" field in ECOM implementation + + 0 0 0 0 0 0 0 0 ---->All 0 means allowed both inside (encapsulated EAP) and outside (Outer EAP) + | | | | | | | | + | | | | | | | |_____ 1 means NOT_INSIDE_TUNNEL (NOT allowed as encapsulated EAP) + | | | | | | | + | | | | | | |_______ 1 means NOT_OUTSIDE_TUNNEL (only allowed as encapsulated EAP, NOT as outer EAP) + | | | | | | + | | | | | |_________ 1 means NOT_INSIDE_PEAP + | | | | | + | | | | |___________ 1 means NOT_OUTSIDE_PEAP + | | | | + | | | |_____________ 1 means NOT_INSIDE_TTLS + | | | + | | |_______________ 1 means NOT_OUTSIDE_TTLS + | | + | |_________________ 1 means NOT_INSIDE_FAST + | + |___________________ 1 means NOT_OUTSIDE_FAST + + + // For historical reasons NOT_OUTSIDE_PEAP is used instead of NOT_OUTSIDE_TUNNEL + // Both of these convey the same meaning. It means if an EAP is not allowed outside PEAP + // (DisallowedOutsidePEAP), it can be used only as an encapsulated EAP. + // EAP-MSCHAPv2 is an example for this. + + // The bits can be ORed. + // "NOT_OUTSIDE|NOT_OUTSIDE_PEAP" is 0x0A (0000 1010). + // "NOT_OUTSIDE|NOT_OUTSIDE_PEAP|NOT_INSIDE_PEAP|NOT_INSIDE_FAST" is 0x4E (0100 1110). + // "NOT_INSIDE|NOT_INSIDE_PEAP|NOT_INSIDE_TTLS|NOT_INSIDE_FAST" is 0x55 (0101 0101). + // "NOT_INSIDE|NOT_INSIDE_PEAP|NOT_INSIDE_TTLS|NOT_INSIDE_FAST|NOT_OUTSIDE_PEAP|NOT_OUTSIDE" is 0x5F (0101 1111). + +*/ -// Used By UI -inline CEapType* CEapType::NewL(const TIndexType aIndexType, const TInt aIndex, const TEapExpandedType aEapType) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapType::NewL(EapGeneric): start"))); + +const TUint8 KNotInsideTunnel = 0x01; // Only the last bit position is 1. (0000 0001) +const TUint8 KNotOutsideTunnel = 0x02; // Only the 2nd last bit positions is 1. (0000 0010) + +const TUint8 KNotInsidePEAP = 0x04; // Only the 3rd last bit position is 1. (0000 0100) +const TUint8 KNotOutsidePEAP = 0x08; // Only the 4th last bit positions is 1. (0000 1000) - // The arguments are stored to a iapInfo struct. - SIapInfo iapInfo; - iapInfo.indexType = aIndexType; - iapInfo.index = aIndex; - iapInfo.aEapType = aEapType; +const TUint8 KNotInsideTTLS = 0x10; // Only the 5th last bit position is 1. (0001 0000) +const TUint8 KNotOutsideTTLS = 0x20; // Only the 6th last bit position is 1. (0010 0000) - // This call finds and loads the correct DLL and after that calls the - // entry function in the interface implementation in the DLL. - TAny* ptr = 0; +const TUint8 KNotInsideFAST = 0x40; // Only the 7th last bit position is 1. (0100 0000) +const TUint8 KNotOutsideFAST = 0x80; // Only the first bit position is 1. (1000 0000) + - const TUid KimplementationUid = { 0x20026FD2 }; - - TRAPD( err, ptr = REComSession::CreateImplementationL( - KimplementationUid, - _FOFF(CEapType, iDtor_ID_Key), - &iapInfo)); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapType::NewL(EapGeneric): CreateImplementationL(Uid=0x%08x), err=%d, returns ptr=0x%08x\n"), - KimplementationUid.iUid, - err, - ptr)); - - User::LeaveIfError(err); - +inline CEapType* CEapType::NewL(const TDesC8& aCue, TIndexType aIndexType, TInt aIndex) +{ + // The EAP type id (aCue) is passed to ECom as resolver parameters + TEComResolverParams resolverParams; + resolverParams.SetDataType(aCue); + + // The arguments are stored to a iapInfo struct. + SIapInfo iapInfo; + iapInfo.indexType = aIndexType; + iapInfo.index = aIndex; + + // This call finds and loads the correct DLL and after that calls the + // entry function in the interface implementation in the DLL. + TAny* ptr = REComSession::CreateImplementationL( + KEapTypeInterfaceUid, + _FOFF(CEapType, iDtor_ID_Key), + &iapInfo, + resolverParams); return (CEapType *) ptr; } inline CEapType::~CEapType() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapType::~CEapType(): this=0x%08x"), - this)); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapType::~CEapType()")); - // Unload DLL REComSession::DestroyedImplementation(iDtor_ID_Key); } +inline TBool CEapType::IsDisallowedOutsidePEAP(const CImplementationInformation& aImplInfo) +{ + + const TUint8 pluginOpaqueData = *(aImplInfo.OpaqueData().Ptr()); + + if(pluginOpaqueData & KNotOutsidePEAP) + { + return ETrue; + } + return EFalse; + +} + +inline TBool CEapType::IsDisallowedInsidePEAP(const CImplementationInformation& aImplInfo) +{ + const TUint8 pluginOpaqueData = *(aImplInfo.OpaqueData().Ptr()); + + if(pluginOpaqueData & KNotInsidePEAP) + { + return ETrue; + } + return EFalse; + +} + +inline TBool CEapType::IsDisallowedInsideTTLS(const CImplementationInformation& aImplInfo) +{ + const TUint8 pluginOpaqueData = *(aImplInfo.OpaqueData().Ptr()); + + if(pluginOpaqueData & KNotInsideTTLS) + { + return ETrue; + } + return EFalse; +} + // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_type_api/inc/EapTypeDefinitions.h --- a/accesssec_plat/eap_type_api/inc/EapTypeDefinitions.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 5 % -*/ - -#ifndef _EAP_TYPE_DEFINITIONS_H_ -#define _EAP_TYPE_DEFINITIONS_H_ - -// INCLUDES -#include -#include - -#include - -// The UID for EAP plugin interface. ECom uses this. -const TUid KEapTypeInterfaceUid = {0x101f8e4a}; - -/// Possible services. -enum TIndexType -{ - EDialoutISP, - EDialinISP, - EOutgoingGPRS, - ELan, - EVpn -}; - -struct SIapInfo -{ - TIndexType indexType; - TInt index; - TEapExpandedType aEapType; -}; - - -#endif // _EAP_TYPE_DEFINITIONS_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_type_api/inc/EapTypeInfo.h --- a/accesssec_plat/eap_type_api/inc/EapTypeInfo.h Tue Aug 31 15:16:37 2010 +0300 +++ b/accesssec_plat/eap_type_api/inc/EapTypeInfo.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #ifndef _EAPTYPEINFO_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_type_api/inc/EapTypePlugin.h --- a/accesssec_plat/eap_type_api/inc/EapTypePlugin.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,207 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 8 % -*/ - -#ifndef _EAP_TYPE_PLUGIN_H_ -#define _EAP_TYPE_PLUGIN_H_ - -// INCLUDES -#include -#include - -#include -#include - -// FORWARD DECLARATIONS -class abs_eap_am_tools_c; -class eap_base_type_c; -class abs_eap_base_type_c; -class CEapTypeInfo; -class eap_am_network_id_c; - -#ifndef RD_WLAN_3_1_BACKPORTING -class abs_eap_configuration_if_c; -#endif - - -// CLASS DECLARATION - -/** -* The interface class for direct EAP plug-in access. -* Includes methods to create either the configuration interface or the EAP protocol interface. -*/ -class CEapTypePlugin -: public CBase -{ -public: - - /** - * Factory function that loads the EAP type implementation DLL (plug-in). - * Uses ECom architecture to load the correct EAP type DLL. Calls the initialization - * function of the EAP type - * @param aCue EAP type id that specifies which plugin is loaded. - * @param aIndexType Indicates the bearer used for this connection. - * @param aIndex Index for the connection. aIndexType and aIndex uniquely specify the connection. - * @return Pointer to the implementation. - */ - inline static CEapTypePlugin* NewL(const TDesC8& aCue, TIndexType aIndexType, TInt aIndex); - - /** - * Unloads the implementation DLL. - */ - inline virtual ~CEapTypePlugin(); - - /** - * Creates EAP protocol interface implementation. Instances an object that - * has been derived from eap_base_type_c that handles the communication - * with EAP stack. - * @param aTools Pointer to tools class. - * @param aPartner Used for callbacks to the stack. - * @param is_client_when_true Specifies whether the EAP type acts as a client or server. - * @param receive_network_id Network addresses - * @param eap_config_if Pointer used for call back to creater of stack (eapol_am_wlan_authentication_symbian_c class). - * @return Pointer to the implementation. - */ - virtual eap_base_type_c* GetStackInterfaceL(abs_eap_am_tools_c* const aTools, - abs_eap_base_type_c* const aPartner, - const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id, - abs_eap_configuration_if_c * const configuration_if) = 0; - -#if 0 -#ifndef RD_WLAN_3_1_BACKPORTING - -#else - - /** - * Creates EAP protocol interface implementation. Instances an object that - * has been derived from eap_base_type_c that handles the communication - * with EAP stack. - * @param aTools Pointer to tools class. - * @param aPartner Used for callbacks to the stack. - * @param is_client_when_true Specifies whether the EAP type acts as a client or server. - * @param receive_network_id Network addresses - * @return Pointer to the implementation. - */ - - virtual eap_base_type_c* GetStackInterfaceL(abs_eap_am_tools_c* const aTools, - abs_eap_base_type_c* const aPartner, - const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id) = 0; - -#endif // #ifndef RD_WLAN_3_1_BACKPORTING -#endif - - - - /** - * Gets information about EAP type. - * @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack. - */ - virtual CEapTypeInfo* GetInfoL() = 0; - - /** - * Deletes EAP type configuration - */ - virtual void DeleteConfigurationL() = 0; - - /** - * Returns the version of the interface that the EAP type implements. - * The client-side of the interface must always check the version with this function - * and not call the functions that are not implemented. New functions must be - * added to the end of the interface so that the order of the old functions - * does not change. - * @return Integer indicating the version. - */ - virtual TUint GetInterfaceVersion() = 0; - - /** - * Parses the opaque_data field in CImplementationInformation and returns true if - * string NOT_OUTSIDE_PEAP is found. - * @param aImplInfo Implementation info returned by ListImplementations call - * @return Boolean - */ - inline static TBool IsDisallowedOutsidePEAP(const CImplementationInformation& aImplInfo); - - /** - * Parses the opaque_data field in CImplementationInformation and returns true if - * string NOT_INSIDE_PEAP is found. - * @param aImplInfo Implementation info returned by ListImplementations call - * @return Boolean - */ - inline static TBool IsDisallowedInsidePEAP(const CImplementationInformation& aImplInfo); - - /** - * Parses the opaque_data field in CImplementationInformation and returns true if - * string NOT_INSIDE_TTLS is found. - * @param aImplInfo Implementation info returned by ListImplementations call - * @return Boolean - */ - inline static TBool IsDisallowedInsideTTLS(const CImplementationInformation& aImplInfo); - - /** - * Sets the tunneling type. This is used to indicate that this type is run inside another - * EAP type. - * @param aTunnelingType Type number for the tunneling type - */ - virtual void SetTunnelingType(const TEapExpandedType aTunnelingType) = 0; - - /** - * Changes the index of the saved parameters. - * @param aIndexType Indicates the bearer used for this connection. - * @param aIndex Index for the connection. aIndexType and aIndex uniquely specify the connection. - */ - virtual void SetIndexL( - const TIndexType aIndexType, - const TInt aIndex) = 0; - - /** - * Sets the EAP types configuration - * @param aSettings Structure containing the settings - */ - virtual void SetConfigurationL(const EAPSettings& aSettings) = 0; - - /** - * Gets the EAP types configuration - * @param aSettings Structure containing the settings - */ - virtual void GetConfigurationL(EAPSettings& aSettings) = 0; - - /** - * Copies the EAP types configuration - * @param aDestinationIndexType index type of the destination, ELan for WLAN. - * @param aDestinationIndex ID to where copy the settings. - */ - virtual void CopySettingsL( - const TIndexType aDestinationIndexType, - const TInt aDestinationIndex) = 0; - - -private: - - /// ECom uses this key to keep track of DLL usage. - TUid iDtor_ID_Key; -}; - -#include "EapTypePlugin.inl" - -#endif // _EAP_TYPE_PLUGIN_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_type_api/inc/EapTypePlugin.inl --- a/accesssec_plat/eap_type_api/inc/EapTypePlugin.inl Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,160 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 6 % -*/ - -/* The meaning and bit positions used in "opaque_data" field in ECOM implementation - - 0 0 0 0 0 0 0 0 ---->All 0 means allowed both inside (encapsulated EAP) and outside (Outer EAP) - | | | | | | | | - | | | | | | | |_____ 1 means NOT_INSIDE_TUNNEL (NOT allowed as encapsulated EAP) - | | | | | | | - | | | | | | |_______ 1 means NOT_OUTSIDE_TUNNEL (only allowed as encapsulated EAP, NOT as outer EAP) - | | | | | | - | | | | | |_________ 1 means NOT_INSIDE_PEAP - | | | | | - | | | | |___________ 1 means NOT_OUTSIDE_PEAP - | | | | - | | | |_____________ 1 means NOT_INSIDE_TTLS - | | | - | | |_______________ 1 means NOT_OUTSIDE_TTLS - | | - | |_________________ 1 means NOT_INSIDE_FAST - | - |___________________ 1 means NOT_OUTSIDE_FAST - - - // For historical reasons NOT_OUTSIDE_PEAP is used instead of NOT_OUTSIDE_TUNNEL - // Both of these convey the same meaning. It means if an EAP is not allowed outside PEAP - // (DisallowedOutsidePEAP), it can be used only as an encapsulated EAP. - // EAP-MSCHAPv2 is an example for this. - - // The bits can be ORed. - // "NOT_OUTSIDE|NOT_OUTSIDE_PEAP" is 0x0A (0000 1010). - // "NOT_OUTSIDE|NOT_OUTSIDE_PEAP|NOT_INSIDE_PEAP|NOT_INSIDE_FAST" is 0x4E (0100 1110). - // "NOT_INSIDE|NOT_INSIDE_PEAP|NOT_INSIDE_TTLS|NOT_INSIDE_FAST" is 0x55 (0101 0101). - // "NOT_INSIDE|NOT_INSIDE_PEAP|NOT_INSIDE_TTLS|NOT_INSIDE_FAST|NOT_OUTSIDE_PEAP|NOT_OUTSIDE" is 0x5F (0101 1111). - -*/ - -#include "EapTraceSymbian.h" - - -const TUint8 KNotInsideTunnel = 0x01; // Only the last bit position is 1. (0000 0001) -const TUint8 KNotOutsideTunnel = 0x02; // Only the 2nd last bit positions is 1. (0000 0010) - -const TUint8 KNotInsidePEAP = 0x04; // Only the 3rd last bit position is 1. (0000 0100) -const TUint8 KNotOutsidePEAP = 0x08; // Only the 4th last bit positions is 1. (0000 1000) - -const TUint8 KNotInsideTTLS = 0x10; // Only the 5th last bit position is 1. (0001 0000) -const TUint8 KNotOutsideTTLS = 0x20; // Only the 6th last bit position is 1. (0010 0000) - -const TUint8 KNotInsideFAST = 0x40; // Only the 7th last bit position is 1. (0100 0000) -const TUint8 KNotOutsideFAST = 0x80; // Only the first bit position is 1. (1000 0000) - -// Used By Server -inline CEapTypePlugin* CEapTypePlugin::NewL(const TDesC8& aCue, TIndexType aIndexType, TInt aIndex) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTypePlugin::NewL(): start"))); - - // The EAP type id (aCue) is passed to ECom as resolver parameters - TEComResolverParams resolverParams; - resolverParams.SetDataType(aCue); - - // The arguments are stored to a iapInfo struct. - SIapInfo iapInfo; - iapInfo.indexType = aIndexType; - iapInfo.index = aIndex; - iapInfo.aEapType = aCue; - - EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTypePlugin::NewL(): resolverParams.DataType()", - resolverParams.DataType().Ptr(), - resolverParams.DataType().Size())); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTypePlugin::NewL(): iapInfo.aEapType=0xfe%06x%08x\n"), - iapInfo.aEapType.GetVendorId(), - iapInfo.aEapType.GetVendorType())); - - // This call finds and loads the correct DLL and after that calls the - // entry function in the interface implementation in the DLL. - TAny* ptr = 0; - - TRAPD( err, ptr = REComSession::CreateImplementationL( - KEapTypeInterfaceUid, - _FOFF(CEapTypePlugin, iDtor_ID_Key), - &iapInfo, - resolverParams)); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTypePlugin::NewL(): ends, err=%d, returns ptr=0x%08x\n"), - err, - ptr)); - - User::LeaveIfError(err); - - return (CEapTypePlugin *) ptr; -} - -inline CEapTypePlugin::~CEapTypePlugin() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTypePlugin::~CEapTypePlugin(): this=0x%08x"), - this)); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTypePlugin::~CEapTypePlugin()")); - - // Unload DLL - REComSession::DestroyedImplementation(iDtor_ID_Key); -} - -inline TBool CEapTypePlugin::IsDisallowedOutsidePEAP(const CImplementationInformation& aImplInfo) -{ - - const TUint8 pluginOpaqueData = *(aImplInfo.OpaqueData().Ptr()); - - if(pluginOpaqueData & KNotOutsidePEAP) - { - return ETrue; - } - return EFalse; - -} - -inline TBool CEapTypePlugin::IsDisallowedInsidePEAP(const CImplementationInformation& aImplInfo) -{ - const TUint8 pluginOpaqueData = *(aImplInfo.OpaqueData().Ptr()); - - if(pluginOpaqueData & KNotInsidePEAP) - { - return ETrue; - } - return EFalse; - -} - -inline TBool CEapTypePlugin::IsDisallowedInsideTTLS(const CImplementationInformation& aImplInfo) -{ - const TUint8 pluginOpaqueData = *(aImplInfo.OpaqueData().Ptr()); - - if(pluginOpaqueData & KNotInsideTTLS) - { - return ETrue; - } - return EFalse; -} - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_vpn_api/eap_vpn_api.metaxml --- a/accesssec_plat/eap_vpn_api/eap_vpn_api.metaxml Tue Aug 31 15:16:37 2010 +0300 +++ b/accesssec_plat/eap_vpn_api/eap_vpn_api.metaxml Wed Sep 01 12:23:57 2010 +0100 @@ -3,7 +3,7 @@ EAP VPN API Interface for VPN implementations to request EAP authentication services c++ - eapol + wlaneapol @@ -11,7 +11,7 @@ - no + yes no diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_vpn_api/group/bld.inf --- a/accesssec_plat/eap_vpn_api/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 +++ b/accesssec_plat/eap_vpn_api/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -17,7 +17,7 @@ */ /* -* %version: % +* %version: tr1cfwln#8 % */ #include diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_vpn_api/inc/abs_eap_vpn_if.h --- a/accesssec_plat/eap_vpn_api/inc/abs_eap_vpn_if.h Tue Aug 31 15:16:37 2010 +0300 +++ b/accesssec_plat/eap_vpn_api/inc/abs_eap_vpn_if.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #ifndef __EAPPLUGINCALLBACKINTERFACE_H__ diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_vpn_api/inc/eap_vpn_if.h --- a/accesssec_plat/eap_vpn_api/inc/eap_vpn_if.h Tue Aug 31 15:16:37 2010 +0300 +++ b/accesssec_plat/eap_vpn_api/inc/eap_vpn_if.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 9.1.2 % +* %version: 11 % */ #ifndef __EAPPLUGININTERFACE_H__ diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_vpn_api/inc/eap_vpn_if.inl --- a/accesssec_plat/eap_vpn_api/inc/eap_vpn_if.inl Tue Aug 31 15:16:37 2010 +0300 +++ b/accesssec_plat/eap_vpn_api/inc/eap_vpn_if.inl Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 10.1.2 % +* %version: 12 % */ // Interface's (abstract base class's) static factory method implementation. diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eap_vpn_api/inc/eap_vpn_if_uids.h --- a/accesssec_plat/eap_vpn_api/inc/eap_vpn_if_uids.h Tue Aug 31 15:16:37 2010 +0300 +++ b/accesssec_plat/eap_vpn_api/inc/eap_vpn_if_uids.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.2 % +* %version: 10 % */ #ifndef __EAPPLUGINUIDS_H__ diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapaka_db_api/eapaka_db_api.metaxml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapaka_db_api/eapaka_db_api.metaxml Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,17 @@ + + + EAP-AKA DB API + Interface for the EAP-AKA UI to access the settings in the EAP-AKA DBMS database. + c++ + wlaneapol + + + + + + + + yes + no + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapaka_db_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapaka_db_api/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 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: File that exports the files belonging to +: EAP-AKA DB API +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +../inc/EapAkaUiAkaData.h MW_LAYER_PLATFORM_EXPORT_PATH(EapAkaUiAkaData.h) +../inc/EapAkaUiDataConnection.h MW_LAYER_PLATFORM_EXPORT_PATH(EapAkaUiDataConnection.h) +../inc/EapAkaUiConnection.h MW_LAYER_PLATFORM_EXPORT_PATH(EapAkaUiConnection.h) diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapaka_db_api/inc/EapAkaUiAkaData.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapaka_db_api/inc/EapAkaUiAkaData.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,58 @@ +/* +* 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. +* +*/ + +/* +* %version: 9 % +*/ + +#ifndef _EAPAKAUIAKADATA_H_ +#define _EAPAKAUIAKADATA_H_ + +#include +#include + +const TInt KMaxLengthOfManualUsername = 255; +const TInt KMaxLengthOfManualRealm = 255; + +class CEapAkaUiAkaData : public CBase +{ +public: + + CEapAkaUiAkaData(); + + ~CEapAkaUiAkaData(); + + TDes& GetManualUsername(); + + TDes& GetManualRealm(); + + TBool * GetUseManualUsername(); + + TBool * GetUseManualRealm(); + +private: + + TBuf iManualUsername; + + TBuf iManualRealm; + + TBool iUseManualUsername; + + TBool iUseManualRealm; +}; + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapaka_db_api/inc/EapAkaUiConnection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapaka_db_api/inc/EapAkaUiConnection.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,81 @@ +/* +* 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. +* +*/ + +/* +* %version: 6.1.2 % +*/ + +#ifndef _EAPAKAUICONNECTION_H_ +#define _EAPAKAUICONNECTION_H_ + +#include +#include +#include +#include + +class CEapAkaUiDataConnection; + +class CEapAkaUiConnection : public CBase +{ + +public: + + CEapAkaUiConnection( + const TIndexType iIndexType, + const TInt iIndex, + const TInt iTunnelingType); + + ~CEapAkaUiConnection(); + + TInt Connect(); + + TInt Close(); + + CEapAkaUiDataConnection * GetDataConnection(); + + TIndexType GetIndexType(); + + TInt GetIndex(); + + TInt GetTunnelingType(); + + TInt GetDatabase(RDbNamedDatabase & aDatabase); + +protected: + + // Bearer type + TIndexType iIndexType; + + // Unique index + TInt iIndex; + + // Tunneling type + TInt iTunnelingType; + + TBool iIsConnected; + + // database names, handlers etc... + + CEapAkaUiDataConnection * iDataConn; + + RDbNamedDatabase iDbNamedDatabase; + + RDbs iDbs; +}; + + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapaka_db_api/inc/EapAkaUiDataConnection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapaka_db_api/inc/EapAkaUiDataConnection.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,67 @@ +/* +* 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. +* +*/ + +/* +* %version: 6.1.2 % +*/ + +#ifndef _EAPAKAUIDATACONNECTION_H_ +#define _EAPAKAUIDATACONNECTION_H_ + +#include +class CEapAkaUiConnection; +class CEapAkaUiAkaData; + + +class CEapAkaUiDataConnection : public CBase +{ + +public: + + CEapAkaUiDataConnection(CEapAkaUiConnection * aUiConn); + + ~CEapAkaUiDataConnection(); + + TInt Open(); + + TInt GetData(CEapAkaUiAkaData ** aDataPtr); + + TInt Update(); + + TInt Close(); + +protected: + + TBool iIsOpened; + + CEapAkaUiConnection * iUiConn; + + RDbNamedDatabase iDatabase; + + RDbView iView; + + CDbColSet* iColSet; + + CEapAkaUiAkaData * iDataPtr; + +private: + + void FetchDataL(); +}; + + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapgtc_db_api/eapgtc_db_api.metaxml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapgtc_db_api/eapgtc_db_api.metaxml Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,17 @@ + + + EAP-GTC DB API + Interface for the EAP-GTC UI to access the settings in the EAP-GTC DBMS database. + c++ + wlaneapol + + + + + + + + yes + no + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapgtc_db_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapgtc_db_api/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 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: File that exports the files belonging to +: EAP-GTC DB API +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +../inc/EapGtcUiConnection.h MW_LAYER_PLATFORM_EXPORT_PATH(EapGtcUiConnection.h) +../inc/EapGtcUiGtcData.h MW_LAYER_PLATFORM_EXPORT_PATH(EapGtcUiGtcData.h) +../inc/EapGtcUiDataConnection.h MW_LAYER_PLATFORM_EXPORT_PATH(EapGtcUiDataConnection.h) diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapgtc_db_api/inc/EapGtcUiConnection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapgtc_db_api/inc/EapGtcUiConnection.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,81 @@ +/* +* 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. +* +*/ + +/* +* %version: 6.1.2 % +*/ + +#ifndef _EAPGTCUICONNECTION_H_ +#define _EAPGTCUICONNECTION_H_ + +#include +#include +#include +#include + +class CEapGtcUiDataConnection; + +class CEapGtcUiConnection: public CBase +{ + +public: + + CEapGtcUiConnection( + const TIndexType iIndexType, + const TInt iIndex, + const TInt iTunnelingType); + + ~CEapGtcUiConnection(); + + TInt Connect(); + + TInt Close(); + + CEapGtcUiDataConnection * GetDataConnection(); + + TIndexType GetIndexType(); + + TInt GetIndex(); + + TInt GetTunnelingType(); + + TInt GetDatabase(RDbNamedDatabase & aDatabase); + +protected: + + // Bearer type + TIndexType iIndexType; + + // Unique index + TInt iIndex; + + // Tunneling type + TInt iTunnelingType; + + TBool iIsConnected; + + // database names, handlers etc... + + CEapGtcUiDataConnection * iDataConn; + + RDbNamedDatabase iDbNamedDatabase; + + RDbs iDbs; +}; + + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapgtc_db_api/inc/EapGtcUiDataConnection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapgtc_db_api/inc/EapGtcUiDataConnection.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,68 @@ +/* +* 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. +* +*/ + +/* +* %version: 6.1.2 % +*/ + +#ifndef _EAPGTCUIDATACONNECTION_H_ +#define _EAPGTCUIDATACONNECTION_H_ + +#include + +class CEapGtcUiConnection; +class CEapGtcUiGtcData; + + +class CEapGtcUiDataConnection : public CBase +{ + +public: + + CEapGtcUiDataConnection(CEapGtcUiConnection * aUiConn); + + ~CEapGtcUiDataConnection(); + + TInt Open(); + + TInt GetData(CEapGtcUiGtcData ** aDataPtr); + + TInt Update(); + + TInt Close(); + +protected: + + TBool iIsOpened; + + CEapGtcUiConnection * iUiConn; + + RDbNamedDatabase iDatabase; + + RDbView iView; + + CDbColSet* iColSet; + + CEapGtcUiGtcData * iDataPtr; + +private: + + void FetchDataL(); +}; + + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapgtc_db_api/inc/EapGtcUiGtcData.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapgtc_db_api/inc/EapGtcUiGtcData.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,45 @@ +/* +* 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. +* +*/ + +/* +* %version: 7.1.2 % +*/ + +#ifndef _EAPGTCUIGTCDATA_H_ +#define _EAPGTCUIGTCDATA_H_ + +#include +#include + +const TInt KMaxLengthOfUsername=255; + +class CEapGtcUiGtcData : public CBase +{ +public: + + CEapGtcUiGtcData(); + + ~CEapGtcUiGtcData(); + + TDes& GetIdentity(); + +private: + + TBuf iIdentity; +}; + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapleap_db_api/eapleap_db_api.metaxml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapleap_db_api/eapleap_db_api.metaxml Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,17 @@ + + + LEAP DB API + Interface for the LEAP UI to access the settings in the LEAP DBMS database + c++ + wlaneapol + + + + + + + + yes + no + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapleap_db_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapleap_db_api/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 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: File that exports the files belonging to +: EAP-LEAP DB API +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +../inc/EapLeapUiDataConnection.h MW_LAYER_PLATFORM_EXPORT_PATH(EapLeapUiDataConnection.h) +../inc/EapLeapUiLeapData.h MW_LAYER_PLATFORM_EXPORT_PATH(EapLeapUiLeapData.h) +../inc/EapLeapUiConnection.h MW_LAYER_PLATFORM_EXPORT_PATH(EapLeapUiConnection.h) diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapleap_db_api/inc/EapLeapUiConnection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapleap_db_api/inc/EapLeapUiConnection.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,82 @@ +/* +* 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. +* +*/ + +/* +* %version: 6.1.2 % +*/ + +#ifndef _EAPLEAPUICONNECTION_H_ +#define _EAPLEAPUICONNECTION_H_ + +#include +#include +#include +#include + + +class CEapLeapUiDataConnection; + +class CEapLeapUiConnection : public CBase +{ + +public: + + CEapLeapUiConnection( + const TIndexType iIndexType, + const TInt iIndex, + const TInt iTunnelingType); + + ~CEapLeapUiConnection(); + + TInt Connect(); + + TInt Close(); + + CEapLeapUiDataConnection * GetDataConnection(); + + TIndexType GetIndexType(); + + TInt GetIndex(); + + TInt GetTunnelingType(); + + TInt GetDatabase(RDbNamedDatabase & aDatabase); + +protected: + + // Bearer type + TIndexType iIndexType; + + // Unique index + TInt iIndex; + + // Tunneling type + TInt iTunnelingType; + + TBool iIsConnected; + + // database names, handlers etc... + + CEapLeapUiDataConnection * iDataConn; + + RDbNamedDatabase iDbNamedDatabase; + + RDbs iDbs; +}; + + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapleap_db_api/inc/EapLeapUiDataConnection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapleap_db_api/inc/EapLeapUiDataConnection.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,68 @@ +/* +* 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. +* +*/ + +/* +* %version: 6.1.2 % +*/ + +#ifndef _EAPLEAPUIDATACONNECTION_H_ +#define _EAPLEAPUIDATACONNECTION_H_ + +#include + +class CEapLeapUiConnection; +class CEapLeapUiLeapData; + + +class CEapLeapUiDataConnection : public CBase +{ + +public: + + CEapLeapUiDataConnection(CEapLeapUiConnection * aUiConn); + + ~CEapLeapUiDataConnection(); + + TInt Open(); + + TInt GetData(CEapLeapUiLeapData ** aDataPtr); + + TInt Update(); + + TInt Close(); + +protected: + + TBool iIsOpened; + + CEapLeapUiConnection * iUiConn; + + RDbNamedDatabase iDatabase; + + RDbView iView; + + CDbColSet* iColSet; + + CEapLeapUiLeapData * iDataPtr; + +private: + + void FetchDataL(); +}; + + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapleap_db_api/inc/EapLeapUiLeapData.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapleap_db_api/inc/EapLeapUiLeapData.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,54 @@ +/* +* 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. +* +*/ + +/* +* %version: 9 % +*/ + +#ifndef _EAPLEAPUILEAPDATA_H_ +#define _EAPLEAPUILEAPDATA_H_ + +#include +#include + +const TInt KMaxLengthOfUsername=255; +const TInt KMaxLengthOfPassword=255; + +class CEapLeapUiLeapData : public CBase +{ +public: + + CEapLeapUiLeapData(); + + ~CEapLeapUiLeapData(); + + TDes& GetUsername(); + + TDes& GetPassword(); + + TBool * GetPasswordPrompt(); + +private: + + TBuf iUsername; + + TBuf iPassword; + + TBool iPasswordPrompt; +}; + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapmschapv2_db_api/eapmschapv2_db_api.metaxml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapmschapv2_db_api/eapmschapv2_db_api.metaxml Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,17 @@ + + + EAP-MSCHAPV2 DB API + Interface for the EAP-MSCHAPv2 UI to access the settings in the EAP-MSCHAPv2 DBMS database + c++ + wlaneapol + + + + + + + + yes + no + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapmschapv2_db_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapmschapv2_db_api/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 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: File that exports the files belonging to +: EAP-MSCHAPV2 DB API +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +../inc/EapMsChapV2UiDataConnection.h MW_LAYER_PLATFORM_EXPORT_PATH(EapMsChapV2UiDataConnection.h) +../inc/EapMsChapV2UiConnection.h MW_LAYER_PLATFORM_EXPORT_PATH(EapMsChapV2UiConnection.h) +../inc/EapMsChapV2UiMsChapV2Data.h MW_LAYER_PLATFORM_EXPORT_PATH(EapMsChapV2UiMsChapV2Data.h) diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiConnection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiConnection.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,90 @@ +/* +* 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. +* +*/ + +/* +* %version: 7.1.2 % +*/ + +#ifndef _EAPMSCHAPV2UICONNECTION_H_ +#define _EAPMSCHAPV2UICONNECTION_H_ + +#include +#include +#include +#include + +class CEapMsChapV2UiDataConnection; + +class CEapMsChapV2UiConnection : public CBase +{ + +public: + + CEapMsChapV2UiConnection( + const TIndexType aIndexType, + const TInt aIndex, + const TInt aTunnelingType, + const TInt aEAPType); + + ~CEapMsChapV2UiConnection(); + + TInt Connect(); + + TInt Close(); + + CEapMsChapV2UiDataConnection * GetDataConnection(); + + TIndexType GetIndexType(); + + TInt GetIndex(); + + TInt GetTunnelingType(); + + TInt GetDatabase(RDbNamedDatabase & aDatabase); + + TInt GetBearerEAPType(); + +protected: + + // Bearer type + TIndexType iIndexType; + + // Unique index + TInt iIndex; + + // Tunneling type + TInt iTunnelingType; + + TBool iIsConnected; + + // database names, handlers etc... + + CEapMsChapV2UiDataConnection * iDataConn; + + RDbNamedDatabase iDbNamedDatabase; + + RDbs iDbs; + + // Holds the bearer EAP type. + TInt iEAPType; +}; + + +#endif + +// End of file + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiDataConnection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiDataConnection.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,68 @@ +/* +* 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. +* +*/ + +/* +* %version: 6.1.2 % +*/ + +#ifndef _EAPMSCHAPV2UIDATACONNECTION_H_ +#define _EAPMSCHAPV2UIDATACONNECTION_H_ + +#include + +class CEapMsChapV2UiConnection; +class CEapMsChapV2UiMsChapV2Data; + + +class CEapMsChapV2UiDataConnection : public CBase +{ + +public: + + CEapMsChapV2UiDataConnection(CEapMsChapV2UiConnection * aUiConn); + + ~CEapMsChapV2UiDataConnection(); + + TInt Open(); + + TInt GetData(CEapMsChapV2UiMsChapV2Data ** aDataPtr); + + TInt Update(); + + TInt Close(); + +protected: + + TBool iIsOpened; + + CEapMsChapV2UiConnection * iUiConn; + + RDbNamedDatabase iDatabase; + + RDbView iView; + + CDbColSet* iColSet; + + CEapMsChapV2UiMsChapV2Data * iDataPtr; + +private: + + void FetchDataL(); +}; + + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiMsChapV2Data.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiMsChapV2Data.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,54 @@ +/* +* 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. +* +*/ + +/* +* %version: 9 % +*/ + +#ifndef _EAPMSCHAPV2UIMSCHAPV2DATA_H_ +#define _EAPMSCHAPV2UIMSCHAPV2DATA_H_ + +#include +#include + +const TInt KMaxLengthOfUsername=255; +const TInt KMaxLengthOfPassword=255; + +class CEapMsChapV2UiMsChapV2Data : public CBase +{ +public: + + CEapMsChapV2UiMsChapV2Data(); + + ~CEapMsChapV2UiMsChapV2Data(); + + TDes& GetUsername(); + + TDes& GetPassword(); + + TBool * GetPasswordPrompt(); + +private: + + TBuf iUsername; + + TBuf iPassword; + + TBool iPasswordPrompt; +}; + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapsim_db_api/eapsim_db_api.metaxml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapsim_db_api/eapsim_db_api.metaxml Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,17 @@ + + + EAP-SIM DB API + Interface for the EAP-SIM UI to access the settings in the EAP-SIM DBMS database. + c++ + wlaneapol + + + + + + + + yes + no + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapsim_db_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapsim_db_api/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 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: File that exports the files belonging to +: EAP-SIM DB API +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +../inc/EapSimUiConnection.h MW_LAYER_PLATFORM_EXPORT_PATH(EapSimUiConnection.h) +../inc/EapSimUiDataConnection.h MW_LAYER_PLATFORM_EXPORT_PATH(EapSimUiDataConnection.h) +../inc/EapSimUiSimData.h MW_LAYER_PLATFORM_EXPORT_PATH(EapSimUiSimData.h) diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapsim_db_api/inc/EapSimUiConnection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapsim_db_api/inc/EapSimUiConnection.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,81 @@ +/* +* 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. +* +*/ + +/* +* %version: 6.1.2 % +*/ + +#ifndef _EAPSIMUICONNECTION_H_ +#define _EAPSIMUICONNECTION_H_ + +#include +#include +#include +#include + +class CEapSimUiDataConnection; + +class CEapSimUiConnection : public CBase +{ + +public: + + CEapSimUiConnection( + const TIndexType iIndexType, + const TInt iIndex, + const TInt iTunnelingType); + + ~CEapSimUiConnection(); + + TInt Connect(); + + TInt Close(); + + CEapSimUiDataConnection * GetDataConnection(); + + TIndexType GetIndexType(); + + TInt GetIndex(); + + TInt GetTunnelingType(); + + TInt GetDatabase(RDbNamedDatabase & aDatabase); + +protected: + + // Bearer type + TIndexType iIndexType; + + // Unique index + TInt iIndex; + + // Tunneling type + TInt iTunnelingType; + + // database names, handlers etc... + + TBool iIsConnected; + + CEapSimUiDataConnection * iDataConn; + + RDbNamedDatabase iDbNamedDatabase; + + RDbs iDbs; +}; + + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapsim_db_api/inc/EapSimUiDataConnection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapsim_db_api/inc/EapSimUiDataConnection.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,68 @@ +/* +* 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. +* +*/ + +/* +* %version: 6.1.2 % +*/ + +#ifndef _EAPSIMUIDATACONNECTION_H_ +#define _EAPSIMUIDATACONNECTION_H_ + +#include + +class CEapSimUiConnection; +class CEapSimUiSimData; + + +class CEapSimUiDataConnection : public CBase +{ + +public: + + CEapSimUiDataConnection(CEapSimUiConnection * aUiConn); + + ~CEapSimUiDataConnection(); + + TInt Open(); + + TInt GetData(CEapSimUiSimData ** aDataPtr); + + TInt Update(); + + TInt Close(); + +protected: + + TBool iIsOpened; + + CEapSimUiConnection * iUiConn; + + RDbNamedDatabase iDatabase; + + RDbView iView; + + CDbColSet* iColSet; + + CEapSimUiSimData * iDataPtr; + +private: + + void FetchDataL(); +}; + + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eapsim_db_api/inc/EapSimUiSimData.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eapsim_db_api/inc/EapSimUiSimData.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,58 @@ +/* +* 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. +* +*/ + +/* +* %version: 9 % +*/ + +#ifndef _EAPSIMUISIMDATA_H_ +#define _EAPSIMUISIMDATA_H_ + +#include +#include + +const TInt KMaxLengthOfManualUsername = 255; +const TInt KMaxLengthOfManualRealm = 255; + +class CEapSimUiSimData : public CBase +{ +public: + + CEapSimUiSimData(); + + ~CEapSimUiSimData(); + + TDes& GetManualUsername(); + + TDes& GetManualRealm(); + + TBool * GetUseManualUsername(); + + TBool * GetUseManualRealm(); + +private: + + TBuf iManualUsername; + + TBuf iManualRealm; + + TBool iUseManualUsername; + + TBool iUseManualRealm; +}; + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/eaptlspeap_db_api.metaxml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/eaptlspeap_db_api.metaxml Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,17 @@ + + + EAP-TLS-PEAP DB API + Interface for the UI to access the settings in the TLS-based EAP method DBMS databases + c++ + wlaneapol + + + + + + + + yes + no + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,42 @@ +/* +* Copyright (c) 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: File that exports the files belonging to +: EAP-TLS-PEAP DB API +* +*/ + +/* +* %version: tr1cfwln#7.1.2 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +../inc/CertEntry.h MW_LAYER_PLATFORM_EXPORT_PATH(CertEntry.h) +../inc/AbsEapTlsPeapUiCertificates.h MW_LAYER_PLATFORM_EXPORT_PATH(AbsEapTlsPeapUiCertificates.h) +../inc/EapTlsPeapUiCipherSuite.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiCipherSuite.h) +../inc/EapTlsPeapUiEapType.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiEapType.h) +../inc/EapTlsPeapUiConnection.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiConnection.h) +../inc/EapTlsPeapUiCertificate.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiCertificate.h) +../inc/EapTlsPeapUiCipherSuites.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiCipherSuites.h) +../inc/EapTlsPeapUiTlsPeapData.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiTlsPeapData.h) +../inc/EapTlsPeapUiEapTypes.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiEapTypes.h) +../inc/EapTlsPeapUiDataConnection.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiDataConnection.h) +../inc/EapTlsPeapUiCertificates.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsPeapUiCertificates.h) +../inc/EapFastNotifierStruct.h MW_LAYER_PLATFORM_EXPORT_PATH(EapFastNotifierStruct.h) +../inc/EapTtlsPapNotifierStruct.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTtlsPapNotifierStruct.h) diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/inc/AbsEapTlsPeapUiCertificates.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/inc/AbsEapTlsPeapUiCertificates.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,42 @@ +/* +* 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. +* +*/ + +/* +* %version: 6.1.2 % +*/ + +#ifndef _ABSEAPTLSPEAPUICERTIFICATES_H_ +#define _ABSEAPTLSPEAPUICERTIFICATES_H_ + +// INCLUDES + +// CLASS DECLARATION +/** +* Class for +*/ +class MEapTlsPeapUiCertificates +{ +public: + /** + * + */ + virtual void CompleteReadCertificates(const TInt aResult) = 0; +}; + +#endif // _ABSEAPTLSPEAPUICERTIFICATES_H_ + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/inc/CertEntry.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/inc/CertEntry.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,44 @@ +/* +* 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. +* +*/ + +/* +* %version: 8.1.2 % +*/ + +#ifndef _SCERTENTRY_H_ +#define _SCERTENTRY_H_ + + +#include +#include + +/* This is the maximum length of a certificate primary/secondary name we are interested in. */ +const TUint32 KMaxNameLength = 64; + +struct SCertEntry +{ + TCertLabel iLabel; // This holds only the certificate label. + TKeyIdentifier iSubjectKeyId; + TBuf iPrimaryName; // Primary name of the certificate if any. + TBuf iSecondaryName; // Secondary name of the certificate if any. +}; + +#endif // _SCERTENTRY_H_ + +// End of file + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/inc/EapFastNotifierStruct.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/inc/EapFastNotifierStruct.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,61 @@ +/* +* 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. +* +*/ + +/* +* %version: 7.1.2 % +*/ + +#ifndef EAPFASTNOTIFIERSTRUCT_H +#define EAPFASTNOTIFIERSTRUCT_H + +const TUid KEapFastNotifierUid = {0x2000F8DF}; + +const TUint KMaxEapFastNotifierBufLength = 255; + +enum EEapFastNotifierUiItem +{ + EEapFastNotifierPacStorePwQuery, /* 0 */ + EEapFastNotifierWrongPacStorePwNote, /* 1 */ + EEapFastNotifierAuthProvWaitNote, /* 2 */ + EEapFastNotifierAuthProvWaitNoteEnd, /* 3 */ + EEapFastNotifierUnauthProvWaitNote, /* 4 */ + EEapFastNotifierUnauthProvWaitNoteEnd, /* 5 */ + EEapFastNotifierInstallPacConfirmQuery, /* 6 */ + EEapFastNotifierProvSuccessNote, /* 7 */ + EEapFastNotifierProvNotSuccessNote, /* 8 */ + EEapFastNotifierPacFilePwQuery, /* 9 */ + EEapFastNotifierWrongPacFilePwNote, /* 10 */ + EEapFastNotifierCreateMasterkeyQuery, /* 11 */ + EEapFastNotifierUiItemsNumber /* 12 */ // keep always as last element +}; + +enum EEapFastNotifierUserAction +{ + EEapFastNotifierUserActionOk, + EEapFastNotifierUserActionCancel +}; + +struct TEapFastNotifierStruct +{ + EEapFastNotifierUiItem iEapFastNotifierUiItem; + TBuf iEapFastNotifierBuffer; + EEapFastNotifierUserAction iEapFastNotifierUserAction; +}; + +#endif // EAPFASTNOTIFIERSTRUCT_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCertificate.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCertificate.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,37 @@ +/* +* 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. +* +*/ + +/* +* %version: 6.1.2 % +*/ + +#ifndef _EAPTLSPEAPUICERTIFICATE_H_ +#define _EAPTLSPEAPUICERTIFICATE_H_ + +#include +#include + +class TEapTlsPeapUiCertificate +{ +public: + SCertEntry iCertEntry; + TBool iIsEnabled; +}; + +#endif // _EAPTLSPEAPUICERTIFICATE_H_ + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCertificates.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCertificates.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,86 @@ +/* +* 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. +* +*/ + +/* +* %version: 7.1.2 % +*/ + +#ifndef _EAPTLSPEAPUICERTIFICATES_H_ +#define _EAPTLSPEAPUICERTIFICATES_H_ + +#include +#include + +class CEapTlsPeapUiConnection; +class TEapTlsPeapUiCertificate; +class CEapTlsPeapCertFetcher; +class MEapTlsPeapUiCertificates; + +class CEapTlsPeapUiCertificates : public CBase +{ + +public: + + CEapTlsPeapUiCertificates(CEapTlsPeapUiConnection * const aUiConn, MEapTlsPeapUiCertificates * const aParent); + + ~CEapTlsPeapUiCertificates(); + + TInt Open(); + + TInt GetCertificates(CArrayFixFlat ** aUserCerts, + CArrayFixFlat ** aCACerts); + + TInt Update(); + + TInt Close(); + + void CompleteReadCertificatesL( + const RArray& aUserCerts, + const RArray& aCACerts); + + +private: + + TBool iIsOpened; + + CEapTlsPeapUiConnection * iUiConn; + + RDbNamedDatabase iDatabase; + + CArrayFixFlat * iUserCerts; + + CArrayFixFlat * iCACerts; + + TRequestStatus iStatus; + + CEapTlsPeapCertFetcher* iCertFetcher; + + MEapTlsPeapUiCertificates* iParent; + +private: + + void FetchDataL( + const TDesC& aTableName, + const RArray& aAvailableCerts, + CArrayFixFlat * const aArray); + + void UpdateL(); +}; + +#endif // _EAPTLSPEAPUICERTIFICATES_H_ + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCipherSuite.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCipherSuite.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,37 @@ +/* +* 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. +* +*/ + +/* +* %version: 6.1.2 % +*/ + +#ifndef _EAPTLSPEAPUICIPHERSUITE_H_ +#define _EAPTLSPEAPUICIPHERSUITE_H_ + +#include + +class TEapTlsPeapUiCipherSuite +{ +public: + + TBool iIsEnabled; + TUint iCipherSuite; +}; + +#endif //_EAPTLSPEAPUICIPHERSUITE_H_ + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCipherSuites.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCipherSuites.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,67 @@ +/* +* 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. +* +*/ + +/* +* %version: 7.1.2 % +*/ + +#ifndef _EAPTLSPEAPUICIPHERSUITES_H_ +#define _EAPTLSPEAPUICIPHERSUITES_H_ + +#include + +class CEapTlsPeapUiConnection; +class TEapTlsPeapUiCipherSuite; + + +class CEapTlsPeapUiCipherSuites : public CBase +{ + +public: + + CEapTlsPeapUiCipherSuites(CEapTlsPeapUiConnection * const aUiConn); + + ~CEapTlsPeapUiCipherSuites(); + + TInt Open(); + + TInt GetCipherSuites(CArrayFixFlat ** aDataPtr); + + TInt Update(); + + TInt Close(); + +private: + + TBool iIsOpened; + + CEapTlsPeapUiConnection * iUiConn; + + RDbNamedDatabase iDatabase; + + CArrayFixFlat* iDataPtr; + +private: + + void FetchDataL(); + + void UpdateL(); +}; + +#endif //_EAPTLSPEAPUICIPHERSUITES_H_ + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiConnection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiConnection.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,146 @@ +/* +* 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. +* +*/ + +/* +* %version: 16.1.2 % +*/ + +#ifndef _EAPTLSPEAPUICONNECTION_H_ +#define _EAPTLSPEAPUICONNECTION_H_ + +#include +#include +#include +#include + +class CEapTlsPeapUiDataConnection; +class CEapTlsPeapUiCipherSuites; +class CEapTlsPeapUiCertificates; +class CEapTlsPeapUiEapTypes; +class MEapTlsPeapUiCertificates; +class CPacStoreDatabase; + +class CEapTlsPeapUiConnection : public CBase +{ + +public: + + // This creates a connection between EAP plugin and the EAP UI. + // aTunnelingType - the Vendor-Type of Tunneling EAP type. + // aEapType - the Vendor-Type of the EAP type + // Supported Vendor-ID here is 0x 0 (3 bytes) for both. + + CEapTlsPeapUiConnection( + const TIndexType aIndexType, + const TInt aIndex, + const TInt aTunnelingType, + const TInt aEapType); + + ~CEapTlsPeapUiConnection(); + + TInt Connect(); + + TInt Close(); + + CEapTlsPeapUiDataConnection * GetDataConnection(); + + CEapTlsPeapUiCipherSuites * GetCipherSuiteConnection(); + + CEapTlsPeapUiCertificates * GetCertificateConnection(MEapTlsPeapUiCertificates * const aParent); + + CEapTlsPeapUiEapTypes * GetEapTypeConnection(); + + TIndexType GetIndexType(); + + TInt GetIndex(); + + // Returns the Vendor-Type of Tunneling EAP type, in this EAP type. + // Supported Vendor-ID here is 0x 0 (3 bytes). + TInt GetTunnelingType(); + + // Returns the Vendor-Type of this EAP type. + // Supported Vendor-ID here is 0x 0 (3 bytes). + TInt GetEapType(); + + TInt GetDatabase(RDbNamedDatabase & aDatabase); + + // Check if there's the PAC store master key. + // Call Connect() before doing this and Close() after. + // Returns ETrue if there is master key. EFalse if there is not. + TBool IsPacStoreMasterKeyPresentL(); + + // This destroys the PAC store if it is created already. + // Call Connect() before doing this and Close() after. + // Returns KErrNone if successful. Symbian error code otherwise. + TInt DestroyPacStore(); + + // This check if the PAC store (or PAC store master key) can be decrypted + // with the password provided. + // Call Connect() before doing this and Close() after. + // Returns ETrue if successful. + TBool VerifyPacStorePasswordL(const TDesC& aPacStorePw); + + // This creates the PAC store master key with the password provided. + // Call Connect() before doing this and Close() after. + // Returns KErrNone if successful. Symbian error code otherwise. + TInt CreatePacStoreMasterKey(const TDesC& aPacStorePw); + + CPacStoreDatabase * GetPacStoreDb(); + +protected: + + // Bearer type + TIndexType iIndexType; + + // Unique index + TInt iIndex; + + // This stores the Vendor-Type of Tunneling EAP type. Supported Vendor-ID here is 0x 0 (3 bytes). + TInt iTunnelingType; + + // This stores the Vendor-Type of the EAP type. Supported Vendor-ID here is 0x 0 (3 bytes). + TInt iEapType; + + TBool iIsConnected; + + // database names, handlers etc... + + CEapTlsPeapUiDataConnection * iDataConn; + + CEapTlsPeapUiCipherSuites * iCipherSuites; + + CEapTlsPeapUiEapTypes * iEapTypes; + + CEapTlsPeapUiCertificates * iCertificates; + + RDbNamedDatabase iDbNamedDatabase; + + RDbs iDbs; + +private: + + void ConnectL(); + +private: + + CPacStoreDatabase * iPacStoreDb; + +}; + +#endif + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiDataConnection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiDataConnection.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,81 @@ +/* +* 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. +* +*/ + +/* +* %version: 10.1.2 % +*/ + +#ifndef _EAPTLSPEAPUIDATACONNECTION_H_ +#define _EAPTLSPEAPUIDATACONNECTION_H_ + +#include + +class CEapTlsPeapUiConnection; +class CEapTlsPeapUiTlsPeapData; + + +class CEapTlsPeapUiDataConnection : public CBase +{ + +public: + + CEapTlsPeapUiDataConnection(CEapTlsPeapUiConnection * aUiConn); + + ~CEapTlsPeapUiDataConnection(); + + TInt Open(); + + TInt GetData(CEapTlsPeapUiTlsPeapData ** aDataPtr); + + TInt Update(); + + TInt Close(); + +protected: + + TBool iIsOpened; + + CEapTlsPeapUiConnection * iUiConn; + + RDbNamedDatabase iDatabase; + + RDbView iView; + + CDbColSet* iColSet; + + CEapTlsPeapUiTlsPeapData * iDataPtr; + +private: + // Functions. + + void FetchDataL(); + void UpdateDataL(); + +private: + // Member variables. + + // Only used with EAP-FAST. Can't use the falg here. + RDbView iFastSpecificView; + + // Only used with EAP-FAST. Can't use the flag here. + CDbColSet* iFastSpecificColSet; + +}; + +#endif // _EAPTLSPEAPUIDATACONNECTION_H_ + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiEapType.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiEapType.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,36 @@ +/* +* 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. +* +*/ + +/* +* %version: 10.1.2 % +*/ + +#ifndef _EAPTLSPEAPUIEAPTYPE_H_ +#define _EAPTLSPEAPUIEAPTYPE_H_ + +#include + +class TEapTlsPeapUiEapType +{ +public: + TBool iIsEnabled; + TBuf8<8> iEapType; // UID of Expanded EAP type. +}; + +#endif // _EAPTLSPEAPUIEAPTYPE_H_ + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiEapTypes.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiEapTypes.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,68 @@ +/* +* 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. +* +*/ + +/* +* %version: 10.1.2 % +*/ + +#ifndef _EAPTLSPEAPUIEAPTYPES_H_ +#define _EAPTLSPEAPUIEAPTYPES_H_ + +#include + +class CEapTlsPeapUiConnection; +class TEapTlsPeapUiEapType; + +class CEapTlsPeapUiEapTypes : public CBase +{ + +public: + + CEapTlsPeapUiEapTypes(CEapTlsPeapUiConnection * const aUiConn); + + ~CEapTlsPeapUiEapTypes(); + + TInt Open(); + + TInt GetEapTypes(CArrayFixFlat ** aDataPtr); + + TInt Update(); + + TInt Close(); + +private: + + TBool iIsOpened; + + CEapTlsPeapUiConnection * iUiConn; + + RDbNamedDatabase iDatabase; + + CArrayFixFlat* iDataPtr; + +private: + + + void FetchExpandedDataL(); + + void UpdateExpandedDataL(); + +}; + +#endif // _EAPTLSPEAPUIEAPTYPES_H_ + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiTlsPeapData.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiTlsPeapData.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,109 @@ +/* +* 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. +* +*/ + +/* +* %version: 14.1.2 % +*/ + +#ifndef _EAPTLSPEAPUITLSPEAPDATA_H_ +#define _EAPTLSPEAPUITLSPEAPDATA_H_ + +#include +#include + +const TInt KMaxLengthOfUsername=255; +const TInt KMaxLengthOfPassword=255; + +const TInt KMaxLengthOfPapUserName = 253; // according to UI spec +const TInt KMaxLengthOfPapPassword = 128; // according to UI spec + +class CEapTlsPeapUiTlsPeapData : public CBase +{ +public: + + CEapTlsPeapUiTlsPeapData(); + + ~CEapTlsPeapUiTlsPeapData(); + + TDes& GetManualUsername(); + + TBool * GetUseManualUsername(); + + TDes& GetManualRealm(); + + TBool * GetUseManualRealm(); + + TBool * GetAllowVersion0(); + + TBool * GetAllowVersion1(); + + TBool * GetAllowVersion2(); + + // New member functions for EAP-FAST + + TBool * GetTlsPrivacy(); + + TBool * GetAuthProvModeAllowed(); + + TBool * GetUnauthProvModeAllowed(); + + TDes& GetPacStorePassword(); + +public: // new, for TTLS PAP + + TDes& GetPapUserName(); + + TDes& GetPapPassword(); + + TBool* GetPapPasswordPrompt(); + +private: + + TBuf iManualUsername; + + TBool iUseManualUsername; + + TBuf iManualRealm; + + TBool iUseManualRealm; + + TBool iAllowVersion0; + + TBool iAllowVersion1; + + TBool iAllowVersion2; + + // New member variables for EAP-FAST + TBool iTlsPrivacy; + + TBool iAuthProvModeAllowed; + + TBool iUnauthProvModeAllowed; + + TBuf iPacStorePassword; + + TBuf iPapUserName; + + TBuf iPapPassword; + + TBool iPapPasswordPrompt; + +}; + +#endif + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/eaptlspeap_db_api/inc/EapTtlsPapNotifierStruct.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eaptlspeap_db_api/inc/EapTtlsPapNotifierStruct.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,110 @@ +/* +* Copyright (c) 2008 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. +* +*/ + +/* +* %version: 7.1.2 % +*/ + +#ifndef EAPTTLSPAPNOTIFIERSTRUCT_H +#define EAPTTLSPAPNOTIFIERSTRUCT_H + +/** +* UID of PAP notifier to display authentication query dialog. +*/ +const TUid KPapNotifierUid = { 0x200159A9 }; + +/** +* Maximum PAP challenge length. +*/ +const TUint KMaxPapChallengeLength = 4096; + +/** +* Maximum PAP user name. +*/ +const TUint KMaxPapUserNameLength = 253; + +/** +* Maximum PAP password length. +*/ +const TUint KMaxPapPasswordLength = 128; + +/** +* Data structure defines user name, password and password prompt. +*/ +struct TPapUserNamePasswordInfo + { + /** + * True if password prompt is enabled, False - otherwise. + */ + TBool iPasswordPromptEnabled; + + /* + * Buffer for user name. + */ + TBuf16 iUserName; + + /** + * Buffer for password. + */ + TBuf16 iPassword; + }; + +/** +* Data structure used in notifier communication. +*/ +struct TPapUiNotifierInfo + { + enum TPapUiNotifierState + { + EPapUiNotifierAuthQueryDialog, /* 0 */ + EPapUiNotifierPapChallengeSize, /* 1 */ + EPapUiNotifierPapChallengeMsgDialog, /* 2 */ + EPapUiNotifierPapChallengeReplyQueryDialog, /* 3 */ + // ... + EPapUiNotifierStatesNumber /* 4 */ // keep always as last element + }; + + /** + * State defines UI notifier logic. + */ + TPapUiNotifierState iState; + + /** + * Data structure defines user name, password and password prompt. + */ + TPapUserNamePasswordInfo iUsrPwdInfo; + + /** + * PAP challenge message. + */ + TUint iSrvChallengeSize; + TBuf16 iPapChallenge; + }; + +/** +* Defines user action: accepting or cancelling +* authentication query dialog. +*/ +enum EPapNotifierUserAction + { + EPapNotifierUserActionOk, + EPapNotifierUserActionCancel + }; + +#endif // EAPTTLSPAPNOTIFIERSTRUCT_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/group/bld.inf --- a/accesssec_plat/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 +++ b/accesssec_plat/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2001-2009 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" @@ -11,12 +11,12 @@ * * Contributors: * -* Description: Build information file +* Description: Build information file * */ /* -* %version: 9 % +* %version: 6 % */ PRJ_PLATFORMS @@ -25,7 +25,19 @@ PRJ_EXPORTS PRJ_MMPFILES +#include "../wapi_security_settings_ui_api/group/bld.inf" +#include "../wep_security_settings_ui_api/group/bld.inf" +#include "../wi-fi_protected_setup_ui_api/group/bld.inf" +#include "../wlan_eap_settings_ui_api/group/bld.inf" +#include "../wpa_security_settings_ui_api/group/bld.inf" #include "../eap_vpn_api/group/bld.inf" +#include "../eapsim_db_api/group/bld.inf" #include "../eap_type_api/group/bld.inf" +#include "../eaptlspeap_db_api/group/bld.inf" +#include "../eapleap_db_api/group/bld.inf" +#include "../eapgtc_db_api/group/bld.inf" +#include "../eapmschapv2_db_api/group/bld.inf" +#include "../eapaka_db_api/group/bld.inf" +#include "../wapi_db_api/group/bld.inf" PRJ_TESTMMPFILES \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wapi_db_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wapi_db_api/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,30 @@ +/* +* Copyright (c) 2008 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: File that exports the files belonging to +: WAPI DB API +* +*/ + +/* +* %version: 4.1.2 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +../inc/WapiCertificates.h MW_LAYER_PLATFORM_EXPORT_PATH(WapiCertificates.h) \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wapi_db_api/inc/WapiCertificates.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wapi_db_api/inc/WapiCertificates.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,139 @@ +/* +* Copyright (c) 2008 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: WAPI authentication protocols. +* +*/ + +/* +* %version: 14 % +*/ + +#ifndef _WAPICERTIFICATES_H_ +#define _WAPICERTIFICATES_H_ + +#include +#include + + +const TInt KMaxLabelLength = 255; +const TInt KMaxIdentityLength = 310; +class CCertificateStoreDatabase; +class abs_eap_am_tools_c; +class dummy_wapi_core_c; +class wapi_am_core_symbian_c; +class ec_certificate_store_c; + +/** +* This is a wrapper class which can be used to handle WAPI related certificates +*/ +class CWapiCertificates : /*public CBase,*/ public CActive +{ + +public: + + IMPORT_C CWapiCertificates(); + IMPORT_C ~CWapiCertificates(); + + /** + * Function for creating the CWapiCertificates object + * + */ + IMPORT_C static CWapiCertificates* NewL(); + + /** + * Function for reserving memory for the internal data types + * + */ + void ConstructL(); + + /** + * Gets a list of the available WAPI user and CA certificates + * + * NOTE that the caller is responsible for freeing the memory of the arrays + * + * @param aUserCerts Array of available WAPI User certificate labels + * @param aUserCertData Array of available WAPI User certificate identities + * @param aCACerts Array of available WAPI CA certificate labels + * @param aCACertData Array of available WAPI CA certificate identities + */ + IMPORT_C void GetAllCertificateLabelsL( RArray > **aUserCerts, RArray > **aUserCertData, + RArray > **aCACerts, RArray >**aCACertData ); + + /** + * Resets the WAPI Certificate store + * + */ + IMPORT_C void ResetCertificateStoreL( ); + + /** + * Gets the WAPI certificate configuration of a specific AP + * + * @param aId Service table id + * @param aUserCert Id matching the selected WAPI User certificate + * @param aCACert Id matching the selected WAPI CA certificate + */ + IMPORT_C void GetConfigurationL( const TInt aId, TDes& aCACert, TDes& aUserCert ); + + /** + * Sets the WAPI certificate configuration of a specific AP + * + * @param aId Service table id + * @param aCACertData Selected WAPI CA certificate identity + */ + IMPORT_C void SetCACertL( const TInt aId, const TBuf8 aCACertData ); + + /** + * Sets the WAPI certificate configuration of a specific AP + * + * @param aId Service table id + * @param aUserCertData Selected WAPI User certificate identity + */ + IMPORT_C void SetUserCertL( const TInt aId, const TBuf8 aUserCertData ); + + /** + * Delete AP related data from certificate database tables + * + * @param aId Service table id + */ + IMPORT_C void DeleteAPSpecificDataL( const TInt aId ); + +protected: // from CActive + + /** + * RunL from CActive + */ + void RunL(); + + /** + * DoCancel from CActive + */ + void DoCancel(); +private: + // Pointer to the used certificate store object + CCertificateStoreDatabase* iCertDB; + // amTools is needed for the certificate store object creation + abs_eap_am_tools_c* iAmTools; + dummy_wapi_core_c* iDummyCore; + // The pointer to the ec_certificate_store_c needed to create the wapi_am_core_symbian + ec_certificate_store_c* iEcCertStore; + // The pointer to the object needed to start the certificate import and reading of labels + wapi_am_core_symbian_c* iWapiCore; + + // For wrapping asynchronous calls. + CActiveSchedulerWait iWait; +}; + +#endif // _WAPICERTIFICATES_H_ + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wapi_db_api/wapi_db_api.metaxml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wapi_db_api/wapi_db_api.metaxml Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,13 @@ + + +WAPI DB API +Interface for the WAPI UI to access the settings in the WAPI DBMS database. +c++ +eapol + + + +no +no + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wapi_security_settings_ui_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wapi_security_settings_ui_api/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 2001-2009 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: File that exports the files belonging to WAPI Security Settings UI API +* +*/ + +/* +* %version: 8 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS +../inc/wapisecuritysettingsui.h MW_LAYER_PLATFORM_EXPORT_PATH( wapisecuritysettingsui.h ) + + + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wapi_security_settings_ui_api/inc/wapisecuritysettingsui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wapi_security_settings_ui_api/inc/wapisecuritysettingsui.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,174 @@ +/* +* Copyright (c) 2001-2009 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: Declares the main handler CWAPISecuritySettings, UI CWAPISecuritySettingsUI and public API for the WAPI Security Settings. +* +*/ + +/* +* %version: 10 % +*/ + +#ifndef WAPISECURITYSETTINGSUI_H +#define WAPISECURITYSETTINGSUI_H + +// INCLUDES + +#include +#include + +#include +#include + +using namespace CommsDat; + +// FORWARD DECLARATIONS +class CEikonEnv; +class CWAPISecuritySettingsUi; +class CWAPISecuritySettingsUiImpl; +class CWAPISecuritySettingsImpl; +class CCommsDatabase; + +// CLASS DECLARATION +/* +* WAPI Security Settings. Enables loading, saving and editing the settings +* (editing via CWAPISecuritySettingsUi). +* Proxy around the real implementation in CWAPISecuritySettingsUiImpl. +*/ +NONSHARABLE_CLASS( CWAPISecuritySettings ) : public CBase + { + + public: // Constructors and destructor + + /** + * Two-phased constructor. Leaves on failure. + * @return The constructed CWAPISecuritySettings object. + */ + IMPORT_C static CWAPISecuritySettings* NewL(); + + + /** + * Destructor. + */ + IMPORT_C ~CWAPISecuritySettings(); + + + public: // Types + + enum TEvent // Events happening during edit. + { + ENone = 0x0000, // Nothing happened. + EModified = 0x0001, // Data changed. + EValid = 0x0010, // All data entered are valid, they can be + // saved + + EExitReq = 0x0020, // Exit option requested, also caller + // app should close + EShutDownReq = 0x0040 // ShutDown was requested + }; + + enum TWapiKeyFormat + { + EWapiKeyAscii = 0, + EWapiKeyHex = 1 + }; + + public: // New methods + + + /** + * Edit WAPI certificate settings. + * @param aUi UI to be used. + * @param aTitle Title Pane text to display during edit. + * @return Exit reason. + */ + IMPORT_C TInt EditL( CWAPISecuritySettingsUi& aUi, + const TDesC& aTitle ); + + + /** + * Load WAPI certificate settings and configuration from database. + * @param aIapRecordID + * @param aSession Commsdat session + */ + IMPORT_C void LoadL( TUint32 aIapRecordId, CMDBSession& aSession ); + + /** + * Tells if the settings are valid and can be saved + * @return ETrue if all the compulsory settings have been entered + */ + IMPORT_C TBool IsValid() const; + + /** + * Save WAPI certificate settings of the IAP to the database. + * @param aIapRecordID + * @param aSession Commsdat session + */ + IMPORT_C void SaveL( TUint32 aIapRecordId, CMDBSession& aSession ) const; + + /** + * Sets the Pre-shared key. Also sets Authentication method to PSK. + * @param aKeyFormat Key format + * @param aPreSharedKey The key to be set + */ + IMPORT_C void SetPreSharedKeyL( const TWapiKeyFormat aKeyFormat, const TDesC& aPreSharedKey ); + + /** + * Delete AP related data from certificate database tables + * + * @param aId Service table id + */ + IMPORT_C void DeleteAPSpecificDataL( const TInt aId ); + + private: // Data + + // Implementation. Owned. + CWAPISecuritySettingsImpl* iImpl; + + }; + +/** +* User interface to edit WAPI Security Settings. +* Proxy around the real implementation in CWAPISecuritySettingsUiImpl. +*/ +NONSHARABLE_CLASS( CWAPISecuritySettingsUi ) : public CBase + { + + public: // Constructors and destructor + + /** + * Two-phased constructor. Leaves on failure. + * @param aEikEnv Eikon environment. + * @return The constructed CWAPISecuritySettingsUi object. + */ + IMPORT_C static CWAPISecuritySettingsUi* NewL( CEikonEnv& aEikEnv ); + + /** + * Destructor. + */ + IMPORT_C virtual ~CWAPISecuritySettingsUi(); + + private: // Friends + + friend class CWAPISecuritySettings; + + private: // Data + + // Implementation. Owned. + CWAPISecuritySettingsUiImpl* iImpl; + + }; +#endif + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wapi_security_settings_ui_api/wapi_security_settings_ui_api.metaxml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wapi_security_settings_ui_api/wapi_security_settings_ui_api.metaxml Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,14 @@ + + +WAPI Security Settings UI API +API for accessing WAPI security settings UI +c++ +networkingutilities + + + + +yes +no + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wep_security_settings_ui_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wep_security_settings_ui_api/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 2001-2009 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: File that exports the files belonging to WEP Security Settings UI API +* +*/ + +/* +* %version: 8 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS +../inc/WEPSecuritySettingsUI.h MW_LAYER_PLATFORM_EXPORT_PATH( WEPSecuritySettingsUI.h ) + + + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wep_security_settings_ui_api/inc/WEPSecuritySettingsUI.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wep_security_settings_ui_api/inc/WEPSecuritySettingsUI.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,246 @@ +/* +* Copyright (c) 2001-2009 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: Declares the main handler CWEPSecuritySettings, UI CWEPSecuritySettingsUI and public API for the WEP Security Settings. +* +*/ + +/* +* %version: 5 % +*/ + +#ifndef WEPSECURITYSETTINGSUI_H +#define WEPSECURITYSETTINGSUI_H + +// INCLUDES + +#include + +#include +using namespace CommsDat; + +// FORWARD DECLARATIONS +class CEikonEnv; +class CWEPSecuritySettingsUi; +class CWEPSecuritySettingsUiImpl; +class CWEPSecuritySettingsImpl; +class CCommsDatabase; + + + +// CLASS DECLARATION +/* +* WEP Security Settings. Enables loading, saving and editing the settings +* (editing via CWEPSecuritySettingsUi). +* Proxy around the real implementation in CWEPSecuritySettingsUiImpl. +* No details of the actual data are exposed. +*/ +NONSHARABLE_CLASS( CWEPSecuritySettings ) : public CBase + { + + public: // Constructors and destructor + + /** + * Two-phased constructor. Leaves on failure. + * @return The constructed CWEPSecuritySettings object. + */ + IMPORT_C static CWEPSecuritySettings* NewL(); + + + /** + * Destructor. + */ + IMPORT_C ~CWEPSecuritySettings(); + + + public: // Types + + enum TEvent // Events happening during edit. + { + ENone = 0x0000, // Nothing happened. + EModified = 0x0001, // Data changed. + EValid = 0x0010, // All data entererd are valid, they + // can be saved + EExitReq = 0x0020, // Exit option requested, also caller + // app should close + EShutDownReq = 0x0040 // ShutDown was requested + }; + + + // Members to be showed in the setting pages + enum TWepMember + { + EWepKeyInUse, // To set key in use + EWepAuthentication, // To set authentication type + EWepKeyConfiguration, // To open the other settings (the three below) + + EWepKeyLength, // To set the length of the key + EWepKeyFormat, // To choose the format of the key + EWepKeyData // To set the key + }; + + + // Enumeration of the possible keys in use + enum TWEPKeyInUse + { + EKeyNumber1, // Key number 1 + EKeyNumber2, // Key number 2 + EKeyNumber3, // Key number 3 + EKeyNumber4 // Key number 4 + }; + + + // Enumeration of the possible authentication types + enum TWEPAuthentication + { + EAuthOpen, // Open authentication + EAuthShared // Shared authentication + }; + + + // Possible lengths of the keys + enum TWEPKeyLength + { + E40Bits, // 40 bits + E104Bits, // 104 bits + E232Bits // 232 bits + }; + + + // Possible formats of the keys + enum TWEPKeyFormat + { + EAscii, // Ascii format + EHexadecimal // Hex format + }; + + public: // New methods + + /** + * Load from database. + * @param aIapId Wlan Service Table Id of the IAP to be loaded + * @param aCommsDb Comms database. + */ + IMPORT_C void LoadL( TUint32 aIapId, CCommsDatabase& aCommsDb ); + + /** + * Edit the settings. + * @param aUi UI to be used. + * @param aTitle Title Pane text to display during edit. + * @return Exit reason. + */ + IMPORT_C TInt EditL( CWEPSecuritySettingsUi& aUi, + const TDesC& aTitle ); + + /** + * Save to database. + * @param aIapId Wlan Service Table Id of the IAP to be saved + * @param aCommsDb Comms database. + */ + IMPORT_C void SaveL( TUint32 aIapId, CCommsDatabase& aCommsDb ) const; + + /** + * Tells if the settings are valid and can be saved + * @return ETrue if all the compulsory settings have been entered + */ + IMPORT_C TBool IsValid() const; + + /** + * Sets the new data of the key + * @param aElement Index of the element whose data has to be set. + * @param aKeyData The new value for data of the key. + * @param aHex ETrue if data is in Ascii format + * @return KErrNone if successful, or an error code + */ + IMPORT_C TInt SetKeyDataL( const TInt aElement, const TDesC& aKeyData, + const TBool aHex ); + + /** + * Load from database. + * @param aIapId Wlan Service Table Id of the IAP to be loaded + * @param aSession Session to CommsDat. + */ + IMPORT_C void LoadL( TUint32 aIapId, CMDBSession& aSession ); + + /** + * Save to database. + * @param aIapId Wlan Service Table Id of the IAP to be saved + * @param aSession Session to CommsDat. + */ + IMPORT_C void SaveL( TUint32 aIapId, CMDBSession& aSession ) const; + + /** + * Sets the index of the key to use. + * @param aKey The key to be used for authentication. + */ + IMPORT_C void SetKeyInUse( TWEPKeyInUse aKey ); + + /** + * Sets the authentication type. + * @param aAuthentication The authentication type. + */ + IMPORT_C void SetAuthentication( TWEPAuthentication aAuthentication ); + + + private: // Data + + // Implementation. Owned. + CWEPSecuritySettingsImpl* iImpl; + + }; + + + +/** +* User interface to edit WEP Security Settings. +* Proxy around the real implementation in CWEPSecuritySettingsUiImpl. +*/ +NONSHARABLE_CLASS( CWEPSecuritySettingsUi ) : public CBase + { + + public: // Constructors and destructor + + /** + * Two-phased constructor. Leaves on failure. + * @param aEikEnv Eikon environment. + * @return The constructed CWEPSecuritySettingsUi object. + */ + IMPORT_C static CWEPSecuritySettingsUi* NewL( CEikonEnv& aEikEnv ); + + /** + * Destructor. + */ + IMPORT_C virtual ~CWEPSecuritySettingsUi(); + + public: // New methods + + /** + * Component Validation Test. + * @return KErrNone. + */ + IMPORT_C static TInt Cvt(); + + private: // Friends + + friend class CWEPSecuritySettings; + + private: // Data + + // Implementation. Owned. + CWEPSecuritySettingsUiImpl* iImpl; + + }; +#endif + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wep_security_settings_ui_api/wep_security_settings_ui_api.metaxml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wep_security_settings_ui_api/wep_security_settings_ui_api.metaxml Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,14 @@ + + +WEP Security Settings UI API +API for accessing WEP security settings UI +c++ +networkingutilities + + + + +yes +no + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wi-fi_protected_setup_ui_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wi-fi_protected_setup_ui_api/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 2001-2009 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: File that exports the files belonging to WiFi Protected Setup UI API +* +*/ + +/* +* %version: tr1cfwln#12 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS +../inc/wifiprotuiclient.h MW_LAYER_PLATFORM_EXPORT_PATH( wifiprotuiclient.h ) +../inc/WiFiProtReturn.h MW_LAYER_PLATFORM_EXPORT_PATH( wifiprotreturn.h ) +../inc/wifiprotuiddefs.h MW_LAYER_PLATFORM_EXPORT_PATH( wifiprotuiddefs.h ) +../inc/wifiprotuiinprocess.h MW_LAYER_PLATFORM_EXPORT_PATH( wifiprotuiinprocess.h ) + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wi-fi_protected_setup_ui_api/inc/WiFiProtReturn.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wi-fi_protected_setup_ui_api/inc/WiFiProtReturn.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,42 @@ +/* +* Copyright (c) 2001-2009 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: Declares the common used constants and types for Wi-Fi Protected Setup. +* +*/ + +/* +* %version: tr1cfwln#8 % +*/ + +#ifndef T_WIFIRETURN_H +#define T_WIFIRETURN_H + +namespace WiFiProt + { + // Return value of Wi-Fi Protected Setup ( WPS ) Ui process + enum TWiFiReturn + { + // WPS has been cancelled + EWiFiCancel, + // WPS has completed without any errors + EWiFiOK, + // User has selected the option not to use WPS + EWifiNoAuto + }; + } + +#endif // T_WIFIRETURN_H + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiclient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiclient.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,120 @@ +/* +* Copyright (c) 2001-2009 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: Declares the main handler, CWiFiProtUiClient and public API for the Wi-Fi Protected Settings. +* +*/ + +/* +* %version: tr1cfwln#6 % +*/ + +#ifndef C_WIFIPROTUICLIENT_H +#define C_WIFIPROTUICLIENT_H + +// INCLUDES + +#include +#include +#include + +// FORWARD DECLARATIONS +class CWiFiProtUiClientImpl; + +// CLASS DECLARATION +/* +* WiFi Protected Setup , used to show the user a sequence of dialogs to setup +* a wlan network automatically +* This class is just a proxy, the real implementation is in +* CWiFiProtUiClientImpl. +* No details of the actual data are exposed. +*/ +class CWiFiProtUiClient : public CBase + { + public: // Constructors and destructor + /** + * Two-phased constructor. Leaves on failure. + * @return The constructed CWiFiProtUiClient object. + */ + IMPORT_C static CWiFiProtUiClient* NewL(); + + /** + * Destructor. + */ + IMPORT_C ~CWiFiProtUiClient(); + + // New methods + + /** + * Starts WiFi Protected Setup sequence + * @param aSSid contains SSid of the network we want to configure + * @param aConnectionNeeded - This parameter is not used anymore in + * the current implementation. It is just there to preserve + * compatibility. Please use StartWiFiProtConnL to configure a + * connection using Wi-Fi Protected Setup. + * @param aUidsReturned uids of the configured connection methods + * @param aReturnValue - possible return values are ok, cancel + * process and not use protected setup (No Automatic Setup). + * @param aStatus - Request status of the client + */ + IMPORT_C void StartWiFiProtL( const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned, + WiFiProt::TWiFiReturn& aReturnValue, + TRequestStatus& aStatus ); + + /** + * Starts WiFi Protected Setup sequence - sync version + * @param aSSid contains SSid of the network we want to configure + * @param aConnectionNeeded - This parameter is not used anymore in + * the current implementation. It is just there to preserve + * compatibility. Please use StartWiFiProtConnL to configure a + * connection using Wi-Fi Protected Setup. + * @param aUidsReturned uids of the configured connection methods + * @return - possible return values are ok, cancel process + * and not use protected setup (No Automatic Setup). + * We can return a value since the call is sychronous. + */ + IMPORT_C WiFiProt::TWiFiReturn StartWiFiProtSyncL( + const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned ); + + /** + * Cancels WiFi Protected Setup sequence + */ + IMPORT_C void CancelWiFiProt( ); + + /** + * Starts WiFi Protected Setup sequence in Connection initiation mode + * (WPS phase 2 implementation) + * @param aSSid contains SSid of the network we want to configure + * @param aNetworkSettings configuration settings of the network to use + * for the connection (returned as the result of Protected Setup) + * @param aReturnValue - possible return values are ok, cancel + * process and not use protected setup (No Automatic Setup). + * @param aStatus - Request status of the client + */ + IMPORT_C void StartWiFiProtConnL( const TWlanSsid& aSSid, + TWlanProtectedSetupCredentialAttribute& + aNetworkSettings, + WiFiProt::TWiFiReturn& aReturnValue, + TRequestStatus& aStatus ); + + private: // Data + CWiFiProtUiClientImpl* iImpl; ///< Implementation. Owned. + }; + +#endif //C_WIFIPROTUICLIENT_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiddefs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiddefs.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,37 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of the UIDs used by Connection Dialogs +* +*/ + +/* +* %version: 6 % +*/ + +#ifndef WIFIPROTUIDDEFS_H +#define WIFIPROTUIDDEFS_H + +// INCLUDES +#include + +// CONSTANTS + +// UIDs for CConnDlg plugins + +// ID of Wi-Fi protected setup +const TUid KUidWiFiProtSetup = { 0x10281BBF }; + +#endif // WIFIPROTUIDDEFS_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiinprocess.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiinprocess.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,91 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of CWifiProtUiInProcess +* +*/ + +/* +* %version: 5 % +*/ + +#ifndef C_WIFIPROTUIINPROCESS_H +#define C_WIFIPROTUIINPROCESS_H + + +// INCLUDES +#include +#include +#include + +class CWiFiProtDlgsPlugin; + +/** + * CWifiProtUiInProcess class + * Private interface class that allows the client to run + * Wi-Fi Protected Setup directly, without using the + * Notifier Framework + */ +class CWifiProtUiInProcess : public CBase + { + +public: + + /** + * NewL function + * @param aCmManagerExt Cm Manager to use during Wi-Fi Protected Setup + * return CWifiProtUiInProcess* + */ + IMPORT_C static CWifiProtUiInProcess* NewL( RCmManagerExt* + aCmManagerExt ); + + /** + * Destructor + */ + ~CWifiProtUiInProcess( ); + + /** + * Starts Wi-Fi Protected Setup + * Private interface to be used by applications with ui + * runs in the same process, so pointers can be passed + * @param aSSid contains SSid of the network we want to configure + * @param aConnectionNeeded ETrue if we need a connection via the + * configured network + * @return possible return values are ok, cancel process and not use + * protected setup (No Auto). + */ + IMPORT_C WiFiProt::TWiFiReturn StartFromUiL( const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned); + +private: + + /** + * Constructor + */ + CWifiProtUiInProcess( ); + + /** + * Second phase constructor + * @param aCmManagerExt CmManager to use + */ + void ConstructL( RCmManagerExt* aCmManagerExt = NULL ); + +private: + CWiFiProtDlgsPlugin* iWiFiProtDlgsPlugin; // notifier plugin class + }; + + +#endif // C_WIFIPROTUIINPROCESS_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wi-fi_protected_setup_ui_api/wi-fi_protected_setup_ui_api.metaxml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wi-fi_protected_setup_ui_api/wi-fi_protected_setup_ui_api.metaxml Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,19 @@ + + + Wi-Fi Protected Setup UI API + Provides UI related functionality for Wi-Fi Protected Setup. This API can be called from a process without UI context. + c++ + networkingutilities + + + + + + + + + + yes + no + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wlan_eap_settings_ui_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wlan_eap_settings_ui_api/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,40 @@ +/* +* Copyright (c) 2001-2009 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: File that exports the files belonging to WLAN EAP Settings UI API +* +*/ + +/* +* %version: tr1cfwln#11 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +../inc/EapAkaUi.h MW_LAYER_PLATFORM_EXPORT_PATH(EapAkaUi.h) +../inc/EapMschapv2Ui.h MW_LAYER_PLATFORM_EXPORT_PATH(EapMschapv2Ui.h) +../inc/EapTtlsUi.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTtlsUi.h) +../inc/EapTlsUi.h MW_LAYER_PLATFORM_EXPORT_PATH(EapTlsUi.h) +../inc/EapSimUi.h MW_LAYER_PLATFORM_EXPORT_PATH(EapSimUi.h) +../inc/EapLeapUi.h MW_LAYER_PLATFORM_EXPORT_PATH(EapLeapUi.h) +../inc/EapPeapUi.h MW_LAYER_PLATFORM_EXPORT_PATH(EapPeapUi.h) +../inc/eapfastui.h MW_LAYER_PLATFORM_EXPORT_PATH(eapfastui.h) +../inc/EapGtcUi.h MW_LAYER_PLATFORM_EXPORT_PATH(EapGtcUi.h) +../inc/papui.h MW_LAYER_PLATFORM_EXPORT_PATH(papui.h) +../inc/EAPPluginConfigurationIf.inl MW_LAYER_PLATFORM_EXPORT_PATH(EAPPluginConfigurationIf.inl) +../inc/EAPPluginConfigurationIf.h MW_LAYER_PLATFORM_EXPORT_PATH(EAPPluginConfigurationIf.h) diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wlan_eap_settings_ui_api/inc/EAPPluginConfigurationIf.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EAPPluginConfigurationIf.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,120 @@ +/* +* Copyright (c) 2001-2009 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: This is the ECOM interface for EAP Plugin Configuration. +* +*/ + +/* +* %version: 13 % +*/ + +#ifndef __EAPPLUGINCONFIGURATIONIF_H__ +#define __EAPPLUGINCONFIGURATIONIF_H__ + + +// INCLUDES +#include +#include + + +// CONSTANTS +const TUid KEapPluginConfigInterfaceUid = {0x102072CA}; + + +// CLASS DECLARATION +/** +* CEAPPluginConfigurationIf class +* ECOM interface for EAP PLugin Configuration. +*/ +class CEAPPluginConfigurationIf : public CBase + { + public: + inline static CEAPPluginConfigurationIf* NewL( + const TDesC8& aMatchString ); + + inline virtual ~CEAPPluginConfigurationIf(); + + /** + * Load the EAP Plugin configuration + * @param aWPAEAPPlugin The list of EAPs in use as it was read from + * WlanEapList column of WLANServiceTable. In + * output it contains the new list as it has + * to be written in the same column of + * database. + * @param aConnectionName The name of the connection. + * @return The ID of the button pressed to close configuration: + * typically EAknSoftkeyBack for back, EAknCmdExit for a + * request of exit or EEikCmdExit for a request of shutdown + */ + virtual TInt EAPPluginConfigurationL( TDes& aWPAEAPPlugin, + const TUint32 aIapID, + const TDes& aConnectionName ) = 0; + + /** + * Load the EAP Plugin configuration (with expanded EAP types) + * @param aWPAEnabledEAPPlugin The list of enabled EAPs in use as + * it was read from WlanEnabledEapList column + * of WLANServiceTable. In output it contains + * the new list as it has to be written in the + * same column of database. + * @param aWPADisabledEAPPlugin The list of disabled EAPs in use as + * it was read from WlanDisabledEapList column + * of WLANServiceTable. In output it contains + * the new list as it has to be written in the + * same column of database. + * @param aConnectionName The name of the connection. + * @return The ID of the button pressed to close configuration: + * typically EAknSoftkeyBack for back, EAknCmdExit for a + * request of exit or EEikCmdExit for a request of shutdown + */ + virtual TInt EAPPluginConfigurationL( TDes8& aWPAEnabledEAPPlugin, + TDes8& aWPADisabledEAPPlugin, + const TUint32 aIapID, + const TDes& aConnectionName ) = 0; + + /** + * Shows the EAP type info. + */ + virtual void ShowEAPTypeInfo() = 0; + + /** + * Deletes all EAP types' settings for + * the given IAP. + */ + virtual void DeleteSettingsL( const TUint32 aIapID ) = 0; + + /** + * Changes the index of the EAP settings for all EAP types + */ + virtual void ChangeIapIDL( const TUint32 aOldIapID, + const TUint32 aNewIapID ) = 0; + + /** + * Copies the EAP type settings to another ID + */ + virtual void CopySettingsL( const TUint32 aSourceIapID, + const TUint32 aDestinationIapID ) = 0; + + + private: // Data + // This variable holds the instance identifier. + TUid iDtor_ID_Key; + }; + + +#include "EAPPluginConfigurationIf.inl" + +#endif // __EAPPLUGINCONFIGURATIONIF_H__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wlan_eap_settings_ui_api/inc/EAPPluginConfigurationIf.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EAPPluginConfigurationIf.inl Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,58 @@ +/* +* Copyright (c) 2001-2009 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: Inline functions of CEAPPluginConfigurationIf +* +*/ + +/* +* %version: 10 % +*/ + +#ifndef __EAPPLUGINCONFIGURATIONIF_INL__ +#define __EAPPLUGINCONFIGURATIONIF_INL__ + + +// --------------------------------------------------------- +// CEAPPluginConfigurationIf::NewL +// --------------------------------------------------------- +// +inline CEAPPluginConfigurationIf* CEAPPluginConfigurationIf::NewL( + const TDesC8& aMatchString ) + { + TEComResolverParams resolverParams; + resolverParams.SetDataType(aMatchString); + + TAny* ptr = REComSession::CreateImplementationL( + KEapPluginConfigInterfaceUid, + _FOFF( CEAPPluginConfigurationIf, iDtor_ID_Key ), + resolverParams ); + + return REINTERPRET_CAST( CEAPPluginConfigurationIf*, ptr ); + } + + +// --------------------------------------------------------- +// CEAPPluginConfigurationIf::~CEAPPluginConfigurationIf +// --------------------------------------------------------- +// +inline CEAPPluginConfigurationIf::~CEAPPluginConfigurationIf() + { + // Unload DLL + REComSession::DestroyedImplementation( iDtor_ID_Key ); + } + + +#endif // __EAPPLUGINCONFIGURATIONIF_INL__ + +// End of file. diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wlan_eap_settings_ui_api/inc/EapAkaUi.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapAkaUi.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,63 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP AKA settings UI +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef _EAPAKAUI_H_ +#define _EAPAKAUI_H_ + +// INCLUDES +#include +#include + + +// CLASS DECLARATION + +/** +* Main UI class definition +*/ +class CEapAkaUi : public CCoeControl + { + public: + /** + * Destructor. + */ + ~CEapAkaUi(); + + /** + * Two-phased constructor. + */ + static CEapAkaUi* NewL( CEapAkaUiConnection* aConnection ); + + TInt InvokeUiL(); + + protected: + CEapAkaUi( CEapAkaUiConnection* aConnection ); + + void ConstructL(); + + private: + CEapAkaUiConnection* iConnection; + }; + + +#endif // _EAPAKAUI_H_ + +// End of File + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wlan_eap_settings_ui_api/inc/EapGtcUi.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapGtcUi.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,65 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP GTC settings UI +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef _EAPGTCUI_H_ +#define _EAPGTCUI_H_ + +// INCLUDES +#include +#include + + +// CLASS DECLARATION + +/** +* Main UI class definition +*/ +class CEapGtcUi : public CCoeControl + { + public: + /** + * Destructor. + */ + ~CEapGtcUi(); + + /** + * Two-phased constructor. + */ + static CEapGtcUi* NewL( CEapGtcUiConnection* aConnection ); + + TInt InvokeUiL(); + + protected: + /** + * C++ default constructor. + */ + CEapGtcUi( CEapGtcUiConnection* aConnection ); + + void ConstructL(); + + private: + CEapGtcUiConnection* iConnection; + }; + + +#endif // _EAPGTCUI_H_ + +// End of File \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wlan_eap_settings_ui_api/inc/EapLeapUi.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapLeapUi.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,53 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP LEAP UI +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef _EAPLEAPUI_H_ +#define _EAPLEAPUI_H_ + +// INCLUDES +#include +#include + + +// CLASS DECLARATION + +/** +* Main UI class definition +*/ +class CEapLeapUi : public CCoeControl + { + public: + ~CEapLeapUi(); + static CEapLeapUi* NewL( CEapLeapUiConnection* aConnection ); + TInt InvokeUiL(); + + protected: + CEapLeapUi( CEapLeapUiConnection* aConnection ); + void ConstructL(); + + private: + CEapLeapUiConnection* iConnection; + }; + + +#endif //_EAPLEAPUI_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wlan_eap_settings_ui_api/inc/EapMschapv2Ui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapMschapv2Ui.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,53 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP MsChapv2 UI +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef _EAPMSCHAPV2UI_H_ +#define _EAPMSCHAPV2UI_H_ + +// INCLUDES +#include +#include + + +// CLASS DECLARATION + +/** +* Main UI class definition +*/ +class CEapMsChapV2Ui : public CCoeControl + { + public: + ~CEapMsChapV2Ui(); + static CEapMsChapV2Ui* NewL( CEapMsChapV2UiConnection* aConnection ); + TInt InvokeUiL(); + + protected: + CEapMsChapV2Ui( CEapMsChapV2UiConnection* aConnection ); + void ConstructL(); + + private: + CEapMsChapV2UiConnection* iConnection; + }; + + +#endif // _EAPMSCHAPV2UI_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wlan_eap_settings_ui_api/inc/EapPeapUi.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapPeapUi.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,59 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP PEAP settings UI +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef _EAPPEAPUI_H_ +#define _EAPPEAPUI_H_ + +// INCLUDES +#include "EapTlsPeapUiConnection.h" +#include + + +// CLASS DECLARATION + +/** +* Main UI class definition +*/ +class CEapPeapUi : public CCoeControl + { + public: + ~CEapPeapUi(); + static CEapPeapUi* NewL( CEapTlsPeapUiConnection* aConnection, + TIndexType aIndexType, + TInt aIndex ); + TInt InvokeUiL(); + + protected: + CEapPeapUi( CEapTlsPeapUiConnection* aConnection, + TIndexType aIndexType, + TInt aIndex ); + void ConstructL(); + + private: + CEapTlsPeapUiConnection* iConnection; + TIndexType iIndexType; + TInt iIndex; + }; + + +#endif // _EAPPEAPUI_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wlan_eap_settings_ui_api/inc/EapSimUi.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapSimUi.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,53 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP SIM settings UI +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef _EAPSIMUI_H_ +#define _EAPSIMUI_H_ + +// INCLUDES +#include +#include + + +// CLASS DECLARATION + +/** +* Main UI class definition +*/ +class CEapSimUi : public CCoeControl + { + public: + ~CEapSimUi(); + static CEapSimUi* NewL( CEapSimUiConnection* aConnection ); + TInt InvokeUiL(); + + protected: + CEapSimUi( CEapSimUiConnection* aConnection ); + void ConstructL(); + + private: + CEapSimUiConnection* iConnection; + }; + + +#endif // _EAPSIMUI_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wlan_eap_settings_ui_api/inc/EapTlsUi.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapTlsUi.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,53 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP TLS settings UI +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef _EAPTLSUI_H_ +#define _EAPTLSUI_H_ + +// INCLUDES +#include +#include "EapTlsPeapUiConnection.h" + + +// CLASS DECLARATION + +/** +* Main UI class definition +*/ +class CEapTlsUi : public CCoeControl + { + public: + ~CEapTlsUi(); + static CEapTlsUi* NewL( CEapTlsPeapUiConnection* aConnection ); + TInt InvokeUiL(); + + protected: + CEapTlsUi( CEapTlsPeapUiConnection* aConnection ); + void ConstructL(); + + private: + CEapTlsPeapUiConnection* iConnection; + }; + + +#endif //_EAPTLSUI_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wlan_eap_settings_ui_api/inc/EapTtlsUi.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/EapTtlsUi.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,58 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP TTLS settings UI +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef _EAPTTLSUI_H_ +#define _EAPTTLSUI_H_ + +// INCLUDES +#include "EapTlsPeapUiConnection.h" +#include + + +// CLASS DECLARATION + +/** +*/ +class CEapTtlsUi : public CCoeControl + { + public: + ~CEapTtlsUi(); + static CEapTtlsUi* NewL( CEapTlsPeapUiConnection* aConnection, + TIndexType aIndexType, + TInt aIndex ); + TInt InvokeUiL(); + + protected: + CEapTtlsUi( CEapTlsPeapUiConnection* aConnection, + TIndexType aIndexType, + TInt aIndex ); + void ConstructL(); + + private: + CEapTlsPeapUiConnection* iConnection; + TIndexType iIndexType; + TInt iIndex; + }; + + +#endif // _EAPTTLSUI_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wlan_eap_settings_ui_api/inc/eapfastui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/eapfastui.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,59 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP FAST settings UI +* +*/ + +/* +* %version: 5 % +*/ + +#ifndef _EAPFASTUI_H_ +#define _EAPFASTUI_H_ + +// INCLUDES +#include "EapTlsPeapUiConnection.h" +#include + + +// CLASS DECLARATION + +/** +* Main UI class definition +*/ +class CEapFastUi : public CCoeControl + { + public: + ~CEapFastUi(); + static CEapFastUi* NewL( CEapTlsPeapUiConnection* aConnection, + TIndexType aIndexType, + TInt aIndex ); + TInt InvokeUiL(); + + protected: + CEapFastUi( CEapTlsPeapUiConnection* aConnection, + TIndexType aIndexType, + TInt aIndex ); + void ConstructL(); + + private: + CEapTlsPeapUiConnection* iConnection; + TIndexType iIndexType; + TInt iIndex; + }; + + +#endif // _EAPFASTUI_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wlan_eap_settings_ui_api/inc/papui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wlan_eap_settings_ui_api/inc/papui.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,53 @@ +/* +* Copyright (c) 2001-2009 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: Header file of PAP Config UI +* +*/ + +/* +* %version: 5 % +*/ + +#ifndef _PAPUI_H_ +#define _PAPUI_H_ + +// INCLUDES +#include +#include + + +// CLASS DECLARATION + +/** +* Main UI class definition +*/ +class CPapUi : public CCoeControl + { + public: + ~CPapUi(); + static CPapUi* NewL( CEapTlsPeapUiConnection* aConnection ); + TInt InvokeUiL(); + + protected: + CPapUi( CEapTlsPeapUiConnection* aConnection ); + void ConstructL(); + + private: + CEapTlsPeapUiConnection* iConnection; + }; + + +#endif // _PAPUI_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wlan_eap_settings_ui_api/wlan_eap_settings_ui_api.metaxml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wlan_eap_settings_ui_api/wlan_eap_settings_ui_api.metaxml Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,25 @@ + + + WLAN EAP Settings UI API + API for accessing EAP settings UI + c++ + networkingutilities + + + + + + + + + + + + + + + + yes + no + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wpa_security_settings_ui_api/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wpa_security_settings_ui_api/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,33 @@ +/* +* Copyright (c) 2001-2009 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: File that exports the files belonging to WPA Security Settings UI API +* +*/ + +/* +* %version: 8 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS +../inc/WPASecuritySettingsUI.h MW_LAYER_PLATFORM_EXPORT_PATH( WPASecuritySettingsUI.h ) + + + + + diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wpa_security_settings_ui_api/inc/WPASecuritySettingsUI.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wpa_security_settings_ui_api/inc/WPASecuritySettingsUI.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,252 @@ +/* +* Copyright (c) 2001-2009 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: Declares the main handler CWPASecuritySettings, UI CWPASecuritySettingsUI and public API for the WPA Security Settings. +* +*/ + +/* +* %version: 5 % +*/ + +#ifndef WPASECURITYSETTINGSUI_H +#define WPASECURITYSETTINGSUI_H + +// INCLUDES + +#include + +#include +using namespace CommsDat; + +// FORWARD DECLARATIONS +class CEikonEnv; +class CWPASecuritySettingsUi; +class CWPASecuritySettingsUiImpl; +class CWPASecuritySettingsImpl; +class CCommsDatabase; + + +// ENUMERATIONS + +// Security mode in use +enum TSecurityMode + { + ESecurityMode8021x = 4, // 802.1x + ESecurityModeWpa = 8 // WPA + }; + + +// Type of saving +enum TTypeOfSaving + { + ESavingEditedAP, // Save an already existing AP that was edited. + ESavingBrandNewAP, // Save a just created AP started from default values + ESavingNewAPAsACopy // Save a new AP as a copy of an already existing AP + }; + + + + +// CLASS DECLARATION +/* +* WPA Security Settings. Enables loading, saving and editing the settings +* (editing via CWPASecuritySettingsUi). +* Proxy around the real implementation in CWPASecuritySettingsUiImpl. +* No details of the actual data are exposed. +*/ +NONSHARABLE_CLASS( CWPASecuritySettings ) : public CBase + { + + public: // Constructors and destructor + + /** + * Two-phased constructor. Leaves on failure. + * @param aSecurityMode The chosen security mode. It can be + * ESecurityMode8021x or ESecurityModeWpa + * @return The constructed CWPASecuritySettings object. + */ + IMPORT_C static CWPASecuritySettings* NewL( + TSecurityMode aSecurityMode ); + + + /** + * Destructor. + */ + IMPORT_C ~CWPASecuritySettings(); + + + public: // Types + + enum TEvent // Events happening during edit. + { + ENone = 0x0000, // Nothing happened. + EModified = 0x0001, // Data changed. + EValid = 0x0010, // All data entererd are valid, they + // can be saved + EExitReq = 0x0020, // Exit option requested, also caller + // app should close + EShutDownReq = 0x0040 // ShutDown was requested + }; + + + public: // New methods + + /** + * Load from database. + * @param Wlan Service Table Id of the IAP to be loaded + * @param aCommsDb Comms database. + */ + IMPORT_C void LoadL( TUint32 aIapId, CCommsDatabase& aCommsDb ); + + + /** + * Edit the settings. + * @param aUi UI to be used. + * @param aTitle Title Pane text to display during edit. + * @return Exit reason. + */ + IMPORT_C TInt EditL( CWPASecuritySettingsUi& aUi, + const TDesC& aTitle ); + + /** + * Save to database. + * @param aIapId Wlan Service Table Id of the IAP to be saved + * @param aCommsDb Comms database. + * @param aTypeOfSaving Tells what kind of AP we are going to save: it + * can be ESavingEditedAP, ESavingBrandNewAP, or + * ESavingNewAPAsACopy + * @param aOldIapId The old Id of the IAP; it is used to save the EAP + * configuration, only when aIsNewAP is ETrue + */ + IMPORT_C void SaveL( TUint32 aIapId, + CCommsDatabase& aCommsDb, + TTypeOfSaving aTypeOfSaving, + TUint32 aOldIapId ) const; + + + /** + * Delete from database. It actually just removes EAP Configuration. + * @param aIapId Id of the IAP to be saved + */ + IMPORT_C void DeleteL( TUint32 aIapId ) const; + + + /** + * Tells if the settings are valid and can be saved + * @return ETrue if all the compulsory settings have been entered + */ + IMPORT_C TBool IsValid() const; + + + /** + * Sets the Pre-shared key + * @param aPreSharedKey The key to be set + * @return KErrNone if successful, or an error code + */ + IMPORT_C TInt SetWPAPreSharedKey( const TDesC& aPreSharedKey ); + + + /** + * Load from database. + * @param aIapId Wlan Service Table Id of the IAP to be loaded + * @param aSession CommsDat session. + */ + IMPORT_C void LoadL( TUint32 aIapId, CMDBSession& aSession ); + + + /** + * Save to database. + * @param aIapId Wlan Service Table Id of the IAP to be saved + * @param aSession CommsDat session. + * @param aTypeOfSaving Tells what kind of AP we are going to save: it + * can be ESavingEditedAP, ESavingBrandNewAP, or + * ESavingNewAPAsACopy + * @param aOldIapId The old Id of the IAP; it is used to save the EAP + * configuration, only when aIsNewAP is ETrue + */ + IMPORT_C void SaveL( TUint32 aIapId, + CMDBSession& aSession, + TTypeOfSaving aTypeOfSaving, + TUint32 aOldIapId ) const; + + /** + * Sets the list of enabled EAP types. + * @param aEnabledPluginList Enumeration of enabled plugins + * in expanded EAP type format + * @return KErrNone if successful, or an error code + */ + IMPORT_C TInt SetWPAEnabledEAPPlugin( const TDesC8& aEnabledPluginList ); + + + /** + * Sets the list of disabled EAP types + * @param aDisabledPluginList Enumeration of disabled plugins + * in expanded EAP type format + * @return KErrNone if successful, or an error code + */ + IMPORT_C TInt SetWPADisabledEAPPlugin( const TDesC8& aDisabledPluginList ); + + + private: // Data + + // Implementation. Owned. + CWPASecuritySettingsImpl* iImpl; + + }; + + + +/** +* User interface to edit WPA Security Settings. +* Proxy around the real implementation in CWPASecuritySettingsUiImpl. +*/ +NONSHARABLE_CLASS( CWPASecuritySettingsUi ) : public CBase + { + + public: // Constructors and destructor + + /** + * Two-phased constructor. Leaves on failure. + * @param aEikEnv Eikon environment. + * @return The constructed CWPASecuritySettingsUi object. + */ + IMPORT_C static CWPASecuritySettingsUi* NewL( CEikonEnv& aEikEnv ); + + /** + * Destructor. + */ + IMPORT_C virtual ~CWPASecuritySettingsUi(); + + public: // New methods + + /** + * Component Validation Test. + * @return KErrNone. + */ + IMPORT_C static TInt Cvt(); + + private: // Friends + + friend class CWPASecuritySettings; + + private: // Data + + // Implementation. Owned. + CWPASecuritySettingsUiImpl* iImpl; + + }; +#endif + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e accesssec_plat/wpa_security_settings_ui_api/wpa_security_settings_ui_api.metaxml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/wpa_security_settings_ui_api/wpa_security_settings_ui_api.metaxml Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,14 @@ + + +WPA Security Settings UI API +API for accessing WPA security settings UI +c++ +networkingutilities + + + + +yes +no + + diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/DSS_random/dss_random.cpp --- a/eapol/eapol_framework/eapol_common/am/common/DSS_random/dss_random.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/DSS_random/dss_random.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 10.1.5 % +* %version: 12 % */ // This is enumeration of EAPOL source code. @@ -46,7 +46,6 @@ static const u32_t DEBUG_BUFFER_SIZE = 80; - /** * dss_random_G() implements the G() function using modified SHA-1. * @code @@ -74,7 +73,7 @@ * X= 47c27eb6 16dba413 91e5165b e9c5e397 7e39a15d * @endcode */ -eap_status_e dss_random_G(abs_eap_am_tools_c * const m_am_tools, u8_t *out, u32_t out_length, u8_t *c, u32_t c_length) +void dss_random_G(abs_eap_am_tools_c * const m_am_tools, u8_t *out, u32_t out_length, u8_t *c, u32_t c_length) { u32_t *out_array = reinterpret_cast(out); @@ -93,25 +92,12 @@ ); if (status != eap_status_ok) { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("ERROR: eap_sha1_dss_G_function(): status = %d"), + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("eap_sha1_dss_G_function(): status = %d"), status)); } - - return status; } } -#define CLEAN_OPENSSL_BN(ctx) \ - { \ - BN_free(&bn_mod); \ - BN_free(&bn_tmp); \ - BN_free(&bn_xkey); \ - BN_free(&bn_xj); \ - BN_free(&bn_one); \ - BN_free(&bn_160); \ - BN_CTX_free(ctx); \ - } - /** * dss_pseudo_random() implements pseudo random function for key genearation of EAP/SIM. * @code @@ -177,16 +163,7 @@ u8_t debug_buffer[DEBUG_BUFFER_SIZE]; EAP_UNREFERENCED_PARAMETER(debug_buffer); - eap_status_e status = dss_random_G(m_am_tools, &(out[ind*BLOCK_SIZE]), BLOCK_SIZE, tmp_xkey, BLOCK_SIZE); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("ERROR: dss_random_G(): status = %d"), - status)); - - CLEAN_OPENSSL_BN(ctx); - - return status; - } + dss_random_G(m_am_tools, &(out[ind*BLOCK_SIZE]), BLOCK_SIZE, tmp_xkey, BLOCK_SIZE); EAP_TRACE_FORMAT(m_am_tools, (debug_buffer, DEBUG_BUFFER_SIZE, EAPL("w[%d] "), ind)); EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("dss_pseudo_random(): %s = G(xkey[%d])\n"), @@ -227,7 +204,14 @@ tmp_xkey, sizeof(tmp_xkey))); } - CLEAN_OPENSSL_BN(ctx); + BN_free(&bn_mod); + BN_free(&bn_tmp); + BN_free(&bn_xkey); + BN_free(&bn_xj); + BN_free(&bn_one); + BN_free(&bn_160); + + BN_CTX_free(ctx); return eap_status_ok; } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/DSS_random/dss_random.h --- a/eapol/eapol_framework/eapol_common/am/common/DSS_random/dss_random.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/DSS_random/dss_random.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #include "eap_am_types.h" diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/abs_eap_am_mutex.cpp --- a/eapol/eapol_framework/eapol_common/am/common/abs_eap_am_mutex.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/abs_eap_am_mutex.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/abs_eap_am_semaphore.cpp --- a/eapol/eapol_framework/eapol_common/am/common/abs_eap_am_semaphore.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/abs_eap_am_semaphore.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/bloom_algorithm/eap_am_bloom_algorithm.cpp --- a/eapol/eapol_framework/eapol_common/am/common/bloom_algorithm/eap_am_bloom_algorithm.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/bloom_algorithm/eap_am_bloom_algorithm.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. @@ -153,7 +153,7 @@ } else { - const u8_t mask = static_cast(0xff << shift); + const u8_t mask = 0xff << shift; bit_index |= (input_data[data_ind] & mask) >> (shift); } } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/crypto/md4/eap_am_crypto_md4.cpp --- a/eapol/eapol_framework/eapol_common/am/common/crypto/md4/eap_am_crypto_md4.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/crypto/md4/eap_am_crypto_md4.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/crypto/random/eap_am_random_test.cpp --- a/eapol/eapol_framework/eapol_common/am/common/crypto/random/eap_am_random_test.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/crypto/random/eap_am_random_test.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/crypto/rc4/eap_am_crypto_rc4.cpp --- a/eapol/eapol_framework/eapol_common/am/common/crypto/rc4/eap_am_crypto_rc4.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/crypto/rc4/eap_am_crypto_rc4.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/crypto/sha-256/eap_am_crypto_sha_256.cpp --- a/eapol/eapol_framework/eapol_common/am/common/crypto/sha-256/eap_am_crypto_sha_256.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/crypto/sha-256/eap_am_crypto_sha_256.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 14 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/crypto/sha1/eap_am_crypto_sha1.cpp --- a/eapol/eapol_framework/eapol_common/am/common/crypto/sha1/eap_am_crypto_sha1.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/crypto/sha1/eap_am_crypto_sha1.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/eap_am_memory.cpp --- a/eapol/eapol_framework/eapol_common/am/common/eap_am_memory.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_memory.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/eap_am_memory_store.cpp --- a/eapol/eapol_framework/eapol_common/am/common/eap_am_memory_store.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_memory_store.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 16 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/eap_am_memory_store_data.cpp --- a/eapol/eapol_framework/eapol_common/am/common/eap_am_memory_store_data.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_memory_store_data.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/eap_am_network_id.cpp --- a/eapol/eapol_framework/eapol_common/am/common/eap_am_network_id.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_network_id.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 14 % */ // This is enumeration of EAPOL source code. @@ -364,8 +364,7 @@ // EAP_FUNC_EXPORT const u8_t * eap_am_network_id_c::get_source() const { - if (m_data == 0 - || m_data->m_source.get_is_valid_data() == false) + if (m_data == 0) { return 0; } @@ -389,8 +388,7 @@ // EAP_FUNC_EXPORT const u8_t * eap_am_network_id_c::get_destination() const { - if (m_data == 0 - || m_data->m_destination.get_is_valid_data() == false) + if (m_data == 0) { return 0; } @@ -402,8 +400,7 @@ // EAP_FUNC_EXPORT u32_t eap_am_network_id_c::get_source_length() const { - if (m_data == 0 - || m_data->m_source.get_is_valid_data() == false) + if (m_data == 0) { return 0; } @@ -415,8 +412,7 @@ // EAP_FUNC_EXPORT u32_t eap_am_network_id_c::get_destination_length() const { - if (m_data == 0 - || m_data->m_destination.get_is_valid_data() == false) + if (m_data == 0) { return 0; } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/eap_am_tools.cpp --- a/eapol/eapol_framework/eapol_common/am/common/eap_am_tools.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_tools.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 25.1.3 % */ // This is enumeration of EAPOL source code. @@ -301,14 +301,14 @@ data_start = ind; } - *cursor_ascii++ = static_cast((*data >= 0x20 && *data < 0x7f) ? *data : '.'); + *cursor_ascii++ = (*data >= 0x20 && *data < 0x7f) ? *data : '.'; *cursor++ = octet_to_ascii(((*data) & 0xf0) >> 4); *cursor++ = octet_to_ascii(((*data) & 0x0f)); data++; - if ((ind > 0u - && ((ind+1) % byte_group_size) == 0) + if (ind > 0u + && ((ind+1) % byte_group_size) == 0 || byte_group_size == 1ul) { *cursor++ = ' '; @@ -445,7 +445,7 @@ EAP_FUNC_EXPORT eap_status_e eap_am_tools_c::timer_thread_function() { - EAP_TRACE_TIMER(this, TRACE_FLAGS_TIMER, (EAPL("TIMER: Timer thread starts.\n"))); + EAP_TRACE_TIMER(this, TRACE_FLAGS_DEFAULT, (EAPL("TIMER: Timer thread starts.\n"))); u32_t static_sleep_time = get_timer_resolution_ms(); u64_t start_time = get_clock_ticks(); @@ -462,7 +462,7 @@ // Note 64-bit casted to 32-bit. EAP_TRACE_TIMER( this, - TRACE_FLAGS_TIMER, (EAPL("TIMER: get_clock_ticks_of_second() = %lu\n"), + TRACE_FLAGS_DEFAULT, (EAPL("TIMER: get_clock_ticks_of_second() = %lu\n"), static_cast(get_clock_ticks_of_second()))); hw_ticks_of_millisecond = get_clock_ticks_of_second(); @@ -488,14 +488,14 @@ EAP_TRACE_TIMER( this, - TRACE_FLAGS_TIMER, + TRACE_FLAGS_DEFAULT, (EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_enter(): begin\n"))); mutex->mutex_enter(); EAP_TRACE_TIMER( this, - TRACE_FLAGS_TIMER, + TRACE_FLAGS_DEFAULT, (EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_enter(): end\n"))); while(get_is_timer_thread_active()) @@ -506,7 +506,7 @@ EAP_TRACE_TIMER( this, - TRACE_FLAGS_TIMER, + TRACE_FLAGS_DEFAULT, (EAPL("TIMER: timer_sleep(): current_sleep_time=%d\n"), static_cast(current_sleep_time))); @@ -515,14 +515,14 @@ EAP_TRACE_TIMER( this, - TRACE_FLAGS_TIMER, + TRACE_FLAGS_DEFAULT, (EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_leave(): begin\n"))); mutex->mutex_leave(this); EAP_TRACE_TIMER( this, - TRACE_FLAGS_TIMER, + TRACE_FLAGS_DEFAULT, (EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_leave(): end\n"))); // Sleep happens outside of the mutex. @@ -530,14 +530,14 @@ EAP_TRACE_TIMER( this, - TRACE_FLAGS_TIMER, + TRACE_FLAGS_DEFAULT, (EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_enter(): begin\n"))); mutex->mutex_enter(); EAP_TRACE_TIMER( this, - TRACE_FLAGS_TIMER, + TRACE_FLAGS_DEFAULT, (EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_enter(): end\n"))); end_time = get_clock_ticks(); @@ -549,7 +549,7 @@ delay_time = 0ul; EAP_TRACE_TIMER( this, - TRACE_FLAGS_TIMER, + TRACE_FLAGS_DEFAULT, (EAPL("TIMER: empty timer queue\n"))); } else @@ -568,7 +568,7 @@ { EAP_TRACE_TIMER( this, - TRACE_FLAGS_TIMER, + TRACE_FLAGS_DEFAULT, (EAPL("TIMER: real_sleep_time=%d, delay_time=%d\n"), static_cast(real_sleep_time), static_cast(delay_time))); @@ -609,7 +609,7 @@ EAP_TRACE_TIMER( this, - TRACE_FLAGS_TIMER, + TRACE_FLAGS_DEFAULT, (EAPL("TIMER: Timer thread pulse_timer, sleep time = %4d ms, real_sleep_time %4d ms, ") EAPL("virtual_time %6d, real_time %6d, next_sleep_time %4d, delay_time %4d.\n"), current_sleep_time, @@ -623,19 +623,19 @@ EAP_TRACE_TIMER( this, - TRACE_FLAGS_TIMER, + TRACE_FLAGS_DEFAULT, (EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_leave(): begin\n"))); mutex->mutex_leave(this); EAP_TRACE_TIMER( this, - TRACE_FLAGS_TIMER, + TRACE_FLAGS_DEFAULT, (EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_leave(): end\n"))); delete mutex; - EAP_TRACE_TIMER(this, TRACE_FLAGS_TIMER, (EAPL("TIMER: Timer thread stops.\n"))); + EAP_TRACE_TIMER(this, TRACE_FLAGS_DEFAULT, (EAPL("TIMER: Timer thread stops.\n"))); m_thread_stopped =true; @@ -663,7 +663,7 @@ { if (source_bytes[ind] >= 'a' && source_bytes[ind] <= 'z') { - source_bytes[ind] = static_cast(source_bytes[ind] - 32); + source_bytes[ind] -= 32; } } @@ -1064,7 +1064,7 @@ // +-+-+-+-+-+-+-+-+-+-+ */ value = octet_from_ascii_armor(source_byte); - target[*output_ind] = static_cast(target[*output_ind] | (value & 0x30) >> 4u); + target[*output_ind] |= (value & 0x30) >> 4u; ++(*output_ind); if (last_input_byte == false) { @@ -1098,7 +1098,7 @@ // +-+-+-+-+-+-+-+-+-+-+-+-+ */ value = octet_from_ascii_armor(source_byte); - target[*output_ind] = static_cast(target[*output_ind] | ((value >> 2u) & 0x0f)); + target[*output_ind] |= (value >> 2u) & 0x0f; ++(*output_ind); if (last_input_byte == false) { @@ -1134,7 +1134,7 @@ // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+ */ value = octet_from_ascii_armor(source_byte); - target[*output_ind] = static_cast(target[*output_ind] | value); + target[*output_ind] |= value; ++(*output_ind); *missing_bit_count = 0u; } @@ -1656,12 +1656,8 @@ if (m_shutdown_was_called == false) { m_shutdown_was_called = true; - - // stop tracing as tools get deleted - set_trace_mask(eap_trace_mask_none); #if !defined(NO_EAP_AM_MEMORY_STORE) - (void) am_cancel_all_timers(); if (m_memory_store != 0) { status = m_memory_store->shutdown(); @@ -1894,7 +1890,7 @@ } previous_data = data[ind]; - data[ind] = static_cast(data[ind] ^ rnd); + data[ind] ^= rnd; if (previous_data != data[ind]) { @@ -1972,7 +1968,7 @@ } previous_data = data[index]; - data[index] = static_cast(data[index] ^ rnd); + data[index] ^= rnd; } while(previous_data == data[index]); @@ -2036,8 +2032,8 @@ return EAP_STATUS_RETURN(this, status); } - delta_length = static_cast(delta_length % (static_cast(sent_packet->get_data_length()) - - static_cast(minimum_packet_length))); + delta_length %= (static_cast(sent_packet->get_data_length()) + - static_cast(minimum_packet_length) /*eapol_ethernet_header_wr_c::get_header_length()*/ ); if (delta_length == 0) { @@ -2435,13 +2431,13 @@ // set the four most significant bits (bits 12 through 15) of the // time_hi_and_version field to the appropriate 4-bit version number - hash[6] = static_cast(hash[6] & 0x0F); - hash[6] = static_cast(hash[6] | 0x50); + hash[6] &= 0x0F; + hash[6] |= 0x50; // set the two most significant bits (bits 6 and 7) of the // clock_seq_hi_and_reserved to zero and one, respectively - hash[8] = static_cast(hash[8] & 0x3F); - hash[8] = static_cast(hash[8] | 0x80); + hash[8] &= 0x3F; + hash[8] |= 0x80; return EAP_STATUS_RETURN(this, eap_status_ok); } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/eap_file_config.cpp --- a/eapol/eapol_framework/eapol_common/am/common/eap_file_config.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/eap_file_config.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 33 % +* %version: 17.1.3 % */ // This is enumeration of EAPOL source code. @@ -31,9 +31,6 @@ #include "eap_am_memory.h" #include "eap_file_config.h" #include "eap_automatic_variable.h" -#include "eap_tlv_message_data.h" -#include "eap_process_tlv_message_data.h" -#include "eap_config.h" #if defined(_WIN32) && !defined(__GNUC__) #pragma warning( disable : 4355 ) // 'this' : used in base member initializer list @@ -50,13 +47,13 @@ //----------------------------------------------------------------- //----------------------------------------------------------------- -EAP_FUNC_EXPORT eap_config_value_c::~eap_config_value_c() +eap_config_value_c::~eap_config_value_c() { delete m_subsection_map; m_subsection_map = 0; } -EAP_FUNC_EXPORT eap_config_value_c::eap_config_value_c( +eap_config_value_c::eap_config_value_c( abs_eap_am_tools_c* const tools) : m_am_tools(tools) , m_subsection_map(0) @@ -64,13 +61,6 @@ , m_type(eap_configure_type_none) , m_is_valid(false) { - EAP_ASSERT(eap_configure_type_id[eap_configure_type_none].type == eap_configure_type_none); - EAP_ASSERT(eap_configure_type_id[eap_configure_type_u32_t].type == eap_configure_type_u32_t); - EAP_ASSERT(eap_configure_type_id[eap_configure_type_boolean].type == eap_configure_type_boolean); - EAP_ASSERT(eap_configure_type_id[eap_configure_type_string].type == eap_configure_type_string); - EAP_ASSERT(eap_configure_type_id[eap_configure_type_hex_data].type == eap_configure_type_hex_data); - EAP_ASSERT(eap_configure_type_id[eap_configure_type_u32array].type == eap_configure_type_u32array); - if (m_data.get_is_valid() == false) { return; @@ -79,47 +69,37 @@ m_is_valid = true; } -EAP_FUNC_EXPORT void eap_config_value_c::set_subsection( +void eap_config_value_c::set_subsection( eap_core_map_c * const subsection_map) { m_subsection_map = subsection_map; } -EAP_FUNC_EXPORT eap_core_map_c * eap_config_value_c::get_subsection() +eap_core_map_c * eap_config_value_c::get_subsection() { return m_subsection_map; } -EAP_FUNC_EXPORT eap_variable_data_c * eap_config_value_c::get_data() -{ - return &m_data; -} - -EAP_FUNC_EXPORT const eap_variable_data_c * eap_config_value_c::get_const_data() const +eap_variable_data_c * eap_config_value_c::get_data() { return &m_data; } -EAP_FUNC_EXPORT void eap_config_value_c::set_type(const eap_configure_type_e type) +void eap_config_value_c::set_type(const eap_configure_type_e type) { m_type = type; } -EAP_FUNC_EXPORT eap_configure_type_e eap_config_value_c::get_type() +eap_configure_type_e eap_config_value_c::get_type() { return m_type; } -EAP_FUNC_EXPORT eap_configure_type_e eap_config_value_c::get_const_type() const -{ - return m_type; -} - -EAP_FUNC_EXPORT void eap_config_value_c::object_increase_reference_count() +void eap_config_value_c::object_increase_reference_count() { } -EAP_FUNC_EXPORT bool eap_config_value_c::get_is_valid() const +bool eap_config_value_c::get_is_valid() { return m_is_valid; } @@ -131,10 +111,9 @@ EAP_FUNC_EXPORT eap_file_config_c::eap_file_config_c( abs_eap_am_tools_c* const tools) - : m_am_tools(tools) - , m_config_map(tools, this) - , m_value_buffer(tools) - , m_is_valid(false) +: m_am_tools(tools) +, m_config_map(tools, this) +, m_is_valid(false) { EAP_UNREFERENCED_PARAMETER(TRACE_FLAGS_CONFIGURE_DATA); // in release @@ -165,7 +144,7 @@ //----------------------------------------------------------------- -eap_status_e eap_file_config_c::expand_environment_variables( +EAP_FUNC_EXPORT eap_status_e eap_file_config_c::expand_environment_variables( eap_core_map_c * const config_map, const eap_variable_data_c * const original_value, eap_variable_data_c * const expanded_value @@ -184,18 +163,22 @@ const u8_t env_char = '$'; const u8_t char_left_parenthesis = '('; const u8_t char_right_parenthesis = ')'; - bool expanded_value_when_true = false; - if (m_value_buffer.get_buffer_length() < MAX_LINE_LENGTH) + eap_variable_data_c tmp_value_buffer(m_am_tools); + if (tmp_value_buffer.get_is_valid() == false) { - status = m_value_buffer.set_buffer_length(MAX_LINE_LENGTH); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } + status = tmp_value_buffer.set_buffer_length(MAX_LINE_LENGTH); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + bool expanded_value_when_true = false; + status = expanded_value->set_copy_of_buffer(original_value); if (status != eap_status_ok) { @@ -522,7 +505,7 @@ if (configure_option.get_is_valid_data() == true && configure_option.get_data_length() > 0ul) { - m_value_buffer.reset_start_offset_and_data_length(); + tmp_value_buffer.reset(); u32_t tmp_index = 0ul; @@ -531,7 +514,7 @@ u32_t length_of_begin = env_start-start_of_value; if (length_of_begin > 0ul) { - status = m_value_buffer.set_copy_of_buffer( + status = tmp_value_buffer.set_copy_of_buffer( expanded_value->get_data(length_of_begin), length_of_begin); if (status != eap_status_ok) @@ -546,7 +529,7 @@ if (configure_option.get_data_length() > 0ul) { - status = m_value_buffer.add_data(&configure_option); + status = tmp_value_buffer.add_data(&configure_option); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -561,7 +544,7 @@ u32_t length_of_end = tmp_end-(env_end+1); if (length_of_end > 0ul) { - status = m_value_buffer.add_data( + status = tmp_value_buffer.add_data( (env_end+1), length_of_end); if (status != eap_status_ok) @@ -574,10 +557,10 @@ } } - if (m_value_buffer.get_is_valid_data() == true - && m_value_buffer.get_data_length() > 0ul) + if (tmp_value_buffer.get_is_valid_data() == true + && tmp_value_buffer.get_data_length() > 0ul) { - status = expanded_value->set_copy_of_buffer(&m_value_buffer); + status = expanded_value->set_copy_of_buffer(&tmp_value_buffer); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -647,11 +630,10 @@ //----------------------------------------------------------------- -u8_t * eap_file_config_c::read_hex_byte( +EAP_FUNC_EXPORT u8_t * eap_file_config_c::read_hex_byte( u8_t * cursor, const u8_t * const end, - u8_t * const hex_byte, // This buffer is one byte in length. - const u32_t hex_byte_length) + u8_t * const hex_byte) { u8_t * start = cursor; bool stop = false; @@ -674,15 +656,14 @@ if (cursor <= end) { - u32_t target_length = hex_byte_length; + u32_t target_length = sizeof(*hex_byte); eap_status_e status = m_am_tools->convert_hex_ascii_to_bytes( start, cursor-start, hex_byte, &target_length); - if (status != eap_status_ok - || target_length != hex_byte_length) + if (status != eap_status_ok) { return 0; } @@ -695,7 +676,7 @@ //----------------------------------------------------------------- -u8_t * eap_file_config_c::read_u32_t( +EAP_FUNC_EXPORT u8_t * eap_file_config_c::read_u32_t( u8_t * cursor, const u8_t * const end, u32_t * const integer) @@ -754,7 +735,7 @@ //----------------------------------------------------------------- -eap_status_e eap_file_config_c::convert_value( +EAP_FUNC_EXPORT eap_status_e eap_file_config_c::convert_value( eap_core_map_c * const config_map, const eap_variable_data_c * const value_buffer, const eap_configure_type_e type, @@ -869,64 +850,27 @@ return EAP_STATUS_RETURN(m_am_tools, status); } - status = value_data->set_buffer_length((expanded_value_buffer.get_data_length()+1)/3); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = value_data->set_data_length(value_data->get_buffer_length()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - u8_t * const target = value_data->get_data(value_data->get_buffer_length()); - if (target == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - u32_t ind_target(0ul); - u8_t * cursor = expanded_value_buffer.get_data(expanded_value_buffer.get_data_length()); - if (cursor == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - const u8_t * const cursor_end = cursor + expanded_value_buffer.get_data_length(); - - // Only one byte is needed. This is because coverity complains of using "u8_t hex_byte". - const u32_t BUFFER_SIZE=1ul; - u8_t hex_byte[BUFFER_SIZE]; - + while(cursor < cursor_end) { + u8_t hex_byte = 0; cursor = read_hex_byte( cursor, cursor_end, - hex_byte, - BUFFER_SIZE); + &hex_byte); if (cursor == 0) { break; } - // Here we read only one byte. - target[ind_target] = hex_byte[0]; - ++ind_target; - } - - status = value_data->set_buffer_length(ind_target); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + status = value_data->add_data(&hex_byte, sizeof(hex_byte)); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } } else if (type == eap_configure_type_u32array) @@ -939,12 +883,6 @@ } u8_t * cursor = expanded_value_buffer.get_data(expanded_value_buffer.get_data_length()); - if (cursor == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - const u8_t * const cursor_end = cursor + expanded_value_buffer.get_data_length(); while(cursor < cursor_end) @@ -978,7 +916,7 @@ //----------------------------------------------------------------- -eap_status_e eap_file_config_c::store_configure( +EAP_FUNC_EXPORT eap_status_e eap_file_config_c::store_configure( abs_eap_am_file_input_c * const file, const eap_variable_data_c * const line, eap_core_map_c * const config_map) @@ -1324,13 +1262,6 @@ config->get_data()->get_data(), config->get_data()->get_data_length())); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CONFIG: option type %d=%s\n"), - config->get_type(), - eap_configuration_field_c::get_configure_type_string(config->get_type()))); - //----------------------------------------------------------------------------- } @@ -1483,7 +1414,7 @@ //----------------------------------------------------------------- -eap_status_e eap_file_config_c::cnf_parse_value( +EAP_FUNC_EXPORT eap_status_e eap_file_config_c::cnf_parse_value( const eap_variable_data_c * const found_type_value, const eap_variable_data_c * const found_type_name, eap_configure_type_e * const parsed_type, @@ -1611,11 +1542,6 @@ return EAP_STATUS_RETURN(m_am_tools, status); } - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("\n"))); - if (is_environment_variable == true) { #if defined(EAP_FILE_CONFIG_USE_CONSOLE_PRINTS) @@ -1652,7 +1578,7 @@ //----------------------------------------------------------------- -eap_status_e eap_file_config_c::cnf_get_string( +EAP_FUNC_EXPORT eap_status_e eap_file_config_c::cnf_get_string( const eap_variable_data_c * const param, eap_variable_data_c * const param_name, eap_variable_data_c * const param_value, @@ -1728,7 +1654,7 @@ //----------------------------------------------------------------- -eap_status_e eap_file_config_c::read_subsections( +EAP_FUNC_EXPORT eap_status_e eap_file_config_c::read_subsections( abs_eap_am_file_input_c * const file, eap_core_map_c * const config_map) { @@ -1764,7 +1690,7 @@ //----------------------------------------------------------------- -eap_status_e eap_file_config_c::read_section( +EAP_FUNC_EXPORT eap_status_e eap_file_config_c::read_section( abs_eap_am_file_input_c * const file, eap_core_map_c * const config_map) { @@ -1818,38 +1744,42 @@ //----------------------------------------------------------------- -eap_status_e eap_file_config_c::remove_spaces(eap_variable_data_c * const buffer) +EAP_FUNC_EXPORT eap_status_e eap_file_config_c::remove_spaces(eap_variable_data_c * const buffer) { - if (buffer == 0 - || buffer->get_is_valid() == false) + eap_variable_data_c tmp(m_am_tools); + if (tmp.get_is_valid() == false) { - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - u32_t length = buffer->get_data_length(); - const u8_t * source = buffer->get_data(length); - u8_t * destination = buffer->get_data(length); - u32_t ind_dest(0ul); + eap_status_e status(eap_status_ok); - for (u32_t ind = 0ul; ind < length; ind++) + for (u32_t ind = 0ul; ind < buffer->get_data_length(); ind++) { - const u8_t character = source[ind]; + u8_t * const character = buffer->get_data_offset(ind, sizeof(u8_t)); + if (character == 0) + { + return EAP_STATUS_RETURN(m_am_tools, status); + } - if (m_am_tools->isspace(character) == false) + if (m_am_tools->isspace(*character) == false) { - destination[ind_dest] = character; - ++ind_dest; + status = tmp.add_data(character, sizeof(*character)); + if (status != eap_status_ok) + { + return EAP_STATUS_RETURN(m_am_tools, status); + } } } // for() - eap_status_e status = buffer->set_data_length(ind_dest); + status = buffer->set_copy_of_buffer(&tmp); return EAP_STATUS_RETURN(m_am_tools, status); } //----------------------------------------------------------------- -eap_status_e eap_file_config_c::remove_leading_spaces( +EAP_FUNC_EXPORT eap_status_e eap_file_config_c::remove_leading_spaces( eap_variable_data_c * const line) { if (line->get_data_length() == 0) @@ -1884,7 +1814,7 @@ //----------------------------------------------------------------- -eap_status_e eap_file_config_c::file_read_line( +EAP_FUNC_EXPORT eap_status_e eap_file_config_c::file_read_line( abs_eap_am_file_input_c * const file, eap_variable_data_c * const line) { @@ -1997,7 +1927,7 @@ //----------------------------------------------------------------- -eap_status_e eap_file_config_c::get_subsect( +EAP_FUNC_EXPORT eap_status_e eap_file_config_c::get_subsect( abs_eap_am_file_input_c * const file, eap_variable_data_c * const line) { @@ -2072,7 +2002,7 @@ //----------------------------------------------------------------- -eap_status_e eap_file_config_c::read_configure( +EAP_FUNC_EXPORT eap_status_e eap_file_config_c::read_configure( eap_core_map_c * const config_map, const eap_configuration_field_c * const field, eap_variable_data_c* const data, @@ -2133,487 +2063,7 @@ //----------------------------------------------------------------- -eap_status_e eap_file_config_c::read_all_configurations( - const eap_configuration_field_c * const /* field */, - eap_variable_data_c* const data, - eap_core_map_c * const config_map) -{ - eap_status_e status = eap_status_process_general_error; - - /** - * Here is a figure of message data composed of Attribute-Value Pairs (See eap_tlv_header_c). - * Value data follows eap_tlv_message_data_c. - * @code - * Configuration data: - * 0 1 2 3 - * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -+ - * | Type = eap_tlv_message_type_configuration_option | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Length = 8+4+8+m+8+n | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Type = eap_tlv_message_type_u32_t | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Length = 4 | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | option type eap_configure_type_hex_data | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Type = eap_tlv_message_type_variable_data | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | First configuration option - * | Length = m | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Value (m octets) option name | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Type = eap_tlv_message_type_variable_data | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Length = n | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Value (n octets) option data | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -+ - * | Type = eap_tlv_message_type_configuration_option | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Length = 8+4+8+m+8+4 | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Type = eap_tlv_message_type_u32_t | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Length = 4 | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | option type eap_configure_type_u32_t | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Type = eap_tlv_message_type_variable_data | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Second configuration option - * | Length = m | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Value (m octets) option name | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Type = eap_tlv_message_type_u32_t | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Length = 4 | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | - * | Value option data 32-bit integer | | - * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -+ - * - * @endcode - * - */ - - u32_t size_of_data(0ul); - u32_t ind(0ul); - - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - for (ind = 0ul; ind < config_map->get_atom_count(); ++ind) - { - const eap_state_map_atom_c * atom = config_map->get_atom(ind); - while (atom != 0) - { - u32_t size = message.get_payload_size( - atom->get_selector(), - atom->get_const_object()); - - if (size > 0ul) - { - // The extra size of header is added because the whole allocated message size includes all headers. - // The get_payload_size() function calculates only payload of the option without the main header. - size_of_data += - size - + eap_tlv_header_c::get_header_length(); - } - else - { - // Some konfiguration objects are not included to message yet. - } - - atom = atom->get_next_atom(); - } - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CONFIG: data size %d\n"), - size_of_data)); - - status = message.allocate_message_data_buffer(size_of_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - for (ind = 0ul; ind < config_map->get_atom_count(); ++ind) - { - const eap_state_map_atom_c * atom = config_map->get_atom(ind); - while (atom != 0) - { - status = message.add_parameter_data(atom->get_selector(), atom->get_const_object()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - atom = atom->get_next_atom(); - } - } - - status = data->set_copy_of_buffer( - message.get_message_data(), - message.get_message_data_length()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//----------------------------------------------------------------- - -eap_status_e eap_file_config_c::add_option( - const eap_tlv_header_c * const option_header) -{ - eap_status_e status = eap_status_process_general_error; - - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.set_message_data(option_header->get_value_length(), option_header->get_value(option_header->get_value_length())); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c parameters(m_am_tools); - - status = message.parse_message_data(¶meters); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_config_value_c * config = new eap_config_value_c(m_am_tools); - - eap_automatic_variable_c - automatic_config(m_am_tools, config); - - if (config == 0 - || config->get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - u32_t parameter_index(0ul); - - eap_variable_data_c selector(m_am_tools); - if (selector.get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - { - const eap_tlv_header_c * const a_option_header = parameters.get_object(parameter_index); - if (a_option_header == 0 - || a_option_header->get_type() != eap_tlv_message_type_u32_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - return EAP_STATUS_RETURN(m_am_tools, status); - } - - u32_t value(0ul); - - status = message.get_parameter_data( - a_option_header, - &value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - config->set_type(static_cast(value)); - } - - ++parameter_index; - - { - const eap_tlv_header_c * const a_option_header = parameters.get_object(parameter_index); - if (a_option_header == 0 - || a_option_header->get_type() != eap_tlv_message_type_variable_data) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.get_parameter_data( - a_option_header, - &selector); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - ++parameter_index; - - switch(config->get_type()) - { - case eap_configure_type_string: - case eap_configure_type_hex_data: - { - const eap_tlv_header_c * const a_option_header = parameters.get_object(parameter_index); - if (a_option_header == 0 - || a_option_header->get_type() != eap_tlv_message_type_variable_data) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.get_parameter_data( - a_option_header, - config->get_data()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - break; - case eap_configure_type_u32_t: - case eap_configure_type_boolean: - { - const eap_tlv_header_c * const a_option_header = parameters.get_object(parameter_index); - if (a_option_header == 0 - || a_option_header->get_type() != eap_tlv_message_type_u32_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - return EAP_STATUS_RETURN(m_am_tools, status); - } - - u32_t value(0ul); - - status = message.get_parameter_data( - a_option_header, - &value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = config->get_data()->set_copy_of_buffer(&value, sizeof(value)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - break; - case eap_configure_type_u32array: - { - const eap_tlv_header_c * const a_option_header = parameters.get_object(parameter_index); - if (a_option_header == 0 - || a_option_header->get_type() != eap_tlv_message_type_array) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_process_tlv_message_data_c array_message(m_am_tools); - - if (array_message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = array_message.set_message_data(a_option_header->get_value_length(), a_option_header->get_value(a_option_header->get_value_length())); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c array_parameters(m_am_tools); - - status = array_message.parse_message_data(&array_parameters); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - for (u32_t ind = 0ul; ind < array_parameters.get_object_count(); ++ind) - { - const eap_tlv_header_c * const a_option_header = array_parameters.get_object(ind); - if (a_option_header == 0 - || a_option_header->get_type() != eap_tlv_message_type_u32_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - return EAP_STATUS_RETURN(m_am_tools, status); - } - - u32_t value(0ul); - - status = array_message.get_parameter_data( - a_option_header, - &value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = config->get_data()->add_data(&value, sizeof(value)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - break; - default: - break; - }; - - status = m_config_map.add_handler(&selector, config); - if (status == eap_status_ok) - { - automatic_config.do_not_free_variable(); - } - else //if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("\n"))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CONFIG MESSAGE: option added"), - selector.get_data(), - selector.get_data_length())); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CONFIG MESSAGE: data"), - config->get_data()->get_data(), - config->get_data()->get_data_length())); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CONFIG MESSAGE: option type %d=%s\n"), - config->get_type(), - eap_configuration_field_c::get_configure_type_string(config->get_type()))); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//----------------------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_file_config_c::read_configuration_message( - const eap_variable_data_c * const configuration_message) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_file_config_c::read_configuration_message(): data=0x%08x, length=%d\n"), - configuration_message->get_data(), - configuration_message->get_data_length())); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_file_config_c::read_configuration_message()"); - - eap_status_e status = eap_status_process_general_error; - - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.set_message_data(configuration_message->get_data_length(), configuration_message->get_data()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c parameters(m_am_tools); - - status = message.parse_message_data(¶meters); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - for (u32_t ind = 0ul; ind < parameters.get_object_count(); ++ind) - { - const eap_tlv_header_c * const option_header = parameters.get_object(ind); - if (option_header == 0 - || option_header->get_type() != eap_tlv_message_type_configuration_option) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_option(option_header); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//----------------------------------------------------------------- - -eap_status_e eap_file_config_c::read_configure( +EAP_FUNC_EXPORT eap_status_e eap_file_config_c::read_configure( const eap_configuration_field_c * const field, eap_variable_data_c* const data, eap_core_map_c * const config_map, @@ -2711,11 +2161,9 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: CONFIG: option type failed: required %d=%s != actual %d=%s\n"), + (EAPL("WARNING: CONFIG: option type failed: required %d != actual %d\n"), field->get_type(), - eap_configuration_field_c::get_configure_type_string(field->get_type()), - config->get_type(), - eap_configuration_field_c::get_configure_type_string(config->get_type()))); + config->get_type())); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, @@ -2748,12 +2196,6 @@ (EAPL("WARNING: CONFIG: option not found"), field->get_field(), field->get_field_length())); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: CONFIG: option type %d=%s\n"), - field->get_type(), - eap_configuration_field_c::get_configure_type_string(field->get_type()))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_field); } @@ -2777,26 +2219,11 @@ field->get_field(), field->get_field_length())); - eap_status_e status(eap_status_process_general_error); - - if (field->get_type() == eap_configure_type_all_configurations - && field->compare( - m_am_tools, - cf_str_EAP_read_all_configurations.get_field()) == true) - { - status = read_all_configurations( - field, - data, - &m_config_map); - } - else - { - status = read_configure( - field, - data, - &m_config_map, - true); - } + eap_status_e status = read_configure( + field, + data, + &m_config_map, + true); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/eap_timer_queue.cpp --- a/eapol/eapol_framework/eapol_common/am/common/eap_timer_queue.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/eap_timer_queue.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 14.1.2 % */ // This is enumeration of EAPOL source code. @@ -424,16 +424,6 @@ deactivate_timer_queue(); - trace_timer(); - - EAP_TRACE_TIMER( - m_am_tools, - TRACE_FLAGS_TIMER_QUEUE, - (EAPL("TIMER: eap_timer_queue_c::~eap_timer_queue_c(): m_timer_queue=0x%08x, m_new_event_begin=0x%08x, m_new_event_end=0x%08x\n"), - m_timer_queue, - m_new_event_begin, - m_new_event_end)); - // cancel_all_timers() must be called before destructor. EAP_ASSERT_TOOLS(m_am_tools, m_timer_queue == 0); EAP_ASSERT_TOOLS(m_am_tools, m_new_event_begin == 0); @@ -699,10 +689,10 @@ if (current != 0) { - EAP_TRACE_DEBUG( + EAP_TRACE_TIMER( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("TIMER: eap_timer_queue_c::timer_expired(): [0x%08x]->initializer(0x%08x)->timer_expired(") + (EAPL("TIMER: timer_expired(): [0x%08x]->initializer(0x%08x)->timer_expired(") EAPL("id 0x%02x, data 0x%08x, original time %8d)\n"), current, current->get_initializer(), @@ -1280,10 +1270,10 @@ event->get_time_ms())); // Adds the new event to the end of the list to keep the order of events correct. - EAP_ASSERT((m_new_event_begin == 0 - && m_new_event_end == 0) - || (m_new_event_begin != 0 - && m_new_event_end != 0)); + EAP_ASSERT(m_new_event_begin == 0 + && m_new_event_end == 0 + || m_new_event_begin != 0 + && m_new_event_end != 0); if (m_new_event_begin == 0 && m_new_event_end == 0) @@ -1353,16 +1343,6 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("TIMER: eap_timer_queue_c::set_timer(): [0x%08x]->initializer(0x%08x)->set_timer(") - EAPL("id 0x%02x, data 0x%08x, original time %8d)\n"), - event, - event->get_initializer(), - event->get_id(), - event->get_data(), - event->get_original_time())); if (m_use_eap_millisecond_timer == true) { @@ -1458,17 +1438,6 @@ m_new_event_end = previous; } - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("TIMER: eap_timer_queue_c::cancel_pending_timer(): [0x%08x]->initializer(0x%08x)->cancel_pending_timer(") - EAPL("id 0x%02x, data 0x%08x, original time %8d)\n"), - remove, - remove->get_initializer(), - remove->get_id(), - remove->get_data(), - remove->get_original_time())); - remove->set_next(0); delete remove; @@ -1536,15 +1505,14 @@ while(cursor != 0) { - EAP_TRACE_DEBUG( + EAP_TRACE_TIMER( m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("TIMER: eap_timer_queue_c::cancel_timer(): [0x%08x]->initializer(0x%08x)->cancel_timer(") - EAPL("id 0x%02x, data 0x%08x, original time %8d)\n"), + TRACE_FLAGS_TIMER, + (EAPL("TIMER: [0x%08x] cancel_timer(initializer 0x%08x, ") + EAPL("id 0x%02x, original time %8d)\n"), cursor, - cursor->get_initializer(), - cursor->get_id(), - cursor->get_data(), + initializer, + id, cursor->get_original_time())); if (cursor == m_timer_queue) @@ -1709,16 +1677,11 @@ while (cursor != 0) { - EAP_TRACE_DEBUG( + EAP_TRACE_TIMER( m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("TIMER: eap_timer_queue_c::cancel_all_timers(): [0x%08x]->initializer(0x%08x)->cancel_all_timers(") - EAPL("id 0x%02x, data 0x%08x, original time %8d)\n"), - cursor, - cursor->get_initializer(), - cursor->get_id(), - cursor->get_data(), - cursor->get_original_time())); + TRACE_FLAGS_TIMER, + (EAPL("TIMER: [0x%08x] cancel_all_timers()\n"), + cursor)); eap_timer_queue_event_c *next = cursor->get_next_same_time(); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/fileconfig_utils.cpp --- a/eapol/eapol_framework/eapol_common/am/common/fileconfig_utils.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/fileconfig_utils.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/stack/eap_am_stack_trace.cpp --- a/eapol/eapol_framework/eapol_common/am/common/stack/eap_am_stack_trace.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/stack/eap_am_stack_trace.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/common/stack/eap_am_stack_trace.h --- a/eapol/eapol_framework/eapol_common/am/common/stack/eap_am_stack_trace.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/stack/eap_am_stack_trace.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_STACK_OUTPUT_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/core/eap_am_wimax_authentication.cpp --- a/eapol/eapol_framework/eapol_common/am/core/eap_am_wimax_authentication.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/core/eap_am_wimax_authentication.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/core/eapol_am_wlan_authentication.cpp --- a/eapol/eapol_framework/eapol_common/am/core/eapol_am_wlan_authentication.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/core/eapol_am_wlan_authentication.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 7.1.3 % +* %version: 9 % */ // This is enumeration of EAPOL source code. @@ -31,7 +31,7 @@ #include "eapol_am_wlan_authentication.h" // -EAP_FUNC_EXPORT eapol_am_wlan_authentication_c::~eapol_am_wlan_authentication_c() +eapol_am_wlan_authentication_c::~eapol_am_wlan_authentication_c() { } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_aka_algorithm.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_aka_algorithm.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_aka_algorithm.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_ABS_AKA_ALGORITHM_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_bloom_algorithm_store.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_bloom_algorithm_store.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_bloom_algorithm_store.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #if !defined(_ABS_EAP_AM_BLOOM_ALGORITHM_STORE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_crypto.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_crypto.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_crypto.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 6 % */ #if !defined( _ABS_EAP_AM_CRYPTO_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_file_input.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_file_input.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_file_input.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 15 % */ #if !defined(_ABS_EAP_AM_FILE_INPUT_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_general_settings.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_general_settings.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 5 % -*/ - -#if !defined(_ABS_EAP_AM_GENERAL_SETTINGS_H_) -#define _ABS_EAP_AM_GENERAL_SETTINGS_H_ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" - -/** @file */ - -/// This class is the common part of EAP message interface. -/// This class is interface to the message creation and parsing function. -class EAP_EXPORT abs_eap_am_general_settings_c -{ - -private: - - // ---------------------------------------------------------------------- - -public: - - virtual ~abs_eap_am_general_settings_c() - { - } - - virtual eap_status_e complete_get_eap_methods(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e complete_set_eap_methods(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e complete_get_certificate_lists(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e complete_delete_all_eap_settings(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e complete_copy_all_eap_settings(const eap_method_settings_c * const internal_settings) = 0; - - // ---------------------------------------------------------------------- -}; - -#endif //#if !defined(_ABS_EAP_AM_GENERAL_SETTINGS_H_) - - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_memory_store_data.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_memory_store_data.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_memory_store_data.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined( _ABS_EAP_AM_TOOLS_MEMORY_STORE_DATA_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_message_if.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_message_if.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined(_ABS_EAP_AM_MESSAGE_IF_H_) -#define _ABS_EAP_AM_MESSAGE_IF_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" - -//-------------------------------------------------- - -/** @file */ - -/// This class is abstract interface to send data messages through abstract interface. -class EAP_EXPORT abs_eap_am_message_if_c -{ - -private: - //-------------------------------------------------- - - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - virtual ~abs_eap_am_message_if_c() - { - } - - /// Function sends the data message to lower layer. - /// Data is formatted to Attribute-Value Pairs. - /// Look at eap_tlv_header_c and eap_tlv_message_data_c. - virtual eap_status_e send_data(const void * const data, const u32_t length) = 0; - -}; // class abs_eap_am_message_if_c - - -#endif //#if !defined(_ABS_EAP_AM_MESSAGE_IF_H_) - -//-------------------------------------------------- - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_mutex.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_mutex.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_mutex.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined( _ABS_EAP_AM_MUTEX_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_pac_store.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_pac_store.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined(_ABS_EAP_AM_PAC_STORE_H_) -#define _ABS_EAP_AM_PAC_STORE_H_ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" - -/** @file */ - -/// This class is the common part of EAP message interface. -/// This class is interface to the message creation and parsing function. -class EAP_EXPORT abs_eap_am_pac_store_c -{ - -private: - - // ---------------------------------------------------------------------- - -public: - - virtual ~abs_eap_am_pac_store_c() - { - } - - virtual eap_status_e complete_open_pac_store( - const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_create_device_seed( - const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_is_master_key_present( - const bool is_present) = 0; - - virtual eap_status_e complete_is_master_key_and_password_matching( - const bool is_matching) = 0; - - virtual eap_status_e complete_create_and_save_master_key( - const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_compare_pac_store_password( - const bool is_matching) = 0; - - virtual eap_status_e complete_is_pacstore_password_present( - const bool is_present) = 0; - - virtual eap_status_e complete_set_pac_store_password( - const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_destroy_pac_store( - const eap_status_e completion_status) = 0; - - // ---------------------------------------------------------------------- -}; - -#endif //#if !defined(_ABS_EAP_AM_PAC_STORE_H_) - - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_plugin.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_plugin.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined(_ABS_EAP_AM_PLUGIN_H_) -#define _ABS_EAP_AM_PLUGIN_H_ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" - -class eap_method_settings_c; - -/** @file */ - -/// This class is the common part of EAP message interface. -/// This class is interface to the message creation and parsing function. -class EAP_EXPORT abs_eap_am_plugin_c -{ - -private: - - // ---------------------------------------------------------------------- - -public: - - virtual ~abs_eap_am_plugin_c() - { - } - - virtual eap_status_e complete_get_configuration(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e complete_set_configuration(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e complete_delete_configuration(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e complete_copy_configuration(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e complete_set_index(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e complete_get_type_info(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e complete_invoke_ui(const eap_method_settings_c * const internal_settings) = 0; - - // ---------------------------------------------------------------------- -}; - -#endif //#if !defined(_ABS_EAP_AM_PLUGIN_H_) - - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_radius.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_radius.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_radius.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #if !defined(_ABS_EAP_AM_TYPE_RADIUS_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_semaphore.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_semaphore.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_semaphore.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined( _ABS_EAP_AM_SEMAPHORE_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_sim_algorithm.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_sim_algorithm.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_sim_algorithm.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_ABS_SIM_ALGORITHM_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_stack.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_stack.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined(_ABS_EAP_AM_STACK_H_) -#define _ABS_EAP_AM_STACK_H_ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" -#include "eap_expanded_type.h" -#include "eap_array.h" - -class abs_eap_am_message_if_c; -class eap_configuration_field_c; -class eap_variable_data_c; -class abs_eap_am_tools_c; -class abs_eap_base_type_c; -class eap_base_type_c; -class eap_am_network_id_c; - -/** @file */ - -/// This class is the common part of EAP message interface. -/// This class is interface to the message creation and parsing function. -class EAP_EXPORT abs_eap_am_stack_c -{ - -private: - - // ---------------------------------------------------------------------- - -public: - - virtual ~abs_eap_am_stack_c() - { - } - - virtual eap_status_e complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const receive_network_id, - const eapol_key_802_11_authentication_mode_e mode) = 0; - - // ---------------------------------------------------------------------- -}; - -#endif //#if !defined(_ABS_EAP_AM_STACK_H_) - - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_tools.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_tools.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_tools.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7.1.2 % */ #if !defined( _ABS_EAP_AM_TOOLS_H_ ) @@ -369,11 +369,6 @@ virtual void set_trace_mask(const u32_t mask) = 0; /** - * This function sets the trace prefix string. - */ - virtual eap_status_e set_trace_prefix(const eap_variable_data_c * const prefix8bit) = 0; - - /** * This function sets the trace output file name. */ virtual eap_status_e set_trace_file_name(const eap_variable_data_c * const trace_output_file) = 0; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_aka.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_aka.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_aka.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_ABS_EAP_AM_TYPE_AKA_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_gsmsim.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_gsmsim.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_gsmsim.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_ABS_EAP_AM_TYPE_GSMSIM_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_leap.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_leap.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_leap.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #ifndef ABS_EAP_AM_TYPE_LEAP_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_mschapv2.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_mschapv2.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_mschapv2.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #if !defined(_ABS_EAP_AM_TYPE_MSCHAPV2_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_securid.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_securid.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_securid.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #ifndef ABS_EAP_AM_TYPE_SECURID_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_sim.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_sim.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_sim.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_ABS_EAP_AM_TYPE_SIM_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_simple_config.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_simple_config.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_simple_config.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_ABS_EAP_AM_TYPE_SIMPLE_CONFIG_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_tls_peap.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_tls_peap.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_tls_peap.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_ABS_EAP_AM_TYPE_TLS_PEAP_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eap_am_wimax_authentication.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_wimax_authentication.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_wimax_authentication.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_ABS_EAP_AM_WIMAX_AUTHENTICATION_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_eapol_am_wlan_authentication.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_eapol_am_wlan_authentication.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eapol_am_wlan_authentication.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_ABS_EAPOL_AM_WLAN_AUTHENTICATION_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_simple_config_am_services.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_simple_config_am_services.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_simple_config_am_services.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ #if !defined(_ABS_SIMPLE_CONFIG_AM_SERVICES_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_tls_am_application_eap_fast.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_tls_am_application_eap_fast.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_tls_am_application_eap_fast.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 28 % */ #if !defined(_ABS_TLS_AM_APPLICATION_EAP_FAST_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/abs_tls_am_services.h --- a/eapol/eapol_framework/eapol_common/am/include/abs_tls_am_services.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_tls_am_services.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 17 % */ #if !defined(_ABS_TLS_AM_SERVICES_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_assert.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_assert.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_assert.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 6 % */ #if !defined(_EAP_ASSERT_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_compiler_flags.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_compiler_flags.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_compiler_flags.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_EAP_AM_COMPILER_FLAGS_H_) @@ -64,7 +64,7 @@ #if !defined(USE_EAP_FILE_TRACE) // This macro activates file tracing. - //#define USE_EAP_FILE_TRACE + #define USE_EAP_FILE_TRACE #endif //#if !defined(USE_EAP_FILE_TRACE) #if !defined(USE_EAP_HARDWARE_TRACE) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_md4.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_md4.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_md4.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined( _EAP_AM_CRYPTO_MD4_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_openssl.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_openssl.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_openssl.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13 % */ #if !defined( _EAP_AM_CRYPTO_OPENSSL_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_rc4.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_rc4.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_rc4.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ //------------------------------------------------------------ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_sha1.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_sha1.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_sha1.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined( _EAP_AM_CRYPTO_SHA1_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_sha_256.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_sha_256.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_sha_256.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined( _EAP_AM_CRYPTO_SHA_256_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_dh_primes.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_dh_primes.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_dh_primes.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #if !defined(_EAP_AM_DH_PRIMES_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_export.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_export.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_export.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 6 % */ #if !defined( _EAP_EXPORT_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_fast_pac_store_services.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_fast_pac_store_services.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_fast_pac_store_services.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 24 % */ #if !defined(_EAP_AM_FAST_PAC_STORE_SERVICES_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_general_settings.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_general_settings.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,81 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 7 % -*/ - -#if !defined(_EAP_AM_GENERAL_SETTINGS_H_) -#define _EAP_AM_GENERAL_SETTINGS_H_ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" -#include "eap_expanded_type.h" -#include "eap_array.h" -#include "eap_database_reference_if.h" - -class eap_method_settings_c; -class abs_eap_am_general_settings_c; - -/** @file */ - -/// This class is the common part of EAP message interface. -/// This class is interface to the message creation and parsing function. -class EAP_EXPORT eap_am_general_settings_c -{ - -private: - - // ---------------------------------------------------------------------- - -public: - - virtual ~eap_am_general_settings_c() - { - } - - virtual bool get_is_valid() = 0; - - // This is documented in abs_eap_stack_interface_c::configure(). - virtual eap_status_e configure() = 0; - - // This is documented in abs_eap_stack_interface_c::shutdown(). - virtual eap_status_e shutdown() = 0; - - virtual eap_status_e get_eap_methods(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e set_eap_methods(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e get_certificate_lists(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e delete_all_eap_settings(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e copy_all_eap_settings(const eap_method_settings_c * const internal_settings) = 0; - - // ---------------------------------------------------------------------- -}; - -eap_am_general_settings_c * new_eap_am_general_settings_c( - abs_eap_am_tools_c * const tools, - abs_eap_am_general_settings_c * const partner); - -#endif //#if !defined(_EAP_AM_GENERAL_SETTINGS_H_) - - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_memory.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_memory.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_memory.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 6 % */ #if !defined(_EAP_MEMORY_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_memory_store.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_memory_store.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_memory_store.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13 % */ #if !defined( _EAP_AM_MEMORY_STORE_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_memory_store_data.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_memory_store_data.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_memory_store_data.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined( _EAP_AM_TOOLS_MEMORY_STORE_DATA_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_message_if.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_message_if.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined(_EAP_AM_MESSAGE_IF_H_) -#define _EAP_AM_MESSAGE_IF_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" - -class abs_eap_general_settings_message_c; - -/** @file */ - -/// This class is the common part of EAP message interface. -/// This class is interface to the message creation and parsing function. -class EAP_EXPORT eap_am_message_if_c -{ - -private: - - // ---------------------------------------------------------------------- - -public: - - virtual ~eap_am_message_if_c() - { - } - - virtual bool get_is_valid() = 0; - - virtual void set_partner(abs_eap_am_message_if_c * const client) = 0; - - /// Function receives the data message from lower layer. - /// Data is formatted to Attribute-Value Pairs. - /// Look at eap_tlv_header_c and eap_tlv_message_data_c. - virtual eap_status_e process_data(const void * const data, const u32_t length) = 0; - - // This is documented in abs_eap_stack_interface_c::configure(). - virtual eap_status_e configure( - const eap_variable_data_c * const client_configuration) = 0; - - // This is documented in abs_eap_stack_interface_c::shutdown(). - virtual eap_status_e shutdown() = 0; - - static eap_am_message_if_c * new_eap_am_server_message_if_c( - abs_eap_am_tools_c * const tools, - const bool is_client_when_true, - const u32_t MTU); - - static eap_am_message_if_c * new_eap_plugin_server_message_if_c( - abs_eap_am_tools_c * const tools); - - static eap_am_message_if_c * new_eap_am_server_general_settings_c( - abs_eap_am_tools_c * const tools); - - static eap_am_message_if_c * new_eap_general_settings_server_message_if_c( - abs_eap_am_tools_c * const tools); - - static eap_am_message_if_c * new_eap_am_message_if_c( - abs_eap_am_tools_c * const tools); - - // ---------------------------------------------------------------------- -}; - -EAP_FUNC_IMPORT eap_am_message_if_c * new_eap_am_client_message_if_c( - abs_eap_am_tools_c * const tools, - const bool is_client_when_true, - const u32_t MTU); - - -#endif //#if !defined(_EAP_AM_MESSAGE_IF_H_) - - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_network_id.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_network_id.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_network_id.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_EAP_NETWORK_ID_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_pac_store.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_pac_store.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined(_EAP_AM_PAC_STORE_H_) -#define _EAP_AM_PAC_STORE_H_ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" -#include "eap_expanded_type.h" -#include "eap_array.h" -#include "eap_database_reference_if.h" - -class eap_method_settings_c; -class abs_eap_am_pac_store_c; - -/** @file */ - -/// This class is the common part of EAP message interface. -/// This class is interface to the message creation and parsing function. -class EAP_EXPORT eap_am_pac_store_c -{ - -private: - - // ---------------------------------------------------------------------- - -public: - - virtual ~eap_am_pac_store_c() - { - } - - virtual bool get_is_valid() = 0; - - // This is documented in abs_eap_stack_interface_c::configure(). - virtual eap_status_e configure() = 0; - - // This is documented in abs_eap_stack_interface_c::shutdown(). - virtual eap_status_e shutdown() = 0; - - virtual eap_status_e open_pac_store() = 0; - - virtual eap_status_e create_device_seed() = 0; - - virtual eap_status_e is_master_key_present() = 0; - - virtual eap_status_e is_master_key_and_password_matching( - const eap_variable_data_c * const pac_store_password) = 0; - - virtual eap_status_e create_and_save_master_key( - const eap_variable_data_c * const pac_store_password) = 0; - - virtual eap_status_e compare_pac_store_password( - eap_variable_data_c * pac_store_password) = 0; - - virtual eap_status_e is_pacstore_password_present() = 0; - - virtual eap_status_e set_pac_store_password( - const eap_variable_data_c * pac_store_password) = 0; - - virtual eap_status_e destroy_pac_store() = 0; - - // ---------------------------------------------------------------------- -}; - -eap_am_pac_store_c * new_eap_am_pac_store_c( - abs_eap_am_tools_c * const tools, - abs_eap_am_pac_store_c * const partner); - -#endif //#if !defined(_EAP_AM_PAC_STORE_H_) - - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_plugin.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_plugin.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 7 % -*/ - -#if !defined(_EAP_AM_PLUGIN_H_) -#define _EAP_AM_PLUGIN_H_ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" -#include "eap_expanded_type.h" -#include "eap_array.h" -#include "eap_database_reference_if.h" - -class eap_method_settings_c; -class abs_eap_am_plugin_c; - -/** @file */ - -/// This class is the common part of EAP message interface. -/// This class is interface to the message creation and parsing function. -class EAP_EXPORT eap_am_plugin_c -{ - -private: - - // ---------------------------------------------------------------------- - -public: - - virtual ~eap_am_plugin_c() - { - } - - virtual bool get_is_valid() = 0; - - // This is documented in abs_eap_stack_interface_c::configure(). - virtual eap_status_e configure() = 0; - - // This is documented in abs_eap_stack_interface_c::shutdown(). - virtual eap_status_e shutdown() = 0; - - virtual eap_status_e get_configuration(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e set_configuration(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e copy_configuration(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e delete_configuration(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e set_index(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e get_type_info(const eap_method_settings_c * const internal_settings) = 0; - - - - // ---------------------------------------------------------------------- -}; - -eap_am_plugin_c * new_eap_am_plugin_c( - abs_eap_am_tools_c * const tools, - abs_eap_am_plugin_c * const partner); - -#endif //#if !defined(_EAP_AM_PLUGIN_H_) - - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_radius.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_radius.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_radius.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #if !defined(_EAP_AM_TYPE_RADIUS_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_stack.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_stack.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,120 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 11 % -*/ - -#if !defined(_EAP_AM_STACK_H_) -#define _EAP_AM_STACK_H_ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" -#include "eap_expanded_type.h" -#include "eap_array.h" -#include "eap_database_reference_if.h" -#include "eapol_key_types.h" - -class abs_eap_am_message_if_c; -class eap_configuration_field_c; -class eap_variable_data_c; -class abs_eap_am_tools_c; -class abs_eap_base_type_c; -class eap_base_type_c; -class eap_am_network_id_c; -class abs_eap_am_stack_c; -class abs_eap_configuration_if_c; - -/** @file */ - -/// This class is the common part of EAP message interface. -/// This class is interface to the message creation and parsing function. -class EAP_EXPORT eap_am_stack_c -: public eap_database_reference_if_c -{ - -private: - - // ---------------------------------------------------------------------- - -public: - - virtual ~eap_am_stack_c() - { - } - - virtual bool get_is_valid() = 0; - - virtual eap_status_e set_partner( - abs_eap_am_stack_c * const partner -#if defined(USE_EAP_SIMPLE_CONFIG) - , abs_eap_configuration_if_c * const configuration_if -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - ) = 0; - - // This is documented in abs_eap_stack_interface_c::configure(). - virtual eap_status_e configure( - const eap_variable_data_c * const client_configuration) = 0; - - // This is documented in abs_eap_stack_interface_c::shutdown(). - virtual eap_status_e shutdown() = 0; - - virtual eap_status_e read_configure( - const eap_configuration_field_c * const field, - eap_variable_data_c * const data) = 0; - - virtual eap_status_e set_timer( - abs_eap_base_timer_c * const p_initializer, - const u32_t p_id, - void * const p_data, - const u32_t p_time_ms) = 0; - - virtual eap_status_e cancel_timer( - abs_eap_base_timer_c * const p_initializer, - const u32_t p_id) = 0; - - virtual eap_status_e check_is_valid_eap_type( - const eap_type_value_e eap_type) = 0; - - virtual eap_status_e get_eap_type_list( - eap_array_c * const eap_type_list) = 0; - - virtual 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, - eap_base_type_c ** const eap_type, - const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id) = 0; - - virtual eap_status_e get_802_11_authentication_mode( - const eap_am_network_id_c * const receive_network_id, - const eapol_key_authentication_type_e authentication_type) = 0; - - // ---------------------------------------------------------------------- -}; - -EAP_FUNC_IMPORT eap_am_stack_c * new_eap_am_stack_c( - abs_eap_am_tools_c * const tools, - const bool is_client_when_true); - -#endif //#if !defined(_EAP_AM_STACK_H_) - - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_tools.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_tools.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_tools.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.2 % +* %version: 10 % */ #if !defined( _EAP_AM_TOOLS_H_ ) @@ -120,7 +120,6 @@ eap_trace_mask_hash_map = (1u << 13u), ///< This value traces only data of hash table. It does map data and selector. eap_trace_mask_timer_queue = (1u << 14u), ///< This value traces the timer queue. eap_trace_mask_ok_returns = (1u << 15u), ///< This value traces the OK return values, alot of them. - eap_trace_mask_trace_never = (1u << 16u), ///< This value never traces. This can disable trace always. }; EAP_FUNC_IMPORT u8_t octet_to_ascii(i32_t octet); @@ -322,8 +321,6 @@ const u32_t TRACE_FLAGS_OK_RETURNS = eap_am_tools_c::eap_trace_mask_ok_returns; -const u32_t EAP_TRACE_FLAGS_NEVER = eap_am_tools_c::eap_trace_mask_trace_never; - //----------------------------------------------------------------------------------------------- #if !defined(USE_EAP_STATUS_RETURN) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_trace.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_trace.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_trace.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #error Not used any more. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_type_aka.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_aka.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_aka.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13 % */ #if !defined(_EAP_AM_TYPE_AKA_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_type_gsmsim.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_gsmsim.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_gsmsim.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined(_EAP_AM_TYPE_GSMSIM_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_type_leap.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_leap.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_leap.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ #ifndef EAP_AM_TYPE_LEAP_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_type_mschapv2.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_mschapv2.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_mschapv2.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ #ifndef _EAP_AM_TYPE_MSCHAPV2_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_type_securid.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_securid.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_securid.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #ifndef EAP_AM_TYPE_SECURID_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_type_sim.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_sim.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_sim.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_EAP_AM_TYPE_SIM_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_type_simple_config.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_simple_config.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_simple_config.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #if !defined(_EAP_AM_TYPE_SIMPLE_CONFIG_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_type_tls_peap.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_type_tls_peap.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_tls_peap.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 16 % */ #if !defined(_EAP_AM_TYPE_TLS_PEAP_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_types.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_types.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_types.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5.1.2 % */ /** @file */ @@ -126,7 +126,7 @@ * This defines const reserved word for template types. * This is because the stupid Windows compiler cannot compile "const template_type * const". */ - #define EAP_TEMPLATE_CONST const + #define EAP_TEMPLATE_CONST #endif diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_am_wimax_authentication.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_wimax_authentication.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_wimax_authentication.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 2.1.2 % */ #if !defined(_EAP_AM_WIMAX_AUTHENTICATION_H_) @@ -33,6 +33,7 @@ class eap_base_type_c; class eap_am_network_id_c; class eap_type_selection_c; +class abs_eapol_wlan_database_reference_if_c; class abs_eap_state_notification_c; /// This is interface to adaptation module of class eap_wimax_authentication_c. @@ -54,7 +55,8 @@ EAP_FUNC_IMPORT static eap_am_wimax_authentication_c* new_eap_am_wimax_authentication( abs_eap_am_tools_c * const tools, - const bool is_client_when_true + const bool is_client_when_true, + const abs_eapol_wlan_database_reference_if_c * const wimax_database_reference ); /// This is documented in abs_eap_stack_interface_c::get_is_valid(). diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_file_config.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_file_config.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_file_config.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 18 % +* %version: 11.1.2 % */ #ifndef _FILECONFIG_H @@ -26,8 +26,6 @@ #include "eap_configuration_field.h" #include "abs_eap_am_file_input.h" -class eap_tlv_header_c; - template Type minimum( Type a, Type b ) @@ -36,7 +34,7 @@ } -class EAP_EXPORT eap_config_value_c +class eap_config_value_c { private: @@ -52,29 +50,25 @@ public: - EAP_FUNC_IMPORT virtual ~eap_config_value_c(); + virtual ~eap_config_value_c(); - EAP_FUNC_IMPORT eap_config_value_c( + eap_config_value_c( abs_eap_am_tools_c* const tools); - EAP_FUNC_IMPORT void set_subsection( + void set_subsection( eap_core_map_c * const subsection_map); - EAP_FUNC_IMPORT eap_core_map_c * get_subsection(); - - EAP_FUNC_IMPORT eap_variable_data_c * get_data(); + eap_core_map_c * get_subsection(); - EAP_FUNC_IMPORT const eap_variable_data_c * get_const_data() const; + eap_variable_data_c * get_data(); - EAP_FUNC_IMPORT void set_type(const eap_configure_type_e type); + void set_type(const eap_configure_type_e type); - EAP_FUNC_IMPORT eap_configure_type_e get_type(); - - EAP_FUNC_IMPORT eap_configure_type_e get_const_type() const; + eap_configure_type_e get_type(); - EAP_FUNC_IMPORT void object_increase_reference_count(); + void object_increase_reference_count(); - EAP_FUNC_IMPORT bool get_is_valid() const; + bool get_is_valid(); }; @@ -145,104 +139,87 @@ { private: - abs_eap_am_tools_c* const m_am_tools; /// This stores eap_config_value_c objects using eap_variable_data selector. eap_core_map_c m_config_map; - eap_variable_data_c m_value_buffer; - bool m_is_valid; - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e expand_environment_variables( + EAP_FUNC_IMPORT eap_status_e expand_environment_variables( eap_core_map_c * const config_map, const eap_variable_data_c * const value, eap_variable_data_c * const expanded_value ); - eap_status_e remove_spaces(eap_variable_data_c * const buffer); + EAP_FUNC_IMPORT eap_status_e remove_spaces(eap_variable_data_c * const buffer); - eap_status_e remove_leading_spaces(eap_variable_data_c * const line); + EAP_FUNC_IMPORT eap_status_e remove_leading_spaces(eap_variable_data_c * const line); - eap_status_e read_section( + EAP_FUNC_IMPORT eap_status_e read_section( abs_eap_am_file_input_c * const file, eap_core_map_c * const config_map); - eap_status_e read_subsections( + EAP_FUNC_IMPORT eap_status_e read_subsections( abs_eap_am_file_input_c * const file, eap_core_map_c * const config_map); - eap_status_e get_subsect( + EAP_FUNC_IMPORT eap_status_e get_subsect( abs_eap_am_file_input_c * const file, eap_variable_data_c * const line); - eap_status_e convert_value( + EAP_FUNC_IMPORT eap_status_e convert_value( eap_core_map_c * const config_map, const eap_variable_data_c * const value_buffer, const eap_configure_type_e type, eap_variable_data_c * const value_data); - eap_status_e store_configure( + EAP_FUNC_IMPORT eap_status_e store_configure( abs_eap_am_file_input_c * const file, const eap_variable_data_c * const line, eap_core_map_c * const config_map); - eap_status_e cnf_parse_value( + EAP_FUNC_IMPORT eap_status_e cnf_parse_value( const eap_variable_data_c * const found_type_value, const eap_variable_data_c * const found_type_name, eap_configure_type_e * const parsed_type, eap_variable_data_c * const parsed_type_value, const bool is_environment_variable); - eap_status_e cnf_get_string( + EAP_FUNC_IMPORT eap_status_e cnf_get_string( const eap_variable_data_c * const param, eap_variable_data_c * const param_name, eap_variable_data_c * const param_value, eap_configure_type_e * const type); - eap_status_e find_rvalue( + EAP_FUNC_IMPORT eap_status_e find_rvalue( const eap_variable_data_c * const config_param, bool * const read_env_value, eap_variable_data_c * const param_name, eap_variable_data_c * const param_value ); - u8_t * read_hex_byte( - u8_t * cursor, - const u8_t * const end, - u8_t * const hex_byte, - const u32_t hex_byte_length); + EAP_FUNC_IMPORT u8_t * read_hex_byte(u8_t * cursor, const u8_t * const end, u8_t * const hex_byte); - u8_t * read_u32_t(u8_t * cursor, const u8_t * const end, u32_t * const hex_byte); + EAP_FUNC_IMPORT u8_t * read_u32_t(u8_t * cursor, const u8_t * const end, u32_t * const hex_byte); - eap_status_e read_configure( + EAP_FUNC_IMPORT eap_status_e read_configure( eap_core_map_c * const config_map, const eap_configuration_field_c * const field, eap_variable_data_c* const data, eap_configure_type_e * const configuration_data_type, const bool existence_test); - eap_status_e file_read_line( + EAP_FUNC_IMPORT eap_status_e file_read_line( abs_eap_am_file_input_c * const file, eap_variable_data_c * const line); - eap_status_e read_configure( + EAP_FUNC_IMPORT eap_status_e read_configure( const eap_configuration_field_c * const field, eap_variable_data_c* const data, eap_core_map_c * const config_map, const bool check_subsection_when_true); - eap_status_e read_all_configurations( - const eap_configuration_field_c * const field, - eap_variable_data_c* const data, - eap_core_map_c * const config_map); - - eap_status_e add_option( - const eap_tlv_header_c * const option_header); - public: EAP_FUNC_IMPORT eap_file_config_c( @@ -253,9 +230,6 @@ EAP_FUNC_IMPORT eap_status_e configure( abs_eap_am_file_input_c * const file); - EAP_FUNC_IMPORT eap_status_e read_configuration_message( - const eap_variable_data_c * const configuration_message); - EAP_FUNC_IMPORT eap_status_e read_configure( const eap_configuration_field_c * const field, eap_variable_data_c* const data); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eap_sim_triplets.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_sim_triplets.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_sim_triplets.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_EAP_SIM_TRIPLETS_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/eapol_am_wlan_authentication.h --- a/eapol/eapol_framework/eapol_common/am/include/eapol_am_wlan_authentication.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eapol_am_wlan_authentication.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 2.1.2 % */ #if !defined(_EAPOL_AM_WLAN_AUTHENTICATION_H_) @@ -34,8 +34,8 @@ class eap_base_type_c; class eap_am_network_id_c; class eap_type_selection_c; +class abs_eapol_wlan_database_reference_if_c; class abs_eap_state_notification_c; -#include "eap_database_reference_if.h" #if defined(USE_EAP_SIMPLE_CONFIG) class abs_eap_configuration_if_c; @@ -44,7 +44,6 @@ /// This is interface to adaptation module of class eapol_wlan_authentication_c. class EAP_EXPORT eapol_am_wlan_authentication_c -: public eap_database_reference_if_c { private: //-------------------------------------------------- @@ -58,14 +57,15 @@ //-------------------------------------------------- // - EAP_FUNC_IMPORT virtual ~eapol_am_wlan_authentication_c(); + virtual ~eapol_am_wlan_authentication_c(); /// @param tools: Constructor takes parameter tools that is pointer to adaptation of the platform. /// @param is_client_when_true: Second parameter is true when object is client and false when object is server. /// @param wlan_database_reference: third parameter is pointer to interface to read the current database reference. EAP_FUNC_IMPORT static eapol_am_wlan_authentication_c * new_eapol_am_wlan_authentication( abs_eap_am_tools_c * const tools, - const bool is_client_when_true + const bool is_client_when_true, + const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference ); /// This is documented in abs_eap_stack_interface_c::get_is_valid(). @@ -85,8 +85,8 @@ #endif // #if defined(USE_EAP_SIMPLE_CONFIG) ) = 0; - /// Function resets current WPA-configuration. - virtual eap_status_e reset_wpa_configuration() = 0; + /// Function resets current EAP-configuration. + virtual eap_status_e reset_eap_configuration() = 0; /// Function sets the new WLAN parameters. virtual eap_status_e set_wlan_parameters( @@ -105,6 +105,13 @@ const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. ) = 0; + /** + * This function queries the selected and active EAP-types that can be used + * in current connection. + */ + virtual eap_status_e get_selected_eap_types( + eap_array_c * const selected_eap_types) = 0; + /// Function gets the current WLAN configuration, now only the HASH of the WPA(2)-PSK. virtual eap_status_e get_wlan_configuration( eap_variable_data_c * const wpa_preshared_key_hash) = 0; @@ -121,6 +128,36 @@ const eapol_key_authentication_type_e authentication_type) = 0; /** + * The load_module() function function indicates the lower level to + * load new module of EAP-type. + * @param type is the requested EAP-type. + * @param tunneling_type is the EAP-type that tunnels the type. When plain EAP-type is used this parameter is eap_type_none. + * @param partner is pointer to the caller object. + * The partner of the new created EAP-type object is the caller object. + * @param eap_type is a pointer to a pointer of EAP-type object. + * Adaptation module sets eap_type pointer to created EAP-type object. + * @param is_client_when_true parameter indicates whether the network entity should + * act as a client (true) or server (false), in terms of EAP-protocol whether + * this network entity is EAP-supplicant (true) or EAP-authenticator (false). + * @param receive_network_id includes the addresses (network identity) and packet type. + */ + virtual 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, + eap_base_type_c ** const eap_type, + const bool is_client_when_true, + const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. + ) = 0; + + /** + * The unload_module() function unloads the module of a EAP-type. + * @param eap_type is the requested EAP-type. + */ + virtual eap_status_e unload_module( + const eap_type_value_e type) = 0; + + /** * The read_configure() function reads the configuration data identified * by the field string of field_length bytes length. Adaptation module must direct * the query to some persistent store. @@ -180,6 +217,21 @@ virtual eap_status_e cancel_all_timers() = 0; /** + * This function queries the validity of EAP-type. + * Lower layer should return eap_status_ok if this EAP-type is supported. + */ + virtual eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type) = 0; + + /** + * This function queries the list of supported EAP-types. + * Lower layer should return eap_status_ok if this call succeeds. + * @param eap_type_list will include the list of supported EAP-types. Each value in list + * is type of u32_t and represent one supported EAP-type. List consists of subsequent u32_t type values. + */ + virtual eap_status_e get_eap_type_list( + eap_array_c * const eap_type_list) = 0; + + /** * This is notification of internal state transition. * This is used for notifications, debugging and protocol testing. * The primal notifications are eap_state_variable_e::eap_state_authentication_finished_successfully diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/ms_mppe_keys.h --- a/eapol/eapol_framework/eapol_common/am/include/ms_mppe_keys.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/ms_mppe_keys.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #if !defined(_MS_MPPE_KEYS_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/ms_mppe_send_recv_key.h --- a/eapol/eapol_framework/eapol_common/am/include/ms_mppe_send_recv_key.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/ms_mppe_send_recv_key.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #if !defined(_MS_MPPE_SEND_RECV_KEY_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/simple_config_am_services.h --- a/eapol/eapol_framework/eapol_common/am/include/simple_config_am_services.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/simple_config_am_services.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 25 % */ #if !defined(_SIMPLE_CONFIG_AM_SERVICES_H_) @@ -52,11 +52,10 @@ public: //-------------------------------------------------- - /* The destructor does nothing */ virtual ~simple_config_am_services_c() { } - + /** * Object must indicate it's validity. * If object initialization fails this function must return false. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/tls_am_application_eap_fast.h --- a/eapol/eapol_framework/eapol_common/am/include/tls_am_application_eap_fast.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/tls_am_application_eap_fast.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 29 % */ #if !defined(_TLS_AM_APPLICATION_EAP_FAST_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/include/tls_am_services.h --- a/eapol/eapol_framework/eapol_common/am/include/tls_am_services.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/tls_am_services.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 25 % */ #if !defined(_TLS_AM_SERVICES_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/am/type/tls_peap/tls_am_services.cpp --- a/eapol/eapol_framework/eapol_common/am/type/tls_peap/tls_am_services.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/type/tls_peap/tls_am_services.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/asn1_der_type.cpp --- a/eapol/eapol_framework/eapol_common/common/asn1_der_type.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/asn1_der_type.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,17 +16,9 @@ */ /* -* %version: % +* %version: 34 % */ -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 761 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #include "asn1_der_type.h" #include "eap_automatic_variable.h" @@ -682,7 +674,7 @@ "%02x \0", oid_octet); - u8_t oid = static_cast(oid_octet & (~OID_HIGH_BIT)); + u8_t oid = oid_octet & (~OID_HIGH_BIT); if (ind > offset) { @@ -934,7 +926,7 @@ { if ((extented_tag[0] & static_cast(asn1_high_bit_mask_tag)) == 0) { - return static_cast(extented_tag - m_input_data); + return (extented_tag - m_input_data); } ++extented_tag; @@ -965,7 +957,7 @@ if ((length_octet1 & static_cast(asn1_high_bit_mask_tag)) == 0) { // Short Length field. - return static_cast(m_offset_of_length_field + asn1_identifier_const_short_length_size); + return m_offset_of_length_field + asn1_identifier_const_short_length_size; } else if (m_input_data_length > static_cast(m_offset_of_length_field + asn1_identifier_const_short_length_size)) { @@ -1644,7 +1636,7 @@ status = sub_type->initialize( current_type->get_unused_data_length(), current_type->get_unused_data(), - static_cast(current_type->get_recursion() + 1u), + current_type->get_recursion() + 1u, current_type->get_count_of_sub_types(), debug_buffer); if (status != eap_status_ok) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_base_type.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_base_type.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_base_type.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_buffer.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_buffer.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_buffer.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11.1.5 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_crypto_api.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_crypto_api.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_crypto_api.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 36 % */ // This is enumeration of EAPOL source code. @@ -582,7 +582,7 @@ for (u32_t ind = 0u; ind < block_size/sizeof(u64_t); ind++) { - pdata[ind] = static_cast(pdata[ind] ^ pIV[ind]); + pdata[ind] ^= pIV[ind]; } } else @@ -595,7 +595,7 @@ for (u32_t ind = 0u; ind < block_size/sizeof(u32_t); ind++) { - pdata[ind] = static_cast(pdata[ind] ^ pIV[ind]); + pdata[ind] ^= pIV[ind]; } } else if ((reinterpret_cast(cipher_IV) % sizeof(u16_t)) == 0 @@ -606,7 +606,7 @@ for (u32_t ind = 0u; ind < block_size/sizeof(u16_t); ind++) { - pdata[ind] = static_cast(pdata[ind] ^ pIV[ind]); + pdata[ind] ^= pIV[ind]; } } else @@ -616,7 +616,7 @@ for (u32_t ind = 0u; ind < block_size/sizeof(u8_t); ind++) { - pdata[ind] = static_cast(pdata[ind] ^ pIV[ind]); + pdata[ind] ^= pIV[ind]; } } } @@ -5293,7 +5293,7 @@ for (j_ind = 0; j_ind < digest_length; j_ind++) { - p_output[j_ind] = static_cast(p_output[j_ind] ^ p_digest[j_ind]); + p_output[j_ind] ^= p_digest[j_ind]; } } // for() diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_expanded_type.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_expanded_type.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_expanded_type.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12.1.2 % */ // This is enumeration of EAPOL source code. @@ -67,38 +67,6 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT bool eap_expanded_type_c::get_is_valid() const -{ - return true; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT bool eap_expanded_type_c::get_is_valid_data() const -{ - return get_is_valid(); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_expanded_type_c * eap_expanded_type_c::copy() const -{ - eap_expanded_type_c * const new_entry = new eap_expanded_type_c; - - if (new_entry == 0 - || new_entry->get_is_valid() == false) - { - delete new_entry; - return 0; - } - - new_entry->set_eap_type_values(m_vendor_id, m_vendor_type); - - return new_entry; -} - -//-------------------------------------------------- - EAP_FUNC_EXPORT bool eap_expanded_type_c::is_expanded_type(const eap_type_ietf_values_e eap_type) { return (eap_type == eap_type_expanded_type); @@ -106,17 +74,26 @@ //-------------------------------------------------- +#if defined(USE_EAP_EXPANDED_TYPES) EAP_FUNC_EXPORT bool eap_expanded_type_c::is_ietf_type(const eap_expanded_type_c eap_type) { return (eap_type.get_vendor_id() == eap_type_vendor_id_ietf && eap_type.get_vendor_type() < eap_type_expanded_type); } +#else +EAP_FUNC_EXPORT bool eap_expanded_type_c::is_ietf_type(const eap_type_ietf_values_e eap_type) +{ + return (eap_type < eap_type_expanded_type); +} + +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + //-------------------------------------------------- EAP_FUNC_EXPORT eap_status_e eap_expanded_type_c::get_type_data( abs_eap_am_tools_c * const am_tools, - eap_type_ietf_values_e * const type) const + eap_type_ietf_values_e * const type) { if (type == 0) { @@ -143,7 +120,7 @@ EAP_FUNC_EXPORT eap_status_e eap_expanded_type_c::get_type_data( abs_eap_am_tools_c * const am_tools, - eap_expanded_type_c * const type) const + eap_expanded_type_c * const type) { if (type == 0) { @@ -160,10 +137,9 @@ EAP_FUNC_EXPORT eap_status_e eap_expanded_type_c::get_expanded_type_data( abs_eap_am_tools_c * const am_tools, - eap_variable_data_c * const data) const + eap_variable_data_c * const data) { - if (data == 0 - || data->get_is_valid() == false) + if (data == 0) { EAP_UNREFERENCED_PARAMETER(am_tools); return EAP_STATUS_RETURN(am_tools, eap_status_illegal_parameter); @@ -245,8 +221,7 @@ abs_eap_am_tools_c * const am_tools, const eap_variable_data_c * const data) { - if (data == 0 - || data->get_data_length() != get_eap_expanded_type_size() + if (data->get_data_length() != get_eap_expanded_type_size() || data->get_data(data->get_data_length()) == 0) { EAP_UNREFERENCED_PARAMETER(am_tools); @@ -296,61 +271,6 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_expanded_type_c::set_expanded_type_data( - abs_eap_am_tools_c * const am_tools, - const void * const data, - const u32_t data_length) -{ - if (data_length != get_eap_expanded_type_size() - || data == 0) - { - EAP_UNREFERENCED_PARAMETER(am_tools); - return EAP_STATUS_RETURN(am_tools, eap_status_illegal_parameter); - } - - u32_t offset = 0ul; - - { - const u8_t * const ietf_type = &(reinterpret_cast(data)[offset]); - if (ietf_type == 0) - { - return EAP_STATUS_RETURN(am_tools, eap_status_illegal_parameter); - } - offset += m_ietf_type_size; - - if (static_cast(*ietf_type) != eap_type_expanded_type) - { - return EAP_STATUS_RETURN(am_tools, eap_status_illegal_parameter); - } - } - - { - const u8_t * const vendor_id = &(reinterpret_cast(data)[offset]); - if (vendor_id == 0) - { - return EAP_STATUS_RETURN(am_tools, eap_status_illegal_parameter); - } - offset += m_vendor_id_size; - - m_vendor_id = static_cast(eap_read_u24_t_network_order(vendor_id, m_vendor_id_size)); - } - - { - const u8_t * const vendor_type = &(reinterpret_cast(data)[offset]); - if (vendor_type == 0) - { - return EAP_STATUS_RETURN(am_tools, eap_status_illegal_parameter); - } - offset += m_vendor_type_size; - - m_vendor_type = eap_read_u32_t_network_order(vendor_type, m_vendor_type_size); - } - - return EAP_STATUS_RETURN(am_tools, eap_status_ok); -} - -//-------------------------------------------------- - EAP_FUNC_EXPORT void eap_expanded_type_c::set_eap_type_values( const eap_type_vendor_id_e vendor_id, const u32_t vendor_type) @@ -471,7 +391,11 @@ const u32_t index, const void * const p_buffer, const u32_t buffer_length, +#if defined(USE_EAP_EXPANDED_TYPES) eap_expanded_type_c * const type +#else + eap_type_ietf_values_e * const type +#endif //#if defined(USE_EAP_EXPANDED_TYPES) ) { if (p_buffer == 0) @@ -575,11 +499,22 @@ sizeof(u32_t)); } +#if defined(USE_EAP_EXPANDED_TYPES) type->set_eap_type_values( vendor_id_value, vendor_type_value); EAP_ASSERT_TOOLS(am_tools, (ietf_eap_type == eap_type_expanded_type)); +#else + if (vendor_id_value == eap_type_vendor_id_ietf) + { + *type = static_cast(vendor_type_value); // Type field follows eap_header_c. + } + else + { + *type = ietf_eap_type; // Type field follows eap_header_c. + } +#endif return EAP_STATUS_RETURN(am_tools, eap_status_ok); } @@ -608,7 +543,11 @@ void * const p_buffer, const u32_t buffer_length, const bool write_extented_type_when_true, +#if defined(USE_EAP_EXPANDED_TYPES) const eap_expanded_type_c p_type ///< The EAP type to be written. +#else + const eap_type_ietf_values_e p_type ///< The EAP type to be written. +#endif //#if defined(USE_EAP_EXPANDED_TYPES) ) { if (p_buffer == 0) @@ -619,6 +558,8 @@ u8_t * const buffer = static_cast(p_buffer); +#if defined(USE_EAP_EXPANDED_TYPES) + if (write_extented_type_when_true == false && is_ietf_type(p_type) == true && buffer_length >= eap_expanded_type_c::m_ietf_type_size*(index+1ul)) @@ -691,11 +632,34 @@ return EAP_STATUS_RETURN(am_tools, eap_status_allocation_error); } +#else + + EAP_UNREFERENCED_PARAMETER(write_extented_type_when_true); // Only Expanded Type version uses this. + + if (buffer_length >= eap_expanded_type_c::m_ietf_type_size*(index+1ul)) + { + u8_t * const type_data = + &(buffer[eap_expanded_type_c::m_ietf_type_size*index]); + if (type_data == 0) + { + return EAP_STATUS_RETURN(am_tools, eap_status_allocation_error); + } + *type_data = static_cast(p_type); + } + else + { + return EAP_STATUS_RETURN(am_tools, eap_status_allocation_error); + } + +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + return EAP_STATUS_RETURN(am_tools, eap_status_ok); } //-------------------------------------------------- +#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_EXPORT i32_t eap_expanded_type_c::compare(const eap_expanded_type_c * const data) const { if (*this == *data) @@ -719,6 +683,8 @@ } } +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + //-------------------------------------------------- //-------------------------------------------------- //-------------------------------------------------- @@ -732,6 +698,8 @@ //-------------------------------------------------- //-------------------------------------------------- +#if defined(USE_EAP_EXPANDED_TYPES) + EAP_C_FUNC_EXPORT u32_t convert_eap_type_to_u32_t(eap_type_value_e type) { // NOTE, this returns only 8 least significant bits of vendor type. @@ -745,6 +713,20 @@ | static_cast(type.get_vendor_type()); } +#else + +EAP_C_FUNC_EXPORT u32_t convert_eap_type_to_u32_t(eap_type_value_e type) +{ + return static_cast(type); +} + +EAP_C_FUNC_EXPORT u64_t convert_eap_type_to_u64_t(eap_type_value_e type) +{ + return static_cast(type); +} + +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + //-------------------------------------------------- //-------------------------------------------------- //-------------------------------------------------- diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_general_header_base.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_general_header_base.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_general_header_base.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 11.1.2 % +* %version: 13 % */ // This is enumeration of EAPOL source code. @@ -53,6 +53,7 @@ , m_error_detected(true) #endif //#if defined(USE_EAP_ERROR_TESTS) { + EAP_ASSERT((m_header_buffer != 0 && m_header_buffer_length > 0ul) || (m_header_buffer == 0 && m_header_buffer_length == 0ul)); } EAP_FUNC_EXPORT void eap_general_header_base_c::set_header_buffer(u8_t * const header_buffer, const u32_t header_buffer_length) @@ -63,6 +64,8 @@ EAP_FUNC_EXPORT u8_t * eap_general_header_base_c::get_header_buffer(const u32_t data_length) const { + EAP_ASSERT(m_header_buffer != 0 && m_header_buffer_length > 0ul && m_header_buffer_length >= data_length); + if (m_header_buffer_length >= data_length) { return m_header_buffer; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_handle.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_handle.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_handle.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_header.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 20 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_header_string.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_header_string.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_header_string.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ // This is enumeration of EAPOL source code. @@ -83,7 +83,9 @@ else EAP_IF_RETURN_STRING(type, eap_type_fast) #endif //#if defined(USE_FAST_EAP_TYPE) else EAP_IF_RETURN_STRING(type, eap_type_saesim) +#if defined(USE_EAP_EXPANDED_TYPES) else EAP_IF_RETURN_STRING(type, eap_expanded_type_simple_config.get_type()) +#endif //#if defined(USE_EAP_EXPANDED_TYPES) else #endif // #if defined(USE_EAP_TRACE_STRINGS) { diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_master_session_key.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_master_session_key.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_master_session_key.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_memory_store_variable_data.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_memory_store_variable_data.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_memory_store_variable_data.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_method_settings.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_method_settings.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1236 +0,0 @@ -/* -* Copyright (c) 2001-2010 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-settings class. -* -*/ - -/* -* %version: 24 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 759 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - -#include "eap_am_tools.h" -#include "eap_am_export.h" -#include "eap_method_settings.h" -#include "eap_array_algorithms.h" -#include "eap_automatic_variable.h" - -//------------------------------------------------------------------------------- - -eap_certificate_entry_c::~eap_certificate_entry_c() -{ -} - -//------------------------------------------------------------------------------- - -eap_certificate_entry_c::eap_certificate_entry_c( - abs_eap_am_tools_c * const tools) -: m_am_tools(tools) -, m_CertType(eap_certificate_type_none) -, m_SubjectNamePresent(false) -, m_SubjectName(tools) -, m_IssuerNamePresent(false) -, m_IssuerName(tools) -, m_SerialNumberPresent(false) -, m_SerialNumber(tools) -, m_SubjectKeyIDPresent(false) -, m_SubjectKeyID(tools) -, m_ThumbprintPresent(false) -, m_Thumbprint(tools) -, m_LabelPresent(false) -, m_Label(tools) -, m_PrimaryNamePresent(false) -, m_PrimaryName(tools) -, m_SecondaryNamePresent(false) -, m_SecondaryName(tools) -, m_iIsEnabledPresent(false) -, m_iIsEnabled(false) -{ -} - -//------------------------------------------------------------------------------- - -bool eap_certificate_entry_c::get_is_valid() -{ - return true; -} - -//------------------------------------------------------------------------------- - -bool eap_certificate_entry_c::get_is_valid_data() -{ - return get_is_valid(); -} - -//------------------------------------------------------------------------------- - -eap_certificate_entry_c * eap_certificate_entry_c::copy() -{ - eap_certificate_entry_c * const new_entry = new eap_certificate_entry_c(m_am_tools); - - eap_automatic_variable_c automatic_new_entry( - m_am_tools, - new_entry); - - if (new_entry == 0 - || new_entry->get_is_valid() == false) - { - (void) EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - return 0; - } - - eap_status_e status(eap_status_ok); - - new_entry->m_CertType = m_CertType; - - new_entry->m_SubjectNamePresent = m_SubjectNamePresent; - if (m_SubjectNamePresent == true) - { - status = new_entry->m_SubjectName.set_copy_of_buffer(&m_SubjectName); - if (status != eap_status_ok) - { - (void) EAP_STATUS_RETURN(m_am_tools, status); - return 0; - } - } - - new_entry->m_IssuerNamePresent = m_IssuerNamePresent; - if (m_IssuerNamePresent == true) - { - status = new_entry->m_IssuerName.set_copy_of_buffer(&m_IssuerName); - if (status != eap_status_ok) - { - (void) EAP_STATUS_RETURN(m_am_tools, status); - return 0; - } - } - - new_entry->m_SerialNumberPresent = m_SerialNumberPresent; - if (m_SerialNumberPresent == true) - { - status = new_entry->m_SerialNumber.set_copy_of_buffer(&m_SerialNumber); - if (status != eap_status_ok) - { - (void) EAP_STATUS_RETURN(m_am_tools, status); - return 0; - } - } - - new_entry->m_SubjectKeyIDPresent = m_SubjectKeyIDPresent; - if (m_SubjectKeyIDPresent == true) - { - status = new_entry->m_SubjectKeyID.set_copy_of_buffer(&m_SubjectKeyID); - if (status != eap_status_ok) - { - (void) EAP_STATUS_RETURN(m_am_tools, status); - return 0; - } - } - - new_entry->m_ThumbprintPresent = m_ThumbprintPresent; - if (m_ThumbprintPresent == true) - { - status = new_entry->m_Thumbprint.set_copy_of_buffer(&m_Thumbprint); - if (status != eap_status_ok) - { - (void) EAP_STATUS_RETURN(m_am_tools, status); - return 0; - } - } - - new_entry->m_LabelPresent = m_LabelPresent; - if (m_LabelPresent == true) - { - status = new_entry->m_Label.set_copy_of_buffer(&m_Label); - if (status != eap_status_ok) - { - (void) EAP_STATUS_RETURN(m_am_tools, status); - return 0; - } - } - - new_entry->m_PrimaryNamePresent = m_PrimaryNamePresent; - if (m_PrimaryNamePresent == true) - { - status = new_entry->m_PrimaryName.set_copy_of_buffer(&m_PrimaryName); - if (status != eap_status_ok) - { - (void) EAP_STATUS_RETURN(m_am_tools, status); - return 0; - } - } - - new_entry->m_SecondaryNamePresent = m_SecondaryNamePresent; - if (m_SecondaryNamePresent == true) - { - status = new_entry->m_SecondaryName.set_copy_of_buffer(&m_SecondaryName); - if (status != eap_status_ok) - { - (void) EAP_STATUS_RETURN(m_am_tools, status); - return 0; - } - } - - new_entry->m_iIsEnabledPresent = m_iIsEnabledPresent; - new_entry->m_iIsEnabled = m_iIsEnabled; - - automatic_new_entry.do_not_free_variable(); - - return new_entry; -} - -//------------------------------------------------------------------------------- - -void eap_certificate_entry_c::trace() const -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_CertType=%d\n"), - m_CertType)); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_SubjectNamePresent=%d\n"), - m_SubjectNamePresent)); - if (m_SubjectNamePresent == true) - { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_SubjectName"), - m_SubjectName.get_data(), - m_SubjectName.get_data_length())); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_IssuerNamePresent=%d\n"), - m_IssuerNamePresent)); - if (m_IssuerNamePresent == true) - { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_IssuerName"), - m_IssuerName.get_data(), - m_IssuerName.get_data_length())); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_SerialNumberPresent=%d\n"), - m_SerialNumberPresent)); - if (m_SerialNumberPresent == true) - { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_SerialNumber"), - m_SerialNumber.get_data(), - m_SerialNumber.get_data_length())); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_SubjectKeyIDPresent=%d\n"), - m_SubjectKeyIDPresent)); - if (m_SubjectKeyIDPresent == true) - { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_SubjectKeyID"), - m_SubjectKeyID.get_data(), - m_SubjectKeyID.get_data_length())); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_ThumbprintPresent=%d\n"), - m_ThumbprintPresent)); - if (m_ThumbprintPresent == true) - { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_Thumbprint"), - m_Thumbprint.get_data(), - m_Thumbprint.get_data_length())); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_LabelPresent=%d\n"), - m_LabelPresent)); - if (m_LabelPresent == true) - { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_Label"), - m_Label.get_data(), - m_Label.get_data_length())); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_PrimaryNamePresent=%d\n"), - m_PrimaryNamePresent)); - if (m_PrimaryNamePresent == true) - { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_PrimaryName"), - m_PrimaryName.get_data(), - m_PrimaryName.get_data_length())); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_SecondaryNamePresent=%d\n"), - m_SecondaryNamePresent)); - if (m_SecondaryNamePresent == true) - { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_SecondaryName"), - m_SecondaryName.get_data(), - m_SecondaryName.get_data_length())); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_iIsEnabledPresent=%d\n"), - m_iIsEnabledPresent)); - if (m_iIsEnabledPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_certificate_entry_c::trace(): m_iIsEnabled=%d\n"), - m_iIsEnabled)); - } -} - -//------------------------------------------------------------------------------- -//------------------------------------------------------------------------------- -//------------------------------------------------------------------------------- - -eap_method_values_c::~eap_method_values_c() -{ -} - -//------------------------------------------------------------------------------- - -eap_method_values_c::eap_method_values_c( - abs_eap_am_tools_c * const tools) -: m_am_tools(tools) -, m_is_valid(false) -, m_completion_status(eap_status_process_general_error) -, m_EAPType(eap_type_none) -, m_IndexType(0ul) -, m_Index(0ul) -, m_UseAutomaticCACertificatePresent(false) -, m_UseAutomaticCACertificate(false) -, m_UseAutomaticUsernamePresent(false) -, m_UseAutomaticUsername(false) -, m_UseAutomaticRealmPresent(false) -, m_UseAutomaticRealm(false) -, m_UsernamePresent(false) -, m_Username_fix(tools) -, m_PasswordExistPresent(false) -, m_PasswordPresent(false) -, m_Password(tools) -, m_RealmPresent(false) -, m_Realm(tools) -, m_UsePseudonymsPresent(false) -, m_UsePseudonyms(false) -, m_VerifyServerRealmPresent(false) -, m_VerifyServerRealm(false) -, m_RequireClientAuthenticationPresent(false) -, m_RequireClientAuthentication(false) -, m_SessionValidityTimePresent(false) -, m_SessionValidityTime(0ul) -, m_CipherSuitesPresent(false) -, m_CipherSuites(tools) -, m_PEAPVersionsPresent(false) -, m_PEAPv0Allowed(false) -, m_PEAPv1Allowed(false) -, m_PEAPv2Allowed(false) -, m_CertificatesPresent(false) -, m_Certificates(tools) -, m_EnabledEncapsulatedEAPTypesPresent(false) -, m_EnabledEncapsulatedEAPTypes(tools) -, m_DisabledEncapsulatedEAPTypesPresent(false) -, m_DisabledEncapsulatedEAPTypes(tools) -, m_AuthProvModeAllowedPresent(false) -, m_AuthProvModeAllowed(false) -, m_UnauthProvModeAllowedPresent(false) -, m_UnauthProvModeAllowed(false) -, m_PACGroupReferencePresent(false) -, m_PACGroupReference(tools) -, m_WarnADHPNoPACPresent(false) -, m_WarnADHPNoPAC(false) -, m_WarnADHPNoMatchingPACPresent(false) -, m_WarnADHPNoMatchingPAC(false) -, m_WarnNotDefaultServerPresent(false) -, m_WarnNotDefaultServer(false) -, m_SelectedEAPTypesPresent(false) -, m_active_eap_methods(tools) -, m_disabled_eap_methods(tools) -, m_TunnelingTypePresent(false) -, m_TunnelingType(eap_type_none) -, m_DestinationIndexAndTypePresent(false) -, m_DestinationIndexType(0ul) -, m_DestinationIndex(0ul) -, m_MethodInfoPresent(false) -, m_KReleaseDate(tools) -, m_KEapTypeVersion(tools) -, m_KManufacturer(tools) -, m_ButtonIdPresent(false) -, m_ButtonId(0) -, m_ShowPassWordPromptPresent(false) -, m_ShowPassWordPrompt(false) -, m_UseIdentityPrivacyPresent(false) -, m_UseIdentityPrivacy(false) -{ -} - -//------------------------------------------------------------------------------- - -abs_eap_am_tools_c * eap_method_values_c::get_am_tools() const -{ - return m_am_tools; -} - - -//------------------------------------------------------------------------------- -//------------------------------------------------------------------------------- -//------------------------------------------------------------------------------- - -eap_method_settings_c::~eap_method_settings_c() -{ -} - -//------------------------------------------------------------------------------- - -eap_method_settings_c::eap_method_settings_c( - abs_eap_am_tools_c * const tools) - : eap_method_values_c(tools) -{ - m_is_valid = true; -} - -//------------------------------------------------------------------------------- - -eap_method_settings_c::eap_method_settings_c( - abs_eap_am_tools_c * const tools, - const eap_method_settings_c * const init) - : eap_method_values_c(tools) -{ - eap_status_e status(eap_status_ok); - - // The correct status is set in the end of this function. - m_completion_status = eap_status_allocation_error; - - m_EAPType = init->m_EAPType; - - m_IndexType = init->m_IndexType; - - m_Index = init->m_Index; - - m_UseAutomaticCACertificatePresent = init->m_UseAutomaticCACertificatePresent; - m_UseAutomaticCACertificate = init->m_UseAutomaticCACertificate; - - m_UseAutomaticUsernamePresent = init->m_UseAutomaticUsernamePresent; - m_UseAutomaticUsername = init->m_UseAutomaticUsername; - - m_UseAutomaticRealmPresent = init->m_UseAutomaticRealmPresent; - m_UseAutomaticRealm = init->m_UseAutomaticRealm; - - m_UsernamePresent = init->m_UsernamePresent; - if (m_UsernamePresent == true) - { - status = m_Username_fix.set_copy_of_buffer(&(init->m_Username_fix)); - if (status != eap_status_ok) - { - return; - } - } - - m_PasswordExistPresent = init->m_PasswordExistPresent; - m_PasswordExist = init->m_PasswordExist; - - m_PasswordPresent = init->m_PasswordPresent; - if (m_PasswordPresent == true) - { - status = m_Password.set_copy_of_buffer(&(init->m_Password)); - if (status != eap_status_ok) - { - return; - } - } - - m_RealmPresent = init->m_RealmPresent; - if (m_RealmPresent == true) - { - status = m_Realm.set_copy_of_buffer(&(init->m_Realm)); - if (status != eap_status_ok) - { - return; - } - } - - m_UsePseudonymsPresent = init->m_UsePseudonymsPresent; - m_UsePseudonyms = init->m_UsePseudonyms; - - m_VerifyServerRealmPresent = init->m_VerifyServerRealmPresent; - m_VerifyServerRealm = init->m_VerifyServerRealm; - - m_RequireClientAuthenticationPresent = init->m_RequireClientAuthenticationPresent; - m_RequireClientAuthentication = init->m_RequireClientAuthentication; - - m_SessionValidityTimePresent = init->m_SessionValidityTimePresent; - m_SessionValidityTime = init->m_SessionValidityTime; - - m_CipherSuitesPresent = init->m_CipherSuitesPresent; - if (m_CipherSuitesPresent == true) - { - status = copy_simple( - &(init->m_CipherSuites), - &m_CipherSuites, - tools, - false); - if (status != eap_status_ok) - { - return; - } - } - - m_PEAPVersionsPresent = init->m_PEAPVersionsPresent; - m_PEAPv0Allowed = init->m_PEAPv0Allowed; - m_PEAPv1Allowed = init->m_PEAPv1Allowed; - m_PEAPv2Allowed = init->m_PEAPv2Allowed; - - m_CertificatesPresent = init->m_CertificatesPresent; - if (m_CertificatesPresent == true) - { - status = copy( - &(init->m_Certificates), - &m_Certificates, - tools, - false); - if (status != eap_status_ok) - { - return; - } - } - - m_EnabledEncapsulatedEAPTypesPresent = init->m_EnabledEncapsulatedEAPTypesPresent; - if (m_EnabledEncapsulatedEAPTypesPresent == true) - { - status = copy( - &(init->m_EnabledEncapsulatedEAPTypes), - &m_EnabledEncapsulatedEAPTypes, - tools, - false); - if (status != eap_status_ok) - { - return; - } - } - - m_DisabledEncapsulatedEAPTypesPresent = init->m_DisabledEncapsulatedEAPTypesPresent; - if (m_DisabledEncapsulatedEAPTypesPresent == true) - { - status = copy( - &(init->m_DisabledEncapsulatedEAPTypes), - &m_DisabledEncapsulatedEAPTypes, - tools, - false); - if (status != eap_status_ok) - { - return; - } - } - - m_AuthProvModeAllowedPresent = init->m_AuthProvModeAllowedPresent; - m_AuthProvModeAllowed = init->m_AuthProvModeAllowed; - - m_UnauthProvModeAllowedPresent = init->m_UnauthProvModeAllowedPresent; - m_UnauthProvModeAllowed = init->m_UnauthProvModeAllowed; - - m_PACGroupReferencePresent = init->m_PACGroupReferencePresent; - if (m_PACGroupReferencePresent == true) - { - status = m_PACGroupReference.set_copy_of_buffer(&(init->m_PACGroupReference)); - if (status != eap_status_ok) - { - return; - } - } - - m_WarnADHPNoPACPresent = init->m_WarnADHPNoPACPresent; - m_WarnADHPNoPAC = init->m_WarnADHPNoPAC; - - m_WarnADHPNoMatchingPACPresent = init->m_WarnADHPNoMatchingPACPresent; - m_WarnADHPNoMatchingPAC = init->m_WarnADHPNoMatchingPAC; - - m_WarnNotDefaultServerPresent = init->m_WarnNotDefaultServerPresent; - m_WarnNotDefaultServer = init->m_WarnNotDefaultServer; - - m_SelectedEAPTypesPresent = init->m_SelectedEAPTypesPresent; - if (m_SelectedEAPTypesPresent == true) - { - status = copy( - &(init->m_active_eap_methods), - &m_active_eap_methods, - tools, - false); - if (status != eap_status_ok) - { - return; - } - - status = copy( - &(init->m_disabled_eap_methods), - &m_disabled_eap_methods, - tools, - false); - if (status != eap_status_ok) - { - return; - } - } - - m_TunnelingTypePresent = init->m_TunnelingTypePresent; - m_TunnelingType = init->m_TunnelingType; - - m_DestinationIndexAndTypePresent = init->m_DestinationIndexAndTypePresent; - m_DestinationIndexType = init->m_DestinationIndexType; - m_DestinationIndex = init->m_DestinationIndex; - - m_MethodInfoPresent = init->m_MethodInfoPresent; - if (m_MethodInfoPresent == true) - { - status = m_KReleaseDate.set_copy_of_buffer(&(init->m_KReleaseDate)); - if (status != eap_status_ok) - { - return; - } - - status = m_KEapTypeVersion.set_copy_of_buffer(&(init->m_KEapTypeVersion)); - if (status != eap_status_ok) - { - return; - } - - status = m_KManufacturer.set_copy_of_buffer(&(init->m_KManufacturer)); - if (status != eap_status_ok) - { - return; - } - } - - m_ButtonIdPresent = init->m_ButtonIdPresent; - m_ButtonId = init->m_ButtonId; - - m_ShowPassWordPromptPresent = init->m_ShowPassWordPromptPresent; - m_ShowPassWordPrompt = init->m_ShowPassWordPrompt; - - m_UseIdentityPrivacyPresent = init->m_UseIdentityPrivacyPresent; - m_UseIdentityPrivacy = init->m_UseIdentityPrivacy; - - m_completion_status = init->m_completion_status; - - m_is_valid = true; -} - -//------------------------------------------------------------------------------- - -void eap_method_settings_c::trace() const -{ - u32_t ind = 0ul; - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_is_valid=%d\n"), - m_is_valid)); - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_completion_status=%d\n"), - m_completion_status)); - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_EAPType=0xfe%06x%08x\n"), - m_EAPType.get_vendor_id(), - m_EAPType.get_vendor_type())); - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_IndexType=%d\n"), - m_IndexType)); - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_Index=%d\n"), - m_Index)); - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_UseAutomaticCACertificatePresent=%d\n"), - m_UseAutomaticCACertificatePresent)); - if (m_UseAutomaticCACertificatePresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_UseAutomaticCACertificate=%d\n"), - m_UseAutomaticCACertificate)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_UseAutomaticUsernamePresent=%d\n"), - m_UseAutomaticUsernamePresent)); - if (m_UseAutomaticUsernamePresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_UseAutomaticUsername=%d\n"), - m_UseAutomaticUsername)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_UseAutomaticRealmPresent=%d\n"), - m_UseAutomaticRealmPresent)); - if (m_UseAutomaticRealmPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_UseAutomaticRealm=%d\n"), - m_UseAutomaticRealm)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_UsernamePresent=%d\n"), - m_UsernamePresent)); - if (m_UsernamePresent == true) - { - EAP_TRACE_DATA_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_Username_fix"), - m_Username_fix.get_data(), - m_Username_fix.get_data_length())); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_PasswordExistPresent=%d\n"), - m_PasswordExistPresent)); - if (m_PasswordExistPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_PasswordExist=%d\n"), - m_PasswordExist)); - } - - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_PasswordPresent=%d\n"), - m_PasswordPresent)); - if (m_PasswordPresent == true) - { - EAP_TRACE_DATA_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_Password"), - m_Password.get_data(), - m_Password.get_data_length())); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_RealmPresent=%d\n"), - m_RealmPresent)); - if (m_RealmPresent == true) - { - EAP_TRACE_DATA_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_Realm"), - m_Realm.get_data(), - m_Realm.get_data_length())); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_UsePseudonymsPresent=%d\n"), - m_UsePseudonymsPresent)); - if (m_UsePseudonymsPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_UsePseudonyms=%d\n"), - m_UsePseudonyms)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_VerifyServerRealmPresent=%d\n"), - m_VerifyServerRealmPresent)); - if (m_VerifyServerRealmPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_VerifyServerRealm=%d\n"), - m_VerifyServerRealm)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_RequireClientAuthenticationPresent=%d\n"), - m_RequireClientAuthenticationPresent)); - if (m_RequireClientAuthenticationPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_RequireClientAuthentication=%d\n"), - m_RequireClientAuthentication)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_SessionValidityTimePresent=%d\n"), - m_SessionValidityTimePresent)); - if (m_SessionValidityTimePresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_SessionValidityTime=%d\n"), - m_SessionValidityTime)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_CipherSuitesPresent=%d\n"), - m_CipherSuitesPresent)); - if (m_CipherSuitesPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_CipherSuites=%d\n"), - m_CipherSuites.get_object_count())); - for (ind = 0ul; ind < m_CipherSuites.get_object_count(); ++ind) - { - u16_t * cipher_suite = m_CipherSuites.get_object(ind); - if (cipher_suite != 0) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): cipher_suite=%d\n"), - *cipher_suite)); - } - } - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_PEAPVersionsPresent=%d\n"), - m_PEAPVersionsPresent)); - if (m_PEAPVersionsPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_PEAPv0Allowed=%d\n"), - m_PEAPv0Allowed)); - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_PEAPv1Allowed=%d\n"), - m_PEAPv1Allowed)); - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_PEAPv2Allowed=%d\n"), - m_PEAPv2Allowed)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_CertificatesPresent=%d\n"), - m_CertificatesPresent)); - if (m_CertificatesPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_Certificates=%d\n"), - m_Certificates.get_object_count())); - for (ind = 0ul; ind < m_Certificates.get_object_count(); ++ind) - { - eap_certificate_entry_c * entry = m_Certificates.get_object(ind); - if (entry != 0) - { - entry->trace(); - } - } - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_EnabledEncapsulatedEAPTypesPresent=%d\n"), - m_EnabledEncapsulatedEAPTypesPresent)); - if (m_EnabledEncapsulatedEAPTypesPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_EnabledEncapsulatedEAPTypes=%d\n"), - m_EnabledEncapsulatedEAPTypes.get_object_count())); - for (ind = 0ul; ind < m_EnabledEncapsulatedEAPTypes.get_object_count(); ++ind) - { - eap_type_value_e * type = m_EnabledEncapsulatedEAPTypes.get_object(ind); - if (type != 0) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): EAP-type=0xfe%06x%08x\n"), - type->get_vendor_id(), - type->get_vendor_type())); - } - } - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_DisabledEncapsulatedEAPTypesPresent=%d\n"), - m_DisabledEncapsulatedEAPTypesPresent)); - if (m_DisabledEncapsulatedEAPTypesPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_DisabledEncapsulatedEAPTypes=%d\n"), - m_DisabledEncapsulatedEAPTypes.get_object_count())); - for (ind = 0ul; ind < m_DisabledEncapsulatedEAPTypes.get_object_count(); ++ind) - { - eap_type_value_e * type = m_DisabledEncapsulatedEAPTypes.get_object(ind); - if (type != 0) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): EAP-type=0xfe%06x%08x\n"), - type->get_vendor_id(), - type->get_vendor_type())); - } - } - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_AuthProvModeAllowedPresent=%d\n"), - m_AuthProvModeAllowedPresent)); - if (m_AuthProvModeAllowedPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_AuthProvModeAllowed=%d\n"), - m_AuthProvModeAllowed)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_UnauthProvModeAllowedPresent=%d\n"), - m_UnauthProvModeAllowedPresent)); - if (m_UnauthProvModeAllowedPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_UnauthProvModeAllowed=%d\n"), - m_UnauthProvModeAllowed)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_PACGroupReferencePresent=%d\n"), - m_PACGroupReferencePresent)); - if (m_PACGroupReferencePresent == true) - { - EAP_TRACE_DATA_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_PACGroupReference"), - m_PACGroupReference.get_data(), - m_PACGroupReference.get_data_length())); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_WarnADHPNoPACPresent=%d\n"), - m_WarnADHPNoPACPresent)); - if (m_WarnADHPNoPACPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_WarnADHPNoPAC=%d\n"), - m_WarnADHPNoPAC)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_WarnADHPNoMatchingPACPresent=%d\n"), - m_WarnADHPNoMatchingPACPresent)); - if (m_WarnADHPNoMatchingPACPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_WarnADHPNoMatchingPAC=%d\n"), - m_WarnADHPNoMatchingPAC)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_WarnNotDefaultServerPresent=%d\n"), - m_WarnNotDefaultServerPresent)); - if (m_WarnNotDefaultServerPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_WarnNotDefaultServer=%d\n"), - m_WarnNotDefaultServer)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_SelectedEAPTypesPresent=%d\n"), - m_SelectedEAPTypesPresent)); - if (m_SelectedEAPTypesPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_active_eap_methods=%d\n"), - m_active_eap_methods.get_object_count())); - for (ind = 0ul; ind < m_active_eap_methods.get_object_count(); ++ind) - { - eap_type_value_e * type = m_active_eap_methods.get_object(ind); - if (type != 0) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): active EAP-type=0xfe%06x%08x\n"), - type->get_vendor_id(), - type->get_vendor_type())); - } - } - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_disabled_eap_methods=%d\n"), - m_disabled_eap_methods.get_object_count())); - for (ind = 0ul; ind < m_disabled_eap_methods.get_object_count(); ++ind) - { - eap_type_value_e * type = m_disabled_eap_methods.get_object(ind); - if (type != 0) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): disabled EAP-type=0xfe%06x%08x\n"), - type->get_vendor_id(), - type->get_vendor_type())); - } - } - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_TunnelingTypePresent=%d\n"), - m_TunnelingTypePresent)); - if (m_TunnelingTypePresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_TunnelingType=0xfe%06x%08x\n"), - m_TunnelingType.get_vendor_id(), - m_TunnelingType.get_vendor_type())); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_DestinationIndexAndTypePresent=%d\n"), - m_DestinationIndexAndTypePresent)); - if (m_DestinationIndexAndTypePresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_DestinationIndexType=%d\n"), - m_DestinationIndexType)); - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_DestinationIndex=%d\n"), - m_DestinationIndex)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_MethodInfoPresent=%d\n"), - m_MethodInfoPresent)); - if (m_MethodInfoPresent == true) - { - EAP_TRACE_DATA_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_KReleaseDate"), - m_KReleaseDate.get_data(), - m_KReleaseDate.get_data_length())); - EAP_TRACE_DATA_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_KEapTypeVersion"), - m_KEapTypeVersion.get_data(), - m_KEapTypeVersion.get_data_length())); - EAP_TRACE_DATA_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_KManufacturer"), - m_KManufacturer.get_data(), - m_KManufacturer.get_data_length())); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_ButtonIdPresent=%d\n"), - m_ButtonIdPresent)); - if (m_ButtonIdPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_ButtonId=%d\n"), - m_ButtonId)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_ShowPassWordPromptPresent=%d\n"), - m_ShowPassWordPromptPresent)); - if (m_ShowPassWordPromptPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_ShowPassWordPrompt=%d\n"), - m_ShowPassWordPrompt)); - } - - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_UseIdentityPrivacyPresent=%d\n"), - m_UseIdentityPrivacyPresent)); - if (m_UseIdentityPrivacyPresent == true) - { - EAP_TRACE_DEBUG( - get_am_tools(), - TRACE_FLAGS_DEFAULT, - (EAPL("eap_method_settings_c::trace(): m_UseIdentityPrivacy=%d\n"), - m_UseIdentityPrivacy)); - } -} - -//------------------------------------------------------------------------------- - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_network_id_selector.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_network_id_selector.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_network_id_selector.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_rogue_ap_entry.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_rogue_ap_entry.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_rogue_ap_entry.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_sim_triplets.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_sim_triplets.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_sim_triplets.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_state_notification.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_state_notification.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_state_notification.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 20.1.2 % */ // This is enumeration of EAPOL source code. @@ -33,13 +33,10 @@ #include "eap_am_tools.h" #include "eap_tools.h" #include "eapol_key_types.h" -#include "eap_am_network_id.h" EAP_FUNC_EXPORT eap_state_notification_c::~eap_state_notification_c() { - delete m_send_network_id; - m_send_network_id = 0; } EAP_FUNC_EXPORT eap_state_notification_c::eap_state_notification_c( @@ -61,30 +58,15 @@ , m_eap_type(eap_type_none) , m_previous_state(previous_state) , m_current_state(current_state) - , m_send_network_id(0) + , m_send_network_id(send_network_id) , m_is_client(is_client) , m_eap_identifier(eap_identifier) , m_allow_send_eap_success(allow_send_eap_success) , m_authentication_error(eap_status_ok) { - if (send_network_id == 0 - || send_network_id->get_is_valid() == false) - { - (void)EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - return; - } - - m_send_network_id = send_network_id->copy(); +} - if (m_send_network_id == 0 - || m_send_network_id->get_is_valid() == false) - { - delete m_send_network_id; - m_send_network_id = 0; - (void)EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - return; - } -} +#if defined(USE_EAP_EXPANDED_TYPES) EAP_FUNC_EXPORT eap_state_notification_c::eap_state_notification_c( abs_eap_am_tools_c * const tools, @@ -105,30 +87,15 @@ , m_eap_type(eap_type) , m_previous_state(previous_state) , m_current_state(current_state) - , m_send_network_id(0) + , m_send_network_id(send_network_id) , m_is_client(is_client) , m_eap_identifier(eap_identifier) , m_allow_send_eap_success(allow_send_eap_success) , m_authentication_error(eap_status_ok) { - if (send_network_id == 0 - || send_network_id->get_is_valid() == false) - { - (void)EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - return; - } - - m_send_network_id = send_network_id->copy(); +} - if (m_send_network_id == 0 - || m_send_network_id->get_is_valid() == false) - { - delete m_send_network_id; - m_send_network_id = 0; - (void)EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - return; - } -} +#endif //#if defined(USE_EAP_EXPANDED_TYPES) EAP_FUNC_EXPORT eap_state_notification_c::eap_state_notification_c( @@ -150,29 +117,12 @@ , m_eap_type(eap_type) , m_previous_state(previous_state) , m_current_state(current_state) - , m_send_network_id(0) + , m_send_network_id(send_network_id) , m_is_client(is_client) , m_eap_identifier(eap_identifier) , m_allow_send_eap_success(allow_send_eap_success) , m_authentication_error(eap_status_ok) { - if (send_network_id == 0 - || send_network_id->get_is_valid() == false) - { - (void)EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - return; - } - - m_send_network_id = send_network_id->copy(); - - if (m_send_network_id == 0 - || m_send_network_id->get_is_valid() == false) - { - delete m_send_network_id; - m_send_network_id = 0; - (void)EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - return; - } } EAP_FUNC_EXPORT const eap_am_network_id_c * eap_state_notification_c::get_send_network_id() const @@ -421,7 +371,6 @@ #if defined(USE_WAPI_CORE) else EAP_IF_RETURN_STRING(protocol, eapol_key_handshake_type_wai_handshake) #endif //#if defined(USE_WAPI_CORE) - else EAP_IF_RETURN_STRING(protocol, eapol_key_handshake_type_authenticated) else { return EAPL("Unknown EAPOL protocol"); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_status_string.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_status_string.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_status_string.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 17 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_tlv_header.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_tlv_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_tlv_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_tlv_message_data.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_tlv_message_data.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_tlv_message_data.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 19.1.2 % +* %version: 21 % */ // This is enumeration of EAPOL source code. @@ -138,7 +138,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, - EAP_TRACE_FLAGS_NEVER, + EAP_TRACE_FLAGS_MESSAGE_DATA, (EAPL("set_message_data()"), value, length)); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_tools.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_tools.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_tools.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,12 +11,12 @@ * * Contributors: * -* Description: Some integer order functions for all platforms. +* Description: EAP and WLAN authentication protocols. * */ /* -* %version: 13.1.2 % +* %version: 15 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eap_variable_data.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_variable_data.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_variable_data.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 22 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eapol_ethernet_address.cpp --- a/eapol/eapol_framework/eapol_common/common/eapol_ethernet_address.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eapol_ethernet_address.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eapol_ethernet_header.cpp --- a/eapol/eapol_framework/eapol_common/common/eapol_ethernet_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eapol_ethernet_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eapol_header.cpp --- a/eapol/eapol_framework/eapol_common/common/eapol_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eapol_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/eapol_session_key.cpp --- a/eapol/eapol_framework/eapol_common/common/eapol_session_key.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eapol_session_key.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 14 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/common/wlan_eap_if_send_status.cpp --- a/eapol/eapol_framework/eapol_common/common/wlan_eap_if_send_status.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/wlan_eap_if_send_status.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,17 +16,9 @@ */ /* -* %version: % +* %version: 9 % */ -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 760 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #include "eap_am_export.h" #include "eap_am_types.h" #include "eap_status.h" diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/dummy_eap_core.cpp --- a/eapol/eapol_framework/eapol_common/core/dummy_eap_core.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1190 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 5 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 716 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - - - -#include "eap_am_memory.h" -#include "eap_tools.h" -#include "dummy_eap_core.h" -#include "eap_core_nak_info.h" -#include "eap_state_notification.h" -#include "eap_network_id_selector.h" -#include "eap_buffer.h" -#include "eap_header_string.h" -#include "eap_automatic_variable.h" - - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT dummy_eap_core_c::~dummy_eap_core_c() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::~dummy_eap_core_c: ") - EAPL("this = 0x%08x\n"), - this)); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -#if defined(_WIN32) && !defined(__GNUC__) - #pragma warning( disable : 4355 ) // 'this' : used in base member initializer list -#endif - -// -EAP_FUNC_EXPORT dummy_eap_core_c::dummy_eap_core_c( - abs_eap_am_tools_c * const tools, - abs_eap_core_c * const partner, - const bool is_client_when_true, - const eap_am_network_id_c * const /* receive_network_id */, - const bool is_tunneled_eap) - : m_partner(partner) - , m_am_tools(tools) - , m_type_map(tools, this) - , m_current_eap_type(eap_type_none) - , m_default_eap_type(eap_type_none) - , m_eap_identity(tools) - , m_eap_header_offset(0u) - , m_MTU(0u) - , m_trailer_length(0u) - , m_receive_network_id(tools) - , m_retransmission(0) - , m_retransmission_time(EAP_CORE_RETRANSMISSION_TIME) - , m_retransmission_counter(EAP_CORE_RETRANSMISSION_COUNTER) - , m_session_timeout(EAP_CORE_SESSION_TIMEOUT) - , m_eap_core_failure_received_timeout(EAP_CORE_FAILURE_RECEIVED_TIMEOUT) - , m_remove_session_timeout(EAP_CORE_REMOVE_SESSION_TIMEOUT) -#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER) - , m_wait_eap_request_type_timeout(EAP_CORE_WAIT_EAP_REQUEST_TYPE_TIMEOUT) - , m_wait_eap_request_type_timeout_set(false) -#endif //#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER) - , m_eap_identity_request_identifier_client(0) - , m_is_client(is_client_when_true) - , m_is_client_role(is_client_when_true) - , m_is_valid(false) - , m_client_restart_authentication_initiated(false) - , m_marked_removed(false) - , m_eap_identity_response_accepted(false) - , m_shutdown_was_called(false) - , m_eap_type_response_sent(false) - , m_is_tunneled_eap(is_tunneled_eap) -#if defined(USE_EAP_CORE_SERVER) - , m_process_eap_nak_immediately(EAP_CORE_PROCESS_EAP_NAK_IMMEDIATELY) - , m_nak_process_timer_active(false) - , m_eap_identity_request_send(false) - , m_eap_identity_response_received(false) - , m_eap_failure_sent(false) - , m_send_eap_success_after_notification(false) -#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER) - , m_skip_eap_request_identity(false) -#endif //#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER) -#endif //#if defined(USE_EAP_CORE_SERVER) - , m_use_eap_expanded_type(false) - , m_ignore_eap_failure(false) - , m_ignore_notifications(false) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ummy_eap_core_c::dummy_eap_core_c: ") - EAPL("this = 0x%08x\n"), - this)); - - set_is_valid(); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT abs_eap_core_c * dummy_eap_core_c::get_partner() -{ - - return m_partner; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void dummy_eap_core_c::set_partner(abs_eap_core_c * const partner) -{ - - m_partner = partner; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void dummy_eap_core_c::set_is_valid() -{ - m_is_valid = true; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT bool dummy_eap_core_c::get_is_valid() -{ - return m_is_valid; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void dummy_eap_core_c::object_increase_reference_count() -{ -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT u32_t dummy_eap_core_c::object_decrease_reference_count() -{ - return 0u; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT bool dummy_eap_core_c::get_marked_removed() -{ - return false; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void dummy_eap_core_c::set_marked_removed() -{ -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void dummy_eap_core_c::unset_marked_removed() -{ -} - - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void dummy_eap_core_c::ignore_notifications() -{ -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::initialize_asynchronous_init_remove_eap_session( - const u32_t /* remove_session_timeout */) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::initialize_asynchronous_init_remove_eap_session(): %s.\n"), - (m_is_client == true) ? "client": "server")); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::cancel_asynchronous_init_remove_eap_session() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::asynchronous_init_remove_eap_session() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::asynchronous_init_remove_eap_session(): %s.\n"), - (m_is_client == true) ? "client": "server")); - - eap_status_e status = eap_status_process_general_error; - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -eap_status_e dummy_eap_core_c::init_end_of_session( - const abs_eap_state_notification_c * const /* state */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::init_end_of_session(): %s.\n"), - (m_is_client == true) ? "client": "server")); - - eap_status_e status(eap_status_process_general_error); - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT void dummy_eap_core_c::state_notification( - const abs_eap_state_notification_c * const /* state */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_base_type_c * dummy_eap_core_c::load_type( - const eap_type_value_e /* type */, - const eap_type_value_e /* tunneling_type */, - const eap_am_network_id_c * /* const receive_network_id */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_base_type_c *handler = 0; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return handler; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::check_is_valid_eap_type(const eap_type_value_e /* eap_type */) -{ - eap_status_e status = eap_status_process_general_error; - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::get_eap_type_list( - eap_array_c * const /* eap_type_list */) -{ - eap_status_e status = eap_status_process_general_error; - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::initialize_session_timeout(const u32_t /* session_timeout_ms */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::cancel_session_timeout() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT void dummy_eap_core_c::trace_eap_packet( - eap_const_string /* prefix */, - const eap_header_wr_c * /* const eap_header */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - -} - - -//-------------------------------------------------- - -#if defined(USE_EAP_CORE_SERVER) - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::restart_with_new_type( - const eap_type_value_e /* used_eap_type */, - const eap_am_network_id_c * /* const receive_network_id */, - const u8_t /* eap_identifier */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif //#if defined(USE_EAP_CORE_SERVER) - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::client_proposes_eap_types( - const eap_am_network_id_c * const /* receive_network_id */, - const u8_t /* eap_identifier */) -{ - - /** - * @{ 2005-04-19 complete Expanded Nak Type to client_proposes_eap_types(). } - */ - eap_status_e status = eap_status_process_general_error; - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::packet_process_type( - const eap_type_value_e /* used_eap_type */, - const eap_am_network_id_c * /* const receive_network_id */, - eap_general_header_base_c * /* const packet_data */, - const u32_t /* packet_length */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::packet_process_type(): %s\n"), - (m_is_client == true) ? "client": "server")); - - - eap_status_e status = eap_status_process_general_error; - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -/** - * @{ 2003-10-01 draft-ietf-eap-rfc2284bis-06.txt chapter 2.1 Support for sequences: - * An EAP conversation MAY utilize a sequence of methods. A common - * example of this is an Identity request followed by a single EAP - * authentication method such as an MD5-Challenge. However the peer and - * authenticator MUST utilize only one authentication method (Type 4 or - * greater) within an EAP conversation, after which the authenticator - * MUST send a Success or Failure packet. - * Once a peer has sent a Response of the same Type as the initial - * Request, an authenticator MUST NOT send a Request of a different Type - * prior to completion of the final round of a given method (with the - * exception of a Notification-Request) and MUST NOT send a Request for - * an additional method of any Type after completion of the initial - * authentication method; a peer receiving such Requests MUST treat them - * as invalid, and silently discard them. As a result, Identity Requery - * is not supported. - * A peer MUST NOT send a Nak (legacy or expanded) in reply to a - * Request, after an initial non-Nak Response has been sent. Since - * spoofed EAP Request packets may be sent by an attacker, an - * authenticator receiving an unexpected Nak SHOULD discard it and log - * the event. - * Multiple authentication methods within an EAP conversation are not - * supported due to their vulnerability to man-in-the-middle attacks - * (see Section 7.4) and incompatibility with existing implementations. - * } - */ -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::packet_process( - const eap_am_network_id_c * /* const receive_network_id */, - eap_general_header_base_c * /* const packet_data */, - const u32_t /* packet_length */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::packet_process(): %s\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: dummy_eap_core_c::packet_process()"); - - eap_status_e status = eap_status_process_general_error; - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::packet_send( - const eap_am_network_id_c * const /* send_network_id */, - eap_buf_chain_wr_c * const /* sent_packet */, - const u32_t /* header_offset */, - const u32_t /* data_length */, - const u32_t /* buffer_length */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::resend_packet( - const eap_am_network_id_c * const /* send_network_id */, - eap_buf_chain_wr_c * const /* sent_packet */, - const u32_t /* header_offset */, - const u32_t /* data_length */, - const u32_t /* buffer_length */, - const u32_t /* retransmission_counter */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::cancel_retransmission() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::init_retransmission( - const eap_am_network_id_c * const /* send_network_id */, - eap_buf_chain_wr_c * const /* sent_packet */, - const u32_t /* header_offset */, - const u32_t /* data_length */, - const eap_code_value_e /* eap_code */, - const u8_t /* eap_identifier */, - const eap_type_value_e /* eap_type */ - ) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::set_eap_failure_timeout() -{ - eap_status_e status = eap_status_process_general_error; - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::cancel_eap_failure_timeout() -{ - eap_status_e status = eap_status_process_general_error; - - return EAP_STATUS_RETURN(m_am_tools, status); - -} - -//-------------------------------------------------- - -#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER) - -// -eap_status_e dummy_eap_core_c::set_wait_eap_request_type_timeout() -{ - - eap_status_e status = eap_status_process_general_error; - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif //#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER) - -//-------------------------------------------------- - -#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER) - -// -eap_status_e dummy_eap_core_c::cancel_wait_eap_request_type_timeout() -{ - eap_status_e status = eap_status_process_general_error; - - return EAP_STATUS_RETURN(m_am_tools, status); - -} - -#endif //#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER) - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT u32_t dummy_eap_core_c::get_header_offset( - u32_t * const MTU, - u32_t * const trailer_length) -{ - EAP_UNREFERENCED_PARAMETER(MTU); - EAP_UNREFERENCED_PARAMETER(trailer_length); - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - const u32_t offset = 0; - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::get_header_offset(): offset=%d, MTU=%d, trailer_length=%d\n"), - offset, - *MTU, - *trailer_length)); - - return offset; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::load_module( - const eap_type_value_e /* type */, - const eap_type_value_e /* tunneling_type */, - abs_eap_base_type_c * /* const partner */, - eap_base_type_c ** const /* handler */, - const bool /* is_client_when_true */, - const eap_am_network_id_c * const /* receive_network_id */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::configure() - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - -#if !defined(USE_EAP_DEBUG_TRACE) - EAP_TRACE_ALWAYS( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::configure(): %s: %s.\n"), - ((m_is_client == true) ? "client": "server"), - (m_is_tunneled_eap == true) ? "tunneled": "outer most")); -#else - EAP_TRACE_ALWAYS( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::configure(): %s: %s, this = 0x%08x => 0x%08x.\n"), - ((m_is_client == true) ? "client": "server"), - (m_is_tunneled_eap == true) ? "tunneled": "outer most", - this, - dynamic_cast(this))); -#endif - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: dummy_eap_core_c::configure()"); - - eap_status_e status(eap_status_process_general_error); - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::shutdown_operation( - eap_base_type_c * const handler, - abs_eap_am_tools_c * const m_am_tools) -{ - EAP_UNREFERENCED_PARAMETER(handler); - - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_UNREFERENCED_PARAMETER(m_am_tools); - - EAP_TRACE_ALWAYS( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::shutdown_operation(): handler=0x%08x.\n"), - handler)); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::shutdown() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::unload_module(const eap_type_value_e /* type */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::eap_acknowledge( - const eap_am_network_id_c * const /* receive_network_id */) -{ - // Any Network Protocol packet is accepted as a success indication. - // This is described in RFC 2284 "PPP Extensible Authentication Protocol (EAP)". - - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::restart_authentication( - const eap_am_network_id_c * const /* send_network_id */, - const bool /* is_client_when_true */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -#if defined(USE_EAP_CORE_SERVER) - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::send_eap_identity_request( - const eap_am_network_id_c * const /* receive_network_id */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::send_eap_identity_request(): %s, %s\n"), - (m_is_client == true) ? "client": "server", - (m_is_tunneled_eap == true) ? "tunneled": "outer most" - )); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: dummy_eap_core_c::send_eap_identity_request()"); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif //#if defined(USE_EAP_CORE_SERVER) - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::send_eap_nak_response( - const eap_am_network_id_c * const /* receive_network_id */, - const u8_t /* eap_identifier */, - const eap_array_c * const /* eap_type_list */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::send_eap_nak_response(): %s, %s\n"), - (m_is_client == true) ? "client": "server", - (m_is_tunneled_eap == true) ? "tunneled": "outer most" - )); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::packet_data_crypto_keys( - const eap_am_network_id_c * const /* send_network_id */, - const eap_master_session_key_c * const /* master_session_key */ - ) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::read_configure( - const eap_configuration_field_c * const /* field */, - eap_variable_data_c * const /* data */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::write_configure( - const eap_configuration_field_c * const /* field */, - eap_variable_data_c * const /* data */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::timer_expired( - const u32_t /* id */, void * /* data */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::timer_delete_data( - const u32_t /* id */, void * /* data */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::reset_operation( - eap_base_type_c * const handler, - abs_eap_am_tools_c * const m_am_tools) -{ - EAP_UNREFERENCED_PARAMETER(handler); - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_UNREFERENCED_PARAMETER(m_am_tools); - - EAP_TRACE_ALWAYS( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::reset_operation(): handler=0x%08x.\n"), - handler)); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::reset() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - -#if !defined(USE_EAP_DEBUG_TRACE) - EAP_TRACE_ALWAYS( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::reset(): %s: %s.\n"), - ((m_is_client == true) ? "client": "server"), - (m_is_tunneled_eap == true) ? "tunneled": "outer most")); -#else - EAP_TRACE_ALWAYS( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("dummy_eap_core_c::reset(): %s: %s, this = 0x%08x => 0x%08x.\n"), - ((m_is_client == true) ? "client": "server"), - (m_is_tunneled_eap == true) ? "tunneled": "outer most", - this, - dynamic_cast(this))); -#endif - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::handle_eap_identity_request( - const eap_type_value_e /* used_eap_type */, - const u8_t /* eap_identifier */, - const eap_am_network_id_c * const /* receive_network_id */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -#if defined(USE_EAP_CORE_SERVER) - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::handle_eap_identity_response( - eap_base_type_c * const /* handler */, - const eap_type_value_e used_eap_type, - const eap_am_network_id_c * const /* receive_network_id */, - eap_header_wr_c * const /* eap */, - const u32_t /* packet_length */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_UNREFERENCED_PARAMETER(used_eap_type); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif //#if defined(USE_EAP_CORE_SERVER) - -//-------------------------------------------------- - -#if defined(USE_EAP_CORE_SERVER) - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::send_eap_success( - const eap_am_network_id_c * const /* send_network_id */, - const u8_t /* eap_identifier */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif //#if defined(USE_EAP_CORE_SERVER) - -//-------------------------------------------------- - -#if defined(USE_EAP_CORE_SERVER) - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::send_eap_failure( - const eap_am_network_id_c * const /* send_network_id */, - const u8_t /* eap_identifier */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif //#if defined(USE_EAP_CORE_SERVER) - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::send_eap_notification_response( - const eap_am_network_id_c * const /* send_network_id */, - const u8_t /* eap_identifier */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::create_eap_identity_response( - eap_buf_chain_wr_c * const /* response_packet */, - const eap_variable_data_c * const /* identity */, - const u8_t /* eap_identifier */ - ) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::send_eap_identity_response( - const eap_am_network_id_c * const /* send_network_id */, - const eap_variable_data_c * const /* identity */, - const u8_t /* eap_identifier */ - ) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -eap_status_e dummy_eap_core_c::set_eap_identity_routing_info_and_nai_decoration( - eap_variable_data_c * const /* identity */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::complete_eap_identity_query( - const eap_am_network_id_c * const /* send_network_id */, - const eap_variable_data_c * const /* identity */, - const u8_t /*eap_identifier*/) // Remove eap_identifier parameter. -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - eap_status_e status = eap_status_process_general_error; - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::get_saved_eap_identity( - eap_variable_data_c * const /* identity */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN_WARNING(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::set_session_timeout( - const u32_t /* session_timeout_ms */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::set_timer( - abs_eap_base_timer_c * const p_initializer, - const u32_t p_id, - void * const p_data, - const u32_t p_time_ms) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - const eap_status_e status = m_am_tools->am_set_timer( - p_initializer, - p_id, - p_data, - p_time_ms); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::cancel_timer( - abs_eap_base_timer_c * const p_initializer, - const u32_t p_id) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - const eap_status_e status = m_am_tools->am_cancel_timer( - p_initializer, - p_id); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::set_authentication_role(const bool /* when_true_set_client */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e dummy_eap_core_c::add_rogue_ap( - eap_array_c & /* rogue_ap_list */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = eap_status_process_general_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT bool dummy_eap_core_c::get_is_tunneled_eap() const -{ - return m_is_tunneled_eap; -} - -//-------------------------------------------------- -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_config.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_config.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_config.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_core.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_core.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_core.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 58.1.12 % +* %version: 63 % */ // This is enumeration of EAPOL source code. @@ -242,7 +242,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_core_c::initialize_asynchronous_init_remove_eap_session( +eap_status_e eap_core_c::initialize_asynchronous_init_remove_eap_session( const u32_t remove_session_timeout) { EAP_TRACE_DEBUG( @@ -314,7 +314,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_core_c::cancel_asynchronous_init_remove_eap_session() +eap_status_e eap_core_c::cancel_asynchronous_init_remove_eap_session() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -343,7 +343,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_core_c::asynchronous_init_remove_eap_session() +eap_status_e eap_core_c::asynchronous_init_remove_eap_session() { EAP_TRACE_DEBUG( m_am_tools, @@ -383,13 +383,29 @@ // Remove session only if the stack is not already being deleted if (m_shutdown_was_called == false) { - #if defined(USE_EAP_CORE_SIMULATOR_VERSION) + #if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAP_CORE_RESTART_AUTHENTICATION) + #error ERROR: USE_EAPOL_KEY_STATE and USE_EAP_CORE_RESTART_AUTHENTICATION cannot be used same time. + #endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAP_CORE_RESTART_AUTHENTICATION) + + #if defined(USE_EAP_CORE_SIMULATOR_VERSION) && defined(USE_EAP_CORE_RESTART_AUTHENTICATION) + + // Simulator reuses current session. + status = restart_authentication( + state->get_send_network_id(), + m_is_client); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + #elif defined(USE_EAP_CORE_SIMULATOR_VERSION) && defined(USE_EAPOL_KEY_STATE) EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_core_c::state_notification(): %s, %s, Ignored notification: ") - EAPL("Protocol layer %d, EAP-type 0x%02x, State transition from ") + EAPL("Protocol layer %d, EAP type 0x%02x, State transition from ") EAPL("%d=%s to %d=%s, client %d.\n"), (m_is_client == true) ? "client": "server", (m_is_tunneled_eap == true) ? "tunneled": "outer most", @@ -417,7 +433,7 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_core_c::state_notification(): %s, %s, Ignored notification: ") - EAPL("Protocol layer %d, EAP-type 0x%02x, State transition from ") + EAPL("Protocol layer %d, EAP type 0x%02x, State transition from ") EAPL("%d=%s to %d=%s, client %d when shutdown was called.\n"), (m_is_client == true) ? "client": "server", (m_is_tunneled_eap == true) ? "tunneled": "outer most", @@ -444,21 +460,22 @@ EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); eap_status_string_c status_string; + eap_header_string_c eap_string; EAP_UNREFERENCED_PARAMETER(status_string); // in release + EAP_UNREFERENCED_PARAMETER(eap_string); // in release EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_core_c::state_notification(), %s, %s, protocol_layer %d=%s, protocol %d=%s, EAP-type 0xfe%06x%08x=%s.\n"), + (EAPL("eap_core_c::state_notification(), %s, %s, protocol_layer %d=%s, protocol %d=%s, EAP-type 0x%08x=%s.\n"), (m_is_client == true) ? "client": "server", (m_is_tunneled_eap == true) ? "tunneled": "outer most", state->get_protocol_layer(), state->get_protocol_layer_string(), state->get_protocol(), state->get_protocol_string(), - state->get_eap_type().get_vendor_id(), - state->get_eap_type().get_vendor_type(), - eap_header_string_c::get_eap_type_string(state->get_eap_type()))); + convert_eap_type_to_u32_t(state->get_eap_type()), + eap_string.get_eap_type_string(state->get_eap_type()))); EAP_TRACE_DEBUG( m_am_tools, @@ -489,7 +506,7 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_core_c::state_notification(): %s, %s, Ignored notification: ") - EAPL("Protocol layer %d, non-active EAP-type 0x%02x, current EAP type 0x%08x, State transition from ") + EAPL("Protocol layer %d, non-active EAP type 0x%02x, current EAP type 0x%08x, State transition from ") EAPL("%d=%s to %d=%s, client %d\n"), (m_is_client == true) ? "client": "server", (m_is_tunneled_eap == true) ? "tunneled": "outer most", @@ -774,14 +791,9 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - eap_status_e status(eap_status_ok); - - if (m_am_tools != 0) - { - status = m_partner->cancel_timer( - this, - EAP_CORE_SESSION_TIMEOUT_ID); - } + eap_status_e status = m_partner->cancel_timer( + this, + EAP_CORE_SESSION_TIMEOUT_ID); EAP_UNREFERENCED_PARAMETER(status); // in release @@ -1300,9 +1312,9 @@ } } #endif //#if defined(USE_EAP_CORE_SERVER) - else if (((eap.get_code() == eap_code_request + else if ((eap.get_code() == eap_code_request || eap.get_code() == eap_code_response) - && eap.get_type() == used_eap_type) + && eap.get_type() == used_eap_type || eap.get_code() == eap_code_success || eap.get_code() == eap_code_failure) { @@ -1512,15 +1524,17 @@ #if defined (_DEBUG) if (m_retransmission != 0) { + eap_header_string_c eap_string; + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("EAP_Core: eap_core_c::packet_process(): %s, retransmission counter %d, retrans EAP-type %s, retrans EAP-Id %d, current EAP-type %s, current EAP-Id %d, session 0x%08x.\n"), (m_is_client_role == true) ? "client": "server", m_retransmission->get_retransmission_counter(), - eap_header_string_c::get_eap_type_string(m_retransmission->get_eap_type()), + eap_string.get_eap_type_string(m_retransmission->get_eap_type()), m_retransmission->get_eap_identifier(), - eap_header_string_c::get_eap_type_string(eap.get_type()), + eap_string.get_eap_type_string(eap.get_type()), eap.get_identifier(), this)); } @@ -2209,8 +2223,7 @@ (m_is_tunneled_eap == true) ? "tunneled": "outer most" )); - if (m_is_client_role == false - && m_partner != 0) + if (m_is_client_role == false) { // Only EAP-server uses timer to re-transmits EAP-packets. m_partner->cancel_timer(this, EAP_CORE_TIMER_RETRANSMISSION_ID); @@ -2391,16 +2404,9 @@ (m_is_tunneled_eap == true) ? "tunneled": "outer most" )); - eap_status_e status(eap_status_ok); - - if (m_am_tools != 0) - { - status = m_partner->cancel_timer( - this, - EAP_CORE_FAILURE_RECEIVED_ID); - } - - return EAP_STATUS_RETURN(m_am_tools, status); + return m_partner->cancel_timer( + this, + EAP_CORE_FAILURE_RECEIVED_ID); } //-------------------------------------------------- @@ -2468,16 +2474,9 @@ m_wait_eap_request_type_timeout_set = false; - eap_status_e status(eap_status_ok); - - if (m_am_tools != 0) - { - m_partner->cancel_timer( - this, - EAP_CORE_WAIT_EAP_REQUEST_TYPE_ID); - } - - return EAP_STATUS_RETURN(m_am_tools, status); + return m_partner->cancel_timer( + this, + EAP_CORE_WAIT_EAP_REQUEST_TYPE_ID); } else { @@ -3015,6 +3014,7 @@ //---------------------------------------------------------- +#if defined(USE_EAP_EXPANDED_TYPES) { eap_variable_data_c use_eap_expanded_type(m_am_tools); @@ -3040,6 +3040,7 @@ } } } +#endif //#if defined(USE_EAP_EXPANDED_TYPES) //---------------------------------------------------------- @@ -5402,12 +5403,10 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: %s, %s, EAP-identity is unknown: current EAP-type 0xfe%06x%08x=%s\n"), + (EAPL("WARNING: %s, %s, EAP-identity is unknown: current EAP-type 0x%08x\n"), (m_is_client == true) ? "client": "server", (m_is_tunneled_eap == true) ? "tunneled": "outer most", - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -5489,6 +5488,21 @@ //-------------------------------------------------- +// +EAP_FUNC_EXPORT eap_status_e eap_core_c::cancel_all_timers() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); + + const eap_status_e status = m_partner->cancel_all_timers(); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + EAP_FUNC_EXPORT eap_status_e eap_core_c::set_authentication_role(const bool when_true_set_client) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_core_client_message_if.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_core_client_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1494 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 34 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 60 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - - - -#include "eap_am_memory.h" -#include "eap_tools.h" -#include "eap_core_client_message_if.h" -#include "eap_state_notification.h" -#include "eap_network_id_selector.h" -#include "abs_eap_am_mutex.h" -#include "eap_config.h" -#include "eap_core.h" -#include "eap_buffer.h" -#include "eap_base_type.h" -#include "eap_automatic_variable.h" -#include "eap_process_tlv_message_data.h" -#include "eap_master_session_key.h" -#include "eapol_key_types.h" - -#if defined(USE_EAP_SIMPLE_CONFIG) -#include "simple_config_types.h" -#include "simple_config_credential.h" -#include "simple_config_payloads.h" -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_core_client_message_if_c::~eap_core_client_message_if_c() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::~eap_core_client_message_if_c(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_ASSERT(m_shutdown_was_called == true); - - delete m_server_if; - m_server_if = 0; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -#if defined(_WIN32) && !defined(__GNUC__) - #pragma warning( disable : 4355 ) // 'this' : used in base member initializer list -#endif - -// -EAP_FUNC_EXPORT eap_core_client_message_if_c::eap_core_client_message_if_c( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const server, - abs_eap_session_core_c * const partner, - const bool is_client_when_true) -: m_am_tools(tools) -, m_server_if(server) -, m_partner(partner) -, m_error_code(eap_status_ok) -, m_error_function(eap_tlv_message_type_function_none) -, m_eap_header_offset(0ul) -, m_MTU(0ul) -, m_trailer_length(0ul) -, m_is_client(is_client_when_true) -, m_is_valid(false) -, m_shutdown_was_called(false) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::eap_core_client_message_if_c(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - set_is_valid(); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::process_message(eap_process_tlv_message_data_c * const message) -{ - // Sends message data composed of Attribute-Value Pairs. - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::process_message(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::send_message()"); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_NEVER, - (EAPL("eap_core_client_message_if_c::send_message()"), - message->get_message_data(), - message->get_message_data_length())); - - { - eap_status_e send_status = m_server_if->process_data( - message->get_message_data(), - message->get_message_data_length()); - if (send_status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, send_status); - } - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, send_status); - } - -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void eap_core_client_message_if_c::set_is_valid() -{ - m_is_valid = true; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT bool eap_core_client_message_if_c::get_is_valid() -{ - return m_is_valid; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::reset() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::reset(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::reset()"); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::packet_process( - const eap_am_network_id_c * const receive_network_id, - eap_general_header_base_c * const packet_data, - const u32_t packet_length) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::packet_process(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::packet_process()"); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status(eap_status_process_general_error); - - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_packet_process); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data( - receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (packet_length != packet_data->get_header_buffer_length()) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = message.add_parameter_data( - packet_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::configure() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - m_eap_header_offset = m_partner->get_header_offset( - &m_MTU, &m_trailer_length); - - eap_variable_data_c client_configuration(m_am_tools); - - eap_status_e status = m_partner->read_configure( - cf_str_EAP_read_all_configurations.get_field(), - &client_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_server_if->configure(&client_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = eap_mtu(m_MTU); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::shutdown() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::shutdown(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - if (m_shutdown_was_called == true) - { - // Shutdown function was called already. - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); - } - m_shutdown_was_called = true; - - if (m_server_if != 0) - { - (void)m_server_if->shutdown(); - } - - eap_status_e status = reset(); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -eap_status_e eap_core_client_message_if_c::eap_mtu( - const u32_t MTU) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::eap_mtu(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::eap_mtu()"); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status(eap_status_process_general_error); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_eap_mtu); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(MTU); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::eap_acknowledge( - const eap_am_network_id_c * const receive_network_id) -{ - // Any Network Protocol packet is accepted as a success indication. - // This is described in RFC 2284 "PPP Extensible Authentication Protocol (EAP)". - - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::eap_acknowledge(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::eap_acknowledge()"); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status(eap_status_process_general_error); - - if (receive_network_id == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_eap_acknowledge); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -#if defined(USE_EAP_CORE_SERVER) - -// -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::send_eap_identity_request( - const eap_am_network_id_c * const receive_network_id) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::send_eap_identity_request(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::send_eap_identity_request()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_send_eap_identity_request); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif //#if defined(USE_EAP_CORE_SERVER) - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::set_eap_database_reference_values( - const eap_variable_data_c * const reference) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::set_eap_database_reference_values(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::set_eap_database_reference_values()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_set_eap_database_reference_values); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(reference); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::timer_expired( - const u32_t id, void *data) -{ - EAP_UNREFERENCED_PARAMETER(id); - EAP_UNREFERENCED_PARAMETER(data); - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("TIMER: [0x%08x]->eap_core_client_message_if_c::") - EAPL("timer_expired(id 0x%02x, data 0x%08x), %s.\n"), - this, - id, - data, - (m_is_client == true) ? "client": "server")); - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::timer_delete_data( - const u32_t id, void *data) -{ - EAP_UNREFERENCED_PARAMETER(id); - EAP_UNREFERENCED_PARAMETER(data); - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("TIMER: [0x%08x]->eap_core_client_message_if_c::") - EAPL("timer_delete_data(id 0x%02x, data 0x%08x).\n"), - this, id, data)); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::cancel_all_eap_sessions() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::cancel_all_eap_sessions(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - eap_status_e status = reset(); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::create_eap_session( - const eap_am_network_id_c * const receive_network_id) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::create_eap_session(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::create_eap_session()"); - - eap_status_e status(eap_status_process_general_error); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_create_eap_session); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::remove_eap_session( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::remove_eap_session(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::remove_eap_session()"); - - eap_status_e status(eap_status_process_general_error); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_remove_eap_session); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(complete_to_lower_layer); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::get_802_11_authentication_mode( - const eap_am_network_id_c * const receive_network_id, - const eapol_key_authentication_type_e authentication_type, - const eap_variable_data_c * const SSID, - const eap_variable_data_c * const preshared_key) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::get_802_11_authentication_mode(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::get_802_11_authentication_mode()"); - - eap_status_e status(eap_status_process_general_error); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_get_802_11_authentication_mode); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(authentication_type); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(SSID); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(preshared_key); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_core_client_message_if_c::packet_send( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::packet_send(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::packet_send()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_am_network_id_c send_network_id(m_am_tools); - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, &send_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - - eap_buf_chain_wr_c packet_buffer(eap_write_buffer, m_am_tools); - - if (packet_buffer.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - { - eap_variable_data_c packet_data(m_am_tools); - - if (packet_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message_data.read_parameter_data(parameters, parameter_index, &packet_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = packet_buffer.add_data_to_offset(m_eap_header_offset, &packet_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - status = m_partner->packet_send( - &send_network_id, - &packet_buffer, - m_eap_header_offset, - packet_buffer.get_data_length()-m_eap_header_offset, - packet_buffer.get_data_length()); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_core_client_message_if_c::state_notification( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::state_notification(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::state_notification()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_state_notification_c * state = 0; - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, &state); - if (status != eap_status_ok) - { - delete state; - state = 0; - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - m_partner->state_notification( - state); - - delete state; - state = 0; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -eap_status_e eap_core_client_message_if_c::packet_data_crypto_keys( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_am_network_id_c send_network_id(m_am_tools); - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, &send_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - - eap_type_value_e eap_type(eap_type_none); - - status = message_data.read_parameter_data(parameters, parameter_index, &eap_type); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - - eap_master_session_key_c master_session_key(m_am_tools, eap_type); - - status = message_data.read_parameter_data(parameters, parameter_index, &master_session_key); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - master_session_key.set_eap_type(eap_type); - - - status = m_partner->packet_data_crypto_keys( - &send_network_id, - &master_session_key); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_core_client_message_if_c::restart_authentication( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_am_network_id_c send_network_id(m_am_tools); - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, &send_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - - bool is_client_when_true(false); - - status = message_data.read_parameter_data(parameters, parameter_index, &is_client_when_true); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - - bool force_clean_restart(false); - - status = message_data.read_parameter_data(parameters, parameter_index, &force_clean_restart); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - - bool from_timer(false); - - status = message_data.read_parameter_data(parameters, parameter_index, &from_timer); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - status = m_partner->restart_authentication( - &send_network_id, - is_client_when_true, - force_clean_restart, - from_timer); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -eap_status_e eap_core_client_message_if_c::new_protected_setup_credentials( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_process_general_error); - -#if defined(USE_EAP_SIMPLE_CONFIG) - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_array_c credential_array(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &credential_array); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_partner->save_simple_config_session( - simple_config_state_simple_config_success, - &credential_array, - 0, - simple_config_Device_Password_ID_Default_PIN, - 0); - -#endif //#if defined(USE_EAP_SIMPLE_CONFIG) - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -eap_status_e eap_core_client_message_if_c::complete_get_802_11_authentication_mode( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e completion_status(eap_status_process_general_error); - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, eap_tlv_message_type_eap_status, &completion_status); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - - eap_am_network_id_c receive_network_id(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - - eapol_key_802_11_authentication_mode_e mode(eapol_key_802_11_authentication_mode_none); - - status = message_data.read_parameter_data(parameters, parameter_index, &mode); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_partner->complete_get_802_11_authentication_mode( - completion_status, - &receive_network_id, - mode); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_core_client_message_if_c::complete_remove_eap_session( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool complete_to_lower_layer(false); - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, &complete_to_lower_layer); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - - eap_am_network_id_c receive_network_id(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_partner->complete_remove_eap_session( - complete_to_lower_layer, - &receive_network_id); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_core_client_message_if_c::process_error_message( - const eap_status_e error_code, - const eap_tlv_message_type_function_e function) -{ - eap_status_e status(eap_status_ok); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data( - eap_tlv_message_type_error, - static_cast(error_code)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -eap_status_e eap_core_client_message_if_c::process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - eap_status_e status(eap_status_ok); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // Error payload is the first in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // Fuction payload is the second in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_client_message_if_c::send_data(const void * const data, const u32_t length) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::send_data(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::send_data()"); - - eap_status_e status(eap_status_process_general_error); - - // Parses message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.set_message_data(length, data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_NEVER, - (EAPL("eap_core_client_message_if_c::send_data()"), - message.get_message_data(), - message.get_message_data_length())); - - eap_array_c parameters(m_am_tools); - - status = message.parse_message_data(¶meters); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (parameters.get_object_count() == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function); - if (function_header == 0 - || (function_header->get_type() != eap_tlv_message_type_error - && function_header->get_type() != eap_tlv_message_type_function)) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - if (function_header->get_type() == eap_tlv_message_type_error) - { - status = process_message_type_error(¶meters); - } - else // function_header->get_type() == eap_tlv_message_type_function - { - eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none); - - status = message.get_parameter_data(function_header, &function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - switch(function) - { - case eap_tlv_message_type_function_packet_send: - status = packet_send(¶meters); - break; - case eap_tlv_message_type_function_state_notification: - status = state_notification(¶meters); - break; - case eap_tlv_message_type_function_packet_data_crypto_keys: - status = packet_data_crypto_keys(¶meters); - break; - case eap_tlv_message_type_function_restart_authentication: - status = restart_authentication(¶meters); - break; -#if defined(USE_EAP_SIMPLE_CONFIG) - case eap_tlv_message_type_function_new_protected_setup_credentials: - status = new_protected_setup_credentials(¶meters); - break; -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - case eap_tlv_message_type_function_complete_get_802_11_authentication_mode: - status = complete_get_802_11_authentication_mode(¶meters); - break; - case eap_tlv_message_type_function_complete_remove_eap_session: - status = complete_remove_eap_session(¶meters); - break; - default: - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: send_data(): unknown function %d.\n"), - function)); - - EAP_ASSERT_ANYWAY_TOOLS(m_am_tools); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - }; - - if (status != eap_status_ok) - { - (void) process_error_message( - status, - function); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_core_map.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_core_map.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_core_map.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_core_nak_info.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_core_nak_info.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_core_nak_info.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_core_retransmission.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_core_retransmission.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_core_retransmission.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8.1.2 % */ // This is enumeration of EAPOL source code. @@ -32,12 +32,13 @@ #include "eap_am_memory.h" #include "eap_tools.h" #include "eap_am_export.h" +#include "abs_eap_core.h" +#include "eap_core.h" #include "eap_base_type.h" #include "eap_variable_data.h" #include "abs_eap_base_timer.h" #include "eap_core_retransmission.h" #include "eap_buffer.h" -#include "eap_am_network_id.h" //-------------------------------------------------- diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_core_server_message_if.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_core_server_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2067 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 33 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 48 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - - - -#include "eap_am_memory.h" -#include "eap_tools.h" -#include "eap_core_server_message_if.h" -#include "eap_crypto_api.h" -#include "eap_state_notification.h" -#include "eap_automatic_variable.h" -#include "eap_network_id_selector.h" -#include "eap_config.h" -#include "eap_buffer.h" -#include "eapol_session_key.h" -#include "eap_master_session_key.h" -#include "eap_am_stack.h" - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_core_server_message_if_c::~eap_core_server_message_if_c() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_server_message_if_c::~eap_core_server_message_if_c(): this = 0x%08x\n"), - this)); - - EAP_ASSERT(m_shutdown_was_called == true); - - delete m_eap_core; - delete m_am_stack; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -#if defined(_WIN32) && !defined(__GNUC__) - #pragma warning( disable : 4355 ) // 'this' : used in base member initializer list -#endif - -// -EAP_FUNC_EXPORT eap_core_server_message_if_c::eap_core_server_message_if_c( - abs_eap_am_tools_c * const tools, - const bool is_client_when_true, - const u32_t MTU) - : m_partner(0) - , m_eap_core(eap_session_core_base_c::new_eap_session_core_c(tools, this, is_client_when_true, MTU)) - , m_am_stack(new_eap_am_stack_c(tools, is_client_when_true)) - , m_am_tools(tools) - , m_eap_header_offset(0u) - , m_MTU(MTU) - , m_trailer_length(0u) - , m_error_code(eap_status_ok) - , m_error_function(eap_tlv_message_type_function_none) - , m_is_client(is_client_when_true) - , m_is_valid(false) - , m_shutdown_was_called(false) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_server_message_if_c::eap_core_server_message_if_c(): %s, this = 0x%08x => 0x%08x, compiled %s %s.\n"), - (m_is_client == true) ? "client": "server", - this, - dynamic_cast(this), - __DATE__, - __TIME__)); - - if (m_eap_core != 0 - && m_eap_core->get_is_valid() == true - && m_am_stack != 0 - && m_am_stack->get_is_valid() == true) - { - set_is_valid(); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::configure( - const eap_variable_data_c * const client_configuration) -{ - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::configure()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::configure()"); - - eap_status_e status(eap_status_process_general_error); - - m_eap_header_offset = 0ul; - m_trailer_length = 0ul; - - if (m_am_stack != 0) - { - status = m_am_stack->set_partner( - this -#if defined(USE_EAP_SIMPLE_CONFIG) - , this -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - ); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_am_stack->configure(client_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - if (m_eap_core != 0) - { - status = m_eap_core->configure(); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::shutdown() -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::shutdown(), m_shutdown_was_called=%d\n"), - (m_is_client == true) ? "client": "server", - m_shutdown_was_called)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::shutdown()"); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - if (m_shutdown_was_called == true) - { - // Shutdown function was called already. - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); - } - m_shutdown_was_called = true; - - if (m_eap_core != 0) - { - (void) m_eap_core->shutdown(); - } - - if (m_am_stack != 0) - { - (void) m_am_stack->shutdown(); - } - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void eap_core_server_message_if_c::set_partner(abs_eap_am_message_if_c * const partner) -{ - m_partner = partner; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::send_error_message( - const eap_status_e error_code, - const eap_tlv_message_type_function_e function) -{ - eap_status_e status(eap_status_ok); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data( - eap_tlv_message_type_error, - static_cast(error_code)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::send_message(eap_process_tlv_message_data_c * const message) -{ - // Sends message data composed of Attribute-Value Pairs. - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_server_message_if_c::send_message(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_NEVER, - (EAPL("eap_core_client_message_if_c::send_message()"), - message->get_message_data(), - message->get_message_data_length())); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::send_message()"); - - - { - eap_status_e send_status = m_partner->send_data( - message->get_message_data(), - message->get_message_data_length()); - if (send_status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, send_status); - } - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, send_status); - } - -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - eap_status_e status(eap_status_ok); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // Error payload is the first in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // Fuction payload is the second in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::process_message(eap_process_tlv_message_data_c * const message) -{ - // Parses message data composed of Attribute-Value Pairs. - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_server_message_if_c::process_message()"), - message->get_message_data(), - message->get_message_data_length())); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::process_message()"); - - eap_array_c parameters(m_am_tools); - - eap_status_e status = message->parse_message_data(¶meters); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (parameters.get_object_count() == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function); - if (function_header == 0 - || (function_header->get_type() != eap_tlv_message_type_error - && function_header->get_type() != eap_tlv_message_type_function)) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (function_header->get_type() == eap_tlv_message_type_error) - { - status = process_message_type_error(¶meters); - } - else // function_header->get_type() == eap_tlv_message_type_function - { - eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none); - - status = message->get_parameter_data(function_header, &function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - switch(function) - { - case eap_tlv_message_type_function_create_eap_session: - status = create_eap_session(¶meters); - break; - case eap_tlv_message_type_function_remove_eap_session: - status = remove_eap_session(¶meters); - break; - case eap_tlv_message_type_function_send_eap_identity_request: - status = send_eap_identity_request(¶meters); - break; - case eap_tlv_message_type_function_packet_process: - status = packet_process(¶meters); - break; - case eap_tlv_message_type_function_eap_acknowledge: - status = eap_acknowledge(¶meters); - break; - case eap_tlv_message_type_function_set_eap_database_reference_values: - status = set_eap_database_reference_values(¶meters); - break; - case eap_tlv_message_type_function_eap_mtu: - status = eap_mtu(¶meters); - break; - case eap_tlv_message_type_function_get_802_11_authentication_mode: - status = get_802_11_authentication_mode(¶meters); - break; - default: - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: process_data(): unknown function %d.\n"), - function)); - - status = eap_status_illegal_parameter; - - EAP_ASSERT_ANYWAY_TOOLS(m_am_tools); - }; - - if (status != eap_status_ok - && status != eap_status_success - && status != eap_status_pending_request - && status != eap_status_completed_request - && status != eap_status_drop_packet_quietly) - { - (void) send_error_message( - status, - function); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -/// Function receives the data message from lower layer. -/// Data is formatted to Attribute-Value Pairs. -/// Look at eap_tlv_header_c and eap_tlv_message_data_c. -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::process_data(const void * const data, const u32_t length) -{ - eap_status_e status(eap_status_process_general_error); - - { - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_allocation_error; - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.set_message_data(length, data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::packet_send( - const eap_am_network_id_c * const send_network_id, - eap_buf_chain_wr_c * const sent_packet, - const u32_t header_offset, - const u32_t data_length, - const u32_t buffer_length) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - EAP_ASSERT(header_offset < sent_packet->get_data_length()); - EAP_ASSERT(data_length <= sent_packet->get_data_length()); - EAP_ASSERT(sent_packet->get_data_length() <= buffer_length); - - eap_status_e status(eap_status_process_general_error); - - if (sent_packet->get_do_length_checks() == true) - { - if (header_offset != 0ul) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: packet_send: packet buffer corrupted (header_offset != %d).\n"), - 0ul)); - EAP_ASSERT_ALWAYS(header_offset == 0ul); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - else if (header_offset+data_length != sent_packet->get_data_length()) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: packet_send: packet buffer corrupted ") - EAPL("(data_length %d != sent_packet->get_data_length() %d).\n"), - header_offset+data_length, - sent_packet->get_data_length())); - EAP_ASSERT_ALWAYS(data_length == sent_packet->get_buffer_length()); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - else if (header_offset+data_length > buffer_length) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: packet_send: packet buffer corrupted ") - EAPL("(header_offset+data_length %d > buffer_length %d).\n"), - header_offset+data_length, - buffer_length)); - EAP_ASSERT_ALWAYS(header_offset+data_length <= buffer_length); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - else if (header_offset+data_length > m_MTU) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: packet_send: packet buffer corrupted ") - EAPL("(header_offset+data_length %d > m_MTU %d).\n"), - header_offset+data_length, - m_MTU)); - EAP_ASSERT_ALWAYS(header_offset+data_length <= m_MTU); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - } - else - { - // Always we need at least the EAP header. - if (sent_packet->get_data_length() - < eap_header_base_c::get_header_length()) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: packet_send: packet buffer corrupted ") - EAPL("(sent_packet->get_data_length() %d < ") - EAPL("eap_header_base_c::get_header_length() %d).\n"), - sent_packet->get_data_length(), - eap_header_base_c::get_header_length())); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - } - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_packet_send); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(send_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(sent_packet); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT u32_t eap_core_server_message_if_c::get_header_offset( - u32_t * const MTU, - u32_t * const trailer_length) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - const u32_t offset = 0ul; - - *MTU = m_MTU; - *trailer_length = m_trailer_length; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return offset; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::load_module( - const eap_type_value_e type, - const eap_type_value_e tunneling_type, - abs_eap_base_type_c * const partner, - eap_base_type_c ** const eap_type, - const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = m_am_stack->load_module( - type, - tunneling_type, - partner, - eap_type, - is_client_when_true, - receive_network_id); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::unload_module(const eap_type_value_e /* type*/) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status(eap_status_process_general_error); - - EAP_ASSERT_ANYWAY_TOOLS(m_am_tools); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::packet_data_crypto_keys( - const eap_am_network_id_c * const send_network_id, - const eap_master_session_key_c * const master_session_key - ) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::packet_data_crypto_keys()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::packet_data_crypto_keys()"); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status(eap_status_process_general_error); - - if (master_session_key == 0 - || master_session_key->get_is_valid() == false) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: eap_core_server_message_if_c::packet_data_crypto_keys(), invalid key.\n"))); - return EAP_STATUS_RETURN(m_am_tools, eap_status_key_error); - } - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_server_message_if_c::packet_data_crypto_keys(): master_session_key"), - master_session_key->get_data(), - master_session_key->get_data_length())); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_packet_data_crypto_keys); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(send_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // This adds only the EAP-type. - status = message.add_parameter_data(master_session_key->get_eap_type()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // This adds only the eap_variable_data. - status = message.add_parameter_data(master_session_key); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const receive_network_id, - const eapol_key_802_11_authentication_mode_e mode) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_get_802_11_authentication_mode()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_get_802_11_authentication_mode()"); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status(eap_status_process_general_error); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_complete_get_802_11_authentication_mode); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(completion_status); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(mode); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::complete_remove_eap_session( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_remove_eap_session(): complete_to_lower_layer=%s\n"), - (m_is_client == true) ? "client": "server", - (complete_to_lower_layer == true) ? "true": "false")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_remove_eap_session()"); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status(eap_status_process_general_error); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_complete_remove_eap_session); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(complete_to_lower_layer); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::read_configure( - const eap_configuration_field_c * const field, - eap_variable_data_c * const data) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status = m_am_stack->read_configure( - field, - data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::write_configure( - const eap_configuration_field_c * const /* field */, - eap_variable_data_c * const /* data */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status(eap_status_process_general_error); - - EAP_ASSERT_ANYWAY_TOOLS(m_am_tools); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void eap_core_server_message_if_c::set_is_valid() -{ - m_is_valid = true; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT bool eap_core_server_message_if_c::get_is_valid() -{ - return m_is_valid; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::timer_expired( - const u32_t id, void *data) -{ - EAP_UNREFERENCED_PARAMETER(id); - EAP_UNREFERENCED_PARAMETER(data); - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("TIMER: %s: [0x%08x]->eap_core_server_message_if_c::timer_expired(id 0x%02x, data 0x%08x).\n"), - (m_is_client == true) ? "client": "server", - this, - id, - data)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::timer_expired()"); - - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::timer_delete_data( - const u32_t id, void *data) -{ - EAP_UNREFERENCED_PARAMETER(id); - EAP_UNREFERENCED_PARAMETER(data); - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("TIMER: %s: [0x%08x]->eap_core_server_message_if_c::timer_delete_data(id 0x%02x, data 0x%08x).\n"), - (m_is_client == true) ? "client": "server", - this, id, data)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::timer_delete_data()"); - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT void eap_core_server_message_if_c::state_notification( - const abs_eap_state_notification_c * const state) -{ - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::state_notification()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::state_notification()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - return; - } - - status = message.add_parameter_data(eap_tlv_message_type_function_state_notification); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - status = message.add_parameter_data(state); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(m_am_tools, status); - return; - } - } -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::asynchronous_init_remove_eap_session( - const eap_am_network_id_c * const /* send_network_id */) -{ - // eap_core_server_message_if_c object does not support asynchronous_init_remove_eap_session(). - return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::asynchronous_start_authentication( - const eap_am_network_id_c * const /* receive_network_id */, - const bool /* is_client_when_true */) -{ - return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::restart_authentication( - const eap_am_network_id_c * const send_network_id, - const bool is_client_when_true, - const bool force_clean_restart, - const bool from_timer) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::restart_authentication()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::restart_authentication()"); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status(eap_status_process_general_error); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_restart_authentication); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(send_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(is_client_when_true); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(force_clean_restart); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(from_timer); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::set_timer( - abs_eap_base_timer_c * const p_initializer, - const u32_t p_id, - void * const p_data, - const u32_t p_time_ms) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status = m_am_stack->set_timer( - p_initializer, - p_id, - p_data, - p_time_ms); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::cancel_timer( - abs_eap_base_timer_c * const p_initializer, - const u32_t p_id) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status(eap_status_ok); - - if (m_am_stack != 0) - { - status = m_am_stack->cancel_timer( - p_initializer, - p_id); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::check_is_valid_eap_type( - const eap_type_value_e eap_type) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - eap_status_e status = m_am_stack->check_is_valid_eap_type(eap_type); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::get_eap_type_list( - eap_array_c * const eap_type_list) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status = m_am_stack->get_eap_type_list(eap_type_list); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -/// @see abs_eap_core_c::add_rogue_ap(). -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::add_rogue_ap( - eap_array_c & /* rogue_ap_list */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::add_rogue_ap(): Does nothing.\n"), - (m_is_client == true) ? "client": "server")); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::set_session_timeout( - const u32_t /* session_timeout_ms */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); -} - -//-------------------------------------------------- - -eap_status_e eap_core_server_message_if_c::create_eap_session( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::create_eap_session()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::create_eap_session()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_am_network_id_c receive_network_id(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_eap_core->create_eap_session( - &receive_network_id ///< source includes remote address, destination includes local address. - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_core_server_message_if_c::remove_eap_session( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::remove_eap_session()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::remove_eap_session()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bool complete_to_lower_layer(false); - - status = message_data.read_parameter_data(parameters, parameter_index, &complete_to_lower_layer); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - - eap_am_network_id_c receive_network_id(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_eap_core->remove_eap_session( - complete_to_lower_layer, - &receive_network_id ///< source includes remote address, destination includes local address. - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // This is a new function to synchronize EAP-client and EAP-server. - eap_status_e completion_status = complete_remove_eap_session( - complete_to_lower_layer, - &receive_network_id ///< source includes remote address, destination includes local address. - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, completion_status); -} - -//-------------------------------------------------- - -eap_status_e eap_core_server_message_if_c::send_eap_identity_request( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::send_eap_identity_request()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::send_eap_identity_request()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_am_network_id_c receive_network_id(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_eap_core->send_eap_identity_request( - &receive_network_id ///< source includes remote address, destination includes local address. - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_core_server_message_if_c::packet_process( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::packet_process()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::packet_process()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_am_network_id_c receive_network_id(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - - eap_variable_data_c packet_data_payload(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &packet_data_payload); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_header_wr_c eap( - m_am_tools, - packet_data_payload.get_data(), - packet_data_payload.get_data_length()); - if (eap.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = m_eap_core->packet_process( - &receive_network_id, - &eap, - packet_data_payload.get_data_length() - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::eap_acknowledge( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::eap_acknowledge()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::eap_acknowledge()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_am_network_id_c receive_network_id(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_eap_core->eap_acknowledge( - &receive_network_id ///< source includes remote address, destination includes local address. - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::eap_mtu( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::eap_mtu()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::eap_mtu()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = message_data.read_parameter_data(parameters, parameter_index, &m_MTU); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::get_802_11_authentication_mode( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::get_802_11_authentication_mode()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::get_802_11_authentication_mode()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_am_network_id_c receive_network_id(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - - eapol_key_authentication_type_e authentication_type(eapol_key_authentication_type_none); - - status = message_data.read_parameter_data(parameters, parameter_index, &authentication_type); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - - eap_variable_data_c SSID(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &SSID); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - - eap_variable_data_c preshared_key(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &preshared_key); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (authentication_type == eapol_key_authentication_type_WPS) - { - // Save SSID and pre-shared key for WPS to memory store. - eap_variable_data_c memory_store_key(m_am_tools); - - eap_status_e status = memory_store_key.set_copy_of_buffer( - EAP_WPS_CONFIGURATION_MEMORY_STORE_KEY, - sizeof(EAP_WPS_CONFIGURATION_MEMORY_STORE_KEY)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = memory_store_key.add_data( - &m_is_client, - sizeof(m_is_client)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_network_id_selector_c state_selector( - m_am_tools, - &receive_network_id); - - status = memory_store_key.add_data( - &state_selector); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_tlv_message_data_c tlv_data(m_am_tools); - - status = tlv_data.add_message_data( - eap_type_protected_setup_stored_preshared_key, - preshared_key.get_data_length(), - preshared_key.get_data()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = tlv_data.add_message_data( - eap_type_protected_setup_stored_ssid, - SSID.get_data_length(), - SSID.get_data()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_am_tools->memory_store_remove_data(&memory_store_key); - if (status != eap_status_ok - && status != eap_status_not_found) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_am_tools->memory_store_add_data( - &memory_store_key, - &tlv_data, - eap_type_default_credential_timeout); - if (status != eap_status_ok) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("eap_core_server_message_if_c::get_802_11_authentication_mode(): cannot store WPS credentials\n"))); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_am_stack->get_802_11_authentication_mode( - &receive_network_id, ///< source includes remote address, destination includes local address. - authentication_type); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_core_server_message_if_c::set_eap_database_reference_values( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::set_eap_database_reference_values()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::set_eap_database_reference_values()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_variable_data_c reference(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &reference); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_am_stack->set_eap_database_reference_values( - &reference - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT eap_status_e eap_core_server_message_if_c::save_simple_config_session( - const simple_config_state_e /* state */, - EAP_TEMPLATE_CONST eap_array_c * const credential_array, - const eap_variable_data_c * const /* new_password */, - const simple_config_Device_Password_ID_e /* Device_Password_ID */, - const simple_config_payloads_c * const /* other_configuration */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::save_simple_config_session()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::save_simple_config_session()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Message is formatted as: - // 0 1 2 3 - // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 - // +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ - // | Type = Function | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 4 | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Value = New_protected_setup_credentials | - // +#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+ <= start of Array of Protected setup credential - // | Type = Array | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 137 | - // +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ <= start of Array of Protected setup credential value - // | Type = Protected setup credential | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 129 | - // +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ - // | Type = Unsigned 8 bit integer | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 1 | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | u8_t value | - // +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ - // | Type = Variable data | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 12 | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Value = SSID string | - // +-+-+-+- -+-+-+-+ - // | | - // +-+-+-+- -+-+-+-+ - // | | - // +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ - // | Type = Unsigned 16 bit integer | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 2 | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | u16_t Authentication type | - // +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ - // | Type = Unsigned 16 bit integer | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 2 | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | u16_t Encryption type | - // +#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+ <= start of Array of Network key - // | Type = Array | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 66 | - // +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ <= start of Array of Network key value - // | Type = Network key | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 25 | - // +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ - // | Type = Unsigned 8 bit integer | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 1 | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | u8_t value | - // +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ - // | Type = Variable data | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 8 | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Value = Network key | - // +-+-+-+- -+-+-+-+ - // | | - // +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ - // | Type = Network key | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 25 | - // +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ - // | Type = Unsigned 8 bit integer | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 1 | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | u8_t value | - // +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ - // | Type = Variable data | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 8 | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Value = Network key | - // +-+-+-+- -+-+-+-+ - // | | - // +#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+ <= end of Array of Network key - // | Type = Variable data | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Length = 6 | - // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | Value = MAC address | - // +-+-+-+- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - // | | - // +#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+#+ <= end of Array of Protected setup credential - - - eap_status_e status(eap_status_ok); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_new_protected_setup_credentials); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(credential_array); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -eap_am_message_if_c * eap_am_message_if_c::new_eap_am_server_message_if_c( - abs_eap_am_tools_c * const tools, - const bool is_client_when_true, - const u32_t MTU) -{ - eap_am_message_if_c * server = new eap_core_server_message_if_c( - tools, - is_client_when_true, - MTU); - - eap_automatic_variable_c automatic_server( - tools, - server); - - if (server == 0 - || server->get_is_valid() == false) - { - // ERROR. - if (server != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: calls: eap_am_message_if_c::new_eap_am_server_message_if_c(): server->shutdown(): %s.\n"), - (is_client_when_true == true) ? "client": "server")); - - server->shutdown(); - } - - return 0; - } - - automatic_server.do_not_free_variable(); - - return server; -} - -//-------------------------------------------------- -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_general_settings_client_message_if.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_general_settings_client_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,813 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Class creates and reads the messages used in EAP-general settings interface on the client side. -* -*/ - -/* -* %version: 11 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 767 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - -#include "eap_am_tools.h" -#include "eap_tools.h" -#include "eap_am_export.h" -#include "eap_am_assert.h" -#include "eap_general_settings_client_message_if.h" -#include "abs_eap_plugin_message.h" -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_automatic_variable.h" -#include "eap_process_tlv_message_data.h" -#include "eap_method_settings.h" -#include "eap_am_network_id.h" -#include "abs_eap_general_settings_message.h" - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_general_settings_client_message_if_c::~eap_general_settings_client_message_if_c() -{ - delete m_client_if; - m_client_if = 0; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_general_settings_client_message_if_c::eap_general_settings_client_message_if_c( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const client_if, - abs_eap_general_settings_message_c * const partner) -: m_am_tools(tools) -, m_client_if(client_if) -, m_partner(partner) -, m_is_valid(false) -, m_error_code(eap_status_ok) -, m_error_function(eap_tlv_message_type_function_none) -{ - if (m_am_tools == 0 - || m_am_tools->get_is_valid() == false - || m_client_if == 0 - || m_client_if->get_is_valid() == false - || m_partner == 0) - { - return; - } - - m_is_valid = true; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::reset() -{ - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::configure(). -EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::configure() -{ - eap_status_e status(eap_status_process_general_error); - - if (m_client_if != 0) - { - status = m_client_if->configure(0); - } - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::shutdown(). -EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::shutdown() -{ - eap_status_e status(eap_status_process_general_error); - - if (m_client_if != 0) - { - status = m_client_if->shutdown(); - } - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::get_is_valid(). -EAP_FUNC_EXPORT bool eap_general_settings_client_message_if_c::get_is_valid() -{ - return m_is_valid; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::process_message(eap_process_tlv_message_data_c * const message) -{ - // Process message data composed of Attribute-Value Pairs. - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::process_message(): this = 0x%08x, m_client_if=0x%08x.\n"), - this, - m_client_if)); - - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::send_message()"); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::process_message()"), - message->get_message_data(), - message->get_message_data_length())); - - eap_status_e send_status = m_client_if->process_data( - message->get_message_data(), - message->get_message_data_length()); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, send_status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::set_eap_methods(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::set_eap_methods(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::set_eap_methods()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_set_eap_methods); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::get_eap_methods(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::get_eap_methods(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::get_eap_methods()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_get_eap_methods); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::get_certificate_lists(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::get_certificate_lists(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::get_certificate_lists()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_get_certificate_lists); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::delete_all_eap_settings(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::delete_all_eap_settings(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::delete_all_eap_settings()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_delete_all_eap_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::copy_all_eap_settings(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::copy_all_eap_settings(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::copy_all_eap_settings()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_copy_all_eap_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_general_settings_client_message_if_c::complete_set_eap_methods( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::complete_set_eap_methods(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::complete_set_eap_methods()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_partner->complete_set_eap_methods( - internal_settings->m_completion_status); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_general_settings_client_message_if_c::complete_get_eap_methods( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::complete_get_eap_methods(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::complete_get_eap_methods()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_partner->complete_get_eap_methods( - internal_settings); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_general_settings_client_message_if_c::complete_get_certificate_lists( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::complete_get_certificate_lists(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::complete_get_certificate_lists()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_partner->complete_get_certificate_lists( - internal_settings); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_general_settings_client_message_if_c::complete_delete_all_eap_settings( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::complete_delete_all_eap_settings(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::complete_delete_all_eap_settings()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_partner->complete_delete_all_eap_settings( - internal_settings->m_completion_status); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_general_settings_client_message_if_c::complete_copy_all_eap_settings( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::complete_copy_all_eap_settings(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::complete_copy_all_eap_settings()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_partner->complete_copy_all_eap_settings( - internal_settings->m_completion_status); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_general_settings_client_message_if_c::process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::process_message_type_error(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::process_message_type_error()"); - - eap_status_e status(eap_status_ok); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // Error payload is the first in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // Fuction payload is the second in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_client_message_if_c::send_data(const void * const data, const u32_t length) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::send_data(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_client_message_if_c::send_data()"); - - eap_status_e status(eap_status_process_general_error); - - // Parses message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.set_message_data(length, data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_client_message_if_c::send_data()"), - message.get_message_data(), - message.get_message_data_length())); - - eap_array_c parameters(m_am_tools); - - status = message.parse_message_data(¶meters); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (parameters.get_object_count() == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function); - if (function_header == 0 - || (function_header->get_type() != eap_tlv_message_type_error - && function_header->get_type() != eap_tlv_message_type_function)) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - if (function_header->get_type() == eap_tlv_message_type_error) - { - status = process_message_type_error(¶meters); - } - else - { - eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none); - - status = message.get_parameter_data(function_header, &function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - switch(function) - { - case eap_tlv_message_type_function_general_settings_complete_set_eap_methods: - status = complete_set_eap_methods(¶meters); - break; - case eap_tlv_message_type_function_general_settings_complete_get_eap_methods: - status = complete_get_eap_methods(¶meters); - break; - case eap_tlv_message_type_function_general_settings_complete_get_certificate_lists: - status = complete_get_certificate_lists(¶meters); - break; - case eap_tlv_message_type_function_general_settings_complete_delete_all_eap_settings: - status = complete_delete_all_eap_settings(¶meters); - break; - case eap_tlv_message_type_function_general_settings_complete_copy_all_eap_settings: - status = complete_copy_all_eap_settings(¶meters); - break; - default: - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: send_data(): unknown function %d.\n"), - function)); - - EAP_ASSERT_ANYWAY_TOOLS(m_am_tools); - - status = eap_status_illegal_parameter; - }; - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_general_settings_message.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_general_settings_message.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,43 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Class is interface from user of EAP-general settings to eap_general_settings_client_message_if_c. -* -*/ - -/* -* %version: 4 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 768 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - -#include "eap_am_tools.h" -#include "eap_am_export.h" -#include "eap_general_settings_message.h" - -EAP_FUNC_EXPORT eap_general_settings_message_c::~eap_general_settings_message_c() -{ -} - -EAP_FUNC_EXPORT eap_general_settings_message_c::eap_general_settings_message_c() -{ -} - -//-------------------------------------------------- -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_general_settings_server_message_if.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_general_settings_server_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,988 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Class creates and reads the messages used in EAP-general settings interface on the server side. -* -*/ - -/* -* %version: 14 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 744 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - - - -#include "eap_am_memory.h" -#include "eap_tools.h" -#include "eap_general_settings_server_message_if.h" -#include "eap_crypto_api.h" -#include "eap_state_notification.h" -#include "eap_automatic_variable.h" -#include "eap_network_id_selector.h" -#include "eap_config.h" -#include "eap_am_general_settings.h" - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_general_settings_server_message_if_c::~eap_general_settings_server_message_if_c() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_server_message_if_c::~eap_general_settings_server_message_if_c(): this = 0x%08x\n"), - this)); - - EAP_ASSERT(m_shutdown_was_called == true); - - delete m_am_settings; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -#if defined(_WIN32) && !defined(__GNUC__) - #pragma warning( disable : 4355 ) // 'this' : used in base member initializer list -#endif - -// -EAP_FUNC_EXPORT eap_general_settings_server_message_if_c::eap_general_settings_server_message_if_c( - abs_eap_am_tools_c * const tools) - : m_partner(0) - , m_am_settings(new_eap_am_general_settings_c(tools, this)) - , m_am_tools(tools) - , m_error_code(eap_status_ok) - , m_error_function(eap_tlv_message_type_function_none) - , m_is_valid(false) - , m_shutdown_was_called(false) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_server_message_if_c::eap_general_settings_server_message_if_c(): %s, this = 0x%08x => 0x%08x, compiled %s %s.\n"), - (m_is_client == true) ? "client": "server", - this, - dynamic_cast(this), - __DATE__, - __TIME__)); - - if (m_am_settings != 0 - && m_am_settings->get_is_valid() == true) - { - set_is_valid(); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::configure( - const eap_variable_data_c * const /* client_configuration */) -{ - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_general_settings_server_message_if_c::configure()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::configure()"); - - eap_status_e status(eap_status_process_general_error); - - if (m_am_settings != 0) - { - status = m_am_settings->configure(); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::shutdown() -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_general_settings_server_message_if_c::shutdown(), m_shutdown_was_called=%d\n"), - (m_is_client == true) ? "client": "server", - m_shutdown_was_called)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::shutdown()"); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - if (m_shutdown_was_called == true) - { - // Shutdown function was called already. - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); - } - m_shutdown_was_called = true; - - if (m_am_settings != 0) - { - (void) m_am_settings->shutdown(); - } - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void eap_general_settings_server_message_if_c::set_partner(abs_eap_am_message_if_c * const partner) -{ - m_partner = partner; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::send_error_message( - const eap_status_e error_code, - const eap_tlv_message_type_function_e function) -{ - eap_status_e status(eap_status_ok); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data( - eap_tlv_message_type_error, - static_cast(error_code)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::send_message(eap_process_tlv_message_data_c * const message) -{ - // Sends message data composed of Attribute-Value Pairs. - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_server_message_if_c::send_message(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_NEVER, - (EAPL("eap_core_client_message_if_c::send_message()"), - message->get_message_data(), - message->get_message_data_length())); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::send_message()"); - - - eap_status_e send_status = m_partner->send_data( - message->get_message_data(), - message->get_message_data_length()); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, send_status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - eap_status_e status(eap_status_ok); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // Error payload is the first in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // Fuction payload is the second in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::process_message(eap_process_tlv_message_data_c * const message) -{ - // Parses message data composed of Attribute-Value Pairs. - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_general_settings_server_message_if_c::process_message()"), - message->get_message_data(), - message->get_message_data_length())); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::process_message()"); - - eap_array_c parameters(m_am_tools); - - eap_status_e status = message->parse_message_data(¶meters); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (parameters.get_object_count() == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function); - if (function_header == 0 - || (function_header->get_type() != eap_tlv_message_type_error - && function_header->get_type() != eap_tlv_message_type_function)) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (function_header->get_type() == eap_tlv_message_type_error) - { - status = process_message_type_error(¶meters); - } - else // function_header->get_type() == eap_tlv_message_type_function - { - eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none); - - status = message->get_parameter_data(function_header, &function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - switch(function) - { - case eap_tlv_message_type_function_general_settings_set_eap_methods: - status = set_eap_methods(¶meters); - break; - case eap_tlv_message_type_function_general_settings_get_eap_methods: - status = get_eap_methods(¶meters); - break; - case eap_tlv_message_type_function_general_settings_get_certificate_lists: - status = get_certificate_lists(¶meters); - break; - case eap_tlv_message_type_function_general_settings_delete_all_eap_settings: - status = delete_all_eap_settings(¶meters); - break; - case eap_tlv_message_type_function_general_settings_copy_all_eap_settings: - status = copy_all_eap_settings(¶meters); - break; - default: - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: process_data(): unknown function %d.\n"), - function)); - - status = eap_status_illegal_parameter; - - EAP_ASSERT_ANYWAY_TOOLS(m_am_tools); - }; - - if (status != eap_status_ok - && status != eap_status_success - && status != eap_status_pending_request - && status != eap_status_completed_request - && status != eap_status_drop_packet_quietly) - { - (void) send_error_message( - status, - function); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -/// Function receives the data message from lower layer. -/// Data is formatted to Attribute-Value Pairs. -/// Look at eap_tlv_header_c and eap_tlv_message_data_c. -EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::process_data(const void * const data, const u32_t length) -{ - eap_status_e status(eap_status_process_general_error); - - { - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_allocation_error; - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.set_message_data(length, data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void eap_general_settings_server_message_if_c::set_is_valid() -{ - m_is_valid = true; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT bool eap_general_settings_server_message_if_c::get_is_valid() -{ - return m_is_valid; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::timer_expired( - const u32_t id, void *data) -{ - EAP_UNREFERENCED_PARAMETER(id); - EAP_UNREFERENCED_PARAMETER(data); - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("TIMER: %s: [0x%08x]->eap_general_settings_server_message_if_c::timer_expired(id 0x%02x, data 0x%08x).\n"), - (m_is_client == true) ? "client": "server", - this, - id, - data)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::timer_expired()"); - - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::timer_delete_data( - const u32_t id, void *data) -{ - EAP_UNREFERENCED_PARAMETER(id); - EAP_UNREFERENCED_PARAMETER(data); - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("TIMER: %s: [0x%08x]->eap_general_settings_server_message_if_c::timer_delete_data(id 0x%02x, data 0x%08x).\n"), - (m_is_client == true) ? "client": "server", - this, id, data)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::timer_delete_data()"); - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -eap_status_e eap_general_settings_server_message_if_c::set_eap_methods( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_general_settings_server_message_if_c::set_eap_methods()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::set_eap_methods()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c internal_settings(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_am_settings->set_eap_methods( - &internal_settings - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_general_settings_server_message_if_c::get_eap_methods( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_general_settings_server_message_if_c::get_eap_methods()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::get_eap_methods()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c internal_settings(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_am_settings->get_eap_methods( - &internal_settings - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_general_settings_server_message_if_c::get_certificate_lists( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_general_settings_server_message_if_c::get_certificate_lists()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::get_certificate_lists()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c internal_settings(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_am_settings->get_certificate_lists( - &internal_settings - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_general_settings_server_message_if_c::delete_all_eap_settings( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_general_settings_server_message_if_c::get_certificate_lists()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::delete_all_eap_settings()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c internal_settings(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_am_settings->delete_all_eap_settings( - &internal_settings - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_general_settings_server_message_if_c::copy_all_eap_settings( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_general_settings_server_message_if_c::get_certificate_lists()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_general_settings_server_message_if_c::copy_all_eap_settings()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c internal_settings(m_am_tools); - - status = message_data.read_parameter_data(parameters, parameter_index, &internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_am_settings->copy_all_eap_settings( - &internal_settings - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::complete_set_eap_methods(const eap_method_settings_c * const internal_settings) -{ - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_set_eap_methods()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_set_eap_methods()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_complete_set_eap_methods); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::complete_get_eap_methods(const eap_method_settings_c * const internal_settings) -{ - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_get_eap_methods()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_get_eap_methods()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_complete_get_eap_methods); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::complete_get_certificate_lists(const eap_method_settings_c * const internal_settings) -{ - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_get_certificate_lists()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_get_certificate_lists()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_complete_get_certificate_lists); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::complete_delete_all_eap_settings(const eap_method_settings_c * const internal_settings) -{ - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_delete_all_eap_settings()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_delete_all_eap_settings()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_complete_delete_all_eap_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_general_settings_server_message_if_c::complete_copy_all_eap_settings(const eap_method_settings_c * const internal_settings) -{ - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_copy_all_eap_settings()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_copy_all_eap_settings()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_general_settings_complete_copy_all_eap_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_pac_store_client_message_if.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_pac_store_client_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1233 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 7 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 766 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - -#include "eap_am_tools.h" -#include "eap_tools.h" -#include "eap_am_export.h" -#include "eap_am_assert.h" -#include "eap_pac_store_client_message_if.h" -#include "abs_eap_plugin_message.h" -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_automatic_variable.h" -#include "eap_process_tlv_message_data.h" -#include "eap_method_settings.h" -#include "eap_am_network_id.h" - -//-------------------------------------------------- - -/** - * The destructor of the eap_core class does nothing special. - */ -EAP_FUNC_EXPORT eap_pac_store_client_message_if_c::~eap_pac_store_client_message_if_c() -{ - -} - -//-------------------------------------------------- - -/** - * The constructor initializes member attributes using parameters passed to it. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - * @param partner is back pointer to object which created this object. - * @param is_client_when_true indicates whether the network entity should act - * as a client (true) or server (false), in terms of EAP-protocol - * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - */ - -EAP_FUNC_EXPORT eap_pac_store_client_message_if_c::eap_pac_store_client_message_if_c( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const client_if, - abs_eap_pac_store_message_c * const partner) -: m_am_tools(tools) -, m_client_if(client_if) -, m_partner(partner) -, m_is_valid(false) -, m_error_code(eap_status_ok) -, m_error_function(eap_tlv_message_type_function_none) -{ - if (m_am_tools == 0 - || m_am_tools->get_is_valid() == false - || m_client_if == 0 - || m_client_if->get_is_valid() == false - || m_partner == 0) - { - return; - } - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::eap_pac_store_client_message_if_c(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::eap_pac_store_client_message_if_c()"); - - m_is_valid = true; -} - -//-------------------------------------------------- - -/** - * This function must reset the state of object to same as - * state was after the configure() function call. - * If object reset succeeds this function must return eap_status_ok. - * If object reset fails this function must return corresponding error status. - * @return This function returns the status of reset operation. - */ -EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::reset() -{ - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::configure(). -EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::configure() -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::configure(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::configure()"); - - eap_status_e status = m_client_if->configure(0); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::shutdown(). -EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::shutdown() -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::shutdown(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::shutdown()"); - - eap_status_e status = m_client_if->shutdown(); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::get_is_valid(). -EAP_FUNC_EXPORT bool eap_pac_store_client_message_if_c::get_is_valid() -{ - return m_is_valid; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::process_message(eap_process_tlv_message_data_c * const message) -{ - // Sends message data composed of Attribute-Value Pairs. - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::process_message()"); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::process_message()"), - message->get_message_data(), - message->get_message_data_length())); - - { - eap_status_e send_status = m_client_if->process_data( - message->get_message_data(), - message->get_message_data_length()); - if (send_status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, send_status); - } - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, send_status); - } - -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::open_pac_store( - const eap_status_e /* completion_status */) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::open_pac_store(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::open_pac_store()"); - -// Creates message data composed of Attribute-Value Pairs. - - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_open_pac_store); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::destroy_pac_store( - const eap_status_e /* completion_status */) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::destroy_pac_store(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::destroy_pac_store()"); - -// Creates message data composed of Attribute-Value Pairs. - - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_destroy_pac_store); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } -//-------------------------------------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::create_device_seed( - const eap_status_e /* completion_status */) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::create_device_seed(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::create_device_seed()"); - -// Creates message data composed of Attribute-Value Pairs. - - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_create_device_seed); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } - -//-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::is_master_key_present( - const eap_status_e /* completion_status */) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::is_master_key_present(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::is_master_key_present()"); - - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_is_master_key_present); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - -//-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::is_master_key_and_password_matching( - const eap_variable_data_c * const pac_store_password - ,const eap_status_e /* completion_status */) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::is_master_key_and_password_matching(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::is_master_key_and_password_matching()"); - -// Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_is_master_key_and_password_matching); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(pac_store_password); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } - -//-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::create_and_save_master_key( - const eap_variable_data_c * const pac_store_password - ,const eap_status_e /* completion_status */) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::create_and_save_master_key(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::create_and_save_master_key()"); - -// Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_create_and_save_master_key); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(pac_store_password); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } - -//-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::compare_pac_store_password( - eap_variable_data_c * pac_store_password) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::compare_pac_store_password(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::compare_pac_store_password()"); - -// Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_compare_pac_store_password); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(pac_store_password); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } -//-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::is_pacstore_password_present() - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::is_pacstore_password_present(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::is_pacstore_password_present()"); - - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_is_pacstore_password_present); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - -//-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::set_pac_store_password( - const eap_variable_data_c * const pac_store_password - ,const eap_status_e /* completion_status */) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::set_pac_store_password(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::set_pac_store_password()"); - -// Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_set_pac_store_password); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(pac_store_password); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } - -//-------------------------------------------------- -eap_status_e eap_pac_store_client_message_if_c::complete_open_pac_store( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::complete_open_pac_store(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_open_pac_store()"); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - status = m_partner->complete_open_pac_store( - eap_status_allocation_error); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e return_status; - status = message_data.read_parameter_data(parameters, parameter_index, eap_tlv_message_type_eap_status, &return_status); - if (status != eap_status_ok) - { - status = m_partner->complete_open_pac_store( - status); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_partner->complete_open_pac_store( - return_status); - - return status; - - -} - -//-------------------------------------------------- - -eap_status_e eap_pac_store_client_message_if_c::complete_create_device_seed( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::complete_create_device_seed(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_create_device_seed()"); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - status = m_partner->complete_create_device_seed(eap_status_allocation_error); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e return_status; - status = message_data.read_parameter_data(parameters, parameter_index, eap_tlv_message_type_eap_status, &return_status); - if (status != eap_status_ok) - { - status = m_partner->complete_create_device_seed(status); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_partner->complete_create_device_seed(return_status); - - return status; -} - -//-------------------------------------------------- - -eap_status_e eap_pac_store_client_message_if_c::complete_is_master_key_present( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::complete_is_master_key_present(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_is_master_key_present()"); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - status = m_partner->complete_is_master_key_present( - false, eap_status_allocation_error); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - bool is_present = false; - status = message_data.read_parameter_data(parameters, parameter_index, &is_present); - if (status != eap_status_ok) - { - status = m_partner->complete_is_master_key_present( - false, status); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_partner->complete_is_master_key_present(is_present, status); - return status; - -} - -//-------------------------------------------------- - -eap_status_e eap_pac_store_client_message_if_c::complete_is_master_key_and_password_matching( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::complete_is_master_key_and_password_matching(): this = 0x%08x.\n"), - this)); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - status = m_partner->complete_is_master_key_and_password_matching( - false, eap_status_allocation_error); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - bool is_matching = false; - - status = message_data.read_parameter_data(parameters, parameter_index, &is_matching); - if (status != eap_status_ok) - { - status = m_partner->complete_is_master_key_and_password_matching( - false, status); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_partner->complete_is_master_key_and_password_matching(is_matching, status); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_is_master_key_and_password_matching()"); - return status; -} - -//-------------------------------------------------- - -eap_status_e eap_pac_store_client_message_if_c::complete_create_and_save_master_key( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::complete_create_and_save_master_key(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_create_and_save_master_key()"); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - status = m_partner->complete_create_and_save_master_key( - eap_status_allocation_error); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e return_status; - status = message_data.read_parameter_data(parameters, parameter_index, eap_tlv_message_type_eap_status, &return_status); - if (status != eap_status_ok) - { - status = m_partner->complete_create_and_save_master_key( - status); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_partner->complete_create_and_save_master_key(return_status); - - return EAP_STATUS_RETURN(m_am_tools, status); - -} -//-------------------------------------------------- - -eap_status_e eap_pac_store_client_message_if_c::complete_is_pacstore_password_present( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::complete_is_pacstore_password_present(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_is_pacstore_password_present()"); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - status = m_partner->complete_is_pacstore_password_present( - false); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - bool is_present = false; - status = message_data.read_parameter_data(parameters, parameter_index, &is_present); - if (status != eap_status_ok) - { - status = m_partner->complete_is_pacstore_password_present( - false); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_partner->complete_is_pacstore_password_present(is_present); - return status; - -} - -//-------------------------------------------------- - -eap_status_e eap_pac_store_client_message_if_c::complete_compare_pac_store_password( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::complete_compare_pac_store_password(): this = 0x%08x.\n"), - this)); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - status = m_partner->complete_compare_pac_store_password( - false); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - bool is_matching = false; - - status = message_data.read_parameter_data(parameters, parameter_index, &is_matching); - if (status != eap_status_ok) - { - status = m_partner->complete_compare_pac_store_password( - false); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_partner->complete_compare_pac_store_password(is_matching); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_compare_pac_store_password()"); - return status; -} - -//-------------------------------------------------- - -//-------------------------------------------------- -/* -eap_status_e eap_pac_store_client_message_if_c::complete_get_pac_store_password( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::complete_get_pac_store_password(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_get_pac_store_password()"); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - status = m_partner->complete_get_pac_store_password( - NULL); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_variable_data_c * const password = new eap_variable_data_c(m_am_tools); - // eap_automatic_variable_c can be used in this block because no functions are leaving here. - eap_automatic_variable_c automatic_password_data(m_am_tools, password); - - if (password == 0) - { - status = m_partner->complete_get_pac_store_password( - password); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message_data.read_parameter_data(parameters, parameter_index, password); - if (status != eap_status_ok) - { - status = m_partner->complete_get_pac_store_password( - password); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - status = m_partner->complete_get_pac_store_password( - password); - - return EAP_STATUS_RETURN(m_am_tools, status); - - -} -*/ -//-------------------------------------------------- - -eap_status_e eap_pac_store_client_message_if_c::complete_set_pac_store_password( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::complete_set_pac_store_password(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_set_pac_store_password()"); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - status = m_partner->complete_set_pac_store_password( - eap_status_allocation_error); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e return_status; - status = message_data.read_parameter_data(parameters, parameter_index, eap_tlv_message_type_eap_status, &return_status); - if (status != eap_status_ok) - { - status = m_partner->complete_set_pac_store_password( - status); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_partner->complete_set_pac_store_password( - return_status); - - return status; -} - -//-------------------------------------------------- -eap_status_e eap_pac_store_client_message_if_c::complete_destroy_pac_store( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::complete_destroy_pac_store(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::complete_destroy_pac_store()"); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - status = m_partner->complete_destroy_pac_store( - eap_status_allocation_error); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e return_status; - status = message_data.read_parameter_data(parameters, parameter_index, eap_tlv_message_type_eap_status, &return_status); - if (status != eap_status_ok) - { - status = m_partner->complete_destroy_pac_store( - status); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_partner->complete_destroy_pac_store( - return_status); - - return status; - - -} - -//-------------------------------------------------- - -//-------------------------------------------------- - - -//-------------------------------------------------- - - -//-------------------------------------------------- - - -//-------------------------------------------------- - -//-------------------------------------------------- -//-------------------------------------------------- - -//-------------------------------------------------- - -eap_status_e eap_pac_store_client_message_if_c::process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - eap_status_e status(eap_status_ok); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // Error payload is the first in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // Fuction payload is the second in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_client_message_if_c::send_data(const void * const data, const u32_t length) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::send_data(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_client_message_if_c::send_data()"); - - eap_status_e status(eap_status_process_general_error); - - // Parses message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.set_message_data(length, data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_client_message_if_c::send_data()"), - message.get_message_data(), - message.get_message_data_length())); - - eap_array_c parameters(m_am_tools); - - status = message.parse_message_data(¶meters); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (parameters.get_object_count() == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function); - if (function_header == 0 - || (function_header->get_type() != eap_tlv_message_type_error - && function_header->get_type() != eap_tlv_message_type_function)) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - if (function_header->get_type() == eap_tlv_message_type_error) - { - status = process_message_type_error(¶meters); - } - else // function_header->get_type() == eap_tlv_message_type_function - { - eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none); - - status = message.get_parameter_data(function_header, &function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - switch(function) - { - case eap_tlv_message_type_function_pac_store_complete_open_pac_store: - status = complete_open_pac_store(¶meters); - break; - case eap_tlv_message_type_function_pac_store_complete_create_device_seed: - status = complete_create_device_seed(¶meters); - break; - case eap_tlv_message_type_function_pac_store_complete_is_master_key_present: - status = complete_is_master_key_present(¶meters); - break; - case eap_tlv_message_type_function_pac_store_complete_is_master_key_and_password_matching: - status = complete_is_master_key_and_password_matching(¶meters); - break; - case eap_tlv_message_type_function_pac_store_complete_create_and_save_master_key: - status = complete_create_and_save_master_key(¶meters); - break; - case eap_tlv_message_type_function_pac_store_complete_compare_pac_store_password: - status = complete_compare_pac_store_password(¶meters); - break; - case eap_tlv_message_type_function_pac_store_complete_is_pacstore_password_present: - status = complete_is_pacstore_password_present(¶meters); - break; - case eap_tlv_message_type_function_pac_store_complete_set_pac_store_password: - status = complete_set_pac_store_password(¶meters); - break; - case eap_tlv_message_type_function_pac_store_complete_destroy_pac_store: - status = complete_destroy_pac_store(¶meters); - break; - default: - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: send_data(): unknown function %d.\n"), - function)); - - EAP_ASSERT_ANYWAY_TOOLS(m_am_tools); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - }; - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_pac_store_message_base.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_pac_store_message_base.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 765 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - -#include "eap_am_tools.h" -#include "eap_am_export.h" -#include "eap_pac_store_message_base.h" - -/** - * The destructor of the eap_core class does nothing special. - */ -EAP_FUNC_EXPORT eap_pac_store_message_base_c::~eap_pac_store_message_base_c() -{ -} - -/** - * The constructor initializes member attributes using parameters passed to it. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - * @param partner is back pointer to object which created this object. - * @param is_client_when_true indicates whether the network entity should act - * as a client (true) or server (false), in terms of EAP-protocol - * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - */ -EAP_FUNC_EXPORT eap_pac_store_message_base_c::eap_pac_store_message_base_c() -{ -} - -//-------------------------------------------------- -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_pac_store_server_message_if.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_pac_store_server_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1343 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 11 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 745 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - - - -#include "eap_am_memory.h" -#include "eap_tools.h" -#include "eap_pac_store_server_message_if.h" -#include "eap_crypto_api.h" -#include "eap_state_notification.h" -#include "eap_automatic_variable.h" -#include "eap_network_id_selector.h" -#include "eap_config.h" -#include "eap_am_pac_store.h" -#include "eap_am_pac_store_symbian.h" - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_pac_store_server_message_if_c::~eap_pac_store_server_message_if_c() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_server_message_if_c::~eap_pac_store_server_message_if_c(): this = 0x%08x\n"), - this)); - - EAP_ASSERT(m_shutdown_was_called == true); - - if (m_am_client != 0) - { - m_am_client->shutdown(); - delete m_am_client; - } - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -#if defined(_WIN32) && !defined(__GNUC__) - #pragma warning( disable : 4355 ) // 'this' : used in base member initializer list -#endif - -// -EAP_FUNC_EXPORT eap_pac_store_server_message_if_c::eap_pac_store_server_message_if_c( - abs_eap_am_tools_c * const tools) - : m_partner(0) - , m_am_client(eap_am_pac_store_symbian_c::new_eap_am_pac_store_symbian_c(tools, this)) - , m_am_tools(tools) - , m_error_code(eap_status_ok) - , m_error_function(eap_tlv_message_type_function_none) - , m_is_valid(false) - , m_shutdown_was_called(false) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_server_message_if_c::eap_pac_store_server_message_if_c(): %s, this = 0x%08x => 0x%08x, compiled %s %s.\n"), - (m_is_client == true) ? "client": "server", - this, - dynamic_cast(this), - __DATE__, - __TIME__)); - - if (m_am_client != 0 - && m_am_client->get_is_valid() == true) - { - set_is_valid(); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::configure( - const eap_variable_data_c * const /* client_configuration */) -{ - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_pac_store_server_message_if_c::configure()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::configure()"); - - eap_status_e status(eap_status_process_general_error); - - if (m_am_client != 0) - { - status = m_am_client->configure(); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::shutdown() -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_pac_store_server_message_if_c::shutdown(), m_shutdown_was_called=%d\n"), - (m_is_client == true) ? "client": "server", - m_shutdown_was_called)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::shutdown()"); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - if (m_shutdown_was_called == true) - { - // Shutdown function was called already. - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); - } - m_shutdown_was_called = true; - - if (m_am_client != 0) - { - (void) m_am_client->shutdown(); - } - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void eap_pac_store_server_message_if_c::set_partner(abs_eap_am_message_if_c * const partner) -{ - m_partner = partner; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::send_error_message( - const eap_status_e error_code, - const eap_tlv_message_type_function_e function) -{ - eap_status_e status(eap_status_ok); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data( - eap_tlv_message_type_error, - static_cast(error_code)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::send_message(eap_process_tlv_message_data_c * const message) -{ - // Sends message data composed of Attribute-Value Pairs. - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_core_client_message_if_c::send_message()"), - message->get_message_data(), - message->get_message_data_length())); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::send_message()"); - - - { - eap_status_e send_status = m_partner->send_data( - message->get_message_data(), - message->get_message_data_length()); - if (send_status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, send_status); - } - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, send_status); - } - -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - eap_status_e status(eap_status_ok); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // Error payload is the first in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // Fuction payload is the second in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::process_message(eap_process_tlv_message_data_c * const message) -{ - // Parses message data composed of Attribute-Value Pairs. - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_server_message_if_c::process_message()"), - message->get_message_data(), - message->get_message_data_length())); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::process_message()"); - - eap_array_c parameters(m_am_tools); - - eap_status_e status = message->parse_message_data(¶meters); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (parameters.get_object_count() == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function); - if (function_header == 0 - || (function_header->get_type() != eap_tlv_message_type_error - && function_header->get_type() != eap_tlv_message_type_function)) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (function_header->get_type() == eap_tlv_message_type_error) - { - status = process_message_type_error(¶meters); - } - else // function_header->get_type() == eap_tlv_message_type_function - { - eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none); - - status = message->get_parameter_data(function_header, &function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - switch(function) - { - case eap_tlv_message_type_function_pac_store_open_pac_store: - status = open_pac_store(¶meters); - break; - case eap_tlv_message_type_function_pac_store_create_device_seed: - status = create_device_seed(¶meters); - break; - case eap_tlv_message_type_function_pac_store_is_master_key_present: - status = is_master_key_present(¶meters); - break; - case eap_tlv_message_type_function_pac_store_is_master_key_and_password_matching: - status = is_master_key_and_password_matching(¶meters); - break; - case eap_tlv_message_type_function_pac_store_create_and_save_master_key: - status = create_and_save_master_key(¶meters); - break; - case eap_tlv_message_type_function_pac_store_compare_pac_store_password: - status = compare_pac_store_password(¶meters); - break; - case eap_tlv_message_type_function_pac_store_is_pacstore_password_present: - status = is_pacstore_password_present(¶meters); - break; - case eap_tlv_message_type_function_pac_store_set_pac_store_password: - status = set_pac_store_password(¶meters); - break; - case eap_tlv_message_type_function_pac_store_destroy_pac_store: - status = destroy_pac_store(¶meters); - break; - default: - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: process_data(): unknown function %d.\n"), - function)); - - status = eap_status_illegal_parameter; - - EAP_ASSERT_ANYWAY_TOOLS(m_am_tools); - }; - - if (status != eap_status_ok - && status != eap_status_success - && status != eap_status_pending_request - && status != eap_status_completed_request - && status != eap_status_drop_packet_quietly) - { - (void) send_error_message( - status, - function); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -/// Function receives the data message from lower layer. -/// Data is formatted to Attribute-Value Pairs. -/// Look at eap_tlv_header_c and eap_tlv_message_data_c. -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::process_data(const void * const data, const u32_t length) -{ - eap_status_e status(eap_status_process_general_error); - - { - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_allocation_error; - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.set_message_data(length, data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void eap_pac_store_server_message_if_c::set_is_valid() -{ - m_is_valid = true; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT bool eap_pac_store_server_message_if_c::get_is_valid() -{ - return m_is_valid; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::timer_expired( - const u32_t id, void *data) -{ - EAP_UNREFERENCED_PARAMETER(id); - EAP_UNREFERENCED_PARAMETER(data); - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("TIMER: %s: [0x%08x]->eap_pac_store_server_message_if_c::timer_expired(id 0x%02x, data 0x%08x).\n"), - (m_is_client == true) ? "client": "server", - this, - id, - data)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::timer_expired()"); - - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::timer_delete_data( - const u32_t id, void *data) -{ - EAP_UNREFERENCED_PARAMETER(id); - EAP_UNREFERENCED_PARAMETER(data); - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("TIMER: %s: [0x%08x]->eap_pac_store_server_message_if_c::timer_delete_data(id 0x%02x, data 0x%08x).\n"), - (m_is_client == true) ? "client": "server", - this, id, data)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::timer_delete_data()"); - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -eap_status_e eap_pac_store_server_message_if_c::open_pac_store( - EAP_TEMPLATE_CONST eap_array_c * const /* parameters */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_pac_store_server_message_if_c::open_pac_store()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::open_pac_store()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_am_client->open_pac_store(); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_pac_store_server_message_if_c::create_device_seed(EAP_TEMPLATE_CONST eap_array_c * const /* parameters */) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_server_message_if_c::create_device_seed(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::create_device_seed()"); - - status = m_am_client->create_device_seed(); - - return status; - - } -//-------------------------------------------------- - -eap_status_e eap_pac_store_server_message_if_c::is_master_key_present(EAP_TEMPLATE_CONST eap_array_c * const /* parameters */) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_server_message_if_c::is_master_key_present(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::is_master_key_present()"); - - status = m_am_client->is_master_key_present(); - - return status; - - } -//-------------------------------------------------- - -eap_status_e eap_pac_store_server_message_if_c::is_master_key_and_password_matching(EAP_TEMPLATE_CONST eap_array_c * const parameters) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_server_message_if_c::is_master_key_and_password_matching(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::is_master_key_and_password_matching()"); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_variable_data_c * const password = new eap_variable_data_c(m_am_tools); - // eap_automatic_variable_c can be used in this block because no functions are leaving here. - eap_automatic_variable_c automatic_password_data(m_am_tools, password); - - if (password == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message_data.read_parameter_data(parameters, parameter_index, password); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - status = m_am_client->is_master_key_and_password_matching(password); - - return status; - - } -//-------------------------------------------------- - -eap_status_e eap_pac_store_server_message_if_c::create_and_save_master_key(EAP_TEMPLATE_CONST eap_array_c * const parameters) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_server_message_if_c::create_and_save_master_key(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::create_and_save_master_key()"); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_variable_data_c * const password = new eap_variable_data_c(m_am_tools); - // eap_automatic_variable_c can be used in this block because no functions are leaving here. - eap_automatic_variable_c automatic_password_data(m_am_tools, password); - - if (password == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message_data.read_parameter_data(parameters, parameter_index, password); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - status = m_am_client->create_and_save_master_key(password); - - return status; - - } -//-------------------------------------------------- - -eap_status_e eap_pac_store_server_message_if_c::is_pacstore_password_present(EAP_TEMPLATE_CONST eap_array_c * const /* parameters */) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_server_message_if_c::is_pacstore_password_present(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::is_pacstore_password_present()"); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_am_client->is_pacstore_password_present(); - - return status; - - } -//-------------------------------------------------- -eap_status_e eap_pac_store_server_message_if_c::compare_pac_store_password(EAP_TEMPLATE_CONST eap_array_c * const parameters) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_server_message_if_c::compare_pac_store_password(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::compare_pac_store_password()"); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_variable_data_c * const password = new eap_variable_data_c(m_am_tools); - // eap_automatic_variable_c can be used in this block because no functions are leaving here. - eap_automatic_variable_c automatic_password_data(m_am_tools, password); - - if (password == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message_data.read_parameter_data(parameters, parameter_index, password); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_am_client->compare_pac_store_password(password); - - return status; - - } -//-------------------------------------------------- - -eap_status_e eap_pac_store_server_message_if_c::set_pac_store_password(EAP_TEMPLATE_CONST eap_array_c * const parameters) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_server_message_if_c::set_pac_store_password(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::set_pac_store_password()"); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_variable_data_c * const password = new eap_variable_data_c(m_am_tools); - // eap_automatic_variable_c can be used in this block because no functions are leaving here. - eap_automatic_variable_c automatic_password_data(m_am_tools, password); - - if (password == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message_data.read_parameter_data(parameters, parameter_index, password); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - status = m_am_client->set_pac_store_password(password); - - return status; - - } -//-------------------------------------------------- - -eap_status_e eap_pac_store_server_message_if_c::destroy_pac_store(EAP_TEMPLATE_CONST eap_array_c * const /* parameters */) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_ok); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_pac_store_server_message_if_c::destroy_pac_store(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_pac_store_server_message_if_c::destroy_pac_store()"); - - status = m_am_client->destroy_pac_store(); - - return status; - - } -//-------------------------------------------------- - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_open_pac_store(const eap_status_e completion_status) -{ - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_open_pac_store()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_open_pac_store()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_open_pac_store); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(completion_status); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - - - - - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_create_device_seed( - const eap_status_e completion_status) - { - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_create_device_seed()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_create_device_seed()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_create_device_seed); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(completion_status); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_is_master_key_present( - const bool is_present) - { - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_is_master_key_present()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_is_master_key_present()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_is_master_key_present); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(is_present); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_is_master_key_and_password_matching( - const bool is_matching) - { - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_is_master_key_and_password_matching()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_is_master_key_and_password_matching()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_is_master_key_and_password_matching); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(is_matching); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_create_and_save_master_key( - const eap_status_e completion_status) - { - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_create_and_save_master_key()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_create_and_save_master_key()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_create_and_save_master_key); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(completion_status); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_is_pacstore_password_present( - const bool is_present) - { - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_is_pacstore_password_present()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_is_pacstore_password_present()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_is_pacstore_password_present); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(is_present); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_compare_pac_store_password( - const bool is_matching) - { - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_compare_pac_store_password()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_compare_pac_store_password()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_compare_pac_store_password); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(is_matching); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } -//-------------------------------------------------- - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_set_pac_store_password( - const eap_status_e completion_status) - { - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_set_pac_store_password()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_set_pac_store_password()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_set_pac_store_password); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(completion_status); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_pac_store_server_message_if_c::complete_destroy_pac_store( - const eap_status_e completion_status) - { - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_destroy_pac_store()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_destroy_pac_store()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_pac_store_complete_destroy_pac_store); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(completion_status); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } -//-------------------------------------------------- - - -eap_am_pac_store_c* eap_am_pac_store_symbian_c::new_eap_am_pac_store_symbian_c( - abs_eap_am_tools_c * const tools, - abs_eap_am_pac_store_c * const partner) - { - eap_am_pac_store_c *server = new eap_am_pac_store_symbian_c( - tools, partner); -/* - eap_automatic_variable_c automatic_server( - tools, - server); -*/ - if (server == 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: eap_pac_store_server_message_if_c(): server == 0 !!!:.\n"))); - } - else if (server->get_is_valid() == false) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: eap_pac_store_server_message_if_c(): server->shutdown():.\n"))); - server->shutdown(); - delete server; - server = 0; - } - - return server; - - } - - -//-------------------------------------------------- -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_plugin_client_message_if.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_plugin_client_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1018 +0,0 @@ -/* -* Copyright (c) 2001-2010 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-plugin interface message class. -* -*/ - -/* -* %version: 9 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 764 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - -#include "eap_am_tools.h" -#include "eap_tools.h" -#include "eap_am_export.h" -#include "eap_am_assert.h" -#include "eap_plugin_client_message_if.h" -#include "abs_eap_plugin_message.h" -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_automatic_variable.h" -#include "eap_process_tlv_message_data.h" -#include "eap_method_settings.h" -#include "eap_am_network_id.h" - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_plugin_client_message_if_c::~eap_plugin_client_message_if_c() -{ - delete m_client_if; - m_client_if = 0; -} - -//-------------------------------------------------- - -/** - * The constructor initializes member attributes using parameters passed to it. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - * @param client_if is pointer to client interface. - * @param partner is back pointer to object which created this object. - */ -EAP_FUNC_EXPORT eap_plugin_client_message_if_c::eap_plugin_client_message_if_c( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const client_if, - abs_eap_plugin_message_c * const partner) -: m_am_tools(tools) -, m_client_if(client_if) -, m_partner(partner) -, m_is_valid(false) -, m_error_code(eap_status_ok) -, m_error_function(eap_tlv_message_type_function_none) -{ - if (m_am_tools == 0 - || m_am_tools->get_is_valid() == false - || m_client_if == 0 - || m_client_if->get_is_valid() == false - || m_partner == 0) - { - return; - } - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_client_message_if_c::eap_plugin_client_message_if_c(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::eap_plugin_client_message_if_c()"); - - m_is_valid = true; -} - -//-------------------------------------------------- - -/** - * This function must reset the state of object to same as - * state was after the configure() function call. - * If object reset succeeds this function must return eap_status_ok. - * If object reset fails this function must return corresponding error status. - * @return This function returns the status of reset operation. - */ -EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::reset() -{ - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::configure(). -EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::configure() -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_client_message_if_c::configure(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::configure()"); - - eap_status_e status = m_client_if->configure(0); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::shutdown(). -EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::shutdown() -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_client_message_if_c::shutdown(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::shutdown()"); - - eap_status_e status = m_client_if->shutdown(); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::get_is_valid(). -EAP_FUNC_EXPORT bool eap_plugin_client_message_if_c::get_is_valid() -{ - return m_is_valid; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::process_message(eap_process_tlv_message_data_c * const message) -{ - // Process message data composed of Attribute-Value Pairs. - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::process_message()"); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_client_message_if_c::process_message()"), - message->get_message_data(), - message->get_message_data_length())); - - eap_status_e send_status = m_client_if->process_data( - message->get_message_data(), - message->get_message_data_length()); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, send_status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::get_configuration(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_client_message_if_c::get_configuration(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::get_configuration()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_plugin_get_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::set_configuration(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_client_message_if_c::set_configuration(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::set_configuration()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_plugin_set_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::copy_configuration(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_client_message_if_c::copy_configuration(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::copy_configuration()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_plugin_copy_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::delete_configuration(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_client_message_if_c::delete_configuration(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::delete_configuration()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_plugin_delete_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::set_index(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_client_message_if_c::set_index(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::set_index()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_plugin_set_index); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::get_type_info(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_client_message_if_c::get_type_info(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::get_type_info()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_plugin_get_type_info); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::invoke_ui(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_client_message_if_c::invoke_ui(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::invoke_ui()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_plugin_invoke_ui); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_client_message_if_c::complete_get_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_partner->complete_get_configuration( - internal_settings); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_client_message_if_c::complete_set_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_partner->complete_set_configuration( - internal_settings->m_completion_status); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_client_message_if_c::complete_delete_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_partner->complete_delete_configuration( - internal_settings->m_completion_status); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_client_message_if_c::complete_copy_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_partner->complete_copy_configuration( - internal_settings->m_completion_status); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_client_message_if_c::complete_set_index( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_partner->complete_set_index( - internal_settings->m_completion_status); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_client_message_if_c::complete_get_type_info( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_partner->complete_get_type_info( - internal_settings); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_client_message_if_c::complete_invoke_ui( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_partner->complete_invoke_ui( - internal_settings); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_client_message_if_c::process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - eap_status_e status(eap_status_ok); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // Error payload is the first in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // Fuction payload is the second in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_client_message_if_c::send_data(const void * const data, const u32_t length) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_client_message_if_c::send_data(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_client_message_if_c::send_data()"); - - eap_status_e status(eap_status_process_general_error); - - // Parses message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.set_message_data(length, data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_client_message_if_c::send_data()"), - message.get_message_data(), - message.get_message_data_length())); - - eap_array_c parameters(m_am_tools); - - status = message.parse_message_data(¶meters); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (parameters.get_object_count() == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function); - if (function_header == 0 - || (function_header->get_type() != eap_tlv_message_type_error - && function_header->get_type() != eap_tlv_message_type_function)) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - if (function_header->get_type() == eap_tlv_message_type_error) - { - status = process_message_type_error(¶meters); - } - else // function_header->get_type() == eap_tlv_message_type_function - { - eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none); - - status = message.get_parameter_data(function_header, &function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - switch(function) - { - case eap_tlv_message_type_function_plugin_complete_get_configuration: - status = complete_get_configuration(¶meters); - break; - case eap_tlv_message_type_function_plugin_complete_set_configuration: - status = complete_set_configuration(¶meters); - break; - case eap_tlv_message_type_function_plugin_complete_delete_configuration: - status = complete_delete_configuration(¶meters); - break; - case eap_tlv_message_type_function_plugin_complete_copy_configuration: - status = complete_copy_configuration(¶meters); - break; - case eap_tlv_message_type_function_plugin_complete_set_index: - status = complete_set_index(¶meters); - break; - case eap_tlv_message_type_function_plugin_complete_get_type_info: - status = complete_get_type_info(¶meters); - break; - case eap_tlv_message_type_function_plugin_complete_invoke_ui: - status = complete_invoke_ui(¶meters); - break; - default: - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: send_data(): unknown function %d.\n"), - function)); - - EAP_ASSERT_ANYWAY_TOOLS(m_am_tools); - - status = EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - }; - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_plugin_message_base.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_plugin_message_base.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: virtual functions of EAP-plugin interface. -* -*/ - -/* -* %version: 3 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 769 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - -#include "eap_am_tools.h" -#include "eap_am_export.h" -#include "eap_plugin_message_base.h" - -/** - * The destructor of the eap_core class does nothing special. - */ -EAP_FUNC_EXPORT eap_plugin_message_base_c::~eap_plugin_message_base_c() -{ -} - -/** - * The constructor initializes member attributes. - */ -EAP_FUNC_EXPORT eap_plugin_message_base_c::eap_plugin_message_base_c() -{ -} - -//-------------------------------------------------- -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_plugin_server_message_if.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_plugin_server_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1292 +0,0 @@ -/* -* Copyright (c) 2001-2010 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-plugin message interface in the server. -* -*/ - -/* -* %version: 14 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 746 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - - - -#include "eap_am_memory.h" -#include "eap_tools.h" -#include "eap_plugin_server_message_if.h" -#include "eap_crypto_api.h" -#include "eap_state_notification.h" -#include "eap_automatic_variable.h" -#include "eap_network_id_selector.h" -#include "eap_config.h" - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_plugin_server_message_if_c::~eap_plugin_server_message_if_c() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_server_message_if_c::~eap_plugin_server_message_if_c(): this = 0x%08x\n"), - this)); - - EAP_ASSERT(m_shutdown_was_called == true); - - delete m_am_plugin; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -#if defined(_WIN32) && !defined(__GNUC__) - #pragma warning( disable : 4355 ) // 'this' : used in base member initializer list -#endif - -// -EAP_FUNC_EXPORT eap_plugin_server_message_if_c::eap_plugin_server_message_if_c( - abs_eap_am_tools_c * const tools) - : m_partner(0) - , m_am_plugin(new_eap_am_plugin_c(tools, this)) - , m_am_tools(tools) - , m_error_code(eap_status_ok) - , m_error_function(eap_tlv_message_type_function_none) - , m_is_client(false) - , m_is_valid(false) - , m_shutdown_was_called(false) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_server_message_if_c::eap_plugin_server_message_if_c(): %s, this = 0x%08x => 0x%08x, compiled %s %s.\n"), - (m_is_client == true) ? "client": "server", - this, - dynamic_cast(this), - __DATE__, - __TIME__)); - - if (m_am_plugin != 0 - && m_am_plugin->get_is_valid() == true) - { - set_is_valid(); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::configure( - const eap_variable_data_c * const /* client_configuration */) -{ - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_plugin_server_message_if_c::configure()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::configure()"); - - eap_status_e status(eap_status_process_general_error); - - if (m_am_plugin != 0) - { - status = m_am_plugin->configure(); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::shutdown() -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_plugin_server_message_if_c::shutdown(), m_shutdown_was_called=%d\n"), - (m_is_client == true) ? "client": "server", - m_shutdown_was_called)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::shutdown()"); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - if (m_shutdown_was_called == true) - { - // Shutdown function was called already. - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); - } - m_shutdown_was_called = true; - - if (m_am_plugin != 0) - { - (void) m_am_plugin->shutdown(); - } - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void eap_plugin_server_message_if_c::set_partner(abs_eap_am_message_if_c * const partner) -{ - m_partner = partner; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::send_error_message( - const eap_status_e error_code, - const eap_tlv_message_type_function_e function) -{ - eap_status_e status(eap_status_ok); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data( - eap_tlv_message_type_error, - static_cast(error_code)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::send_message(eap_process_tlv_message_data_c * const message) -{ - // Sends message data composed of Attribute-Value Pairs. - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_plugin_server_message_if_c::send_message(): this = 0x%08x => 0x%08x.\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_NEVER, - (EAPL("eap_core_client_message_if_c::send_message()"), - message->get_message_data(), - message->get_message_data_length())); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_client_message_if_c::send_message()"); - - eap_status_e send_status = m_partner->send_data( - message->get_message_data(), - message->get_message_data_length()); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, send_status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - eap_status_e status(eap_status_ok); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // Error payload is the first in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &m_error_code); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // Fuction payload is the second in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::process_message(eap_process_tlv_message_data_c * const message) -{ - // Parses message data composed of Attribute-Value Pairs. - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_NEVER, - (EAPL("eap_plugin_server_message_if_c::process_message()"), - message->get_message_data(), - message->get_message_data_length())); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::process_message()"); - - eap_array_c parameters(m_am_tools); - - eap_status_e status = message->parse_message_data(¶meters); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (parameters.get_object_count() == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function); - if (function_header == 0 - || (function_header->get_type() != eap_tlv_message_type_error - && function_header->get_type() != eap_tlv_message_type_function)) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_illegal_parameter; - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (function_header->get_type() == eap_tlv_message_type_error) - { - status = process_message_type_error(¶meters); - } - else // function_header->get_type() == eap_tlv_message_type_function - { - eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none); - - status = message->get_parameter_data(function_header, &function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - switch(function) - { - case eap_tlv_message_type_function_plugin_get_configuration: - status = get_configuration(¶meters); - break; - case eap_tlv_message_type_function_plugin_set_configuration: - status = set_configuration(¶meters); - break; - case eap_tlv_message_type_function_plugin_copy_configuration: - status = copy_configuration(¶meters); - break; - case eap_tlv_message_type_function_plugin_delete_configuration: - status = delete_configuration(¶meters); - break; - case eap_tlv_message_type_function_plugin_set_index: - status = set_index(¶meters); - break; - case eap_tlv_message_type_function_plugin_get_type_info: - status = get_type_info(¶meters); - break; - case eap_tlv_message_type_function_plugin_invoke_ui: - status = invoke_ui(¶meters); - break; - default: - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: process_data(): unknown function %d.\n"), - function)); - - status = eap_status_illegal_parameter; - - EAP_ASSERT_ANYWAY_TOOLS(m_am_tools); - }; - - if (status != eap_status_ok - && status != eap_status_success - && status != eap_status_pending_request - && status != eap_status_completed_request - && status != eap_status_drop_packet_quietly) - { - (void) send_error_message( - status, - function); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -/// Function receives the data message from lower layer. -/// Data is formatted to Attribute-Value Pairs. -/// Look at eap_tlv_header_c and eap_tlv_message_data_c. -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::process_data(const void * const data, const u32_t length) -{ - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_NEVER, - (EAPL("eap_plugin_server_message_if_c::process_data()"), - data, - length)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::process_message()"); - - eap_status_e status(eap_status_process_general_error); - - { - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - status = eap_status_allocation_error; - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.set_message_data(length, data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - (void) send_error_message( - status, - eap_tlv_message_type_function_none); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = process_message(&message); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT void eap_plugin_server_message_if_c::set_is_valid() -{ - m_is_valid = true; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT bool eap_plugin_server_message_if_c::get_is_valid() -{ - return m_is_valid; -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::timer_expired( - const u32_t id, void *data) -{ - EAP_UNREFERENCED_PARAMETER(id); - EAP_UNREFERENCED_PARAMETER(data); - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("TIMER: %s: [0x%08x]->eap_plugin_server_message_if_c::timer_expired(id 0x%02x, data 0x%08x).\n"), - (m_is_client == true) ? "client": "server", - this, - id, - data)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::timer_expired()"); - - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::timer_delete_data( - const u32_t id, void *data) -{ - EAP_UNREFERENCED_PARAMETER(id); - EAP_UNREFERENCED_PARAMETER(data); - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("TIMER: %s: [0x%08x]->eap_plugin_server_message_if_c::timer_delete_data(id 0x%02x, data 0x%08x).\n"), - (m_is_client == true) ? "client": "server", - this, id, data)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::timer_delete_data()"); - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_server_message_if_c::get_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_plugin_server_message_if_c::get_configuration(): parameters=0x%08x, count=%d\n"), - (m_is_client == true) ? "client": "server", - parameters, - (parameters != 0) ? parameters->get_object_count(): 0)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::get_configuration()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_am_plugin->get_configuration( - internal_settings - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_server_message_if_c::set_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_plugin_server_message_if_c::set_configuration()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::set_configuration()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_am_plugin->set_configuration( - internal_settings - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_server_message_if_c::copy_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_plugin_server_message_if_c::copy_configuration()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::copy_configuration()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_am_plugin->copy_configuration( - internal_settings - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_server_message_if_c::delete_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_plugin_server_message_if_c::delete_configuration()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::delete_configuration()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_am_plugin->delete_configuration( - internal_settings - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_server_message_if_c::set_index( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_plugin_server_message_if_c::set_index()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::set_index()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_am_plugin->set_index( - internal_settings - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_server_message_if_c::get_type_info( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_plugin_server_message_if_c::get_type_info()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::get_type_info()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_am_plugin->get_type_info( - internal_settings - ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_status_e eap_plugin_server_message_if_c::invoke_ui( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_plugin_server_message_if_c::invoke_ui()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_plugin_server_message_if_c::invoke_ui()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_status_e status(eap_status_ok); - - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eap_process_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings(m_am_tools, internal_settings); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message_data.read_parameter_data(parameters, parameter_index, internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::complete_get_configuration(const eap_method_settings_c * const internal_settings) -{ - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_get_configuration()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_get_configuration()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_plugin_complete_get_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::complete_set_configuration(const eap_method_settings_c * const internal_settings) -{ - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_set_configuration()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_set_configuration()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_plugin_complete_set_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::complete_delete_configuration(const eap_method_settings_c * const internal_settings) -{ - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_delete_configuration()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_delete_configuration()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_plugin_complete_delete_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::complete_copy_configuration(const eap_method_settings_c * const internal_settings) -{ - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_copy_configuration()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_copy_configuration()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_plugin_complete_copy_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::complete_set_index(const eap_method_settings_c * const internal_settings) -{ - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_set_index()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_set_index()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_plugin_complete_set_index); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::complete_get_type_info(const eap_method_settings_c * const internal_settings) -{ - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_get_type_info()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_get_type_info()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_plugin_complete_get_type_info); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_plugin_server_message_if_c::complete_invoke_ui(const eap_method_settings_c * const internal_settings) -{ - eap_status_e status(eap_status_process_general_error); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("%s: eap_core_server_message_if_c::complete_invoke_ui()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_core_server_message_if_c::complete_invoke_ui()"); - - { - // Creates message data composed of Attribute-Value Pairs. - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_plugin_complete_invoke_ui); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(internal_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_process_tlv_message_data.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_process_tlv_message_data.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8121 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 42 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 40 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - - -#include "eap_am_memory.h" -#include "eap_automatic_variable.h" -#include "eap_process_tlv_message_data.h" -#include "eap_variable_data.h" -#include "eap_am_network_id.h" -#include "eap_buffer.h" -#include "eapol_session_key.h" -#include "abs_eap_state_notification.h" -#include "eap_state_notification.h" - - -/** @file */ - - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_process_tlv_message_data_c::~eap_process_tlv_message_data_c() -{ -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_process_tlv_message_data_c::eap_process_tlv_message_data_c( - abs_eap_am_tools_c * const tools) - : eap_tlv_message_data_c(tools) - , m_am_tools(tools) - , m_is_valid(true) -{ -} - -//------------------------------------------------------------------- - -/** - * This function should increase reference count. - */ -EAP_FUNC_EXPORT void eap_process_tlv_message_data_c::object_increase_reference_count() -{ -} - -//------------------------------------------------------------------- - -/** - * This function should first decrease reference count - * and second return the remaining reference count. - * Reference count must not be decreased when it is zero. - */ -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::object_decrease_reference_count() -{ - return 0; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT bool eap_process_tlv_message_data_c::get_is_valid() -{ - return m_is_valid && eap_tlv_message_data_c::get_is_valid(); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size( - const eap_variable_data_c * const data) const -{ - return - (eap_tlv_header_c::get_header_length() // Each attribute have their own header. - + data->get_data_length()); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size( - const eap_am_network_id_c * const network_id) const -{ - if (network_id == 0 - || network_id->get_is_valid_data() == false) - { - return 0ul; - } - - return - (3ul * eap_tlv_header_c::get_header_length() // Each attribute have their own header. - + network_id->get_source_id()->get_data_length() - + network_id->get_destination_id()->get_data_length() - + sizeof(network_id->get_type())); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size( - const abs_eap_state_notification_c * const state) const -{ - return - (7ul * eap_tlv_header_c::get_header_length()) // Each attribute have their own header. - + (get_payload_size(state->get_send_network_id()) - + sizeof(u32_t) // eap_protocol_layer_e - + sizeof(state->get_protocol()) - + eap_expanded_type_c::get_eap_expanded_type_size() - + sizeof(state->get_current_state()) - + sizeof(u32_t) // bool is_client - + sizeof(u32_t) // eap_status_e authentication error - ); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size( - const eapol_session_key_c * const session_key) const -{ - return - ((5ul * eap_tlv_header_c::get_header_length()) // Each attribute have their own header. - + session_key->get_key()->get_data_length() - + session_key->get_sequence_number()->get_data_length() - + sizeof(u32_t) // const eapol_key_type_e m_key_type - + sizeof(session_key->get_key_index()) - + sizeof(u32_t) // const bool m_key_tx_bit - ); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size( - EAP_TEMPLATE_CONST eap_array_c * const ushort_array) const -{ - u32_t size(0ul); - - for (u32_t ind = 0ul; ind < ushort_array->get_object_count(); ind++) - { - u16_t * const value = ushort_array->get_object(ind); - if (value != 0) - { - size += eap_tlv_header_c::get_header_length() // TLV-header of u16_t. - + sizeof(u16_t); // Size of u16_t - } - } // for () - - return (size); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size( - const eap_certificate_entry_c * const cert) const -{ - u32_t size = - (10ul * eap_tlv_header_c::get_header_length() // Each attribute have their own header. - + sizeof(u32_t) // eap_certificate_type_e m_CertType - + sizeof(u32_t) // bool m_SubjectNamePresent - + sizeof(u32_t) // bool m_IssuerNamePresent - + sizeof(u32_t) // bool m_SerialNumberPresent - + sizeof(u32_t) // bool m_SubjectKeyIDPresent - + sizeof(u32_t) // bool m_ThumbprintPresent - + sizeof(u32_t) // bool m_LabelPresent - + sizeof(u32_t) // bool m_PrimaryNamePresent - + sizeof(u32_t) // bool m_SecondaryNamePresent - + sizeof(u32_t) // bool m_iIsEnabledPresent - ); - - if (cert->m_SubjectNamePresent == true) - { - size += get_payload_size(&(cert->m_SubjectName)); - } - - if (cert->m_IssuerNamePresent == true) - { - size += get_payload_size(&(cert->m_IssuerName)); - } - - if (cert->m_SerialNumberPresent == true) - { - size += get_payload_size(&(cert->m_SerialNumber)); - } - - if (cert->m_SubjectKeyIDPresent == true) - { - size += get_payload_size(&(cert->m_SubjectKeyID)); - } - - if (cert->m_ThumbprintPresent == true) - { - size += get_payload_size(&(cert->m_Thumbprint)); - } - - if (cert->m_LabelPresent == true) - { - size += get_payload_size(&(cert->m_Label)); - } - - if (cert->m_PrimaryNamePresent == true) - { - size += get_payload_size(&(cert->m_PrimaryName)); - } - - if (cert->m_SecondaryNamePresent == true) - { - size += get_payload_size(&(cert->m_SecondaryName)); - } - - if (cert->m_iIsEnabledPresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_iIsEnabled - } - - return size; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size( - const eap_method_settings_c * const internal_settings) const -{ - u32_t size = - (4ul * eap_tlv_header_c::get_header_length() // Each attribute have their own header. - + sizeof(u32_t) // eap_status_e m_completion_status - + eap_expanded_type_c::get_eap_expanded_type_size() // eap_type_value_e m_EAPType - + sizeof(u32_t) // u32_t m_IndexType - + sizeof(u32_t) // u32_t m_Index - ); - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_UseAutomaticCACertificatePresent - if (internal_settings->m_UseAutomaticCACertificatePresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_UseAutomaticCACertificate - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_UseAutomaticUsernamePresent - if (internal_settings->m_UseAutomaticUsernamePresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_UseAutomaticUsername - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_UseAutomaticRealmPresent - if (internal_settings->m_UseAutomaticRealmPresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_UseAutomaticRealm - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_UsernamePresent - if (internal_settings->m_UsernamePresent == true) - { - size += get_payload_size(&(internal_settings->m_Username_fix)); - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_PasswordExistPresent - if (internal_settings->m_PasswordExistPresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_PasswordExist - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_PasswordPresent - if (internal_settings->m_PasswordPresent == true) - { - size += get_payload_size(&(internal_settings->m_Password)); - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_RealmPresent - if (internal_settings->m_RealmPresent == true) - { - size += get_payload_size(&(internal_settings->m_Realm)); - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_UsePseudonymsPresent - if (internal_settings->m_UsePseudonymsPresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_UsePseudonyms - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_VerifyServerRealmPresent - if (internal_settings->m_VerifyServerRealmPresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_VerifyServerRealm - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_RequireClientAuthenticationPresent - if (internal_settings->m_RequireClientAuthenticationPresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_RequireClientAuthentication - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_SessionValidityTimePresent - if (internal_settings->m_SessionValidityTimePresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // u32_t m_SessionValidityTime - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_CipherSuitesPresent - if (internal_settings->m_CipherSuitesPresent == true) - { - // Array header. - size += eap_tlv_header_c::get_header_length(); - size += get_payload_size(&(internal_settings->m_CipherSuites)); - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_PEAPVersionsPresent - if (internal_settings->m_PEAPVersionsPresent == true) - { - size += (3ul * eap_tlv_header_c::get_header_length()); - size += sizeof(u32_t); // bool m_PEAPv0Allowed - size += sizeof(u32_t); // bool m_PEAPv1Allowed - size += sizeof(u32_t); // bool m_PEAPv2Allowed - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_CertificatesPresent - if (internal_settings->m_CertificatesPresent == true) - { - // Array header. - size += eap_tlv_header_c::get_header_length(); - size += get_payload_size(&(internal_settings->m_Certificates)); - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_EnabledEncapsulatedEAPTypesPresent - if (internal_settings->m_EnabledEncapsulatedEAPTypesPresent == true) - { - // Array header. - size += eap_tlv_header_c::get_header_length(); - size += get_payload_size(&(internal_settings->m_EnabledEncapsulatedEAPTypes)); - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_DisabledEncapsulatedEAPTypesPresent - if (internal_settings->m_DisabledEncapsulatedEAPTypesPresent == true) - { - // Array header. - size += eap_tlv_header_c::get_header_length(); - size += get_payload_size(&(internal_settings->m_DisabledEncapsulatedEAPTypes)); - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_AuthProvModeAllowedPresent - if (internal_settings->m_AuthProvModeAllowedPresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_AuthProvModeAllowed - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_UnauthProvModeAllowedPresent - if (internal_settings->m_UnauthProvModeAllowedPresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_UnauthProvModeAllowed - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_PACGroupReferencePresent - if (internal_settings->m_PACGroupReferencePresent == true) - { - size += get_payload_size(&(internal_settings->m_PACGroupReference)); - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_WarnADHPNoPACPresent - if (internal_settings->m_WarnADHPNoPACPresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_WarnADHPNoPAC - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_WarnADHPNoMatchingPACPresent - if (internal_settings->m_WarnADHPNoMatchingPACPresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_WarnADHPNoMatchingPAC - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_WarnNotDefaultServerPresent - if (internal_settings->m_WarnNotDefaultServerPresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_WarnNotDefaultServer - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_SelectedEAPTypesPresent - if (internal_settings->m_SelectedEAPTypesPresent == true) - { - // Array header. - size += eap_tlv_header_c::get_header_length(); - size += get_payload_size(&(internal_settings->m_active_eap_methods)); - - // Array header. - size += eap_tlv_header_c::get_header_length(); - size += get_payload_size(&(internal_settings->m_disabled_eap_methods)); - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_TunnelingTypePresent - if (internal_settings->m_TunnelingTypePresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += eap_expanded_type_c::get_eap_expanded_type_size(); // eap_type_value_e m_TunnelingType - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_DestinationIndexAndTypePresent - if (internal_settings->m_DestinationIndexAndTypePresent == true) - { - size += (2ul * eap_tlv_header_c::get_header_length()); - size += sizeof(u32_t); // u32_t m_DestinationIndexType - size += sizeof(u32_t); // u32_t m_DestinationIndex - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_MethodInfoPresent - if (internal_settings->m_MethodInfoPresent == true) - { - size += get_payload_size(&(internal_settings->m_KReleaseDate)); - size += get_payload_size(&(internal_settings->m_KEapTypeVersion)); - size += get_payload_size(&(internal_settings->m_KManufacturer)); - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_ButtonIdPresent - if (internal_settings->m_ButtonIdPresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // i32_t m_ButtonId - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_ShowPassWordPromptPresent - if (internal_settings->m_ShowPassWordPromptPresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_ShowPassWordPrompt)); - } - - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_UseIdentityPrivacyPresent - if (internal_settings->m_UseIdentityPrivacyPresent == true) - { - size += eap_tlv_header_c::get_header_length(); - size += sizeof(u32_t); // bool m_UseIdentityPrivacy)); - } - - return size; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size( - EAP_TEMPLATE_CONST eap_array_c * const cert_array) const -{ - u32_t size(0ul); - - for (u32_t ind = 0ul; ind < cert_array->get_object_count(); ind++) - { - eap_certificate_entry_c * const value = cert_array->get_object(ind); - if (value != 0) - { - // Structure header. - size += eap_tlv_header_c::get_header_length(); - - size += get_payload_size(value); - } - } // for () - - return (size); -} - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size( - const network_key_and_index_c * const key) const -{ - u32_t size(0ul); - - if (key != 0) - { - size += eap_tlv_header_c::get_header_length() - + sizeof(key->get_network_key_index()) // Size of Network Key Index - + eap_tlv_header_c::get_header_length() - + key->get_network_key_const()->get_data_length() // Size of Network Key - ; - } - - return (size); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size( - const eap_array_c * const network_keys) const -{ - u32_t size(0ul); - - for (u32_t ind_network_key = 0ul; ind_network_key < network_keys->get_object_count(); ind_network_key++) - { - network_key_and_index_c * const key = network_keys->get_object(ind_network_key); - if (key != 0) - { - size += eap_tlv_header_c::get_header_length() // Size of structure header - + get_payload_size(key); // Size of Network Key - } - } // for () - - return (size); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size( - const simple_config_credential_c * const credential) const -{ - u32_t size(0ul); - - if (credential != 0) - { - size += eap_tlv_header_c::get_header_length() - + sizeof(credential->get_network_index()) // Size of Network Index - + eap_tlv_header_c::get_header_length() - + credential->get_SSID_const()->get_data_length() // Size of SSID - + eap_tlv_header_c::get_header_length() - + sizeof(u16_t) // Size of Authentiction type - + eap_tlv_header_c::get_header_length() - + sizeof(u16_t) // Size of Encryption type - ; - - size += eap_tlv_header_c::get_header_length() // Size of header of Array - + get_payload_size(credential->get_network_keys_const()); - - size += eap_tlv_header_c::get_header_length() - + credential->get_MAC_address_const()->get_data_length() // Size of MAC Address - ; - } - - return (size); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size( - EAP_TEMPLATE_CONST eap_array_c * const credential_array) const -{ - u32_t size(0ul); - - for (u32_t ind_credential = 0ul; ind_credential < credential_array->get_object_count(); ind_credential++) - { - simple_config_credential_c * const credential = credential_array->get_object(ind_credential); - if (credential != 0) - { - size += eap_tlv_header_c::get_header_length() // Size of structure header - + get_payload_size(credential); - } - } // for () - - return (size); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size( - const eap_variable_data_c * const selector, - const eap_config_value_c * const configuration_option) const -{ - u32_t size_of_data(0ul); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_payload_size(): type=%d=%s\n"), - configuration_option->get_const_type(), - eap_configuration_field_c::get_configure_type_string(configuration_option->get_const_type()))); - - switch(configuration_option->get_const_type()) - { - case eap_configure_type_string: - case eap_configure_type_hex_data: - size_of_data += 3ul * eap_tlv_header_c::get_header_length() - + sizeof(u32_t) // Length of the type. - + selector->get_data_length() // Length of the option name. - + configuration_option->get_const_data()->get_data_length(); // Length of the option data. - break; - case eap_configure_type_u32_t: - case eap_configure_type_boolean: - size_of_data += 3ul * eap_tlv_header_c::get_header_length() - + sizeof(u32_t) // Length of the type. - + selector->get_data_length() // Length of the option name. - + sizeof(u32_t); // Length of the option data. - break; - case eap_configure_type_u32array: - { - const u32_t count_of_values = configuration_option->get_const_data()->get_data_length() / sizeof(u32_t); - size_of_data += 3ul * eap_tlv_header_c::get_header_length() - + sizeof(u32_t) // Length of the type. - + selector->get_data_length() // Length of the option name. - + count_of_values*(eap_tlv_header_c::get_header_length()+sizeof(u32_t)); // Length of the option data. - } - break; - case eap_configure_type_subsection: - // No size. - break; - default: - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("ERROR: eap_process_tlv_message_data_c::get_payload_size(): Unknown type=%d=%s\n"), - configuration_option->get_const_type(), - eap_configuration_field_c::get_configure_type_string(configuration_option->get_const_type()))); - break; - }; - - return (size_of_data); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_structured_parameter_header( - const eap_tlv_message_type_e type, - const u32_t length) -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_structured_parameter_header(): type=%d=%s\n"), - type, - get_type_string(type))); - - return add_message_header( - type, - length); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const eap_tlv_message_type_e type, - const u32_t integer) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - type, - get_type_string(type))); - - const u32_t network_order_integer(eap_htonl(integer)); - - eap_status_e status = add_message_data( - type, - sizeof(network_order_integer), - &network_order_integer); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const u64_t long_integer) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_u64_t, - get_type_string(eap_tlv_message_type_u64_t))); - - const u64_t network_order_long_integer(eap_htonll(long_integer)); - - eap_status_e status = add_message_data( - eap_tlv_message_type_u64_t, - sizeof(network_order_long_integer), - &network_order_long_integer); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const u32_t integer) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_u32_t, - get_type_string(eap_tlv_message_type_u32_t))); - - const u32_t network_order_integer(eap_htonl(integer)); - - eap_status_e status = add_message_data( - eap_tlv_message_type_u32_t, - sizeof(network_order_integer), - &network_order_integer); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const u16_t short_integer) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_u16_t, - get_type_string(eap_tlv_message_type_u16_t))); - - const u16_t network_order_short_integer(eap_htons(short_integer)); - - eap_status_e status = add_message_data( - eap_tlv_message_type_u16_t, - sizeof(network_order_short_integer), - &network_order_short_integer); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const u8_t byte_integer) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_u8_t, - get_type_string(eap_tlv_message_type_u8_t))); - - eap_status_e status = add_message_data( - eap_tlv_message_type_u8_t, - sizeof(byte_integer), - &byte_integer); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const i32_t integer) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_i32_t, - get_type_string(eap_tlv_message_type_i32_t))); - - const i32_t network_order_integer(eap_htonl(integer)); - - eap_status_e status = add_message_data( - eap_tlv_message_type_i32_t, - sizeof(network_order_integer), - &network_order_integer); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const i16_t integer) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_i16_t, - get_type_string(eap_tlv_message_type_i16_t))); - - const i16_t network_order_short_integer(eap_htons(integer)); - - eap_status_e status = add_message_data( - eap_tlv_message_type_i16_t, - sizeof(network_order_short_integer), - &network_order_short_integer); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const i8_t byte_integer) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_i8_t, - get_type_string(eap_tlv_message_type_i8_t))); - - eap_status_e status = add_message_data( - eap_tlv_message_type_i8_t, - sizeof(byte_integer), - &byte_integer); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const bool boolean) -{ - const u32_t value((boolean == false) ? 0u: 1u); - - return add_parameter_data( - eap_tlv_message_type_boolean, - value); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const eap_status_e status) -{ - const u32_t value(static_cast(status)); - - return add_parameter_data( - eap_tlv_message_type_eap_status, - value); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const eapol_key_authentication_type_e authentication_type) -{ - const u32_t value(static_cast(authentication_type)); - - return add_parameter_data( - eap_tlv_message_type_eapol_key_authentication_type, - value); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const eapol_key_802_11_authentication_mode_e mode) -{ - const u32_t value(static_cast(mode)); - - return add_parameter_data( - eap_tlv_message_type_eapol_key_802_11_authentication_mode, - value); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const eap_tlv_message_type_function_e function) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, function=%s\n"), - eap_tlv_message_type_function, - get_type_string(eap_tlv_message_type_function), - get_function_string(function))); - - if (function < eap_tlv_message_type_function_none - || function >= eap_tlv_message_type_function_illegal_value) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const u32_t network_order_function(eap_htonl(function)); - - eap_status_e status = add_message_data( - eap_tlv_message_type_function, - sizeof(network_order_function), - &network_order_function); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const eap_variable_data_c * const variable_data) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_variable_data, - get_type_string(eap_tlv_message_type_variable_data))); - - if (variable_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status(eap_status_process_general_error); - - if (variable_data->get_is_valid_data() == false) - { - // Empty variable data. Add just the header. - status = add_structured_parameter_header( - eap_tlv_message_type_variable_data, - 0ul); - } - else - { - status = add_message_data( - eap_tlv_message_type_variable_data, - variable_data->get_data_length(), - variable_data->get_data()); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const eap_am_network_id_c * const network_id) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_network_id, - get_type_string(eap_tlv_message_type_network_id))); - - if (network_id == 0 - || network_id->get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const u32_t size_of_network_id = get_payload_size(network_id); - - eap_status_e status = add_structured_parameter_header( - eap_tlv_message_type_network_id, - size_of_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data( - network_id->get_source_id()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data( - network_id->get_destination_id()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data( - network_id->get_type()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const eap_buf_chain_wr_c * const packet_buffer) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_variable_data, - get_type_string(eap_tlv_message_type_variable_data))); - - if (packet_buffer == 0 - || packet_buffer->get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = add_message_data( - eap_tlv_message_type_variable_data, - packet_buffer->get_data_length(), - packet_buffer->get_data(packet_buffer->get_data_length())); - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const eapol_session_key_c * const session_key) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_session_key, - get_type_string(eap_tlv_message_type_session_key))); - - if (session_key == 0 - || session_key->get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const u32_t size_of_session_key(get_payload_size(session_key)); - - eap_status_e status = add_structured_parameter_header( - eap_tlv_message_type_session_key, - size_of_session_key); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data( - session_key->get_key()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data( - session_key->get_sequence_number()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data( - eap_tlv_message_type_eapol_key_type, - static_cast(session_key->get_key_type())); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(session_key->get_key_index()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(session_key->get_key_tx_bit()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const abs_eap_state_notification_c * const state) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_eap_state_notification, - get_type_string(eap_tlv_message_type_eap_state_notification))); - - if (state == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const u32_t size_of_state(get_payload_size(state)); - - eap_status_e status = add_structured_parameter_header( - eap_tlv_message_type_eap_state_notification, - size_of_state); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(state->get_send_network_id()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data( - eap_tlv_message_type_eap_protocol_layer, - static_cast(state->get_protocol_layer())); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(state->get_protocol()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(state->get_eap_type()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(state->get_current_state()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(state->get_is_client()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(state->get_authentication_error()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const eap_type_value_e eap_type) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_eap_type, - get_type_string(eap_tlv_message_type_eap_type))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("add_parameter_data(eap_type_value_e)"), - &eap_type, - sizeof(eap_type))); - - void * type_buffer = 0; - - eap_status_e status = allocate_message_buffer( - eap_tlv_message_type_eap_type, - eap_expanded_type_c::get_eap_expanded_type_size(), - &type_buffer); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = eap_expanded_type_c::write_type( - m_am_tools, - 0ul, ///< Index is from 0 to n. Index 0 is the first EAP type field after base EAP header. - type_buffer, - eap_expanded_type_c::get_eap_expanded_type_size(), - true, ///< True value writes always Extented Type. - eap_type ///< The EAP type to be written. - ); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_tlv_message_data_c::add_message_data(): type %2d=0x%08x, length %3d=0x%08x\n"), - eap_tlv_message_type_eap_type, - eap_tlv_message_type_eap_type, - eap_expanded_type_c::get_eap_expanded_type_size(), - eap_expanded_type_c::get_eap_expanded_type_size())); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("add_message_data()"), - type_buffer, - eap_expanded_type_c::get_eap_expanded_type_size())); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const eap_general_header_base_c * const packet_data) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_variable_data, - get_type_string(eap_tlv_message_type_variable_data))); - - if (packet_data == 0 - || packet_data->get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = add_message_data( - eap_tlv_message_type_variable_data, - packet_data->get_header_buffer_length(), - packet_data->get_header_buffer(packet_data->get_header_buffer_length())); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const eap_certificate_entry_c * const certificate_entry) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_eap_certificate_entry, - get_type_string(eap_tlv_message_type_eap_certificate_entry))); - - eap_status_e status(eap_status_not_supported); - - - const u32_t size_of_certificate(get_payload_size(certificate_entry)); - - status = add_structured_parameter_header( - eap_tlv_message_type_eap_certificate_entry, - size_of_certificate); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - { - // Specifies whether this entry describes user or CA certificate (mandatory) - status = add_parameter_data(static_cast(certificate_entry->m_CertType)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - { - // Subject name in distinguished name ASCII form. This is optional. - // For example "/C=US/O=Some organization/CN=Some common name". - status = add_parameter_data(certificate_entry->m_SubjectNamePresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (certificate_entry->m_SubjectNamePresent == true) - { - status = add_parameter_data(&(certificate_entry->m_SubjectName)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - // Issuer name in distinguished name ASCII form. This is optional. - // For example "/C=US/O=Some organization/CN=Some common name". - status = add_parameter_data(certificate_entry->m_IssuerNamePresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (certificate_entry->m_IssuerNamePresent == true) - { - status = add_parameter_data(&(certificate_entry->m_IssuerName)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - // Serial number in ASCII form. This is optional. - status = add_parameter_data(certificate_entry->m_SerialNumberPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (certificate_entry->m_SerialNumberPresent == true) - { - status = add_parameter_data(&(certificate_entry->m_SerialNumber)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - // Subject key in binary form. This is mandatory. - status = add_parameter_data(certificate_entry->m_SubjectKeyIDPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (certificate_entry->m_SubjectKeyIDPresent == true) - { - status = add_parameter_data(&(certificate_entry->m_SubjectKeyID)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - // Thumbprint in binary form. This is optional. - status = add_parameter_data(certificate_entry->m_ThumbprintPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (certificate_entry->m_ThumbprintPresent == true) - { - status = add_parameter_data(&(certificate_entry->m_Thumbprint)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - - { - // This holds only the certificate label. This is the text UI will show. - status = add_parameter_data(certificate_entry->m_LabelPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (certificate_entry->m_LabelPresent == true) - { - status = add_parameter_data(&(certificate_entry->m_Label)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - // Primary name of the certificate if any, UI uses this. - status = add_parameter_data(certificate_entry->m_PrimaryNamePresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (certificate_entry->m_PrimaryNamePresent == true) - { - status = add_parameter_data(&(certificate_entry->m_PrimaryName)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - // Secondary name of the certificate if any, UI uses this. - status = add_parameter_data(certificate_entry->m_SecondaryNamePresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (certificate_entry->m_SecondaryNamePresent == true) - { - status = add_parameter_data(&(certificate_entry->m_SecondaryName)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - // UI uses this to indicate enabled certificate. - status = add_parameter_data(certificate_entry->m_iIsEnabledPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (certificate_entry->m_iIsEnabledPresent == true) - { - status = add_parameter_data((certificate_entry->m_iIsEnabled)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - eap_status_e status(eap_status_not_supported); - - const u32_t size_of_settings(get_payload_size(internal_settings)); - - status = add_structured_parameter_header( - eap_tlv_message_type_eap_method_settings, - size_of_settings); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_completion_status\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_completion_status)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_EAPType\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Specifies the EAP-method these settings are for. - status = add_parameter_data(internal_settings->m_EAPType); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_IndexType\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_IndexType)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_Index\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_Index)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseAutomaticCACertificatePresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Use automatic CA certificate. - status = add_parameter_data(internal_settings->m_UseAutomaticCACertificatePresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_UseAutomaticCACertificatePresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseAutomaticCACertificate\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_UseAutomaticCACertificate)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseAutomaticUsernamePresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Use automatic username. - status = add_parameter_data(internal_settings->m_UseAutomaticUsernamePresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_UseAutomaticUsernamePresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseAutomaticUsername\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_UseAutomaticUsername)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseAutomaticRealmPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Use automatic username. - status = add_parameter_data(internal_settings->m_UseAutomaticRealmPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_UseAutomaticRealmPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseAutomaticRealm\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_UseAutomaticRealm)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UsernamePresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Username in ASCII format - status = add_parameter_data(internal_settings->m_UsernamePresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_UsernamePresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_Username_fix\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(&(internal_settings->m_Username_fix)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PasswordExistPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Password existence - status = add_parameter_data(internal_settings->m_PasswordExistPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_PasswordExistPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PasswordExist\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(internal_settings->m_PasswordExist); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PasswordPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Password in ASCII format - status = add_parameter_data(internal_settings->m_PasswordPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_PasswordPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_Password\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(&(internal_settings->m_Password)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_RealmPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Realm in ASCII format - status = add_parameter_data(internal_settings->m_RealmPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_RealmPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_Realm\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(&(internal_settings->m_Realm)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UsePseudonymsPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Use pseudonym identities in EAP-SIM/AKA - status = add_parameter_data(internal_settings->m_UsePseudonymsPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_UsePseudonymsPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UsePseudonyms\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_UsePseudonyms)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_VerifyServerRealmPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Whether EAP-TLS/TTLS/PEAP should verify server realm - status = add_parameter_data(internal_settings->m_VerifyServerRealmPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_VerifyServerRealmPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_VerifyServerRealm\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_VerifyServerRealm)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_RequireClientAuthenticationPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Whether EAP-TLS/TTLS/PEAP should require client authentication - status = add_parameter_data(internal_settings->m_RequireClientAuthenticationPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_RequireClientAuthenticationPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_RequireClientAuthentication\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_RequireClientAuthentication)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_SessionValidityTimePresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // General session validity time (in minutes) - status = add_parameter_data(internal_settings->m_SessionValidityTimePresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_SessionValidityTimePresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_SessionValidityTime\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_SessionValidityTime)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_CipherSuitesPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // An array of allowed cipher suites for EAP-TLS/TTLS/PEAP. - // Refer to RFC2246 chapter A.5 for the values. - status = add_parameter_data(internal_settings->m_CipherSuitesPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_CipherSuitesPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_CipherSuites\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(&(internal_settings->m_CipherSuites)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PEAPVersionsPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Which EAP-PEAP versions are allowed - status = add_parameter_data(internal_settings->m_PEAPVersionsPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_PEAPVersionsPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PEAPv0Allowed\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_PEAPv0Allowed)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PEAPv1Allowed\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_PEAPv1Allowed)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PEAPv2Allowed\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_PEAPv2Allowed)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_CertificatesPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Array listing the allowed certificates for EAP-TLS/TTLS/PEAP. - // Subject key ID and Certificate type are the only mandatory certificate - // details needed at the moment. - status = add_parameter_data(internal_settings->m_CertificatesPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_CertificatesPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_Certificates\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(&(internal_settings->m_Certificates)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_EnabledEncapsulatedEAPTypesPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Array listing the enabled encapsulated EAP types (in priority order). - // Use EAP type values from eap_type_value_e. - status = add_parameter_data(internal_settings->m_EnabledEncapsulatedEAPTypesPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_EnabledEncapsulatedEAPTypesPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_EnabledEncapsulatedEAPTypes\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(&(internal_settings->m_EnabledEncapsulatedEAPTypes)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_DisabledEncapsulatedEAPTypesPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Array listing the disabled encapsulated EAP types (in priority order). - // Use EAP type values from eap_type_value_e. - status = add_parameter_data(internal_settings->m_DisabledEncapsulatedEAPTypesPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_DisabledEncapsulatedEAPTypesPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_DisabledEncapsulatedEAPTypes\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(&(internal_settings->m_DisabledEncapsulatedEAPTypes)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_AuthProvModeAllowedPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Whether Authenticated provisioning mode allowed or not in EAP-FAST. - status = add_parameter_data(internal_settings->m_AuthProvModeAllowedPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_AuthProvModeAllowedPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_AuthProvModeAllowed\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_AuthProvModeAllowed)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UnauthProvModeAllowedPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Whether Unauthenticated provisioning mode allowed or not in EAP-FAST. - status = add_parameter_data(internal_settings->m_UnauthProvModeAllowedPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_UnauthProvModeAllowedPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UnauthProvModeAllowed\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_UnauthProvModeAllowed)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PACGroupReferencePresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // PAC group reference in ASCII format for EAP-FAST. - status = add_parameter_data(internal_settings->m_PACGroupReferencePresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_PACGroupReferencePresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_PACGroupReference\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(&(internal_settings->m_PACGroupReference)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_WarnADHPNoPACPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Whether to Warn (or Prompt) for ADHP (Authenticated Diffie-Hellman Protocol) - // auto-provisioning when there is no PAC at all. EAP-FAST specific. - status = add_parameter_data(internal_settings->m_WarnADHPNoPACPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_WarnADHPNoPACPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_WarnADHPNoPAC\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_WarnADHPNoPAC)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_WarnADHPNoMatchingPACPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Whether to Warn (or Prompt) for ADHP auto-provisioning when - // there is no PAC that matches the A-ID sent by server. EAP-FAST specific. - status = add_parameter_data(internal_settings->m_WarnADHPNoMatchingPACPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_WarnADHPNoMatchingPACPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_WarnADHPNoMatchingPAC\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_WarnADHPNoMatchingPAC)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_WarnNotDefaultServerPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Whether to Warn (or Prompt) when client encouters a server that has provisioned - // the client with a PAC before but is not currently selected as the default server. - // EAP-FAST specific. - status = add_parameter_data(internal_settings->m_WarnNotDefaultServerPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_WarnNotDefaultServerPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_WarnNotDefaultServer\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_WarnNotDefaultServer)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_SelectedEAPTypesPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Array listing the active and disabled EAP types (in priority order). - // Use EAP type values from eap_type_value_e. - status = add_parameter_data(internal_settings->m_SelectedEAPTypesPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_SelectedEAPTypesPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_active_eap_methods\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(&(internal_settings->m_active_eap_methods)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_disabled_eap_methods\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(&(internal_settings->m_disabled_eap_methods)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_TunnelingTypePresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(internal_settings->m_TunnelingTypePresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_TunnelingTypePresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_TunnelingType\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_TunnelingType)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_DestinationIndexAndTypePresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(internal_settings->m_DestinationIndexAndTypePresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_DestinationIndexAndTypePresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_DestinationIndexType\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_DestinationIndexType)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_DestinationIndex\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_DestinationIndex)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_MethodInfoPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(internal_settings->m_MethodInfoPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_MethodInfoPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_KReleaseDate\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(&(internal_settings->m_KReleaseDate)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_KEapTypeVersion\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(&(internal_settings->m_KEapTypeVersion)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_KManufacturer\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(&(internal_settings->m_KManufacturer)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_ButtonIdPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data(internal_settings->m_ButtonIdPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_ButtonIdPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_ButtonId\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_ButtonId)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_ShowPassWordPromptPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Whether to show (or Prompt) password. - status = add_parameter_data(internal_settings->m_ShowPassWordPromptPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_ShowPassWordPromptPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_ShowPassWordPrompt\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_ShowPassWordPrompt)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseIdentityPrivacyPresent\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - // Whether to show (or Prompt) password. - status = add_parameter_data(internal_settings->m_UseIdentityPrivacyPresent); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_UseIdentityPrivacyPresent == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s, m_UseIdentityPrivacy\n"), - eap_tlv_message_type_eap_method_settings, - get_type_string(eap_tlv_message_type_eap_method_settings))); - - status = add_parameter_data((internal_settings->m_UseIdentityPrivacy)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const ushort_array) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): array type=%d=%s\n"), - eap_tlv_message_type_u16_t, - get_type_string(eap_tlv_message_type_u16_t))); - - if (ushort_array == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const u32_t size_of_ushort_array(get_payload_size(ushort_array)); - - eap_status_e status = add_structured_parameter_header( - eap_tlv_message_type_array, - size_of_ushort_array); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - for (u32_t ind = 0ul; ind < ushort_array->get_object_count(); ind++) - { - const u16_t * const value = ushort_array->get_object(ind); - if (value != 0) - { - status = add_parameter_data(*value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const cert_array) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): array type=%d=%s\n"), - eap_tlv_message_type_eap_certificate_entry, - get_type_string(eap_tlv_message_type_eap_certificate_entry))); - - if (cert_array == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const u32_t size_of_cert_array(get_payload_size(cert_array)); - - eap_status_e status = add_structured_parameter_header( - eap_tlv_message_type_array, - size_of_cert_array); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - for (u32_t ind = 0ul; ind < cert_array->get_object_count(); ind++) - { - const eap_certificate_entry_c * const value = cert_array->get_object(ind); - if (value != 0) - { - status = add_parameter_data(value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const credential_array) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): array type=%d=%s\n"), - eap_tlv_message_type_protected_setup_credential, - get_type_string(eap_tlv_message_type_protected_setup_credential))); - - if (credential_array == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const u32_t size_of_credential_array(get_payload_size(credential_array)); - - eap_status_e status = add_structured_parameter_header( - eap_tlv_message_type_array, - size_of_credential_array); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - for (u32_t ind_credential = 0ul; ind_credential < credential_array->get_object_count(); ind_credential++) - { - simple_config_credential_c * const credential = credential_array->get_object(ind_credential); - if (credential != 0) - { - const u32_t size_of_credential(get_payload_size(credential)); - - eap_status_e status = add_structured_parameter_header( - eap_tlv_message_type_protected_setup_credential, - size_of_credential); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(credential->get_network_index()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(credential->get_SSID()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(static_cast(credential->get_Authentication_Type())); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(static_cast(credential->get_Encryption_Type())); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - const u32_t size_of_network_key_array(get_payload_size(credential->get_network_keys())); - - status = add_structured_parameter_header( - eap_tlv_message_type_array, - size_of_network_key_array); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - for (u32_t ind_network_key = 0ul; ind_network_key < credential->get_network_keys()->get_object_count(); ind_network_key++) - { - network_key_and_index_c * const network_key = credential->get_network_keys()->get_object(ind_network_key); - if (network_key != 0) - { - const u32_t size_of_network_key(get_payload_size(network_key)); - - status = add_structured_parameter_header( - eap_tlv_message_type_network_key, - size_of_network_key); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(network_key->get_network_key_index()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(network_key->get_network_key()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } // for () - - status = add_parameter_data(credential->get_MAC_address()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } // for () - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - const eap_variable_data_c * const selector, - const eap_config_value_c * const configuration_option) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(): type=%d=%s\n"), - eap_tlv_message_type_variable_data, - get_type_string(eap_tlv_message_type_variable_data))); - - if (selector == 0 - || selector->get_is_valid_data() == false - || configuration_option == 0 - || configuration_option->get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status(eap_status_ok); - - u32_t size_of_data = get_payload_size( - selector, - configuration_option); - - if (size_of_data > 0ul) - { - status = add_structured_parameter_header( - eap_tlv_message_type_configuration_option, - size_of_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(static_cast(configuration_option->get_const_type())); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_parameter_data(selector); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - switch(configuration_option->get_const_type()) - { - case eap_configure_type_string: - case eap_configure_type_hex_data: - status = add_parameter_data(configuration_option->get_const_data()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - break; - case eap_configure_type_u32_t: - case eap_configure_type_boolean: - { - const u32_t * value = reinterpret_cast(configuration_option->get_const_data()->get_data(sizeof(u32_t))); - if (value != 0) - { - status = add_parameter_data(*value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - break; - case eap_configure_type_u32array: - { - const u32_t count_of_values = configuration_option->get_const_data()->get_data_length() / sizeof(u32_t); - const u32_t * value = reinterpret_cast(configuration_option->get_const_data()->get_data(sizeof(u32_t))); - if (value != 0) - { - status = add_structured_parameter_header( - eap_tlv_message_type_array, - count_of_values*(eap_tlv_header_c::get_header_length()+sizeof(u32_t))); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - for (u32_t ind = 0ul; ind < count_of_values; ++ind) - { - status = add_parameter_data(value[ind]); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - } - break; - default: - break; - }; - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const integer_header, - u64_t * const value) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - integer_header->get_type(), - get_type_string(static_cast(integer_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(u64_t *)"), - integer_header->get_header_buffer(integer_header->get_header_buffer_length()), - integer_header->get_header_buffer_length())); - - if (static_cast(integer_header->get_type()) - != eap_tlv_message_type_u64_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - const u8_t * const data = integer_header->get_value(sizeof(u64_t)); - if (data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - *value = - eap_read_u64_t_network_order( - data, - sizeof(u64_t)); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const integer_header, - u32_t * const value) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - integer_header->get_type(), - get_type_string(static_cast(integer_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(u32_t *)"), - integer_header->get_header_buffer(integer_header->get_header_buffer_length()), - integer_header->get_header_buffer_length())); - - if (static_cast(integer_header->get_type()) - != eap_tlv_message_type_boolean - && static_cast(integer_header->get_type()) - != eap_tlv_message_type_eap_protocol_layer - && static_cast(integer_header->get_type()) - != eap_tlv_message_type_eapol_key_802_11_authentication_mode - && static_cast(integer_header->get_type()) - != eap_tlv_message_type_eapol_key_authentication_type - && static_cast(integer_header->get_type()) - != eap_tlv_message_type_eapol_key_type - && static_cast(integer_header->get_type()) - != eap_tlv_message_type_eapol_tkip_mic_failure_type - && static_cast(integer_header->get_type()) - != eap_tlv_message_type_eapol_wlan_authentication_state - && static_cast(integer_header->get_type()) - != eap_tlv_message_type_error - && static_cast(integer_header->get_type()) - != eap_tlv_message_type_function - && static_cast(integer_header->get_type()) - != eap_tlv_message_type_RSNA_cipher - && static_cast(integer_header->get_type()) - != eap_tlv_message_type_u32_t - && static_cast(integer_header->get_type()) - != eap_tlv_message_type_eap_status - ) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - const u8_t * const data = integer_header->get_value(sizeof(u32_t)); - if (data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - *value = - eap_read_u32_t_network_order( - data, - sizeof(u32_t)); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const integer_header, - u16_t * const value) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - integer_header->get_type(), - get_type_string(static_cast(integer_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(u16_t *)"), - integer_header->get_header_buffer(integer_header->get_header_buffer_length()), - integer_header->get_header_buffer_length())); - - if (static_cast(integer_header->get_type()) - != eap_tlv_message_type_u16_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - const u8_t * const data = integer_header->get_value(sizeof(u16_t)); - if (data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - *value = - eap_read_u16_t_network_order( - data, - sizeof(u16_t)); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const integer_header, - u8_t * const value) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - integer_header->get_type(), - get_type_string(static_cast(integer_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(u8_t *)"), - integer_header->get_header_buffer(integer_header->get_header_buffer_length()), - integer_header->get_header_buffer_length())); - - if (static_cast(integer_header->get_type()) - != eap_tlv_message_type_u8_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - const u8_t * const data = integer_header->get_value(sizeof(u8_t)); - if (data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - *value = *data; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const integer_header, - i32_t * const value) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - integer_header->get_type(), - get_type_string(static_cast(integer_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(u8_t *)"), - integer_header->get_header_buffer(integer_header->get_header_buffer_length()), - integer_header->get_header_buffer_length())); - - if (static_cast(integer_header->get_type()) - != eap_tlv_message_type_i32_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - const u8_t * const data = integer_header->get_value(sizeof(i32_t)); - if (data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - *value = static_cast(eap_read_u32_t_network_order( - data, - sizeof(i32_t))); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const integer_header, - i16_t * const value) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - integer_header->get_type(), - get_type_string(static_cast(integer_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(u8_t *)"), - integer_header->get_header_buffer(integer_header->get_header_buffer_length()), - integer_header->get_header_buffer_length())); - - if (static_cast(integer_header->get_type()) - != eap_tlv_message_type_i16_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - const u8_t * const data = integer_header->get_value(sizeof(i16_t)); - if (data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - *value = static_cast(eap_read_u16_t_network_order( - data, - sizeof(i16_t))); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const integer_header, - i8_t * const value) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - integer_header->get_type(), - get_type_string(static_cast(integer_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(u8_t *)"), - integer_header->get_header_buffer(integer_header->get_header_buffer_length()), - integer_header->get_header_buffer_length())); - - if (static_cast(integer_header->get_type()) - != eap_tlv_message_type_i8_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - const u8_t * const data = integer_header->get_value(sizeof(i8_t)); - if (data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - *value = static_cast(*data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const function_header, - eap_tlv_message_type_function_e * const function) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - function_header->get_type(), - get_type_string(static_cast(function_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(eap_tlv_message_type_function_e *)"), - function_header->get_header_buffer(function_header->get_header_buffer_length()), - function_header->get_header_buffer_length())); - - if (static_cast(function_header->get_type()) - != eap_tlv_message_type_function) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - u32_t host_order(0ul); - - eap_status_e status = get_parameter_data( - function_header, - &host_order); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - *function = static_cast(host_order); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, function=%s\n"), - eap_tlv_message_type_function, - get_type_string(eap_tlv_message_type_function), - get_function_string(*function) - )); - - if (*function < eap_tlv_message_type_function_none - || eap_tlv_message_type_function_illegal_value <= *function) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const network_id_header, - eap_am_network_id_c * const new_network_id) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - network_id_header->get_type(), - get_type_string(static_cast(network_id_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(eap_am_network_id_c *)"), - network_id_header->get_header_buffer(network_id_header->get_header_buffer_length()), - network_id_header->get_header_buffer_length())); - - if (static_cast(network_id_header->get_type()) - != eap_tlv_message_type_network_id) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - eap_process_tlv_message_data_c network_id_data(m_am_tools); - - if (network_id_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = network_id_data.set_message_data( - network_id_header->get_value_length(), - network_id_header->get_value(network_id_header->get_value_length())); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c network_id_members(m_am_tools); - - status = network_id_data.parse_message_data(&network_id_members); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - u32_t member_index(0ul); - - eap_variable_data_c source_id( - m_am_tools); - - if (source_id.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - { - const eap_tlv_header_c * const source_id_header = network_id_members.get_object(member_index); - if (source_id_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = network_id_data.get_parameter_data(source_id_header, &source_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - - ++member_index; - - eap_variable_data_c destination_id( - m_am_tools); - - if (destination_id.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - { - const eap_tlv_header_c * const destination_id_header = network_id_members.get_object(member_index); - if (destination_id_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = network_id_data.get_parameter_data(destination_id_header, &destination_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - - ++member_index; - - u16_t type_value(0ul); - - { - const eap_tlv_header_c * const type_header = network_id_members.get_object(member_index); - if (type_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = network_id_data.get_parameter_data(type_header, &type_value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - - status = new_network_id->set_copy_of_am_network_id( - source_id.get_data(), - source_id.get_data_length(), - destination_id.get_data(), - destination_id.get_data_length(), - type_value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const variable_data_header, - eap_variable_data_c * const variable_data) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - variable_data_header->get_type(), - get_type_string(static_cast(variable_data_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(eap_variable_data_c *)"), - variable_data_header->get_header_buffer(variable_data_header->get_header_buffer_length()), - variable_data_header->get_header_buffer_length())); - - if (variable_data == 0 - || variable_data->get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - if (static_cast(variable_data_header->get_type()) - != eap_tlv_message_type_variable_data) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - eap_status_e status = variable_data->set_copy_of_buffer( - variable_data_header->get_value(variable_data_header->get_value_length()), - variable_data_header->get_value_length()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const session_key_header, - eapol_session_key_c * const session_key) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - session_key_header->get_type(), - get_type_string(static_cast(session_key_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(eapol_session_key_c *)"), - session_key_header->get_header_buffer(session_key_header->get_header_buffer_length()), - session_key_header->get_header_buffer_length())); - - if (static_cast(session_key_header->get_type()) - != eap_tlv_message_type_session_key) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - eap_process_tlv_message_data_c session_key_data(m_am_tools); - - if (session_key_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = session_key_data.set_message_data( - session_key_header->get_value_length(), - session_key_header->get_value(session_key_header->get_value_length())); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c session_key_members(m_am_tools); - - status = session_key_data.parse_message_data(&session_key_members); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - u32_t member_index(0ul); - - { - const eap_tlv_header_c * const a_session_key_header = session_key_members.get_object(member_index); - if (a_session_key_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_variable_data_c key( - m_am_tools); - - if (key.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = session_key_data.get_parameter_data(a_session_key_header, &key); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = session_key->set_key(&key); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - ++member_index; - - { - const eap_tlv_header_c * const sequence_number_header = session_key_members.get_object(member_index); - if (sequence_number_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_variable_data_c sequence_number( - m_am_tools); - - if (sequence_number.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = session_key_data.get_parameter_data(sequence_number_header, &sequence_number); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = session_key->set_sequence_number(&sequence_number); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - ++member_index; - - { - const eap_tlv_header_c * const key_type_header = session_key_members.get_object(member_index); - if (key_type_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u32_t value(0ul); - - status = session_key_data.get_parameter_data(key_type_header, &value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - session_key->set_key_type(static_cast(value)); - } - - ++member_index; - - { - const eap_tlv_header_c * const key_index_header = session_key_members.get_object(member_index); - if (key_index_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u32_t value(0ul); - - status = session_key_data.get_parameter_data(key_index_header, &value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - session_key->set_key_index(value); - } - - ++member_index; - - { - const eap_tlv_header_c * const key_tx_bit_header = session_key_members.get_object(member_index); - if (key_tx_bit_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u32_t value(0ul); - - status = session_key_data.get_parameter_data(key_tx_bit_header, &value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - session_key->set_key_tx_bit((value == 0) ? false : true); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const state_header, - eap_state_notification_c * * const state) - -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - state_header->get_type(), - get_type_string(static_cast(state_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(eap_state_notification_c *)"), - state_header->get_header_buffer(state_header->get_header_buffer_length()), - state_header->get_header_buffer_length())); - - if (static_cast(state_header->get_type()) - != eap_tlv_message_type_eap_state_notification) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - eap_process_tlv_message_data_c session_key_data(m_am_tools); - - if (session_key_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = session_key_data.set_message_data( - state_header->get_value_length(), - state_header->get_value(state_header->get_value_length())); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c session_key_members(m_am_tools); - - status = session_key_data.parse_message_data(&session_key_members); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - u32_t member_index(0ul); - - eap_am_network_id_c send_network_id(m_am_tools); - - { - const eap_tlv_header_c * const send_network_id_header = session_key_members.get_object(member_index); - if (send_network_id_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = get_parameter_data(send_network_id_header, &send_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - - ++member_index; - - eap_protocol_layer_e protocol_layer(eap_protocol_layer_none); - - { - const eap_tlv_header_c * const protocol_layer_header = session_key_members.get_object(member_index); - if (protocol_layer_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u32_t value(0ul); - - status = session_key_data.get_parameter_data(protocol_layer_header, &value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - protocol_layer = static_cast(value); - } - - - ++member_index; - - u32_t protocol(0ul); - - { - const eap_tlv_header_c * const protocol_header = session_key_members.get_object(member_index); - if (protocol_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = session_key_data.get_parameter_data(protocol_header, &protocol); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - - ++member_index; - - eap_type_value_e eap_type(eap_type_none); - - { - const eap_tlv_header_c * const eap_type_header = session_key_members.get_object(member_index); - if (eap_type_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = session_key_data.get_parameter_data(eap_type_header, &eap_type); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - - ++member_index; - - u32_t current_state(0ul); - - { - const eap_tlv_header_c * const current_state_header = session_key_members.get_object(member_index); - if (current_state_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = session_key_data.get_parameter_data(current_state_header, ¤t_state); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - - ++member_index; - - bool is_client(true); - - { - const eap_tlv_header_c * const is_client_header = session_key_members.get_object(member_index); - if (is_client_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u32_t value(0ul); - - status = session_key_data.get_parameter_data(is_client_header, &value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - is_client = (value == 0ul) ? false : true; - } - - - ++member_index; - - eap_status_e authentication_error(eap_status_ok); - - { - const eap_tlv_header_c * const authentication_error_header = session_key_members.get_object(member_index); - if (authentication_error_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u32_t value(0ul); - - status = session_key_data.get_parameter_data(authentication_error_header, &value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - authentication_error = static_cast(value); - } - - if (eap_type != eap_type_none) - { - *state = new eap_state_notification_c( - m_am_tools, - &send_network_id, - is_client, - eap_state_notification_eap, - protocol_layer, - eap_type, - current_state, - current_state, - 0ul, - false); - } - else - { - - - *state = new eap_state_notification_c( - m_am_tools, - &send_network_id, - is_client, - eap_state_notification_generic, - protocol_layer, - protocol, - current_state, - current_state, - 0ul, - false); - } - - if ((*state) == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - (*state)->set_authentication_error(authentication_error); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const eap_type_header, - eap_type_value_e * const eap_type) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - eap_type_header->get_type(), - get_type_string(static_cast(eap_type_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(eap_type_value_e *)"), - eap_type_header->get_header_buffer(eap_type_header->get_header_buffer_length()), - eap_type_header->get_header_buffer_length())); - - if (static_cast(eap_type_header->get_type()) - != eap_tlv_message_type_eap_type) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - eap_status_e status = eap_expanded_type_c::read_type( - m_am_tools, - 0ul, - eap_type_header->get_value(eap_type_header->get_value_length()), - eap_type_header->get_value_length(), - eap_type); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const settings_header, - eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(eap_method_settings_c *)"), - settings_header->get_header_buffer(settings_header->get_header_buffer_length()), - settings_header->get_header_buffer_length())); - - if (static_cast(settings_header->get_type()) - != eap_tlv_message_type_eap_method_settings) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - eap_process_tlv_message_data_c settings_data(m_am_tools); - - if (settings_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = settings_data.set_message_data( - settings_header->get_value_length(), - settings_header->get_value(settings_header->get_value_length())); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c settings_members(m_am_tools); - - status = settings_data.parse_message_data(&settings_members); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - u32_t member_index(0ul); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_completion_status\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - eap_tlv_message_type_eap_status, - &(internal_settings->m_completion_status)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_EAPType\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_EAPType)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_IndexType\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_IndexType)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_Index\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_Index)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseAutomaticCACertificatePresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Use automatic CA certificate. - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_UseAutomaticCACertificatePresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_UseAutomaticCACertificatePresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseAutomaticCACertificate\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_UseAutomaticCACertificate)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseAutomaticUsernamePresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Use automatic username. - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_UseAutomaticUsernamePresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_UseAutomaticUsernamePresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseAutomaticUsername\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_UseAutomaticUsername)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseAutomaticRealmPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Use automatic username. - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_UseAutomaticRealmPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_UseAutomaticRealmPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseAutomaticRealm\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_UseAutomaticRealm)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UsernamePresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Username in ASCII format - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_UsernamePresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_UsernamePresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_Username_fix\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_Username_fix)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PasswordExistPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Password existence - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_PasswordExistPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_PasswordExistPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PasswordExist\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_PasswordExist)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PasswordPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Password in ASCII format - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_PasswordPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_PasswordPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_Password\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_Password)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_RealmPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Realm in ASCII format - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_RealmPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_RealmPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_Realm\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_Realm)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UsePseudonymsPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Use pseudonym identities in EAP-SIM/AKA - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_UsePseudonymsPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_UsePseudonymsPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UsePseudonyms\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_UsePseudonyms)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_VerifyServerRealmPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Whether EAP-TLS/TTLS/PEAP should verify server realm - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_VerifyServerRealmPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_VerifyServerRealmPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_VerifyServerRealm\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_VerifyServerRealm)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_RequireClientAuthenticationPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Whether EAP-TLS/TTLS/PEAP should require client authentication - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_RequireClientAuthenticationPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_RequireClientAuthenticationPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_RequireClientAuthentication\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_RequireClientAuthentication)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_SessionValidityTimePresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // General session validity time (in minutes) - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_SessionValidityTimePresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_SessionValidityTimePresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_SessionValidityTime\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_SessionValidityTime)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_CipherSuitesPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // An array of allowed cipher suites for EAP-TLS/TTLS/PEAP. - // Refer to RFC2246 chapter A.5 for the values. - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_CipherSuitesPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_CipherSuitesPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_CipherSuites\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_CipherSuites)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PEAPVersionsPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Which EAP-PEAP versions are allowed - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_PEAPVersionsPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_PEAPVersionsPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PEAPv0Allowed\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_PEAPv0Allowed)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PEAPv1Allowed\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_PEAPv1Allowed)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PEAPv2Allowed\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_PEAPv2Allowed)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_CertificatesPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Array listing the allowed certificates for EAP-TLS/TTLS/PEAP. - // Subject key ID and Certificate type are the only mandatory certificate - // details needed at the moment. - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_CertificatesPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_CertificatesPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_Certificates\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_Certificates)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_EnabledEncapsulatedEAPTypesPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Array listing the encapsulated EAP types (in priority order). - // Use EAP type values from eap_type_value_e. - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_EnabledEncapsulatedEAPTypesPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_EnabledEncapsulatedEAPTypesPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_EnabledEncapsulatedEAPTypes\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_EnabledEncapsulatedEAPTypes)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_DisabledEncapsulatedEAPTypesPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Array listing the encapsulated EAP types (in priority order). - // Use EAP type values from eap_type_value_e. - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_DisabledEncapsulatedEAPTypesPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_DisabledEncapsulatedEAPTypesPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_DisabledEncapsulatedEAPTypes\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_DisabledEncapsulatedEAPTypes)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_AuthProvModeAllowedPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Whether Authenticated provisioning mode allowed or not in EAP-FAST. - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_AuthProvModeAllowedPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_AuthProvModeAllowedPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_AuthProvModeAllowed\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_AuthProvModeAllowed)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UnauthProvModeAllowedPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Whether Unauthenticated provisioning mode allowed or not in EAP-FAST. - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_UnauthProvModeAllowedPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_UnauthProvModeAllowedPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UnauthProvModeAllowed\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_UnauthProvModeAllowed)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PACGroupReferencePresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // PAC group reference in ASCII format for EAP-FAST. - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_PACGroupReferencePresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_PACGroupReferencePresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_PACGroupReference\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_PACGroupReference)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_WarnADHPNoPACPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Whether to Warn (or Prompt) for ADHP (Authenticated Diffie-Hellman Protocol) - // auto-provisioning when there is no PAC at all. EAP-FAST specific. - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_WarnADHPNoPACPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_WarnADHPNoPACPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_WarnADHPNoPAC\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_WarnADHPNoPAC)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_WarnADHPNoMatchingPACPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Whether to Warn (or Prompt) for ADHP auto-provisioning when - // there is no PAC that matches the A-ID sent by server. EAP-FAST specific. - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_WarnADHPNoMatchingPACPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_WarnADHPNoMatchingPACPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_WarnADHPNoMatchingPAC\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_WarnADHPNoMatchingPAC)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_WarnNotDefaultServerPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Whether to Warn (or Prompt) when client encouters a server that has provisioned - // the client with a PAC before but is not currently selected as the default server. - // EAP-FAST specific. - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_WarnNotDefaultServerPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_WarnNotDefaultServerPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_WarnNotDefaultServer\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_WarnNotDefaultServer)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_SelectedEAPTypesPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - // Array listing the active and disabled EAP types (in priority order). - // Use EAP type values from eap_type_value_e. - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_SelectedEAPTypesPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_SelectedEAPTypesPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_active_eap_methods\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_active_eap_methods)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_disabled_eap_methods\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_disabled_eap_methods)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_TunnelingTypePresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_TunnelingTypePresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_TunnelingTypePresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_TunnelingType\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_TunnelingType)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_DestinationIndexAndTypePresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_DestinationIndexAndTypePresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_DestinationIndexAndTypePresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_DestinationIndexType\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_DestinationIndexType)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_DestinationIndex\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_DestinationIndex)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_MethodInfoPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_MethodInfoPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_MethodInfoPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_KReleaseDate\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_KReleaseDate)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_KEapTypeVersion\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_KEapTypeVersion)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_KManufacturer\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_KManufacturer)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_ButtonIdPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_ButtonIdPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_ButtonIdPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_ButtonId\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_ButtonId)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_ShowPassWordPromptPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_ShowPassWordPromptPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_ShowPassWordPromptPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_ShowPassWordPrompt\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_ShowPassWordPrompt)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseIdentityPrivacyPresent\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_UseIdentityPrivacyPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (internal_settings->m_UseIdentityPrivacyPresent == true) - { - ++member_index; - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s, m_UseIdentityPrivacy\n"), - settings_header->get_type(), - get_type_string(static_cast(settings_header->get_type())))); - - status = read_parameter_data( - &settings_members, - member_index, - &(internal_settings->m_UseIdentityPrivacy)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const cert_entry_header, - eap_certificate_entry_c * const cert_entry) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - cert_entry_header->get_type(), - get_type_string(static_cast(cert_entry_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(eap_certificate_entry_c *)"), - cert_entry_header->get_header_buffer(cert_entry_header->get_header_buffer_length()), - cert_entry_header->get_header_buffer_length())); - - if (static_cast(cert_entry_header->get_type()) - != eap_tlv_message_type_eap_certificate_entry) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - eap_process_tlv_message_data_c settings_data(m_am_tools); - - if (settings_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = settings_data.set_message_data( - cert_entry_header->get_value_length(), - cert_entry_header->get_value(cert_entry_header->get_value_length())); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c settings_members(m_am_tools); - - status = settings_data.parse_message_data(&settings_members); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - u32_t member_index(0ul); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { - // Specifies whether this entry describes user or CA certificate (mandatory) - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_CertType)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - ++member_index; - - { - // Subject name in distinguished name ASCII form. This is optional. - // For example "/C=US/O=Some organization/CN=Some common name". - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_SubjectNamePresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (cert_entry->m_SubjectNamePresent == true) - { - ++member_index; - - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_SubjectName)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - // Issuer name in distinguished name ASCII form. This is optional. - // For example "/C=US/O=Some organization/CN=Some common name". - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_IssuerNamePresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (cert_entry->m_IssuerNamePresent == true) - { - ++member_index; - - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_IssuerName)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - // Serial number in ASCII form. This is optional. - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_SerialNumberPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (cert_entry->m_SerialNumberPresent == true) - { - ++member_index; - - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_SerialNumber)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - // Subject key in binary form. This is mandatory. - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_SubjectKeyIDPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (cert_entry->m_SubjectKeyIDPresent == true) - { - ++member_index; - - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_SubjectKeyID)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - // Subject key in binary form. This is mandatory. - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_ThumbprintPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (cert_entry->m_ThumbprintPresent == true) - { - ++member_index; - - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_Thumbprint)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - // This holds only the certificate label. This is the text UI will show. - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_LabelPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (cert_entry->m_LabelPresent == true) - { - ++member_index; - - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_Label)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - // Primary name of the certificate if any, UI uses this. - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_PrimaryNamePresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (cert_entry->m_PrimaryNamePresent == true) - { - ++member_index; - - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_PrimaryName)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - // Secondary name of the certificate if any, UI uses this. - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_SecondaryNamePresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (cert_entry->m_SecondaryNamePresent == true) - { - ++member_index; - - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_SecondaryName)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - ++member_index; - - { - // UI uses this to indicate enabled certificate. - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_iIsEnabledPresent)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (cert_entry->m_iIsEnabledPresent == true) - { - ++member_index; - - status = read_parameter_data( - &settings_members, - member_index, - &(cert_entry->m_iIsEnabled)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const ushort_array_header, - eap_array_c * const ushort_array) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - ushort_array_header->get_type(), - get_type_string(static_cast(ushort_array_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(eap_array_c *)"), - ushort_array_header->get_header_buffer(ushort_array_header->get_header_buffer_length()), - ushort_array_header->get_header_buffer_length())); - - if (static_cast(ushort_array_header->get_type()) - != eap_tlv_message_type_array) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - eap_process_tlv_message_data_c ushort_array_data(m_am_tools); - - if (ushort_array_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = ushort_array_data.set_message_data( - ushort_array_header->get_value_length(), - ushort_array_header->get_value(ushort_array_header->get_value_length())); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c ushort_array_members(m_am_tools); - - status = ushort_array_data.parse_message_data(&ushort_array_members); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - for (u32_t ind_member = 0ul; ind_member < ushort_array_members.get_object_count(); ind_member++) - { - u16_t * const ushort_value = new u16_t; - - eap_automatic_variable_c automatic_ushort_value(m_am_tools, ushort_value); - - if (ushort_value == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - { - const eap_tlv_header_c * const ushort_header = ushort_array_members.get_object(ind_member); - if (ushort_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = ushort_array_data.get_parameter_data(ushort_header, ushort_value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - automatic_ushort_value.do_not_free_variable(); - - status = ushort_array->add_object(ushort_value, true); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } // for () - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT u32_t eap_process_tlv_message_data_c::get_payload_size( - EAP_TEMPLATE_CONST eap_array_c * const eap_type_array) const -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_payload_size(eap_array_c * )\n"))); - - u32_t size = eap_type_array->get_object_count() - * (eap_tlv_header_c::get_header_length() - + eap_expanded_type_c::get_eap_expanded_type_size()); // Size of eap_type_value_e - - return (size); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::add_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const eap_type_array) -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::add_parameter_data(eap_array_c * )\n"))); - - const u32_t size_of_eap_type_array(get_payload_size(eap_type_array)); - - eap_status_e status = add_structured_parameter_header( - eap_tlv_message_type_array, - size_of_eap_type_array); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - for (u32_t ind = 0ul; ind < eap_type_array->get_object_count(); ind++) - { - const eap_type_value_e * const value = eap_type_array->get_object(ind); - if (value != 0) - { - status = add_parameter_data(*value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const eap_type_array_header, - eap_array_c * const eap_type_array) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - eap_type_array_header->get_type(), - get_type_string(static_cast(eap_type_array_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(eap_array_c *)"), - eap_type_array_header->get_header_buffer(eap_type_array_header->get_header_buffer_length()), - eap_type_array_header->get_header_buffer_length())); - - if (static_cast(eap_type_array_header->get_type()) - != eap_tlv_message_type_array) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - eap_process_tlv_message_data_c ushort_array_data(m_am_tools); - - if (ushort_array_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = ushort_array_data.set_message_data( - eap_type_array_header->get_value_length(), - eap_type_array_header->get_value(eap_type_array_header->get_value_length())); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c ushort_array_members(m_am_tools); - - status = ushort_array_data.parse_message_data(&ushort_array_members); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - for (u32_t ind_member = 0ul; ind_member < ushort_array_members.get_object_count(); ind_member++) - { - eap_type_value_e * const eap_type_value = new eap_type_value_e(); - - eap_automatic_variable_c automatic_eap_type_value(m_am_tools, eap_type_value); - - if (eap_type_value == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - { - const eap_tlv_header_c * const eap_type_value_header = ushort_array_members.get_object(ind_member); - if (eap_type_value_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = ushort_array_data.get_parameter_data(eap_type_value_header, eap_type_value); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - automatic_eap_type_value.do_not_free_variable(); - - status = eap_type_array->add_object(eap_type_value, true); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } // for () - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const cert_array_header, - eap_array_c * const cert_array) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - cert_array_header->get_type(), - get_type_string(static_cast(cert_array_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(eap_array_c *)"), - cert_array_header->get_header_buffer(cert_array_header->get_header_buffer_length()), - cert_array_header->get_header_buffer_length())); - - if (static_cast(cert_array_header->get_type()) - != eap_tlv_message_type_array) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - eap_process_tlv_message_data_c cert_array_data(m_am_tools); - - if (cert_array_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = cert_array_data.set_message_data( - cert_array_header->get_value_length(), - cert_array_header->get_value(cert_array_header->get_value_length())); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c cert_array_members(m_am_tools); - - status = cert_array_data.parse_message_data(&cert_array_members); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - for (u32_t ind_member = 0ul; ind_member < cert_array_members.get_object_count(); ind_member++) - { - eap_certificate_entry_c * const cert_entry = new eap_certificate_entry_c(m_am_tools); - - eap_automatic_variable_c automatic_cert_entry(m_am_tools, cert_entry); - - if (cert_entry == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - { - const eap_tlv_header_c * const cert_entry_header = cert_array_members.get_object(ind_member); - if (cert_entry_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = cert_array_data.get_parameter_data(cert_entry_header, cert_entry); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - automatic_cert_entry.do_not_free_variable(); - - status = cert_array->add_object(cert_entry, true); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } // for () - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const network_key_header, - network_key_and_index_c * const network_key) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - network_key_header->get_type(), - get_type_string(static_cast(network_key_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(network_key_and_index_c *)"), - network_key_header->get_header_buffer(network_key_header->get_header_buffer_length()), - network_key_header->get_header_buffer_length())); - - if (static_cast(network_key_header->get_type()) - != eap_tlv_message_type_network_key) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - eap_process_tlv_message_data_c credential_data(m_am_tools); - - if (credential_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = credential_data.set_message_data( - network_key_header->get_value_length(), - network_key_header->get_value(network_key_header->get_value_length())); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c credential_members(m_am_tools); - - status = credential_data.parse_message_data(&credential_members); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - u32_t member_index(0ul); - - u8_t network_key_index(0ul); - - { - const eap_tlv_header_c * const network_key_index_header = credential_members.get_object(member_index); - if (network_key_index_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = credential_data.get_parameter_data(network_key_index_header, &network_key_index); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - ++member_index; - - eap_variable_data_c key(m_am_tools); - - { - const eap_tlv_header_c * const key_header = credential_members.get_object(member_index); - if (key_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = credential_data.get_parameter_data(key_header, &key); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - ++member_index; - - network_key->set_network_key_index(network_key_index); - - status = network_key->get_network_key()->set_copy_of_buffer(&key); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const network_keys_array_header, - eap_array_c * const network_keys_array) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - network_keys_array_header->get_type(), - get_type_string(static_cast(network_keys_array_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(eap_array_c *)"), - network_keys_array_header->get_header_buffer(network_keys_array_header->get_header_buffer_length()), - network_keys_array_header->get_header_buffer_length())); - - if (static_cast(network_keys_array_header->get_type()) - != eap_tlv_message_type_array) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - eap_process_tlv_message_data_c credential_array_data(m_am_tools); - - if (credential_array_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = credential_array_data.set_message_data( - network_keys_array_header->get_value_length(), - network_keys_array_header->get_value(network_keys_array_header->get_value_length())); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c credential_array_members(m_am_tools); - - status = credential_array_data.parse_message_data(&credential_array_members); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - for (u32_t ind_member = 0ul; ind_member < credential_array_members.get_object_count(); ind_member++) - { - network_key_and_index_c * const network_key = new network_key_and_index_c(m_am_tools); - - eap_automatic_variable_c automatic_network_key(m_am_tools, network_key); - - if (network_key == 0 - || network_key->get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - { - const eap_tlv_header_c * const simple_config_credential_header = credential_array_members.get_object(ind_member); - if (simple_config_credential_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = credential_array_data.get_parameter_data(simple_config_credential_header, network_key); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - automatic_network_key.do_not_free_variable(); - - status = network_keys_array->add_object(network_key, true); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } // for () - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const credential_header, - simple_config_credential_c * const credential) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - credential_header->get_type(), - get_type_string(static_cast(credential_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(simple_config_credential_c *)"), - credential_header->get_header_buffer(credential_header->get_header_buffer_length()), - credential_header->get_header_buffer_length())); - - if (static_cast(credential_header->get_type()) - != eap_tlv_message_type_protected_setup_credential) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - eap_process_tlv_message_data_c credential_data(m_am_tools); - - if (credential_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = credential_data.set_message_data( - credential_header->get_value_length(), - credential_header->get_value(credential_header->get_value_length())); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c credential_members(m_am_tools); - - status = credential_data.parse_message_data(&credential_members); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - u32_t member_index(0ul); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u8_t network_index(0ul); - - status = credential_data.read_parameter_data( - &credential_members, - member_index, - &network_index); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++member_index; - - eap_variable_data_c SSID(m_am_tools); - - status = credential_data.read_parameter_data( - &credential_members, - member_index, - &SSID); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++member_index; - - simple_config_Authentication_Type_e authentication_type(simple_config_Authentication_Type_None); - - status = credential_data.read_parameter_data( - &credential_members, - member_index, - &authentication_type); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++member_index; - - simple_config_Encryption_Type_e encryption_type(simple_config_Encryption_Type_None); - - status = credential_data.read_parameter_data( - &credential_members, - member_index, - &encryption_type); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++member_index; - - eap_array_c network_keys_array(m_am_tools); - - status = credential_data.read_parameter_data( - &credential_members, - member_index, - &network_keys_array); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++member_index; - - eap_variable_data_c MAC_address(m_am_tools); - - status = credential_data.read_parameter_data( - &credential_members, - member_index, - &MAC_address); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - credential->set_network_index(network_index); - - status = credential->get_SSID()->set_copy_of_buffer(&SSID); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - credential->set_Authentication_Type(authentication_type); - - credential->set_Encryption_Type(encryption_type); - - status = copy( - &network_keys_array, - credential->get_network_keys(), - m_am_tools, - false); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = credential->get_MAC_address()->set_copy_of_buffer(&MAC_address); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::get_parameter_data( - const eap_tlv_header_c * const credential_array_header, - eap_array_c * const credential_array) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_process_tlv_message_data_c::get_parameter_data(): type=%d=%s\n"), - credential_array_header->get_type(), - get_type_string(static_cast(credential_array_header->get_type())))); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("get_parameter_data(eap_array_c *)"), - credential_array_header->get_header_buffer(credential_array_header->get_header_buffer_length()), - credential_array_header->get_header_buffer_length())); - - if (static_cast(credential_array_header->get_type()) - != eap_tlv_message_type_array) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); - } - - eap_process_tlv_message_data_c credential_array_data(m_am_tools); - - if (credential_array_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = credential_array_data.set_message_data( - credential_array_header->get_value_length(), - credential_array_header->get_value(credential_array_header->get_value_length())); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c credential_array_members(m_am_tools); - - status = credential_array_data.parse_message_data(&credential_array_members); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - - for (u32_t ind_member = 0ul; ind_member < credential_array_members.get_object_count(); ind_member++) - { - simple_config_credential_c * const simple_config_credential = new simple_config_credential_c(m_am_tools); - - eap_automatic_variable_c automatic_simple_config_credential(m_am_tools, simple_config_credential); - - if (simple_config_credential == 0 - || simple_config_credential->get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - { - const eap_tlv_header_c * const simple_config_credential_header = credential_array_members.get_object(ind_member); - if (simple_config_credential_header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - status = credential_array_data.get_parameter_data(simple_config_credential_header, simple_config_credential); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - automatic_simple_config_credential.do_not_free_variable(); - - status = credential_array->add_object(simple_config_credential, true); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } // for () - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_am_network_id_c * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_network_id) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_variable_data_c * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_variable_data) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - const eap_tlv_message_type_e type, - eap_status_e * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != static_cast(type)) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u32_t value(0ul); - - eap_status_e status = get_parameter_data(positional_parameter, &value); - - *out_data = static_cast(value); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_array_c * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const array_of_network_ids - = parameters->get_object(parameter_index); - - if (array_of_network_ids == 0 - || array_of_network_ids->get_type() != eap_tlv_message_type_array) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_process_tlv_message_data_c array_data(m_am_tools); - - if (array_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status = array_data.set_message_data( - array_of_network_ids->get_value_length(), - array_of_network_ids->get_value(array_of_network_ids->get_value_length())); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_array_c network_ids(m_am_tools); - - status = array_data.parse_message_data( - &network_ids); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - for (u32_t ind = 0ul; ind < network_ids.get_object_count(); ++ind) - { - const eap_tlv_header_c * const header = network_ids.get_object(ind); - - if (header == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_am_network_id_c * const new_network_id = new eap_am_network_id_c(m_am_tools); - if (new_network_id == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_automatic_variable_c automatic_new_network_id(m_am_tools, new_network_id); - - status = array_data.get_parameter_data(header, new_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - automatic_new_network_id.do_not_free_variable(); - - status = out_data->add_object( - new_network_id, - true); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - } // for() - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_state_notification_c * * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_eap_state_notification) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eapol_RSNA_key_header_c::eapol_RSNA_cipher_e * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_RSNA_cipher) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u32_t value(0ul); - - eap_status_e status = get_parameter_data(positional_parameter, &value); - - *out_data = static_cast(value); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - bool * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_boolean) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u32_t value(0ul); - - eap_status_e status = get_parameter_data(positional_parameter, &value); - - *out_data = (value == 0) ? false: true; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_type_value_e * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_eap_type) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eapol_key_authentication_type_e * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_eapol_key_authentication_type) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u32_t value(0ul); - - eap_status_e status = get_parameter_data(positional_parameter, &value); - - *out_data = static_cast(value); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eapol_session_key_c * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_session_key) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_tlv_message_type_function_e * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_function) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eapol_key_802_11_authentication_mode_e * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_eapol_key_802_11_authentication_mode) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u32_t value(0ul); - - eap_status_e status = get_parameter_data(positional_parameter, &value); - - *out_data = static_cast(value); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_eapol_tkip_mic_failure_type) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u32_t value(0ul); - - eap_status_e status = get_parameter_data(positional_parameter, &value); - - *out_data = static_cast(value); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eapol_wlan_authentication_state_e * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_eapol_wlan_authentication_state) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u32_t value(0ul); - - eap_status_e status = get_parameter_data(positional_parameter, &value); - - *out_data = static_cast(value); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - u64_t * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_u64_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - u32_t * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_u32_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - u16_t * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_u16_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - u8_t * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_u8_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - i32_t * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_i32_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - i16_t * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_i16_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - i8_t * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_i8_t) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_method_settings_c * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_eap_method_settings) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - out_data->trace(); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_array_c * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_array) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_array_c * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_array) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_array_c * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_array) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_certificate_entry_c::eap_certificate_type_e * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u32_t integer_value(0ul); - - eap_status_e status = read_parameter_data( - parameters, - parameter_index, - &integer_value); - - *out_data = static_cast(integer_value); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - simple_config_Encryption_Type_e * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u16_t integer_value(0ul); - - eap_status_e status = read_parameter_data( - parameters, - parameter_index, - &integer_value); - - *out_data = static_cast(integer_value); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - simple_config_Authentication_Type_e * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - u16_t integer_value(0ul); - - eap_status_e status = read_parameter_data( - parameters, - parameter_index, - &integer_value); - - *out_data = static_cast(integer_value); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_array_c * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_array) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT eap_status_e eap_process_tlv_message_data_c::read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_array_c * const out_data) -{ - if (parameters == 0 - || out_data == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - const eap_tlv_header_c * const positional_parameter - = parameters->get_object(parameter_index); - - if (positional_parameter == 0 - || positional_parameter->get_type() != eap_tlv_message_type_array) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - eap_status_e status = get_parameter_data(positional_parameter, out_data); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_const_string eap_process_tlv_message_data_c::get_type_string(const eap_tlv_message_type_e type) -{ -#if defined(USE_EAP_TRACE_STRINGS) - EAP_IF_RETURN_STRING(type, eap_tlv_message_type_none) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_array) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_boolean) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eap_protocol_layer) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eap_state_notification) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eap_status) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eap_type) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eapol_key_802_11_authentication_mode) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eapol_key_authentication_type) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eapol_key_type) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eapol_tkip_mic_failure_type) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eapol_wlan_authentication_state) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_error) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_function) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_network_id) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_network_key) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_protected_setup_credential) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_RSNA_cipher) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_session_key) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_u8_t) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_u16_t) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_u32_t) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_u64_t) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_variable_data) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eap_method_settings) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_eap_certificate_entry) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_i8_t) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_i16_t) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_i32_t) - else EAP_IF_RETURN_STRING(type, eap_tlv_message_type_configuration_option) - else -#endif // #if defined(USE_EAP_TRACE_STRINGS) - { - EAP_UNREFERENCED_PARAMETER(type); - - return EAPL("Unknown EAPOL-TLV message type"); - } -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_const_string eap_process_tlv_message_data_c::get_function_string(const eap_tlv_message_type_function_e function) -{ -#if defined(USE_EAP_TRACE_STRINGS) - EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_none) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_check_pmksa_cache) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_start_authentication) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_association) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_disassociation) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_start_preauthentication) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_start_reassociation) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_reassociation) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_start_WPXM_reassociation) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_WPXM_reassociation) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_packet_process) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_tkip_mic_failure) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_eap_acknowledge) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_update_header_offset) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_check_pmksa_cache) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_packet_send) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_associate) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_disassociate) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_packet_data_session_key) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_state_notification) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_reassociate) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_update_wlan_database_reference_values) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_start_WPXM_reassociation) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_new_protected_setup_credentials) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_create_eap_session) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_remove_eap_session) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_send_eap_identity_request) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_packet_data_crypto_keys) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_restart_authentication) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_create_state) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_remove_bksa_from_cache) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_association) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_set_eap_database_reference_values) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_eap_mtu) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_get_802_11_authentication_mode) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_get_802_11_authentication_mode) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_remove_eap_session) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_complete_disassociation) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_last_function) - - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_get_configuration) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_set_configuration) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_copy_configuration) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_delete_configuration) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_set_index) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_get_type_info) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_invoke_ui) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_complete_get_configuration) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_complete_set_configuration) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_complete_delete_configuration) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_complete_copy_configuration) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_complete_set_index) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_complete_get_type_info) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_complete_invoke_ui) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_plugin_last_function) - - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_set_eap_methods) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_get_eap_methods) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_get_certificate_lists) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_delete_all_eap_settings) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_copy_all_eap_settings) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_complete_set_eap_methods) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_complete_get_eap_methods) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_complete_get_certificate_lists) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_complete_delete_all_eap_settings) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_complete_copy_all_eap_settings) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_general_settings_last_function) - - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_open_pac_store) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_create_device_seed) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_is_master_key_present) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_is_master_key_and_password_matching) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_create_and_save_master_key) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_compare_pac_store_password) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_is_pacstore_password_present) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_set_pac_store_password) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_destroy_pac_store) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_open_pac_store) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_create_device_seed) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_is_master_key_present) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_is_master_key_and_password_matching) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_create_and_save_master_key) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_is_pacstore_password_present) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_compare_pac_store_password) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_set_pac_store_password) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_complete_destroy_pac_store) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_pac_store_last_function) - - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_get_all_certificate_labels) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_reset_certificate_store) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_get_configuration) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_set_configuration) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_set_ca_cert) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_set_user_cert) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_delete_configuration) - - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_get_all_certificate_labels) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_reset_certificate_store) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_get_configuration) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_set_configuration) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_set_ca_cert) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_set_user_cert) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_delete_configuration) - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_wapi_settings_complete_last_function) - - else EAP_IF_RETURN_STRING(function, eap_tlv_message_type_function_illegal_value) - else -#endif // #if defined(USE_EAP_TRACE_STRINGS) - { - EAP_UNREFERENCED_PARAMETER(function); - - return EAPL("Unknown EAPOL-TLV message function"); - } -} - -//-------------------------------------------------- - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_session_core.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_session_core.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_session_core.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,13 +16,13 @@ */ /* -* %version: 36 % +* %version: 19.1.2 % */ // This is enumeration of EAPOL source code. #if defined(USE_EAP_MINIMUM_RELEASE_TRACES) #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 731 + #define EAP_FILE_NUMBER_ENUM 60 #undef EAP_FILE_NUMBER_DATE #define EAP_FILE_NUMBER_DATE 1127594498 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) @@ -70,7 +70,7 @@ // EAP_FUNC_EXPORT eap_session_core_c::eap_session_core_c( abs_eap_am_tools_c * const tools, - abs_eap_session_core_c * const partner, + abs_eap_core_c * const partner, const bool is_client_when_true) : m_partner(partner) , m_am_tools(tools) @@ -98,7 +98,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT abs_eap_session_core_c * eap_session_core_c::get_partner() +EAP_FUNC_EXPORT abs_eap_core_c * eap_session_core_c::get_partner() { EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); @@ -250,7 +250,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::create_new_session() EAP-session"), + (EAPL("create_new_session() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -277,14 +277,6 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::reset_or_remove_session(): %s.\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, TRACE_FLAGS_DEFAULT, "returns: eap_session_core_c::reset_or_remove_session()"); - eap_status_e status(eap_status_process_general_error); if (session == 0 @@ -467,7 +459,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::packet_process() EAP-session"), + (EAPL("packet_process() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -475,8 +467,18 @@ if (session == 0) { + +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_handler_does_not_exists_error); + +#else // Create a new session. session = create_new_session(receive_network_id); + +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + } if (session != 0) @@ -712,7 +714,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::eap_acknowledge() EAP-session"), + (EAPL("eap_acknowledge() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -759,7 +761,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::restart_authentication() EAP-session"), + (EAPL("restart_authentication() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -812,7 +814,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::restart_authentication() EAP-session"), + (EAPL("restart_authentication() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -880,7 +882,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::send_eap_identity_request() EAP-session"), + (EAPL("send_eap_identity_request() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -992,7 +994,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::timer_expired() EAP-session"), + (EAPL("timer_expired() EAP-session"), selector->get_data(selector->get_data_length()), selector->get_data_length())); @@ -1076,14 +1078,14 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_session_core_c::cancel_all_eap_sessions() +EAP_FUNC_EXPORT eap_status_e eap_session_core_c::synchronous_cancel_all_eap_sessions() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::cancel_all_eap_sessions(): this = 0x%08x => 0x%08x.\n"), + (EAPL("eap_session_core_c::synchronous_cancel_all_eap_sessions(): this = 0x%08x => 0x%08x.\n"), this, dynamic_cast(this))); @@ -1095,7 +1097,9 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_session_core_c::create_eap_session( +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + +EAP_FUNC_EXPORT eap_status_e eap_session_core_c::synchronous_create_eap_session( const eap_am_network_id_c * const receive_network_id) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1103,7 +1107,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::create_eap_session(): this = 0x%08x => 0x%08x.\n"), + (EAPL("eap_session_core_c::synchronous_create_eap_session(): this = 0x%08x => 0x%08x.\n"), this, dynamic_cast(this))); @@ -1133,7 +1137,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::create_eap_session() EAP-session"), + (EAPL("synchronous_create_eap_session() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -1162,10 +1166,11 @@ return EAP_STATUS_RETURN(m_am_tools, status); } +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_session_core_c::remove_eap_session( - const bool /* complete_to_lower_layer */, +EAP_FUNC_EXPORT eap_status_e eap_session_core_c::synchronous_remove_eap_session( const eap_am_network_id_c * const receive_network_id) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1173,12 +1178,10 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::remove_eap_session(): this = 0x%08x => 0x%08x.\n"), + (EAPL("eap_session_core_c::synchronous_remove_eap_session(): this = 0x%08x => 0x%08x.\n"), this, dynamic_cast(this))); - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, TRACE_FLAGS_DEFAULT, "returns: eap_session_core_c::remove_eap_session()"); - eap_status_e status = eap_status_process_general_error; // Here we swap the addresses. @@ -1205,7 +1208,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::remove_eap_session() EAP-session"), + (EAPL("synchronous_remove_eap_session() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -1227,11 +1230,6 @@ else { // Not found, no need to remove. - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::remove_eap_session(): session not found.\n"))); - status = eap_status_ok; } @@ -1263,7 +1261,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::asynchronous_init_remove_eap_session() EAP-session"), + (EAPL("asynchronous_init_remove_eap_session() EAP-session"), state_selector.get_data(state_selector.get_data_length()), state_selector.get_data_length())); @@ -1276,7 +1274,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_session_core_c::asynchronous_init_remove_eap_session( +eap_status_e eap_session_core_c::asynchronous_init_remove_eap_session( const eap_network_id_selector_c * const state_selector) { EAP_TRACE_DEBUG( @@ -1285,7 +1283,7 @@ (EAPL("eap_session_core_c::asynchronous_init_remove_eap_session(): %s.\n"), (m_is_client == true) ? "client": "server")); - // NOTE: we cannot call directly remove_eap_session(), because we will + // NOTE: we cannot call directly synchronous_remove_eap_session(), because we will // return from here to removed object. eap_status_e status = eap_status_process_general_error; @@ -1293,7 +1291,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::asynchronous_init_remove_eap_session() EAP-session"), + (EAPL("asynchronous_init_remove_eap_session() EAP-session"), state_selector->get_data(state_selector->get_data_length()), state_selector->get_data_length())); @@ -1400,6 +1398,21 @@ //-------------------------------------------------- +// +EAP_FUNC_EXPORT eap_status_e eap_session_core_c::cancel_all_timers() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); + + const eap_status_e status = m_partner->cancel_all_timers(); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + EAP_FUNC_EXPORT eap_status_e eap_session_core_c::check_is_valid_eap_type( const eap_type_value_e eap_type) { @@ -1447,22 +1460,6 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_session_core_c::set_eap_database_reference_values( - const eap_variable_data_c * const /* reference */) -{ - return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); -} -//-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_session_core_c::get_802_11_authentication_mode( - const eap_am_network_id_c * const /* receive_network_id */, - const eapol_key_authentication_type_e /* authentication_type */, - const eap_variable_data_c * const /* SSID */, - const eap_variable_data_c * const /* preshared_key */) -{ - return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); -} - -//-------------------------------------------------- // End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_session_core_base.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_session_core_base.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 12 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 727 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - - -#include "eap_session_core_base.h" -#include "eap_session_core.h" -#include "eap_core_client_message_if.h" -#include "eap_automatic_variable.h" - - -EAP_FUNC_EXPORT eap_session_core_base_c::~eap_session_core_base_c() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -EAP_FUNC_EXPORT eap_session_core_base_c::eap_session_core_base_c() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- -//-------------------------------------------------- -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_session_core_base_c * eap_session_core_base_c::new_eap_session_core_c( - abs_eap_am_tools_c * const tools, - abs_eap_session_core_c * const partner, - const bool is_client_when_true, - const u32_t /* MTU */) -{ - eap_session_core_c * new_session_core = new eap_session_core_c(tools, partner, is_client_when_true); - - eap_automatic_variable_c automatic_new_session_core( - tools, - new_session_core); - - if (new_session_core == 0 - || new_session_core->get_is_valid() == false) - { - // ERROR. - if (new_session_core != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: new_eap_session_core_c(): new_session_core->shutdown(): %s.\n"), - (is_client_when_true == true) ? "client": "server")); - - new_session_core->shutdown(); - } - return 0; - } - - automatic_new_session_core.do_not_free_variable(); - - return new_session_core; -} - -//-------------------------------------------------- -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_type_selection.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_type_selection.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_type_selection.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eap_wimax_authentication.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_wimax_authentication.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_wimax_authentication.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5.1.2 % */ // This is enumeration of EAPOL source code. @@ -158,7 +158,8 @@ EAP_FUNC_EXPORT eap_wimax_authentication_c* eap_wimax_authentication_c::new_eap_wimax_authentication_c (abs_eap_am_tools_c* const tools, abs_eap_wimax_authentication_c* const partner, - const bool is_client_when_true) + const bool is_client_when_true, + const abs_eapol_wlan_database_reference_if_c* const wimax_database_reference) { EAP_TRACE_DEBUG (tools, @@ -316,15 +317,15 @@ EAP_TRACE_DEBUG (m_am_tools, TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls eap: eap_wimax_authentication_c:cancel_all_authentication_sessions(): m_eap_core->cancel_all_eap_sessions(): %s.\n"), + (EAPL("calls eap: eap_wimax_authentication_c:cancel_all_authentication_sessions(): m_eap_core->synchronous_cancel_all_eap_sessions(): %s.\n"), (m_is_client == true) ? "client": "server")); - status = m_eap_core->cancel_all_eap_sessions(); + status = m_eap_core->synchronous_cancel_all_eap_sessions(); EAP_TRACE_DEBUG (m_am_tools, TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("returns from eap: eap_wimax_authentication_c:cancel_all_authentication_sessions(): m_eap_core->cancel_all_eap_sessions(): %s, status = %s.\n"), + (EAPL("returns from eap: eap_wimax_authentication_c:cancel_all_authentication_sessions(): m_eap_core->synchronous_cancel_all_eap_sessions(): %s, status = %s.\n"), (m_is_client == true) ? "client": "server", eap_status_string_c::get_status_string(status))); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_core.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_core.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_core.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,13 +16,13 @@ */ /* -* %version: 100 % +* %version: 67.1.2.1.2 % */ // This is enumeration of EAPOL source code. #if defined(USE_EAP_MINIMUM_RELEASE_TRACES) #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 747 + #define EAP_FILE_NUMBER_ENUM 48 #undef EAP_FILE_NUMBER_DATE #define EAP_FILE_NUMBER_DATE 1127594498 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) @@ -61,7 +61,6 @@ EAP_ASSERT(m_shutdown_was_called == true); delete m_eap_core; - m_eap_core = 0; EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } @@ -78,8 +77,14 @@ abs_eapol_core_c * const partner, const bool is_client_when_true) : m_partner(partner) - , m_eap_core(0) +#if !defined(NO_EAP_SESSION_CORE) + , m_eap_core(new eap_session_core_c(tools, this, is_client_when_true)) +#else + , m_eap_core(new eap_core_c(tools, this, is_client_when_true, 0, false)) +#endif +#if defined(USE_EAPOL_KEY_STATE) , m_eapol_key_state_map(tools, this) +#endif //#if defined(USE_EAPOL_KEY_STATE) , m_am_tools(tools) , m_master_session_key(m_am_tools) , m_authentication_type(eapol_key_authentication_type_none) @@ -93,7 +98,9 @@ , m_is_valid(false) , m_shutdown_was_called(false) , m_block_state_notifications(false) +#if defined(USE_EAPOL_KEY_STATE) , m_skip_start_4_way_handshake(false) +#endif //#if defined(USE_EAPOL_KEY_STATE) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -107,19 +114,8 @@ __DATE__, __TIME__)); -#if defined(EAP_USE_WPXM) - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_core_c::eapol_core_c(): WPX enabled."))); -#else - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_core_c::eapol_core_c(): WPX disabled."))); -#endif //#if defined(EAP_USE_WPXM) - - if (m_partner != 0) + if (m_eap_core != 0 + && m_eap_core->get_is_valid() == true) { set_is_valid(); } @@ -130,118 +126,6 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_core_c::configure() -{ - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("%s: eapol_core_c::configure()\n"), - (m_is_client == true) ? "client": "server")); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::configure()"); - - eap_status_e status(eap_status_process_general_error); - - m_eapol_header_offset = m_partner->get_header_offset( - &m_MTU, &m_trailer_length); - -#if defined(NO_EAP_CORE_CLIENT_MESSAGE_IF) - m_eap_core = eap_session_core_base_c::new_eap_session_core_c( - m_am_tools, - this, - m_is_client, - m_MTU-eapol_header_wr_c::get_header_length()); -#else - m_eap_core = new_eap_core_client_message_if_c( - m_am_tools, - this, - m_is_client, - m_MTU-eapol_header_wr_c::get_header_length()); -#endif - - if (m_eap_core == 0 - || m_eap_core->get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - { - eap_variable_data_c max_eapol_starts(m_am_tools); - - status = read_configure( - cf_str_EAPOL_CORE_starts_max_count.get_field(), - &max_eapol_starts); - if (status != eap_status_ok - || max_eapol_starts.get_is_valid_data() == false - || max_eapol_starts.get_data_length() < sizeof(u32_t)) - { - // Probably not found from db. Use the default value. - m_max_eapol_starts = EAPOL_CORE_MAX_EAPOL_START_SENDINGS; - } - else - { - m_max_eapol_starts = *reinterpret_cast( - max_eapol_starts.get_data(sizeof(u32_t))); - } - } - - { - eap_variable_data_c eapol_start_interval(m_am_tools); - - status = read_configure( - cf_str_EAPOL_CORE_send_start_interval.get_field(), - &eapol_start_interval); - if (status != eap_status_ok - || eapol_start_interval.get_is_valid_data() == false - || eapol_start_interval.get_data_length() < sizeof(u32_t)) - { - // Probably not found from db. Use the default value. - m_eapol_start_interval = EAPOL_CORE_TIMER_SEND_START_AGAIN_TIMEOUT; - } - else - { - m_eapol_start_interval = *reinterpret_cast( - eapol_start_interval.get_data(sizeof(u32_t))); - } - } - -#if defined(USE_EAP_CORE_SERVER) - if (m_is_client == false) - { - eap_variable_data_c data(m_am_tools); - - eap_status_e status = read_configure( - cf_str_EAPOL_CORE_skip_start_4_way_handshake.get_field(), - &data); - if (status == eap_status_ok - && data.get_data_length() == sizeof(u32_t) - && data.get_data(data.get_data_length()) != 0) - { - u32_t *flag = reinterpret_cast(data.get_data(data.get_data_length())); - - if (flag != 0) - { - if ((*flag) != 0ul) - { - m_skip_start_4_way_handshake = true; - } - else - { - m_skip_start_4_way_handshake = false; - } - } - } - } -#endif //#if defined(USE_EAP_CORE_SERVER) - - return EAP_STATUS_RETURN(m_am_tools, m_eap_core->configure()); -} - -//-------------------------------------------------- - -// EAP_FUNC_EXPORT eap_status_e eapol_core_c::packet_process( const eap_am_network_id_c * const receive_network_id, eap_general_header_base_c * const packet_data, @@ -381,7 +265,7 @@ #if defined(EAP_USE_WPXM) && m_authentication_type != eapol_key_authentication_type_WPXM #endif //#if defined(EAP_USE_WPXM) - && m_authentication_type != eapol_key_authentication_type_WPS + && m_authentication_type != eapol_key_authentication_type_WFA_SC && m_authentication_type != eapol_key_authentication_type_EAP_authentication_no_encryption ) { @@ -395,26 +279,34 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eapol_type); } + +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + // Test first we are connected. if (eapol_key_state->get_is_associated() == true) { - eap_header_wr_c eap( - m_am_tools, - eapol.get_eap_header(), - eapol.get_data_length()); - - status = m_eap_core->packet_process( - receive_network_id, - &eap, - eapol.get_data_length()); - - EAP_GENERAL_HEADER_COPY_ERROR_PARAMETERS(packet_data, &eap); + status = m_eap_core->synchronous_create_eap_session(receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - else - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_drop_packet_quietly); - } + +#endif //#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + + + eap_header_wr_c eap( + m_am_tools, + eapol.get_eap_header(), + eapol.get_data_length()); + + status = m_eap_core->packet_process( + receive_network_id, + &eap, + eapol.get_data_length()); + + EAP_GENERAL_HEADER_COPY_ERROR_PARAMETERS(packet_data, &eap); } else if (m_is_client == false && eapol.get_packet_type() == eapol_packet_type_logoff) @@ -427,7 +319,7 @@ if (m_authentication_type != eapol_key_authentication_type_RSNA_EAP && m_authentication_type != eapol_key_authentication_type_WPA_EAP && m_authentication_type != eapol_key_authentication_type_dynamic_WEP - && m_authentication_type != eapol_key_authentication_type_WPS + && m_authentication_type != eapol_key_authentication_type_WFA_SC #if defined(EAP_USE_WPXM) && m_authentication_type != eapol_key_authentication_type_WPXM #endif //#if defined(EAP_USE_WPXM) @@ -450,6 +342,7 @@ m_is_client, false); } +#if defined(USE_EAPOL_KEY_STATE) else if (eapol.get_packet_type() == eapol_packet_type_key) { if (m_authentication_type != eapol_key_authentication_type_RSNA_EAP @@ -496,6 +389,40 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_handler_does_not_exists_error); } } +#endif //#if defined(USE_EAPOL_KEY_STATE) +#if ! defined(USE_EAPOL_KEY_STATE) + else if ( + m_is_client == true + && eapol.get_packet_type() == eapol_packet_type_key) + { + // Handle EAPOL-Key frame. + // Here is assumed the EAPOL-Key frame includes RC4 Key Descriptor. + /** + * @{ Here we need to check the Descriptor Type field. + * It may be RC4 Key Descriptor, RSNA Key Descriptor or other descriptor. } + */ + + eapol_RC4_key_header_c eapol_key_msg( + m_am_tools, + eapol.get_header_buffer(eapol.get_header_buffer_length()), + eapol.get_header_buffer_length()); + if (eapol_key_msg.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_header_corrupted); + } + else if (eapol_key_msg.check_header() != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = handle_RC4_key_descriptor( + receive_network_id, + &eapol_key_msg, + packet_length); + } +#endif //#if ! defined(USE_EAPOL_KEY_STATE) else { EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: %s, packet_type=0x%02x=%s not handled, data length 0x%04x.\n"), @@ -530,7 +457,7 @@ EAP_ASSERT(data_length <= sent_packet->get_data_length()); EAP_ASSERT(sent_packet->get_data_length() <= buffer_length); - if (header_offset < m_eapol_header_offset+eapol_header_wr_c::get_header_length()) + if (header_offset < eap_header_wr_c::get_header_length()) { EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("packet_send: packet buffer corrupted.\n"))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -540,7 +467,7 @@ eapol_header_wr_c eapol( m_am_tools, sent_packet->get_data_offset( - header_offset-eapol_header_wr_c::get_header_length(), data_length), + header_offset-eap_header_wr_c::get_header_length(), data_length), data_length); if (eapol.get_is_valid() == false) @@ -612,11 +539,8 @@ } eap_status_e status = m_partner->packet_send( - send_network_id, - sent_packet, - header_offset-eapol_header_wr_c::get_header_length(), - data_length+eapol_header_wr_c::get_header_length(), - buffer_length); + send_network_id, sent_packet, header_offset-eapol_header_wr_c::get_header_length(), + data_length+eapol_header_wr_c::get_header_length(), buffer_length); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); @@ -748,6 +672,13 @@ this, EAPOL_CORE_TIMER_SEND_START_AGAIN_ID); +#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) +#if !defined(NO_EAP_SESSION_CORE) + // First we remove possible EAP session. + (void) m_eap_core->synchronous_remove_eap_session(receive_network_id); +#endif +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + // Here we swap the addresses. eap_am_network_id_c send_network_id(m_am_tools, receive_network_id->get_destination_id(), @@ -826,7 +757,7 @@ if (m_authentication_type == eapol_key_authentication_type_EAP_authentication_no_encryption) { - // Some APs need broadcast EAPOL-Start-message. + // This is a hack for this security mode. Some APs need broadcast EAPOL-Start-message. const u8_t BROADCAST_ADDRESS[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; @@ -933,12 +864,14 @@ { // It is bad idea to terminate on-going authentication // when EAPOL-Start is received. - // Because of that remove_eap_session() is called + // Because of that synchronous_remove_eap_session() is called // only when force_clean_restart is true. +#if !defined(NO_EAP_SESSION_CORE) bool previous_block = m_block_state_notifications; m_block_state_notifications = true; - (void) m_eap_core->remove_eap_session(false, receive_network_id); + (void) m_eap_core->synchronous_remove_eap_session(receive_network_id); m_block_state_notifications = previous_block; +#endif } if (m_authentication_type == eapol_key_authentication_type_RSNA_EAP @@ -947,7 +880,7 @@ #if defined(EAP_USE_WPXM) || m_authentication_type == eapol_key_authentication_type_WPXM #endif //#if defined(EAP_USE_WPXM) - || m_authentication_type == eapol_key_authentication_type_WPS + || m_authentication_type == eapol_key_authentication_type_WFA_SC || m_authentication_type == eapol_key_authentication_type_EAP_authentication_no_encryption ) { @@ -1062,13 +995,6 @@ } } // for() -#if 1 - - status = m_partner->complete_check_pmksa_cache(bssid_sta_receive_network_ids); - return EAP_STATUS_RETURN(m_am_tools, status); - -#else - if (bssid_sta_receive_network_ids->get_object_count() > 0ul) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1079,9 +1005,6 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_not_found); } - -#endif - } //-------------------------------------------------- @@ -1123,14 +1046,13 @@ } status = remove_eapol_key_state( - &send_network_id, - true); + &send_network_id); if (status != eap_status_ok) { EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: eapol_core_c::remove_pmksa_from_cache(): ") + (EAPL("WARNING: eapol_core_c::disassociation(): ") EAPL("remove_eapol_key_state(), eap_status_e %d\n"), status)); return EAP_STATUS_RETURN(m_am_tools, status); @@ -1156,6 +1078,8 @@ EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::start_preauthentication()"); +#if defined(USE_EAPOL_KEY_STATE) + if (receive_network_id->get_type() != eapol_ethernet_type_preauthentication) { EAP_TRACE_DEBUG( @@ -1298,8 +1222,7 @@ if (status != eap_status_ok) { status = remove_eapol_key_state( - &send_network_id, - true); + &send_network_id); if (status != eap_status_ok) { EAP_TRACE_DEBUG( @@ -1321,6 +1244,8 @@ true, false); +#endif //#if defined(USE_EAPOL_KEY_STATE) + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -1359,6 +1284,8 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); } +#if defined(USE_EAPOL_KEY_STATE) + // Here we swap the addresses. eap_am_network_id_c old_send_network_id( m_am_tools, @@ -1455,6 +1382,8 @@ } } +#endif //#if defined(USE_EAPOL_KEY_STATE) + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -1500,6 +1429,8 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); } +#if defined(USE_EAPOL_KEY_STATE) + // Here we swap the addresses. eap_am_network_id_c old_send_network_id( m_am_tools, @@ -1599,6 +1530,8 @@ status = eap_status_not_found; } +#endif //#if defined(USE_EAPOL_KEY_STATE) + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -1606,7 +1539,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_core_c::read_reassociation_parameters( +eap_status_e eapol_core_c::read_reassociation_parameters( const eap_am_network_id_c * const old_receive_network_id, ///< source includes remote address, destination includes local address. const eap_am_network_id_c * const new_receive_network_id, ///< source includes remote address, destination includes local address. const eapol_key_authentication_type_e authentication_type, @@ -1626,6 +1559,8 @@ eap_status_e status(eap_status_process_general_error); +#if defined(USE_EAPOL_KEY_STATE) + // No need to check authentication type anymore. It can be changed in reassociation. #if defined(EAP_USE_WPXM) @@ -1731,6 +1666,8 @@ status = eap_status_not_found; } +#endif //#if defined(USE_EAPOL_KEY_STATE) + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -1797,6 +1734,7 @@ return EAP_STATUS_RETURN(m_am_tools, status); } +#if defined(USE_EAPOL_KEY_STATE) if (m_skip_start_4_way_handshake == true && (authentication_type == eapol_key_authentication_type_RSNA_EAP || authentication_type == eapol_key_authentication_type_RSNA_PSK @@ -1813,6 +1751,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } else +#endif //#if defined(USE_EAPOL_KEY_STATE) { #if !defined(NO_EAPOL_KEY_STATE_SERVER) status = eapol_key_state->start_4_way_handshake( @@ -1850,7 +1789,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_core_c::complete_reassociation( +eap_status_e eapol_core_c::complete_reassociation( const eapol_wlan_authentication_state_e reassociation_result, const eap_am_network_id_c * const receive_network_id, const eapol_key_authentication_type_e authentication_type, @@ -1870,6 +1809,8 @@ EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::complete_reassociation()"); +#if defined(USE_EAPOL_KEY_STATE) + // Here we swap the addresses. eap_am_network_id_c send_network_id( m_am_tools, @@ -1922,6 +1863,7 @@ return EAP_STATUS_RETURN(m_am_tools, status); } else +#endif //#if defined(USE_EAPOL_KEY_STATE) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure); @@ -2057,6 +1999,8 @@ master_session_key->get_data_length())); } +#if defined(USE_EAPOL_KEY_STATE) + eap_network_id_selector_c state_selector( m_am_tools, send_network_id); @@ -2092,6 +2036,20 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_handler_does_not_exists_error); } +#else + + // Store the session key so it can be used when EAPOL-Key is received. + m_master_session_key.reset(); + + status = m_master_session_key.set_copy_of_buffer(master_session_key); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + +#endif //#if defined(USE_EAPOL_KEY_STATE) + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -2146,6 +2104,369 @@ //-------------------------------------------------- +#if !defined(USE_EAPOL_KEY_STATE) + +// +eap_status_e eapol_core_c::handle_RC4_key_descriptor( + const eap_am_network_id_c * const receive_network_id, + eapol_RC4_key_header_c* const packet, + const u32_t packet_length) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("%s: eapol_core_c::handle_RC4_key_descriptor()\n"), + (m_is_client == true) ? "client": "server")); + + EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::handle_RC4_key_descriptor()"); + + eap_status_e status = eap_status_process_general_error; + + // Check the packet length + if (static_cast(packet->get_header_length()) != packet_length + && static_cast(packet->get_header_length() + packet->get_key_length()) != packet_length) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: Illegal EAPOL-Key frame length, packet->get_header_length() %d, packet_length %d\n"), + packet->get_header_length(), + packet_length)); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_process_illegal_packet_error); + } + + // Get MS-MPPE-Recv-Key and MS-MPPE-Send-Key + // Recv-Key is the first 32 bytes of master session key and Send-Key is the next 32 bytes. + eap_variable_data_c mppe_recv_key(m_am_tools); + eap_variable_data_c mppe_send_key(m_am_tools); + if (m_master_session_key.get_data_length() == 16ul) + { + status = mppe_recv_key.set_buffer( + m_master_session_key.get_data(m_master_session_key.get_data_length()), + m_master_session_key.get_data_length(), + false, + false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = mppe_send_key.set_buffer( + m_master_session_key.get_data(m_master_session_key.get_data_length()), + m_master_session_key.get_data_length(), + false, + false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + else + { + status = mppe_recv_key.set_buffer( + m_master_session_key.get_data(MPPE_KEY_LENGTH), + MPPE_KEY_LENGTH, + false, + false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = mppe_send_key.set_buffer( + m_master_session_key.get_data_offset(MPPE_KEY_LENGTH, MPPE_KEY_LENGTH), + MPPE_KEY_LENGTH, + false, + false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + if (mppe_recv_key.get_is_valid() == false + || mppe_send_key.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + // Verify the the MD5 signature in Eapol-Key + crypto_md5_c md5(m_am_tools); + crypto_hmac_c hmac_md5(m_am_tools, &md5, false); + if (hmac_md5.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + // MPPE-Send-Key is used as the signature key. + if (hmac_md5.hmac_set_key(&mppe_send_key) != eap_status_ok) + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: hmac_md5_init failed\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + // Save the signature from the packet + eap_variable_data_c signature(m_am_tools); + status = signature.set_copy_of_buffer(packet->get_key_signature(), EAPOL_RC4_KEY_SIGNATURE_LENGTH); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + // Replace the signature with zeros. + packet->zero_key_signature(m_am_tools); + + // Send the data to HMAC-MD5 module + if (hmac_md5.hmac_update(packet->get_header_buffer(packet_length), packet_length) != eap_status_ok) + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: hmac_md5_update failed\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); + } + + // Get the calculated signature + u8_t tmp_signature[EAPOL_RC4_KEY_SIGNATURE_LENGTH]; + u32_t length = EAPOL_RC4_KEY_SIGNATURE_LENGTH; + if (hmac_md5.hmac_final(tmp_signature, &length) != eap_status_ok) + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: hmac_md5_final failed\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); + } + + // Compare the calculated and original signature + if (m_am_tools->memcmp( + tmp_signature, + signature.get_data( + EAPOL_RC4_KEY_SIGNATURE_LENGTH), + EAPOL_RC4_KEY_SIGNATURE_LENGTH) != 0) + { + // Signatures did not match. Something's wrong. + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EAPOL-Key HMAC-MD5 check failed.\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_header_corrupted); + } + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("EAPOL-Key HMAC-MD5 check passed.\n"))); + + eap_variable_data_c key_out(m_am_tools); + // Decrypt the RC4 encrypted key + if (packet->get_key() == 0) + { + // EAPOL-Key does not contain the key. This means that we should use + // the first bytes from MS-MPPE-Recv-Key as the key. There is a slight + // confusion in draft-congdon-radius-8021x-23.txt regarding this but this is how + // it works. + if (packet->get_key_length() > 0) + { + status = key_out.set_copy_of_buffer(mppe_recv_key.get_data(packet->get_key_length()), packet->get_key_length()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + else + { + // Key message with no key length? + // Just ignore the message. + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Got empty WEP unicast key message.\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); + } + } + else + { + // Set-up RC4 key. Key is the IV and the MS-MPPE-Recv-Key truncated together. + eap_variable_data_c rc4_key(m_am_tools); + status = rc4_key.set_copy_of_buffer(packet->get_key_IV(), EAPOL_RC4_KEY_IV_LENGTH); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + rc4_key.add_data(&mppe_recv_key); + + // Set-up RC4 module + crypto_rc4_c rc4(m_am_tools); + // Set the key for RC4 + if (rc4.set_key(&rc4_key) != eap_status_ok) + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: rc4_set_key failed\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); + } + + // Decrypt the key to key_out + key_out.set_buffer_length(packet->get_key_length()); + if (rc4.decrypt_data(packet->get_key(), key_out.get_data(packet->get_key_length()), packet->get_key_length()) != eap_status_ok) + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: rc4 failed\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); + } + key_out.set_data_length(packet->get_key_length()); + } + + // Find out the key type. At the moment only WEP keys are supported. + eapol_key_type_e key_type; + switch (packet->get_key_flag()) + { + case eapol_RC4_key_flag_broadcast: + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Got WEP broadcast key\n"))); + key_type = eapol_key_type_broadcast; + break; + case eapol_RC4_key_flag_unicast: + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Got WEP unicast key\n"))); + key_type = eapol_key_type_unicast; + break; + default: + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_header_corrupted); + } + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Key"), + key_out.get_data(key_out.get_data_length()), + key_out.get_data_length())); + + // Here we swap the addresses. + eap_am_network_id_c send_network_id(m_am_tools, + receive_network_id->get_destination_id(), + receive_network_id->get_source_id(), + receive_network_id->get_type()); + if (send_network_id.get_is_valid_data() == false) + { + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + eapol_session_key_c wep_key( + m_am_tools, + &key_out, + key_type, + packet->get_key_index(), + true); + + // Forward the keys to lower layers + status = m_partner->packet_data_session_key( + &send_network_id, + &wep_key); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +#endif //#if !defined(USE_EAPOL_KEY_STATE) + +//-------------------------------------------------- + +// +EAP_FUNC_EXPORT eap_status_e eapol_core_c::configure() +{ + EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("%s: eapol_core_c::configure()\n"), + (m_is_client == true) ? "client": "server")); + + EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::configure()"); + + m_eapol_header_offset = m_partner->get_header_offset( + &m_MTU, &m_trailer_length); + + eap_status_e status = eap_status_process_general_error; + + { + eap_variable_data_c max_eapol_starts(m_am_tools); + + status = read_configure( + cf_str_EAPOL_CORE_starts_max_count.get_field(), + &max_eapol_starts); + if (status != eap_status_ok + || max_eapol_starts.get_is_valid_data() == false + || max_eapol_starts.get_data_length() < sizeof(u32_t)) + { + // Probably not found from db. Use the default value. + m_max_eapol_starts = EAPOL_CORE_MAX_EAPOL_START_SENDINGS; + } + else + { + m_max_eapol_starts = *reinterpret_cast( + max_eapol_starts.get_data(sizeof(u32_t))); + } + } + + { + eap_variable_data_c eapol_start_interval(m_am_tools); + + status = read_configure( + cf_str_EAPOL_CORE_send_start_interval.get_field(), + &eapol_start_interval); + if (status != eap_status_ok + || eapol_start_interval.get_is_valid_data() == false + || eapol_start_interval.get_data_length() < sizeof(u32_t)) + { + // Probably not found from db. Use the default value. + m_eapol_start_interval = EAPOL_CORE_TIMER_SEND_START_AGAIN_TIMEOUT; + } + else + { + m_eapol_start_interval = *reinterpret_cast( + eapol_start_interval.get_data(sizeof(u32_t))); + } + } + +#if defined(USE_EAP_CORE_SERVER) + if (m_is_client == false) + { + eap_variable_data_c data(m_am_tools); + + eap_status_e status = read_configure( + cf_str_EAPOL_CORE_skip_start_4_way_handshake.get_field(), + &data); + if (status == eap_status_ok + && data.get_data_length() == sizeof(u32_t) + && data.get_data(data.get_data_length()) != 0) + { + u32_t *flag = reinterpret_cast(data.get_data(data.get_data_length())); + + if (flag != 0) + { + if ((*flag) != 0ul) + { + m_skip_start_4_way_handshake = true; + } + else + { + m_skip_start_4_way_handshake = false; + } + } + } + } +#endif //#if defined(USE_EAP_CORE_SERVER) + + return EAP_STATUS_RETURN(m_am_tools, m_eap_core->configure()); +} + +//-------------------------------------------------- + +#if defined(USE_EAPOL_KEY_STATE) + // EAP_FUNC_EXPORT eap_status_e eapol_core_c::shutdown_operation( eapol_key_state_c * const handler, @@ -2161,6 +2482,8 @@ return EAP_STATUS_RETURN(m_am_tools, status); } +#endif //#if defined(USE_EAPOL_KEY_STATE) + //-------------------------------------------------- // @@ -2184,7 +2507,10 @@ } m_shutdown_was_called = true; - eap_status_e status = m_eapol_key_state_map.for_each(shutdown_operation, true); + eap_status_e status; +#if defined(USE_EAPOL_KEY_STATE) + status = m_eapol_key_state_map.for_each(shutdown_operation, true); +#endif //#if defined(USE_EAPOL_KEY_STATE) if (m_eap_core != 0) { @@ -2193,7 +2519,9 @@ // This will cancel all timers of this object. m_partner->cancel_timer(this, EAPOL_CORE_TIMER_SEND_START_AGAIN_ID); +#if defined(USE_EAPOL_KEY_STATE) m_partner->cancel_timer(this, EAPOL_REMOVE_EAPOL_KEY_HANDSHAKE_ID); +#endif //#if defined(USE_EAPOL_KEY_STATE) return EAP_STATUS_RETURN(m_am_tools, status); } @@ -2319,6 +2647,7 @@ state_notification(¬ification); } } +#if defined(USE_EAPOL_KEY_STATE) else if (id == EAPOL_REMOVE_EAPOL_KEY_HANDSHAKE_ID) { EAP_TRACE_DEBUG( @@ -2334,8 +2663,9 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - (void) remove_eapol_key_state(send_network_id, false); + (void) remove_eapol_key_state(send_network_id); } +#endif //#if defined(USE_EAPOL_KEY_STATE) return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } @@ -2363,6 +2693,7 @@ = reinterpret_cast(data); delete send_network_id; } +#if defined(USE_EAPOL_KEY_STATE) else if (id == EAPOL_REMOVE_EAPOL_KEY_HANDSHAKE_ID) { @@ -2370,12 +2701,15 @@ = reinterpret_cast(data); delete send_network_id; } +#endif //#if defined(USE_EAPOL_KEY_STATE) return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) + // EAP_FUNC_EXPORT eap_status_e eapol_core_c::init_eapol_key_pmksa_caching_timeout( const eap_am_network_id_c * const send_network_id) @@ -2434,8 +2768,12 @@ return EAP_STATUS_RETURN(m_am_tools, status); } +#endif //#if defined(USE_EAPOL_KEY_STATE) + //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) + // EAP_FUNC_EXPORT eap_status_e eapol_core_c::indicate_eapol_key_state_started_eap_authentication( const eap_am_network_id_c * const send_network_id) @@ -2486,12 +2824,15 @@ return EAP_STATUS_RETURN(m_am_tools, status); } +#endif //#if defined(USE_EAPOL_KEY_STATE) + //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) + // EAP_FUNC_EXPORT eap_status_e eapol_core_c::remove_eapol_key_state( - const eap_am_network_id_c * const send_network_id, - const bool force_remove) + const eap_am_network_id_c * const send_network_id) { EAP_TRACE_DEBUG( m_am_tools, @@ -2523,8 +2864,7 @@ if (eapol_key_state != 0) { - if (force_remove == false - && eapol_key_state->get_marked_removed() == false) + if (eapol_key_state->get_marked_removed() == false) { // Do not remove object in use. EAP_TRACE_DEBUG( @@ -2560,10 +2900,14 @@ return EAP_STATUS_RETURN(m_am_tools, status); } +#endif //#if defined(USE_EAPOL_KEY_STATE) + //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) + // -EAP_FUNC_EXPORT eap_status_e eapol_core_c::asynchronous_init_remove_eapol_key_state( +eap_status_e eapol_core_c::asynchronous_init_remove_eapol_key_state( const eap_am_network_id_c * const send_network_id) { EAP_TRACE_DEBUG( @@ -2647,6 +2991,8 @@ return EAP_STATUS_RETURN(m_am_tools, status); } +#endif //#if defined(USE_EAPOL_KEY_STATE) + //-------------------------------------------------- EAP_FUNC_EXPORT void eapol_core_c::state_notification( @@ -2697,6 +3043,7 @@ if (state->get_current_state() == eap_state_identity_request_received || state->get_current_state() == eap_state_eap_response_sent) { +#if defined(USE_EAPOL_KEY_STATE) // Indicate EAPOL Key state the started EAP-authentication. status = indicate_eapol_key_state_started_eap_authentication( state->get_send_network_id()); @@ -2709,6 +3056,7 @@ EAPL("indicate_eapol_key_state_started_eap_authentication(), eap_status_e %d\n"), status)); } +#endif //#if defined(USE_EAPOL_KEY_STATE) } } @@ -2720,10 +3068,10 @@ (EAPL("ERROR: eapol_core_c::state_notification(): %s: EAP-authentication FAILED\n"), (state->get_is_client() == true ? "client": "server"))); +#if defined(USE_EAPOL_KEY_STATE) // Remove possible EAPOL Key state. status = remove_eapol_key_state( - state->get_send_network_id(), - true); + state->get_send_network_id()); if (status != eap_status_ok) { EAP_TRACE_DEBUG( @@ -2733,6 +3081,7 @@ EAPL("remove_eapol_key_state(), eap_status_e %d\n"), status)); } +#endif //#if defined(USE_EAPOL_KEY_STATE) } else if (state->get_current_state() == eap_state_authentication_finished_successfully) @@ -2743,6 +3092,7 @@ (EAPL("eapol_core_c::state_notification(): %s: EAP authentication SUCCESS\n"), (state->get_is_client() == true ? "client": "server"))); +#if defined(USE_EAPOL_KEY_STATE) eap_network_id_selector_c state_selector( m_am_tools, state->get_send_network_id()); @@ -2870,6 +3220,7 @@ EAPL("allow_4_way_handshake() failed, no eapol_key_state_c object\n"))); } } +#endif //#if defined(USE_EAPOL_KEY_STATE) } else { @@ -2888,6 +3239,7 @@ state->get_is_client())); } } +#if defined(USE_EAPOL_KEY_STATE) else if (state->get_protocol_layer() == eap_protocol_layer_eapol_key) { // This nofifation is from eapol_key_state_c object. @@ -3041,6 +3393,8 @@ state->get_is_client())); } } +#endif //#if defined(USE_EAPOL_KEY_STATE) + m_partner->state_notification(state); } @@ -3109,6 +3463,21 @@ //-------------------------------------------------- +// +EAP_FUNC_EXPORT eap_status_e eapol_core_c::cancel_all_timers() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); + + const eap_status_e status = m_partner->cancel_all_timers(); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + EAP_FUNC_EXPORT eap_status_e eapol_core_c::check_is_valid_eap_type( const eap_type_value_e eap_type) { @@ -3129,6 +3498,8 @@ //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) + // EAP_FUNC_EXPORT eap_status_e eapol_core_c::cancel_authentication_session( eapol_key_state_c * const handler, @@ -3151,6 +3522,8 @@ return EAP_STATUS_RETURN(m_am_tools, status); } +#endif //#if defined(USE_EAPOL_KEY_STATE) + //-------------------------------------------------- EAP_FUNC_EXPORT eap_status_e eapol_core_c::cancel_all_authentication_sessions() @@ -3172,19 +3545,26 @@ bool previous_block = m_block_state_notifications; m_block_state_notifications = true; +#if !defined(NO_EAP_SESSION_CORE) if (m_eap_core != 0) { - status = m_eap_core->cancel_all_eap_sessions(); + status = m_eap_core->synchronous_cancel_all_eap_sessions(); } - +#endif //#if !defined(NO_EAP_SESSION_CORE) + + +#if defined(USE_EAPOL_KEY_STATE) status = m_eapol_key_state_map.for_each(cancel_authentication_session, true); +#endif //#if defined(USE_EAPOL_KEY_STATE) m_block_state_notifications = previous_block; // This will cancel all timers of this object. m_partner->cancel_timer(this, EAPOL_CORE_TIMER_SEND_START_AGAIN_ID); +#if defined(USE_EAPOL_KEY_STATE) m_partner->cancel_timer(this, EAPOL_REMOVE_EAPOL_KEY_HANDSHAKE_ID); +#endif //#if defined(USE_EAPOL_KEY_STATE) EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); @@ -3192,6 +3572,8 @@ //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) + EAP_FUNC_EXPORT eap_status_e eapol_core_c::get_and_increment_global_key_counter( eap_variable_data_c * const key_counter) { @@ -3199,8 +3581,11 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); } +#endif //#if defined(USE_EAPOL_KEY_STATE) + //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) /** * Function creates a state for later use. This is for optimazing 4-Way Handshake. * @param receive_network_id carries the MAC addresses. @@ -3368,8 +3753,7 @@ if (status != eap_status_ok) { status = remove_eapol_key_state( - &send_network_id, - true); + &send_network_id); if (status != eap_status_ok) { EAP_TRACE_DEBUG( @@ -3387,8 +3771,11 @@ return EAP_STATUS_RETURN(m_am_tools, status); } +#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) /** * @param receive_network_id carries the MAC addresses. * MAC address of Authenticator should be in source address. MAC address of @@ -3465,10 +3852,112 @@ eapol_key_state_c *eapol_key_state = m_eapol_key_state_map.get_handler(&state_selector); +#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + if (eapol_key_state != 0) + { + // Reuse the session. + eapol_key_state->unset_marked_removed(); + + if (m_is_client == false) + { + // In test version do not reset server. + } + else + { + status = eapol_key_state->reset(); + if (status != eap_status_ok) + { + // We cannot reuse the session. + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_ERROR, + (EAPL("eapol_core_c::association(): eapol_key_state NOT reused.\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + } +#endif //#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + + if (eapol_key_state == 0) { + +#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + + eapol_key_state = new eapol_key_state_c( + m_am_tools, + this, + m_partner, + m_is_client, + receive_network_id, + authentication_type, + authenticator_RSNA_IE, + supplicant_RSNA_IE, + eapol_pairwise_cipher, + eapol_group_cipher, + pre_shared_key_PSK); + if (eapol_key_state == 0 + || eapol_key_state->get_is_valid() == false) + { + if (eapol_key_state != 0) + { + eapol_key_state->shutdown(); + } + else + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("WARNING: eapol_core_c::association(): Cannot run eapol_key_state->shutdown() 0x%08x\n"), + eapol_key_state)); + } + delete eapol_key_state; + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = eapol_key_state->initialize( + receive_network_id, + authentication_type, + authenticator_RSNA_IE, + supplicant_RSNA_IE, + eapol_pairwise_cipher, + eapol_group_cipher, + pre_shared_key_PSK); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = m_eapol_key_state_map.add_handler(&state_selector, eapol_key_state); + if (status != eap_status_ok) + { + if (eapol_key_state != 0) + { + eapol_key_state->shutdown(); + } + else + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("WARNING: eapol_core_c::association(): Cannot run eapol_key_state->shutdown() 0x%08x\n"), + eapol_key_state)); + } + delete eapol_key_state; + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + +#else + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_handler_does_not_exists_error); + +#endif //#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + } else { @@ -3487,6 +3976,29 @@ } } + +#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + status = eapol_key_state->configure(); + if (status != eap_status_ok) + { + status = remove_eapol_key_state( + &send_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("WARNING: eapol_core_c::association(): ") + EAPL("remove_eapol_key_state(), eap_status_e %d\n"), + status)); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } +#endif //#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + + if (authentication_type == eapol_key_authentication_type_RSNA_PSK || authentication_type == eapol_key_authentication_type_WPA_PSK) { @@ -3494,6 +4006,7 @@ #if !defined(NO_EAPOL_KEY_STATE_SERVER) if (m_is_client == false) { +#if defined(USE_EAPOL_KEY_STATE) if (m_skip_start_4_way_handshake == true) { // This is test to skip 4-Way Handshake start. @@ -3506,6 +4019,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } else +#endif //#if defined(USE_EAPOL_KEY_STATE) { status = eapol_key_state->start_4_way_handshake( receive_network_id); @@ -3523,35 +4037,40 @@ eapol_key_state->allow_4_way_handshake(); } } +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) else if (authentication_type == eapol_key_authentication_type_RSNA_EAP || authentication_type == eapol_key_authentication_type_WPA_EAP || authentication_type == eapol_key_authentication_type_dynamic_WEP || authentication_type == eapol_key_authentication_type_WPXM - || authentication_type == eapol_key_authentication_type_WPS + || authentication_type == eapol_key_authentication_type_WFA_SC || authentication_type == eapol_key_authentication_type_EAP_authentication_no_encryption ) { // Creates a EAP-session. - status = m_eap_core->create_eap_session(receive_network_id); + status = m_eap_core->synchronous_create_eap_session(receive_network_id); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } } +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + return EAP_STATUS_RETURN(m_am_tools, status); } +#endif //#if defined(USE_EAPOL_KEY_STATE) + //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) /** * @param receive_network_id carries the MAC addresses. * MAC address of Authenticator should be in source address. * MAC address of Supplicant should be in destination address. */ EAP_FUNC_EXPORT eap_status_e eapol_core_c::disassociation( - const bool complete_to_lower_layer, const eap_am_network_id_c * const receive_network_id ) { @@ -3584,10 +4103,10 @@ (void) m_partner->cancel_timer(this, EAPOL_CORE_TIMER_SEND_START_AGAIN_ID); +#if !defined(NO_EAP_SESSION_CORE) // First we remove possible EAP session. - (void) m_eap_core->remove_eap_session( - complete_to_lower_layer, - receive_network_id); + (void) m_eap_core->synchronous_remove_eap_session(receive_network_id); +#endif status = init_eapol_key_pmksa_caching_timeout( &send_network_id); @@ -3605,6 +4124,8 @@ return EAP_STATUS_RETURN(m_am_tools, status); } +#endif //#if defined(USE_EAPOL_KEY_STATE) + //-------------------------------------------------- /// @see abs_eap_core_c::add_rogue_ap(). @@ -3642,6 +4163,8 @@ eap_status_e status = eap_status_process_general_error; +#if defined(USE_EAPOL_KEY_STATE) + // Here we swap the addresses. eap_am_network_id_c send_network_id( m_am_tools, @@ -3684,6 +4207,12 @@ status = eap_status_handler_does_not_exists_error; } +#else + + status = eap_status_not_supported; + +#endif //#if defined(USE_EAPOL_KEY_STATE) + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -3704,154 +4233,6 @@ //-------------------------------------------------- -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT eap_status_e eapol_core_c::save_simple_config_session( - const simple_config_state_e state, - EAP_TEMPLATE_CONST eap_array_c * const credential_array, - const eap_variable_data_c * const new_password, - const simple_config_Device_Password_ID_e Device_Password_ID, - const simple_config_payloads_c * const other_configuration) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("%s: eapol_core_c::save_simple_config_session().\n"), - (m_is_client == true) ? "client": "server")); - - const eap_status_e status = m_partner->save_simple_config_session( - state, - credential_array, - new_password, - Device_Password_ID, - other_configuration); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eapol_core_c::set_eap_database_reference_values( - const eap_variable_data_c * const reference) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_core_c::set_eap_database_reference_values()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::set_eap_database_reference_values()"); - - eap_status_e status(eap_status_ok); - - if (m_eap_core != 0) - { - status = m_eap_core->set_eap_database_reference_values(reference); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eapol_core_c::get_802_11_authentication_mode( - const eap_am_network_id_c * const receive_network_id, - const eapol_key_authentication_type_e authentication_type, - const eap_variable_data_c * const SSID, - const eap_variable_data_c * const preshared_key) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_core_c::get_802_11_authentication_mode()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::get_802_11_authentication_mode()"); - - eap_status_e status(eap_status_ok); - - if (m_eap_core != 0) - { - status = m_eap_core->get_802_11_authentication_mode( - receive_network_id, - authentication_type, - SSID, - preshared_key); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eapol_core_c::complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const receive_network_id, - const eapol_key_802_11_authentication_mode_e mode) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_core_c::complete_get_802_11_authentication_mode()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::complete_get_802_11_authentication_mode()"); - - eap_status_e status(eap_status_ok); - - if (m_partner != 0) - { - status = m_partner->complete_get_802_11_authentication_mode( - completion_status, - receive_network_id, - mode); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eapol_core_c::complete_remove_eap_session( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_core_c::complete_remove_eap_session()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_core_c::complete_remove_eap_session()"); - - eap_status_e status(eap_status_ok); - - if (m_partner != 0) - { - status = m_partner->complete_disassociation( - complete_to_lower_layer, - receive_network_id); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- + + // End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_handle_tlv_message_data.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_handle_tlv_message_data.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_handle_tlv_message_data.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,13 +16,13 @@ */ /* -* %version: 36 % +* %version: 31.1.3 % */ // This is enumeration of EAPOL source code. #if defined(USE_EAP_MINIMUM_RELEASE_TRACES) #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 715 + #define EAP_FILE_NUMBER_ENUM 40 #undef EAP_FILE_NUMBER_DATE #define EAP_FILE_NUMBER_DATE 1127594498 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) @@ -59,18 +59,2451 @@ EAP_FUNC_EXPORT eapol_handle_tlv_message_data_c::eapol_handle_tlv_message_data_c( abs_eap_am_tools_c * const tools) - : eap_process_tlv_message_data_c(tools) + : eap_tlv_message_data_c(tools) , m_am_tools(tools) , m_is_valid(true) { } +//------------------------------------------------------------------- + +/** + * This function should increase reference count. + */ +EAP_FUNC_EXPORT void eapol_handle_tlv_message_data_c::object_increase_reference_count() +{ +} + +//------------------------------------------------------------------- + +/** + * This function should first decrease reference count + * and second return the remaining reference count. + * Reference count must not be decreased when it is zero. + */ +EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::object_decrease_reference_count() +{ + return 0; +} + //-------------------------------------------------- EAP_FUNC_EXPORT bool eapol_handle_tlv_message_data_c::get_is_valid() { - return m_is_valid && eap_process_tlv_message_data_c::get_is_valid(); + return m_is_valid && eap_tlv_message_data_c::get_is_valid(); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::get_payload_size( + const eap_am_network_id_c * const network_id) const +{ + return + (3ul * eap_tlv_header_c::get_header_length() // Each attribute have their own header. + + network_id->get_source_id()->get_data_length() + + network_id->get_destination_id()->get_data_length() + + sizeof(network_id->get_type())); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::get_payload_size( + const abs_eap_state_notification_c * const state) const +{ + return + (7ul * eap_tlv_header_c::get_header_length()) // Each attribute have their own header. + + (get_payload_size(state->get_send_network_id()) + + sizeof(u32_t) // eap_protocol_layer_e + + sizeof(state->get_protocol()) + + eap_expanded_type_c::get_eap_expanded_type_size() + + sizeof(state->get_current_state()) + + sizeof(u32_t) // bool is_client + + sizeof(u32_t) // eap_status_e authentication error + ); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::get_payload_size( + const eapol_session_key_c * const session_key) const +{ + return + ((5ul * eap_tlv_header_c::get_header_length()) // Each attribute have their own header. + + session_key->get_key()->get_data_length() + + session_key->get_sequence_number()->get_data_length() + + sizeof(u32_t) // const eapol_key_type_e m_key_type + + sizeof(session_key->get_key_index()) + + sizeof(u32_t) // const bool m_key_tx_bit + ); +} + +//-------------------------------------------------- + +#if defined(USE_EAP_SIMPLE_CONFIG) + +EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::get_payload_size( + network_key_and_index_c * key) const +{ + u32_t size(0ul); + + if (key != 0) + { + size += eap_tlv_header_c::get_header_length() + + sizeof(key->get_network_key_index()) // Size of Network Key Index + + eap_tlv_header_c::get_header_length() + + key->get_network_key()->get_data_length() // Size of Network Key + ; + } + + return (size); +} + +#endif // #if defined(USE_EAP_SIMPLE_CONFIG) + +//-------------------------------------------------- + +#if defined(USE_EAP_SIMPLE_CONFIG) + +EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::get_payload_size( + EAP_TEMPLATE_CONST eap_array_c * network_keys) const +{ + u32_t size(0ul); + + for (u32_t ind_network_key = 0ul; ind_network_key < network_keys->get_object_count(); ind_network_key++) + { + network_key_and_index_c * const key = network_keys->get_object(ind_network_key); + if (key != 0) + { + size += eap_tlv_header_c::get_header_length() // Size of structure header + + get_payload_size(key); // Size of Network Key + } + } // for () + + return (size); +} + +#endif // #if defined(USE_EAP_SIMPLE_CONFIG) + +//-------------------------------------------------- + +#if defined(USE_EAP_SIMPLE_CONFIG) + +EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::get_payload_size( + simple_config_credential_c * const credential) const +{ + u32_t size(0ul); + + if (credential != 0) + { + size += eap_tlv_header_c::get_header_length() + + sizeof(credential->get_network_index()) // Size of Network Index + + eap_tlv_header_c::get_header_length() + + credential->get_SSID()->get_data_length() // Size of SSID + + eap_tlv_header_c::get_header_length() + + sizeof(u16_t) // Size of Authentiction type + + eap_tlv_header_c::get_header_length() + + sizeof(u16_t) // Size of Encryption type + ; + + size += eap_tlv_header_c::get_header_length() // Size of header of Array + + get_payload_size(credential->get_network_keys()); + + size += eap_tlv_header_c::get_header_length() + + credential->get_MAC_address()->get_data_length() // Size of MAC Address + ; + } + + return (size); +} + +#endif // #if defined(USE_EAP_SIMPLE_CONFIG) + +//-------------------------------------------------- + +#if defined(USE_EAP_SIMPLE_CONFIG) + +EAP_FUNC_EXPORT u32_t eapol_handle_tlv_message_data_c::get_payload_size( + EAP_TEMPLATE_CONST eap_array_c * const credential_array) const +{ + u32_t size(0ul); + + for (u32_t ind_credential = 0ul; ind_credential < credential_array->get_object_count(); ind_credential++) + { + simple_config_credential_c * const credential = credential_array->get_object(ind_credential); + if (credential != 0) + { + size += eap_tlv_header_c::get_header_length() // Size of structure header + + get_payload_size(credential); + } + } // for () + + return (size); +} + +#endif // #if defined(USE_EAP_SIMPLE_CONFIG) + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_structured_parameter_header( + const eapol_tlv_message_type_e type, + const u32_t length) +{ + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_structured_parameter_header(): type=%s\n"), + get_type_string(type))); + + return add_message_header( + type, + length); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const eapol_tlv_message_type_e type, + const u32_t integer) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"), + get_type_string(type))); + + const u32_t network_order_integer(eap_htonl(integer)); + + eap_status_e status = add_message_data( + type, + sizeof(network_order_integer), + &network_order_integer); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const u64_t long_integer) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"), + get_type_string(eapol_tlv_message_type_u64_t))); + + const u64_t network_order_long_integer(eap_htonll(long_integer)); + + eap_status_e status = add_message_data( + eapol_tlv_message_type_u64_t, + sizeof(network_order_long_integer), + &network_order_long_integer); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const u32_t integer) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"), + get_type_string(eapol_tlv_message_type_u32_t))); + + const u32_t network_order_integer(eap_htonl(integer)); + + eap_status_e status = add_message_data( + eapol_tlv_message_type_u32_t, + sizeof(network_order_integer), + &network_order_integer); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const u16_t short_integer) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"), + get_type_string(eapol_tlv_message_type_u16_t))); + + const u16_t network_order_short_integer(eap_htons(short_integer)); + + eap_status_e status = add_message_data( + eapol_tlv_message_type_u16_t, + sizeof(network_order_short_integer), + &network_order_short_integer); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const u8_t byte_integer) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"), + get_type_string(eapol_tlv_message_type_u8_t))); + + eap_status_e status = add_message_data( + eapol_tlv_message_type_u8_t, + sizeof(byte_integer), + &byte_integer); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const bool boolean) +{ + const u32_t value((boolean == false) ? 0u: 1u); + + return add_parameter_data( + eapol_tlv_message_type_boolean, + value); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const eap_status_e status) +{ + const u32_t value(static_cast(status)); + + return add_parameter_data( + eapol_tlv_message_type_eap_status, + value); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const eapol_tlv_message_type_function_e function) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s, function=%s\n"), + get_type_string(eapol_tlv_message_type_function), + get_function_string(function))); + + if (function < eapol_tlv_message_type_function_none + || function >= eapol_tlv_message_type_function_illegal_value) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + const u32_t network_order_function(eap_htonl(function)); + + eap_status_e status = add_message_data( + eapol_tlv_message_type_function, + sizeof(network_order_function), + &network_order_function); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const eap_variable_data_c * const variable_data) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"), + get_type_string(eapol_tlv_message_type_variable_data))); + + if (variable_data == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eap_status_e status(eap_status_process_general_error); + + if (variable_data->get_is_valid_data() == false) + { + // Empty variable data. Add just the header. + status = add_structured_parameter_header( + eapol_tlv_message_type_variable_data, + 0ul); + } + else + { + status = add_message_data( + eapol_tlv_message_type_variable_data, + variable_data->get_data_length(), + variable_data->get_data()); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const eap_am_network_id_c * const network_id) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"), + get_type_string(eapol_tlv_message_type_network_id))); + + if (network_id == 0 + || network_id->get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + const u32_t size_of_network_id = get_payload_size(network_id); + + eap_status_e status = add_structured_parameter_header( + eapol_tlv_message_type_network_id, + size_of_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data( + network_id->get_source_id()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data( + network_id->get_destination_id()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data( + network_id->get_type()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const eap_buf_chain_wr_c * const packet_buffer) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"), + get_type_string(eapol_tlv_message_type_variable_data))); + + if (packet_buffer == 0 + || packet_buffer->get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eap_status_e status = add_message_data( + eapol_tlv_message_type_variable_data, + packet_buffer->get_data_length(), + packet_buffer->get_data(packet_buffer->get_data_length())); + + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const eapol_session_key_c * const session_key) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"), + get_type_string(eapol_tlv_message_type_session_key))); + + if (session_key == 0 + || session_key->get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + const u32_t size_of_session_key(get_payload_size(session_key)); + + eap_status_e status = add_structured_parameter_header( + eapol_tlv_message_type_session_key, + size_of_session_key); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data( + session_key->get_key()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data( + session_key->get_sequence_number()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data( + eapol_tlv_message_type_eapol_key_type, + static_cast(session_key->get_key_type())); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data(session_key->get_key_index()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data(session_key->get_key_tx_bit()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const abs_eap_state_notification_c * const state) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"), + get_type_string(eapol_tlv_message_type_eap_state_notification))); + + if (state == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + const u32_t size_of_state(get_payload_size(state)); + + eap_status_e status = add_structured_parameter_header( + eapol_tlv_message_type_eap_state_notification, + size_of_state); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data(state->get_send_network_id()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data( + eapol_tlv_message_type_eap_protocol_layer, + static_cast(state->get_protocol_layer())); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data(state->get_protocol()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data(state->get_eap_type()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data(state->get_current_state()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data(state->get_is_client()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data(state->get_authentication_error()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const eap_type_value_e eap_type) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"), + get_type_string(eapol_tlv_message_type_eap_type))); + + void * type_buffer = 0; + + eap_status_e status = allocate_message_buffer( + eapol_tlv_message_type_eap_type, + eap_expanded_type_c::get_eap_expanded_type_size(), + &type_buffer); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = eap_expanded_type_c::write_type( + m_am_tools, + 0ul, ///< Index is from 0 to n. Index 0 is the first EAP type field after base EAP header. + type_buffer, + eap_expanded_type_c::get_eap_expanded_type_size(), + true, ///< True value writes always Extented Type. + eap_type ///< The EAP type to be written. + ); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eap_tlv_message_data_c::add_message_data(): type %2d=0x%08x, length %3d=0x%08x\n"), + eapol_tlv_message_type_eap_type, + eapol_tlv_message_type_eap_type, + eap_expanded_type_c::get_eap_expanded_type_size(), + eap_expanded_type_c::get_eap_expanded_type_size())); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("add_message_data()"), + type_buffer, + eap_expanded_type_c::get_eap_expanded_type_size())); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + const eap_general_header_base_c * const packet_data) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"), + get_type_string(eapol_tlv_message_type_variable_data))); + + if (packet_data == 0 + || packet_data->get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eap_status_e status = add_message_data( + eapol_tlv_message_type_variable_data, + packet_data->get_header_buffer_length(), + packet_data->get_header_buffer(packet_data->get_header_buffer_length())); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +#if defined(USE_EAP_SIMPLE_CONFIG) + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data( + EAP_TEMPLATE_CONST eap_array_c * const credential_array) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::add_parameter_data(): type=%s\n"), + get_type_string(eapol_tlv_message_type_protected_setup_credential))); + + if (credential_array == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + const u32_t size_of_credential_array(get_payload_size(credential_array)); + + eap_status_e status = add_structured_parameter_header( + eapol_tlv_message_type_array, + size_of_credential_array); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + + for (u32_t ind_credential = 0ul; ind_credential < credential_array->get_object_count(); ind_credential++) + { + simple_config_credential_c * const credential = credential_array->get_object(ind_credential); + if (credential != 0) + { + const u32_t size_of_credential(get_payload_size(credential)); + + eap_status_e status = add_structured_parameter_header( + eapol_tlv_message_type_protected_setup_credential, + size_of_credential); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data(credential->get_network_index()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data(credential->get_SSID()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data(static_cast(credential->get_Authentication_Type())); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data(static_cast(credential->get_Encryption_Type())); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + const u32_t size_of_network_key_array(get_payload_size(credential->get_network_keys())); + + status = add_structured_parameter_header( + eapol_tlv_message_type_array, + size_of_network_key_array); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + for (u32_t ind_network_key = 0ul; ind_network_key < credential->get_network_keys()->get_object_count(); ind_network_key++) + { + network_key_and_index_c * const network_key = credential->get_network_keys()->get_object(ind_network_key); + if (network_key != 0) + { + const u32_t size_of_network_key(get_payload_size(network_key)); + + status = add_structured_parameter_header( + eapol_tlv_message_type_network_key, + size_of_network_key); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data(network_key->get_network_key_index()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = add_parameter_data(network_key->get_network_key()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + } // for () + + status = add_parameter_data(credential->get_MAC_address()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + } // for () + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +#endif // #if defined(USE_EAP_SIMPLE_CONFIG) + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data( + const eap_tlv_header_c * const integer_header, + u64_t * const value) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"), + get_type_string(static_cast(integer_header->get_type())))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("get_parameter_data(u64_t *)"), + integer_header->get_header_buffer(integer_header->get_header_buffer_length()), + integer_header->get_header_buffer_length())); + + if (static_cast(integer_header->get_type()) + != eapol_tlv_message_type_u64_t) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); + } + + const u8_t * const data = integer_header->get_value(sizeof(u64_t)); + if (data == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + *value = + eap_read_u64_t_network_order( + data, + sizeof(u64_t)); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data( + const eap_tlv_header_c * const integer_header, + u32_t * const value) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"), + get_type_string(static_cast(integer_header->get_type())))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("get_parameter_data(u32_t *)"), + integer_header->get_header_buffer(integer_header->get_header_buffer_length()), + integer_header->get_header_buffer_length())); + + if (static_cast(integer_header->get_type()) + != eapol_tlv_message_type_boolean + && static_cast(integer_header->get_type()) + != eapol_tlv_message_type_eap_protocol_layer + && static_cast(integer_header->get_type()) + != eapol_tlv_message_type_eapol_key_802_11_authentication_mode + && static_cast(integer_header->get_type()) + != eapol_tlv_message_type_eapol_key_authentication_type + && static_cast(integer_header->get_type()) + != eapol_tlv_message_type_eapol_key_type + && static_cast(integer_header->get_type()) + != eapol_tlv_message_type_eapol_tkip_mic_failure_type + && static_cast(integer_header->get_type()) + != eapol_tlv_message_type_eapol_wlan_authentication_state + && static_cast(integer_header->get_type()) + != eapol_tlv_message_type_error + && static_cast(integer_header->get_type()) + != eapol_tlv_message_type_function + && static_cast(integer_header->get_type()) + != eapol_tlv_message_type_RSNA_cipher + && static_cast(integer_header->get_type()) + != eapol_tlv_message_type_u32_t + && static_cast(integer_header->get_type()) + != eapol_tlv_message_type_eap_status + ) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); + } + + const u8_t * const data = integer_header->get_value(sizeof(u32_t)); + if (data == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + *value = + eap_read_u32_t_network_order( + data, + sizeof(u32_t)); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data( + const eap_tlv_header_c * const integer_header, + u16_t * const value) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"), + get_type_string(static_cast(integer_header->get_type())))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("get_parameter_data(u16_t *)"), + integer_header->get_header_buffer(integer_header->get_header_buffer_length()), + integer_header->get_header_buffer_length())); + + if (static_cast(integer_header->get_type()) + != eapol_tlv_message_type_u16_t) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); + } + + const u8_t * const data = integer_header->get_value(sizeof(u16_t)); + if (data == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + *value = + eap_read_u16_t_network_order( + data, + sizeof(u16_t)); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data( + const eap_tlv_header_c * const integer_header, + u8_t * const value) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"), + get_type_string(static_cast(integer_header->get_type())))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("get_parameter_data(u8_t *)"), + integer_header->get_header_buffer(integer_header->get_header_buffer_length()), + integer_header->get_header_buffer_length())); + + if (static_cast(integer_header->get_type()) + != eapol_tlv_message_type_u8_t) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); + } + + const u8_t * const data = integer_header->get_value(sizeof(u8_t)); + if (data == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + *value = *data; + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data( + const eap_tlv_header_c * const function_header, + eapol_tlv_message_type_function_e * const function) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"), + get_type_string(static_cast(function_header->get_type())))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("get_parameter_data(eapol_tlv_message_type_function_e *)"), + function_header->get_header_buffer(function_header->get_header_buffer_length()), + function_header->get_header_buffer_length())); + + if (static_cast(function_header->get_type()) + != eapol_tlv_message_type_function) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); + } + + u32_t host_order(0ul); + + eap_status_e status = get_parameter_data( + function_header, + &host_order); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + *function = static_cast(host_order); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s, function=%s\n"), + get_type_string(eapol_tlv_message_type_function), + get_function_string(*function) + )); + + if (*function < eapol_tlv_message_type_function_none + || eapol_tlv_message_type_function_illegal_value <= *function) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } //-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data( + const eap_tlv_header_c * const network_id_header, + eap_am_network_id_c * const new_network_id) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"), + get_type_string(static_cast(network_id_header->get_type())))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("get_parameter_data(eap_am_network_id_c *)"), + network_id_header->get_header_buffer(network_id_header->get_header_buffer_length()), + network_id_header->get_header_buffer_length())); + + if (static_cast(network_id_header->get_type()) + != eapol_tlv_message_type_network_id) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); + } + + eapol_handle_tlv_message_data_c network_id_data(m_am_tools); + + if (network_id_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + eap_status_e status = network_id_data.set_message_data( + network_id_header->get_value_length(), + network_id_header->get_value(network_id_header->get_value_length())); + + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + eap_array_c network_id_members(m_am_tools); + + status = network_id_data.parse_message_data(&network_id_members); + + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + + u32_t member_index(0ul); + + eap_variable_data_c source_id( + m_am_tools); + + if (source_id.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + { + const eap_tlv_header_c * const source_id_header = network_id_members.get_object(member_index); + if (source_id_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = network_id_data.get_parameter_data(source_id_header, &source_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + + ++member_index; + + eap_variable_data_c destination_id( + m_am_tools); + + if (destination_id.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + { + const eap_tlv_header_c * const destination_id_header = network_id_members.get_object(member_index); + if (destination_id_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = network_id_data.get_parameter_data(destination_id_header, &destination_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + + ++member_index; + + u16_t type_value(0ul); + + { + const eap_tlv_header_c * const type_header = network_id_members.get_object(member_index); + if (type_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = network_id_data.get_parameter_data(type_header, &type_value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + + status = new_network_id->set_copy_of_am_network_id( + source_id.get_data(), + source_id.get_data_length(), + destination_id.get_data(), + destination_id.get_data_length(), + type_value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data( + const eap_tlv_header_c * const variable_data_header, + eap_variable_data_c * const variable_data) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"), + get_type_string(static_cast(variable_data_header->get_type())))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("get_parameter_data(eap_variable_data_c *)"), + variable_data_header->get_header_buffer(variable_data_header->get_header_buffer_length()), + variable_data_header->get_header_buffer_length())); + + if (static_cast(variable_data_header->get_type()) + != eapol_tlv_message_type_variable_data) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); + } + + eap_status_e status = variable_data->set_copy_of_buffer( + variable_data_header->get_value(variable_data_header->get_value_length()), + variable_data_header->get_value_length()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data( + const eap_tlv_header_c * const session_key_header, + eapol_session_key_c * const session_key) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"), + get_type_string(static_cast(session_key_header->get_type())))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("get_parameter_data(eapol_session_key_c *)"), + session_key_header->get_header_buffer(session_key_header->get_header_buffer_length()), + session_key_header->get_header_buffer_length())); + + if (static_cast(session_key_header->get_type()) + != eapol_tlv_message_type_session_key) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); + } + + eapol_handle_tlv_message_data_c session_key_data(m_am_tools); + + if (session_key_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + eap_status_e status = session_key_data.set_message_data( + session_key_header->get_value_length(), + session_key_header->get_value(session_key_header->get_value_length())); + + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + eap_array_c session_key_members(m_am_tools); + + status = session_key_data.parse_message_data(&session_key_members); + + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + u32_t member_index(0ul); + + { + const eap_tlv_header_c * const tmp_session_key_header = session_key_members.get_object(member_index); + if (tmp_session_key_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eap_variable_data_c key( + m_am_tools); + + if (key.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = session_key_data.get_parameter_data(tmp_session_key_header, &key); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = session_key->set_key(&key); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + ++member_index; + + { + const eap_tlv_header_c * const sequence_number_header = session_key_members.get_object(member_index); + if (sequence_number_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eap_variable_data_c sequence_number( + m_am_tools); + + if (sequence_number.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = session_key_data.get_parameter_data(sequence_number_header, &sequence_number); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = session_key->set_sequence_number(&sequence_number); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + ++member_index; + + { + const eap_tlv_header_c * const key_type_header = session_key_members.get_object(member_index); + if (key_type_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + u32_t value(0ul); + + status = session_key_data.get_parameter_data(key_type_header, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + session_key->set_key_type(static_cast(value)); + } + + ++member_index; + + { + const eap_tlv_header_c * const key_index_header = session_key_members.get_object(member_index); + if (key_index_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + u32_t value(0ul); + + status = session_key_data.get_parameter_data(key_index_header, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + session_key->set_key_index(value); + } + + ++member_index; + + { + const eap_tlv_header_c * const key_tx_bit_header = session_key_members.get_object(member_index); + if (key_tx_bit_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + u32_t value(0ul); + + status = session_key_data.get_parameter_data(key_tx_bit_header, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + session_key->set_key_tx_bit((value == 0) ? false : true); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data( + const eap_tlv_header_c * const state_header, + eap_state_notification_c * * const state) + +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"), + get_type_string(static_cast(state_header->get_type())))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("get_parameter_data(eap_state_notification_c *)"), + state_header->get_header_buffer(state_header->get_header_buffer_length()), + state_header->get_header_buffer_length())); + + if (static_cast(state_header->get_type()) + != eapol_tlv_message_type_eap_state_notification) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); + } + + eapol_handle_tlv_message_data_c session_key_data(m_am_tools); + + if (session_key_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + eap_status_e status = session_key_data.set_message_data( + state_header->get_value_length(), + state_header->get_value(state_header->get_value_length())); + + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + eap_array_c session_key_members(m_am_tools); + + status = session_key_data.parse_message_data(&session_key_members); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + + u32_t member_index(0ul); + + eap_am_network_id_c send_network_id(m_am_tools); + + { + const eap_tlv_header_c * const send_network_id_header = session_key_members.get_object(member_index); + if (send_network_id_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = get_parameter_data(send_network_id_header, &send_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + + ++member_index; + + eap_protocol_layer_e protocol_layer(eap_protocol_layer_none); + + { + const eap_tlv_header_c * const protocol_layer_header = session_key_members.get_object(member_index); + if (protocol_layer_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + u32_t value(0ul); + + status = session_key_data.get_parameter_data(protocol_layer_header, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + protocol_layer = static_cast(value); + } + + + ++member_index; + + u32_t protocol(0ul); + + { + const eap_tlv_header_c * const protocol_header = session_key_members.get_object(member_index); + if (protocol_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = session_key_data.get_parameter_data(protocol_header, &protocol); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + + ++member_index; + + eap_type_value_e eap_type(eap_type_none); + + { + const eap_tlv_header_c * const eap_type_header = session_key_members.get_object(member_index); + if (eap_type_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = session_key_data.get_parameter_data(eap_type_header, &eap_type); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + + ++member_index; + + u32_t current_state(0ul); + + { + const eap_tlv_header_c * const current_state_header = session_key_members.get_object(member_index); + if (current_state_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = session_key_data.get_parameter_data(current_state_header, ¤t_state); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + + ++member_index; + + bool is_client(true); + + { + const eap_tlv_header_c * const is_client_header = session_key_members.get_object(member_index); + if (is_client_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + u32_t value(0ul); + + status = session_key_data.get_parameter_data(is_client_header, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + is_client = (value == 0ul) ? false : true; + } + + + ++member_index; + + eap_status_e authentication_error(eap_status_ok); + + { + const eap_tlv_header_c * const authentication_error_header = session_key_members.get_object(member_index); + if (authentication_error_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + u32_t value(0ul); + + status = session_key_data.get_parameter_data(authentication_error_header, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + authentication_error = static_cast(value); + } + + + if (eap_type != eap_type_none) + { + *state = new eap_state_notification_c( + m_am_tools, + &send_network_id, + is_client, + eap_state_notification_eap, + protocol_layer, + eap_type, + current_state, + current_state, + 0ul, + false); + } + else + { + + + *state = new eap_state_notification_c( + m_am_tools, + &send_network_id, + is_client, + eap_state_notification_generic, + protocol_layer, + protocol, + current_state, + current_state, + 0ul, + false); + } + + if ((*state) == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + (*state)->set_authentication_error(authentication_error); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data( + const eap_tlv_header_c * const eap_type_header, + eap_type_value_e * const eap_type) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"), + get_type_string(static_cast(eap_type_header->get_type())))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("get_parameter_data(eap_type_value_e *)"), + eap_type_header->get_header_buffer(eap_type_header->get_header_buffer_length()), + eap_type_header->get_header_buffer_length())); + + if (static_cast(eap_type_header->get_type()) + != eapol_tlv_message_type_eap_type) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); + } + + eap_status_e status = eap_expanded_type_c::read_type( + m_am_tools, + 0ul, + eap_type_header->get_value(eap_type_header->get_value_length()), + eap_type_header->get_value_length(), + eap_type); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +#if defined(USE_EAP_SIMPLE_CONFIG) + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data( + const eap_tlv_header_c * const network_key_header, + network_key_and_index_c * const network_key) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"), + get_type_string(static_cast(network_key_header->get_type())))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("get_parameter_data(simple_config_credential_c *)"), + network_key_header->get_header_buffer(network_key_header->get_header_buffer_length()), + network_key_header->get_header_buffer_length())); + + if (static_cast(network_key_header->get_type()) + != eapol_tlv_message_type_network_key) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); + } + + eapol_handle_tlv_message_data_c credential_data(m_am_tools); + + if (credential_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + eap_status_e status = credential_data.set_message_data( + network_key_header->get_value_length(), + network_key_header->get_value(network_key_header->get_value_length())); + + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + eap_array_c credential_members(m_am_tools); + + status = credential_data.parse_message_data(&credential_members); + + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + u32_t member_index(0ul); + + u8_t network_key_index(0ul); + + { + const eap_tlv_header_c * const network_key_index_header = credential_members.get_object(member_index); + if (network_key_index_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = credential_data.get_parameter_data(network_key_index_header, &network_key_index); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + ++member_index; + + eap_variable_data_c key(m_am_tools); + + { + const eap_tlv_header_c * const key_header = credential_members.get_object(member_index); + if (key_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = credential_data.get_parameter_data(key_header, &key); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + ++member_index; + + network_key->set_network_key_index(network_key_index); + + status = network_key->get_network_key()->set_copy_of_buffer(&key); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +#endif // #if defined(USE_EAP_SIMPLE_CONFIG) + +//-------------------------------------------------- + +#if defined(USE_EAP_SIMPLE_CONFIG) + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data( + const eap_tlv_header_c * const network_keys_array_header, + eap_array_c * const network_keys_array) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"), + get_type_string(static_cast(network_keys_array_header->get_type())))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("get_parameter_data(eap_array_c *)"), + network_keys_array_header->get_header_buffer(network_keys_array_header->get_header_buffer_length()), + network_keys_array_header->get_header_buffer_length())); + + if (static_cast(network_keys_array_header->get_type()) + != eapol_tlv_message_type_array) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); + } + + eapol_handle_tlv_message_data_c credential_array_data(m_am_tools); + + if (credential_array_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + eap_status_e status = credential_array_data.set_message_data( + network_keys_array_header->get_value_length(), + network_keys_array_header->get_value(network_keys_array_header->get_value_length())); + + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + eap_array_c credential_array_members(m_am_tools); + + status = credential_array_data.parse_message_data(&credential_array_members); + + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + + for (u32_t ind_member = 0ul; ind_member < credential_array_members.get_object_count(); ind_member++) + { + network_key_and_index_c * const network_key = new network_key_and_index_c(m_am_tools); + + eap_automatic_variable_c automatic_network_key(m_am_tools, network_key); + + if (network_key == 0 + || network_key->get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + { + const eap_tlv_header_c * const simple_config_credential_header = credential_array_members.get_object(ind_member); + if (simple_config_credential_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = credential_array_data.get_parameter_data(simple_config_credential_header, network_key); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + automatic_network_key.do_not_free_variable(); + + status = network_keys_array->add_object(network_key, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + } // for () + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +#endif // #if defined(USE_EAP_SIMPLE_CONFIG) + +//-------------------------------------------------- + +#if defined(USE_EAP_SIMPLE_CONFIG) + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data( + const eap_tlv_header_c * const credential_header, + simple_config_credential_c * const credential) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"), + get_type_string(static_cast(credential_header->get_type())))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("get_parameter_data(simple_config_credential_c *)"), + credential_header->get_header_buffer(credential_header->get_header_buffer_length()), + credential_header->get_header_buffer_length())); + + if (static_cast(credential_header->get_type()) + != eapol_tlv_message_type_protected_setup_credential) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); + } + + eapol_handle_tlv_message_data_c credential_data(m_am_tools); + + if (credential_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + eap_status_e status = credential_data.set_message_data( + credential_header->get_value_length(), + credential_header->get_value(credential_header->get_value_length())); + + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + eap_array_c credential_members(m_am_tools); + + status = credential_data.parse_message_data(&credential_members); + + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + u32_t member_index(0ul); + + u8_t network_index(0ul); + + { + const eap_tlv_header_c * const network_index_header = credential_members.get_object(member_index); + if (network_index_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = credential_data.get_parameter_data(network_index_header, &network_index); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + ++member_index; + + eap_variable_data_c SSID(m_am_tools); + + { + const eap_tlv_header_c * const SSID_header = credential_members.get_object(member_index); + if (SSID_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = credential_data.get_parameter_data(SSID_header, &SSID); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + ++member_index; + + simple_config_Authentication_Type_e authentication_type(simple_config_Authentication_Type_None); + + { + const eap_tlv_header_c * const authentication_type_header = credential_members.get_object(member_index); + if (authentication_type_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + u16_t integer_value(0ul); + + status = credential_data.get_parameter_data(authentication_type_header, &integer_value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + authentication_type = static_cast(integer_value); + } + + ++member_index; + + simple_config_Encryption_Type_e encryption_type(simple_config_Encryption_Type_None); + + { + const eap_tlv_header_c * const encryption_type_header = credential_members.get_object(member_index); + if (encryption_type_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + u16_t integer_value(0ul); + + status = credential_data.get_parameter_data(encryption_type_header, &integer_value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + encryption_type = static_cast(integer_value); + } + + ++member_index; + + eap_array_c network_keys_array(m_am_tools); + + { + const eap_tlv_header_c * const network_keys_array_header = credential_members.get_object(member_index); + if (network_keys_array_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = credential_data.get_parameter_data(network_keys_array_header, &network_keys_array); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + ++member_index; + + eap_variable_data_c MAC_address(m_am_tools); + + { + const eap_tlv_header_c * const MAC_address_header = credential_members.get_object(member_index); + if (MAC_address_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = credential_data.get_parameter_data(MAC_address_header, &MAC_address); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + ++member_index; + + + credential->set_network_index(network_index); + + status = credential->get_SSID()->set_copy_of_buffer(&SSID); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + credential->set_Authentication_Type(authentication_type); + + credential->set_Encryption_Type(encryption_type); + + status = copy( + &network_keys_array, + credential->get_network_keys(), + m_am_tools, + false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = credential->get_MAC_address()->set_copy_of_buffer(&MAC_address); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +#endif // #if defined(USE_EAP_SIMPLE_CONFIG) + +//-------------------------------------------------- + +#if defined(USE_EAP_SIMPLE_CONFIG) + +EAP_FUNC_EXPORT eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data( + const eap_tlv_header_c * const credential_array_header, + eap_array_c * const credential_array) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("eapol_handle_tlv_message_data_c::get_parameter_data(): type=%s\n"), + get_type_string(static_cast(credential_array_header->get_type())))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + EAP_TRACE_FLAGS_MESSAGE_DATA, + (EAPL("get_parameter_data(eap_array_c *)"), + credential_array_header->get_header_buffer(credential_array_header->get_header_buffer_length()), + credential_array_header->get_header_buffer_length())); + + if (static_cast(credential_array_header->get_type()) + != eapol_tlv_message_type_array) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); + } + + eapol_handle_tlv_message_data_c credential_array_data(m_am_tools); + + if (credential_array_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + eap_status_e status = credential_array_data.set_message_data( + credential_array_header->get_value_length(), + credential_array_header->get_value(credential_array_header->get_value_length())); + + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + eap_array_c credential_array_members(m_am_tools); + + status = credential_array_data.parse_message_data(&credential_array_members); + + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + + for (u32_t ind_member = 0ul; ind_member < credential_array_members.get_object_count(); ind_member++) + { + simple_config_credential_c * const simple_config_credential = new simple_config_credential_c(m_am_tools); + + eap_automatic_variable_c automatic_simple_config_credential(m_am_tools, simple_config_credential); + + if (simple_config_credential == 0 + || simple_config_credential->get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + { + const eap_tlv_header_c * const simple_config_credential_header = credential_array_members.get_object(ind_member); + if (simple_config_credential_header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + status = credential_array_data.get_parameter_data(simple_config_credential_header, simple_config_credential); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + automatic_simple_config_credential.do_not_free_variable(); + + status = credential_array->add_object(simple_config_credential, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + } // for () + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +#endif // #if defined(USE_EAP_SIMPLE_CONFIG) + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_const_string eapol_handle_tlv_message_data_c::get_type_string(const eapol_tlv_message_type_e type) +{ +#if defined(USE_EAP_TRACE_STRINGS) + EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_none) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_array) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_boolean) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eap_protocol_layer) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eap_state_notification) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eap_type) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eapol_key_802_11_authentication_mode) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eapol_key_authentication_type) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eapol_key_type) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eapol_tkip_mic_failure_type) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_eapol_wlan_authentication_state) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_error) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_function) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_network_id) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_RSNA_cipher) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_session_key) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_u8_t) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_u16_t) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_u32_t) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_u64_t) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_variable_data) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_network_key) + else EAP_IF_RETURN_STRING(type, eapol_tlv_message_type_protected_setup_credential) + else +#endif // #if defined(USE_EAP_TRACE_STRINGS) + { + EAP_UNREFERENCED_PARAMETER(type); + + return EAPL("Unknown EAPOL-TLV message type"); + } +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_const_string eapol_handle_tlv_message_data_c::get_function_string(const eapol_tlv_message_type_function_e function) +{ +#if defined(USE_EAP_TRACE_STRINGS) + EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_none) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_check_pmksa_cache) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_start_authentication) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_complete_association) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_disassociation) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_start_preauthentication) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_start_reassociation) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_complete_reassociation) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_start_WPXM_reassociation) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_complete_WPXM_reassociation) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_packet_process) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_tkip_mic_failure) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_eap_acknowledge) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_update_header_offset) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_complete_check_pmksa_cache) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_packet_send) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_associate) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_disassociate) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_packet_data_session_key) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_state_notification) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_reassociate) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_update_wlan_database_reference_values) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_complete_start_WPXM_reassociation) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_new_protected_setup_credentials) + else EAP_IF_RETURN_STRING(function, eapol_tlv_message_type_function_illegal_value) + else +#endif // #if defined(USE_EAP_TRACE_STRINGS) + { + EAP_UNREFERENCED_PARAMETER(function); + + return EAPL("Unknown EAPOL-TLV message function"); + } +} + +//-------------------------------------------------- + // End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_key_state_client.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_key_state_client.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_key_state_client.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 57.1.6 % +* %version: 61 % */ // This is enumeration of EAPOL source code. @@ -45,7 +45,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_4_way_handshake_message_2( +eap_status_e eapol_key_state_c::create_4_way_handshake_message_2( eap_buf_chain_wr_c * const sent_packet, const u32_t eapol_header_offset, u32_t * const data_length, @@ -260,7 +260,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_4_way_handshake_message_4( +eap_status_e eapol_key_state_c::create_4_way_handshake_message_4( eap_buf_chain_wr_c * const sent_packet, const u32_t eapol_header_offset, u32_t * const data_length, @@ -411,7 +411,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_1( +eap_status_e eapol_key_state_c::process_4_way_handshake_message_1( const eap_am_network_id_c * const receive_network_id, eapol_RSNA_key_header_c * const eapol_key_message, const u32_t /* packet_length */) @@ -421,12 +421,14 @@ eap_status_e status = eap_status_process_general_error; + eapol_key_state_string_c state_string; + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("EAPOL_KEY: %s: eapol_key_state_c::process_4_way_handshake_message_1(): eapol_key_descriptor_type = %s = 0x%02x\n"), (m_is_client == true ? "client": "server"), - eapol_key_state_string_c::get_eapol_key_descriptor_type_string(eapol_key_message->get_key_descriptor_type()), + state_string.get_eapol_key_descriptor_type_string(eapol_key_message->get_key_descriptor_type()), eapol_key_message->get_key_descriptor_type())); EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_key_state_c::process_4_way_handshake_message_1()"); @@ -434,7 +436,6 @@ // Only client (supplicant) could receive 4-Way Handshake message 1. EAP_ASSERT_ALWAYS(m_is_client == true); -#if 0 if (m_eapol_key_handshake_type == eapol_key_handshake_type_none) { // 4-Way Handshake started again. @@ -447,12 +448,10 @@ (EAPL("EAPOL_KEY: %s: process_4_way_handshake_message_1(): 4-Way Handshake restarted.\n"), (m_is_client == true ? "client": "server"))); } -#endif if (get_eapol_key_state() != eapol_key_state_wait_4_way_handshake_message_1 && get_eapol_key_state() != eapol_key_state_wait_4_way_handshake_message_3 && get_eapol_key_state() != eapol_key_state_4_way_handshake_successfull - && get_eapol_key_state() != eapol_key_state_group_key_handshake_successfull && get_eapol_key_state() != eapol_key_state_preauthenticated #if defined(EAP_USE_WPXM) && get_eapol_key_state() != eapol_key_state_wpxm_reassociation_finished_successfull @@ -464,7 +463,7 @@ TRACE_FLAGS_DEFAULT, (EAPL("WARNING: EAPOL_KEY: %s: process_4_way_handshake_message_1(): wrong state %s\n"), (m_is_client == true ? "client": "server"), - eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state()))); + state_string.get_eapol_key_state_string(get_eapol_key_state()))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state); @@ -770,7 +769,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_a( +eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_a( const eap_am_network_id_c * const receive_network_id, eapol_RSNA_key_header_c * const eapol_key_message, const u32_t packet_length, @@ -963,7 +962,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_b( +eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_b( const eap_am_network_id_c * const receive_network_id, eapol_RSNA_key_header_c * const eapol_key_message, const u32_t /* packet_length */, @@ -1121,13 +1120,15 @@ } else { + eapol_key_state_string_c state_string; + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("WARNING: EAPOL_KEY: eapol_key_state_c::process_4_way_handshake_message_3_payloads_b(): ") EAPL("No keys are set on state %d=%s.\n"), get_eapol_key_state(), - eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state()))); + state_string.get_eapol_key_state_string(get_eapol_key_state()))); } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1137,7 +1138,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_3( +eap_status_e eapol_key_state_c::process_4_way_handshake_message_3( const eap_am_network_id_c * const receive_network_id, eapol_RSNA_key_header_c * const eapol_key_message, const u32_t packet_length) @@ -1147,12 +1148,14 @@ eap_status_e status = eap_status_process_general_error; + eapol_key_state_string_c state_string; + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("EAPOL_KEY: %s: eapol_key_state_c::process_4_way_handshake_message_3(): eapol_key_descriptor_type = %s = 0x%02x\n"), (m_is_client == true ? "client": "server"), - eapol_key_state_string_c::get_eapol_key_descriptor_type_string(eapol_key_message->get_key_descriptor_type()), + state_string.get_eapol_key_descriptor_type_string(eapol_key_message->get_key_descriptor_type()), eapol_key_message->get_key_descriptor_type())); EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_key_state_c::process_4_way_handshake_message_3()"); @@ -1165,12 +1168,13 @@ if (m_eapol_key_handshake_type != eapol_key_handshake_type_4_way_handshake && m_eapol_key_handshake_type != eapol_key_handshake_type_group_key_handshake) { + eapol_key_state_string_c state_string; EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("WARNING: EAPOL_KEY: %s: process_4_way_handshake_message_3(): wrong handshake type %s\n"), (m_is_client == true ? "client": "server"), - eapol_key_state_string_c::get_eapol_key_handshake_type_string(m_eapol_key_handshake_type))); + state_string.get_eapol_key_handshake_type_string(m_eapol_key_handshake_type))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state); @@ -1188,7 +1192,7 @@ TRACE_FLAGS_DEFAULT, (EAPL("WARNING: EAPOL_KEY: %s: process_4_way_handshake_message_3(): wrong state %s\n"), (m_is_client == true ? "client": "server"), - eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state()))); + state_string.get_eapol_key_state_string(get_eapol_key_state()))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state); @@ -1425,13 +1429,15 @@ } else { + eapol_key_state_string_c state_string; + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("WARNING: EAPOL_KEY: eapol_key_state_c::process_4_way_handshake_message_3(): ") EAPL("No keys are set on state %d=%s.\n"), get_eapol_key_state(), - eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state()))); + state_string.get_eapol_key_state_string(get_eapol_key_state()))); } @@ -1442,7 +1448,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_eapol_key_handshake_message_0( +eap_status_e eapol_key_state_c::create_eapol_key_handshake_message_0( const bool true_when_4_way_handshake, ///< With false initiates Group Key Handshake. eap_buf_chain_wr_c * const sent_packet, const u32_t eapol_header_offset, @@ -1572,7 +1578,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_group_key_handshake_message_2( +eap_status_e eapol_key_state_c::create_group_key_handshake_message_2( eap_buf_chain_wr_c * const sent_packet, const u32_t eapol_header_offset, u32_t * const data_length, @@ -1715,7 +1721,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_group_key_handshake_message_1( +eap_status_e eapol_key_state_c::process_group_key_handshake_message_1( const eap_am_network_id_c * const receive_network_id, eapol_RSNA_key_header_c * const eapol_key_message, const u32_t packet_length) @@ -1748,12 +1754,13 @@ if (m_eapol_key_handshake_type != eapol_key_handshake_type_none && m_eapol_key_handshake_type != eapol_key_handshake_type_group_key_handshake) { + eapol_key_state_string_c state_string; EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("WARNING: EAPOL_KEY: %s: start_group_key_handshake(): wrong handshake type %s\n"), (m_is_client == true ? "client": "server"), - eapol_key_state_string_c::get_eapol_key_handshake_type_string(m_eapol_key_handshake_type))); + state_string.get_eapol_key_handshake_type_string(m_eapol_key_handshake_type))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state); @@ -1767,12 +1774,13 @@ #endif //#if defined(EAP_USE_WPXM) ) { + eapol_key_state_string_c state_string; EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("WARNING: EAPOL_KEY: %s: process_group_key_handshake_message_1(): wrong state %s\n"), (m_is_client == true ? "client": "server"), - eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state()))); + state_string.get_eapol_key_state_string(get_eapol_key_state()))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state); @@ -2109,7 +2117,7 @@ set_eapol_key_state(eapol_key_state_group_key_handshake_successfull); - m_eapol_key_handshake_type = eapol_key_handshake_type_authenticated; + m_eapol_key_handshake_type = eapol_key_handshake_type_none; if (get_is_WPXM() == true) { @@ -2135,13 +2143,15 @@ } else { + eapol_key_state_string_c state_string; + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("WARNING: EAPOL_KEY: eapol_key_state_c::process_group_key_handshake_message_1(): ") EAPL("No keys are set on state %d=%s.\n"), get_eapol_key_state(), - eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state()))); + state_string.get_eapol_key_state_string(get_eapol_key_state()))); } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -2151,7 +2161,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_RC4_key_descriptor( +eap_status_e eapol_key_state_c::process_RC4_key_descriptor( const eap_am_network_id_c * const receive_network_id, eap_general_header_base_c * const packet_data, const u32_t packet_length) @@ -2169,12 +2179,13 @@ if (m_eapol_key_handshake_type != eapol_key_handshake_type_dynamic_WEP) { + eapol_key_state_string_c state_string; EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EAPOL_KEY: %s: process_RC4_key_descriptor(): wrong handshake type %s\n"), (m_is_client == true ? "client": "server"), - eapol_key_state_string_c::get_eapol_key_handshake_type_string(m_eapol_key_handshake_type))); + state_string.get_eapol_key_handshake_type_string(m_eapol_key_handshake_type))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state); @@ -2182,12 +2193,13 @@ if (get_eapol_key_state() != eapol_key_state_wait_rc4_key_message) { + eapol_key_state_string_c state_string; EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("WARNING: EAPOL_KEY: %s: process_RC4_key_descriptor(): wrong state %s\n"), (m_is_client == true ? "client": "server"), - eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state()))); + state_string.get_eapol_key_state_string(get_eapol_key_state()))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state); @@ -2549,7 +2561,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::initialize_4_way_handshake( +eap_status_e eapol_key_state_c::initialize_4_way_handshake( const eap_am_network_id_c * const receive_network_id, const eapol_protocol_version_e used_eapol_version) { @@ -2564,24 +2576,20 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("EAPOL_KEY: %s: eapol_key_state_c::initialize_4_way_handshake(): m_eapol_key_handshake_type=%d=%s, m_eapol_key_state=%d=%s\n"), - (m_is_client == true ? "client": "server"), - m_eapol_key_handshake_type, - eapol_key_state_string_c::get_eapol_key_handshake_type_string(m_eapol_key_handshake_type), - m_eapol_key_state, - eapol_key_state_string_c::get_eapol_key_state_string(m_eapol_key_state))); + (EAPL("EAPOL_KEY: %s: eapol_key_state_c::initialize_4_way_handshake()\n"), + (m_is_client == true ? "client": "server"))); if (m_eapol_key_handshake_type != eapol_key_handshake_type_none - && m_eapol_key_handshake_type != eapol_key_handshake_type_authenticated && m_eapol_key_handshake_type != eapol_key_handshake_type_group_key_handshake && m_eapol_key_handshake_type != eapol_key_handshake_type_4_way_handshake) { + eapol_key_state_string_c state_string; EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("WARNING: EAPOL_KEY: %s: initialize_4_way_handshake(): wrong handshake type %s\n"), (m_is_client == true ? "client": "server"), - eapol_key_state_string_c::get_eapol_key_handshake_type_string(m_eapol_key_handshake_type))); + state_string.get_eapol_key_handshake_type_string(m_eapol_key_handshake_type))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_key_state_common.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_key_state_common.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_key_state_common.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 135 % +* %version: 120.1.6.1.2 % */ // This is enumeration of EAPOL source code. @@ -277,6 +277,7 @@ } } +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) { m_is_associated = true; @@ -287,12 +288,15 @@ (m_is_client == true) ? "client": "server", (m_is_associated == true) ? "true": "false")); } +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + // EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::initialize( const eap_am_network_id_c * const receive_network_id, @@ -324,6 +328,7 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) // Creates SNonce. This is done here in early phase of authentication. // This will reduce the CPU load when time critical first message // of 4-Way handshake is processed. @@ -333,6 +338,7 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -340,6 +346,8 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } +#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + //-------------------------------------------------- // @@ -513,7 +521,9 @@ , m_indicate_pmkid_to_lower_layer(false) , m_handshake_timeout_set(false) , m_server_TEST_group_key_update(false) +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) , m_is_associated(false) +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -606,7 +616,9 @@ , m_indicate_pmkid_to_lower_layer(false) , m_handshake_timeout_set(false) , m_server_TEST_group_key_update(false) +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) , m_is_associated(false) +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -941,8 +953,6 @@ const eapol_key_authentication_type_e authentication_type ) { - EAP_UNREFERENCED_PARAMETER(eapol_key_handshake_type); - EAP_UNREFERENCED_PARAMETER(authentication_type); EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_DEBUG( @@ -1138,6 +1148,8 @@ } +#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + status = new_state->initialize( receive_network_id, m_authentication_type); @@ -1149,6 +1161,9 @@ return 0; } +#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + + eapol_key_handshake_type_e eapol_key_handshake_type(m_eapol_key_handshake_type); eapol_key_authentication_type_e authentication_type(m_authentication_type); @@ -1406,17 +1421,11 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("EAPOL_KEY: %s: eapol_key_state_c::check_pmksa_cache(): this = 0x%08x, state %d=%s,\n"), + (EAPL("EAPOL_KEY: %s: eapol_key_state_c::check_pmksa_cache(): this = 0x%08x, state %d=%s, selected_eapol_key_authentication_type %d=%s, m_authentication_type %d=%s.\n"), (m_is_client == true) ? "client": "server", this, get_eapol_key_state(), - eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state()))); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("EAPOL_KEY: %s: eapol_key_state_c::check_pmksa_cache(): selected_eapol_key_authentication_type %d=%s, m_authentication_type %d=%s.\n"), - (m_is_client == true) ? "client": "server", + eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state()), selected_eapol_key_authentication_type, eapol_key_state_string_c::get_eapol_key_authentication_type_string(selected_eapol_key_authentication_type), m_authentication_type, @@ -1560,6 +1569,7 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) // Creates SNonce. This is done here in early phase of authentication. // This will reduce the CPU load when time critical first message // of 4-Way handshake is processed. @@ -1569,6 +1579,7 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) status = init_handshake_timeout(m_handshake_timeout); if (status != eap_status_ok) @@ -1671,7 +1682,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::complete_reassociation( +eap_status_e eapol_key_state_c::complete_reassociation( const eapol_wlan_authentication_state_e reassociation_result, const eap_am_network_id_c * const /* receive_network_id */, const eapol_key_authentication_type_e authentication_type, @@ -1734,6 +1745,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure); } +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) { m_is_associated = true; @@ -1744,6 +1756,8 @@ (m_is_client == true) ? "client": "server", (m_is_associated == true) ? "true": "false")); } +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + } else { @@ -2679,7 +2693,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::check_is_aes_key_wrap_padding( +eap_status_e eapol_key_state_c::check_is_aes_key_wrap_padding( const eapol_RSNA_key_descriptor_type_e /* current_key_data_type */, eapol_rsna_key_data_header_c * const key_data_payload, const u32_t key_data_max_length @@ -2711,7 +2725,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::parse_generic_key_data_payload( +eap_status_e eapol_key_state_c::parse_generic_key_data_payload( const eapol_key_descriptor_type_e eapol_key_descriptor_type, const eapol_RSNA_key_descriptor_type_e current_key_descriptor_type, eapol_rsna_key_data_header_c * const key_data_payload, @@ -3473,7 +3487,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::parse_key_data( +eap_status_e eapol_key_state_c::parse_key_data( const eapol_key_descriptor_type_e eapol_key_descriptor_type, const eapol_rsna_key_data_header_c * const p_payload, u32_t * const buffer_length, @@ -3645,7 +3659,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::rsna_prf( +eap_status_e eapol_key_state_c::rsna_prf( const eap_variable_data_c * const key_K, const eap_variable_data_c * const label_A, const eap_variable_data_c * const input_B, @@ -3785,7 +3799,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::select_minimum( +eap_status_e eapol_key_state_c::select_minimum( const eap_variable_data_c * const input_a, const eap_variable_data_c * const input_b, const eap_variable_data_c ** const minimum, @@ -3834,7 +3848,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::derive_PTK() +eap_status_e eapol_key_state_c::derive_PTK() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -4116,7 +4130,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_nonce( +eap_status_e eapol_key_state_c::create_nonce( eap_variable_data_c * const nonce, const u32_t nonce_length) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -4168,7 +4182,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_PMKID() +eap_status_e eapol_key_state_c::create_PMKID() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); eap_status_e status = eap_status_process_general_error; @@ -4305,7 +4319,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::encrypt_key_data( +eap_status_e eapol_key_state_c::encrypt_key_data( eapol_RSNA_key_header_c * const eapol_key_message) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -4538,7 +4552,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::decrypt_key_data( +eap_status_e eapol_key_state_c::decrypt_key_data( eapol_RSNA_key_header_c * const eapol_key_message) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -4687,7 +4701,7 @@ // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_key_mic( +eap_status_e eapol_key_state_c::create_key_mic( eapol_RSNA_key_header_c * const eapol_key_message, const eap_variable_data_c * const confirmation_key) { @@ -4859,7 +4873,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::verify_key_mic( +eap_status_e eapol_key_state_c::verify_key_mic( eapol_RSNA_key_header_c * const eapol_key_message, const eap_variable_data_c * const confirmation_key) { @@ -5289,6 +5303,8 @@ //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + EAP_FUNC_EXPORT bool eapol_key_state_c::get_is_associated() { EAP_TRACE_DEBUG( @@ -5301,6 +5317,8 @@ return m_is_associated; } +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + //-------------------------------------------------- EAP_FUNC_EXPORT void eapol_key_state_c::set_eapol_key_state(const eapol_key_state_e state) @@ -5694,6 +5712,7 @@ eap_status_e status(eap_status_process_general_error); +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) { m_is_associated = false; @@ -5704,6 +5723,7 @@ (m_is_client == true) ? "client": "server", (m_is_associated == true) ? "true": "false")); } +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) if ((m_authentication_type == eapol_key_authentication_type_RSNA_EAP #if defined(EAP_USE_WPXM) @@ -6138,7 +6158,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_tkip_mic_failure_message( +eap_status_e eapol_key_state_c::create_tkip_mic_failure_message( eap_buf_chain_wr_c * const sent_packet, const u32_t eapol_header_offset, u32_t * const data_length, @@ -6474,7 +6494,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::allow_4_way_handshake() +eap_status_e eapol_key_state_c::allow_4_way_handshake() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); eap_status_e status = eap_status_process_general_error; @@ -6589,6 +6609,18 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } +#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + // Creates SNonce. This is done here in early phase of authentication. + // This will reduce the CPU load when time critical first message + // of 4-Way handshake is processed. + status = create_nonce(&m_SNonce, EAPOL_RSNA_NONCE_LENGTH_BYTES); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } +#endif //#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + status = init_handshake_timeout(m_handshake_timeout); if (status != eap_status_ok) { @@ -6610,7 +6642,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::start_group_key_handshake( +eap_status_e eapol_key_state_c::start_group_key_handshake( const eap_am_network_id_c * const receive_network_id, const eapol_protocol_version_e received_eapol_version, const eapol_key_descriptor_type_e received_key_descriptor_type) @@ -6741,7 +6773,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::get_key_length( +eap_status_e eapol_key_state_c::get_key_length( const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e cipher, u16_t * const key_length) { @@ -6779,7 +6811,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message( +eap_status_e eapol_key_state_c::process_4_way_handshake_message( const eap_am_network_id_c * const receive_network_id, eapol_RSNA_key_header_c * const eapol_key_message, const u32_t packet_length) @@ -6884,7 +6916,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_group_key_handshake_message( +eap_status_e eapol_key_state_c::process_group_key_handshake_message( const eap_am_network_id_c * const receive_network_id, eapol_RSNA_key_header_c * const eapol_key_message, const u32_t packet_length) @@ -6953,7 +6985,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_RSNA_key_descriptor( +eap_status_e eapol_key_state_c::process_RSNA_key_descriptor( const eap_am_network_id_c * const receive_network_id, eap_general_header_base_c * const packet_data, const u32_t packet_length) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_key_state_server.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_key_state_server.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_key_state_server.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 49 % +* %version: 46.1.2 % */ // This is enumeration of EAPOL source code. @@ -48,7 +48,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_4_way_handshake_message_1( +eap_status_e eapol_key_state_c::create_4_way_handshake_message_1( eap_buf_chain_wr_c * const sent_packet, const u32_t eapol_header_offset, u32_t * const data_length, @@ -303,7 +303,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_4_way_handshake_message_3( +eap_status_e eapol_key_state_c::create_4_way_handshake_message_3( eap_buf_chain_wr_c * const sent_packet, const u32_t eapol_header_offset, u32_t * const data_length, @@ -897,7 +897,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::send_RC4_eapol_key_messages() +eap_status_e eapol_key_state_c::send_RC4_eapol_key_messages() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -948,7 +948,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::start_4_way_handshake( +eap_status_e eapol_key_state_c::start_4_way_handshake( const eap_am_network_id_c * const receive_network_id) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1140,7 +1140,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_2_payloads( +eap_status_e eapol_key_state_c::process_4_way_handshake_message_2_payloads( const eap_am_network_id_c * const receive_network_id, eapol_RSNA_key_header_c * const eapol_key_message, const u32_t packet_length) @@ -1315,7 +1315,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_0( +eap_status_e eapol_key_state_c::process_4_way_handshake_message_0( const eap_am_network_id_c * const receive_network_id, eapol_RSNA_key_header_c * const eapol_key_message, const u32_t /* packet_length */) @@ -1427,7 +1427,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_2( +eap_status_e eapol_key_state_c::process_4_way_handshake_message_2( const eap_am_network_id_c * const receive_network_id, eapol_RSNA_key_header_c * const eapol_key_message, const u32_t packet_length) @@ -1598,7 +1598,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_4_way_handshake_message_4( +eap_status_e eapol_key_state_c::process_4_way_handshake_message_4( const eap_am_network_id_c * const receive_network_id, eapol_RSNA_key_header_c * const eapol_key_message, const u32_t packet_length) @@ -1869,7 +1869,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::create_group_key_handshake_message_1( +eap_status_e eapol_key_state_c::create_group_key_handshake_message_1( eap_buf_chain_wr_c * const sent_packet, const u32_t eapol_header_offset, u32_t * const data_length, @@ -2157,7 +2157,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_group_key_handshake_message_0( +eap_status_e eapol_key_state_c::process_group_key_handshake_message_0( const eap_am_network_id_c * const receive_network_id, eapol_RSNA_key_header_c * const eapol_key_message, const u32_t packet_length) @@ -2289,7 +2289,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::process_group_key_handshake_message_2( +eap_status_e eapol_key_state_c::process_group_key_handshake_message_2( const eap_am_network_id_c * const receive_network_id, eapol_RSNA_key_header_c * const eapol_key_message, const u32_t packet_length) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_key_state_string.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_key_state_string.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_key_state_string.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,13 +16,13 @@ */ /* -* %version: 12 % +* %version: 9.1.2 % */ // This is enumeration of EAPOL source code. #if defined(USE_EAP_MINIMUM_RELEASE_TRACES) #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 719 + #define EAP_FILE_NUMBER_ENUM 50 #undef EAP_FILE_NUMBER_DATE #define EAP_FILE_NUMBER_DATE 1127594498 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) @@ -103,7 +103,6 @@ #if defined(USE_WAPI_CORE) else EAP_IF_RETURN_STRING(handshake_type, eapol_key_handshake_type_wai_handshake) #endif //#if defined(USE_WAPI_CORE) - else EAP_IF_RETURN_STRING(handshake_type, eapol_key_handshake_type_authenticated) else #endif // #if defined(USE_EAP_TRACE_STRINGS) { @@ -129,7 +128,7 @@ #if defined(EAP_USE_WPXM) else EAP_IF_RETURN_STRING(authentication_type, eapol_key_authentication_type_WPXM) #endif //#if defined(EAP_USE_WPXM) - else EAP_IF_RETURN_STRING(authentication_type, eapol_key_authentication_type_WPS) + else EAP_IF_RETURN_STRING(authentication_type, eapol_key_authentication_type_WFA_SC) #if defined(USE_WAPI_CORE) else EAP_IF_RETURN_STRING(authentication_type, eapol_key_authentication_type_WAI_PSK) else EAP_IF_RETURN_STRING(authentication_type, eapol_key_authentication_type_WAI_certificate) @@ -147,7 +146,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_const_string eapol_key_state_string_c::get_eapol_key_descriptor_type_string( +eap_const_string eapol_key_state_string_c::get_eapol_key_descriptor_type_string( const eapol_key_descriptor_type_e key_descriptor_type) { diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_message_wlan_authentication.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_message_wlan_authentication.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_message_wlan_authentication.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 62 % +* %version: 46.1.2 % */ // This is enumeration of EAPOL source code. @@ -82,7 +82,7 @@ , m_MTU(0ul) , m_trailer_length(0ul) , m_error_code(wlan_eap_if_send_status_ok) - , m_error_function(eap_tlv_message_type_function_none) + , m_error_function(eapol_tlv_message_type_function_none) , m_use_asyncronous_test(false) , m_is_valid(true) { @@ -109,7 +109,8 @@ m_wauth = eapol_wlan_authentication_c::new_eapol_wlan_authentication( m_am_tools, this, - true); + true, + this); if (m_wauth != 0 && m_wauth->get_is_valid() == true) { @@ -182,7 +183,7 @@ EAP_TRACE_DEBUG( m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, + TRACE_FLAGS_DEFAULT, (EAPL("TIMER: [0x%08x]->eapol_message_wlan_authentication_c::timer_expired") EAPL("(id 0x%02x, data 0x%08x).\n"), this, id, data)); @@ -193,7 +194,7 @@ { EAP_TRACE_DEBUG( m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, + TRACE_FLAGS_DEFAULT, (EAPL("TIMER: [0x%08x]->eapol_message_wlan_authentication_c::timer_expired: EAPOL_MESSAGE_TIMER_PROCESS_DATA_ID") EAPL("(id 0x%02x, data 0x%08x).\n"), this, id, data)); @@ -210,7 +211,7 @@ { EAP_TRACE_DEBUG( m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, + TRACE_FLAGS_DEFAULT, (EAPL("TIMER: [0x%08x]->eapol_message_wlan_authentication_c::timer_expired: EAPOL_MESSAGE_TIMER_SEND_DATA_ID") EAPL("(id 0x%02x, data 0x%08x).\n"), this, id, data)); @@ -334,9 +335,6 @@ } else { - -#if !defined(EAPOL_SKIP_ETHERNET_HEADER) - // Always we need at least the Ethernet header. if (sent_packet->get_data_length() < eapol_ethernet_header_wr_c::get_header_length()) @@ -351,9 +349,6 @@ eapol_ethernet_header_wr_c::get_header_length())); return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); } - -#endif //#if !defined(EAPOL_SKIP_ETHERNET_HEADER) - } eapol_ethernet_header_wr_c eth( @@ -377,7 +372,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eap_tlv_message_type_function_packet_send); + status = message.add_parameter_data(eapol_tlv_message_type_function_packet_send); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -444,7 +439,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eap_tlv_message_type_function_associate); + status = message.add_parameter_data(eapol_tlv_message_type_function_associate); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -452,7 +447,7 @@ } status = message.add_parameter_data( - eap_tlv_message_type_eapol_key_802_11_authentication_mode, + eapol_tlv_message_type_eapol_key_802_11_authentication_mode, static_cast(authentication_mode)); if (status != eap_status_ok) { @@ -490,7 +485,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eap_tlv_message_type_function_disassociate); + status = message.add_parameter_data(eapol_tlv_message_type_function_disassociate); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -545,14 +540,14 @@ EAP_TRACE_DEBUG( m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, + TRACE_FLAGS_DEFAULT, (EAPL("test_eapol_c::packet_data_session_key(): key_type 0x%02x, key_index %d\n"), key->get_key_type(), key->get_key_index())); EAP_TRACE_DATA_DEBUG( m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, + TRACE_FLAGS_DEFAULT, (EAPL("test_eapol_c::packet_data_session_key"), key->get_key()->get_data(key->get_key()->get_data_length()), key->get_key()->get_data_length())); @@ -567,7 +562,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eap_tlv_message_type_function_packet_data_session_key); + status = message.add_parameter_data(eapol_tlv_message_type_function_packet_data_session_key); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -620,7 +615,7 @@ return; } - status = message.add_parameter_data(eap_tlv_message_type_function_state_notification); + status = message.add_parameter_data(eapol_tlv_message_type_function_state_notification); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -678,7 +673,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, + TRACE_FLAGS_DEFAULT, (EAPL("eapol_message_wlan_authentication_c::reassociate"), PMKID->get_data(PMKID->get_data_length()), PMKID->get_data_length())); @@ -693,7 +688,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eap_tlv_message_type_function_reassociate); + status = message.add_parameter_data(eapol_tlv_message_type_function_reassociate); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -708,7 +703,7 @@ } status = message.add_parameter_data( - eap_tlv_message_type_eapol_key_authentication_type, + eapol_tlv_message_type_eapol_key_authentication_type, static_cast(authentication_type)); if (status != eap_status_ok) { @@ -737,9 +732,33 @@ //-------------------------------------------------- +EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::get_wlan_database_reference_values( + eap_variable_data_c * const reference) const +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + if (m_wlan_database_reference.get_is_valid_data() == true + && m_wlan_database_reference.get_data_length() > 0ul) + { + + return reference->set_copy_of_buffer(&m_wlan_database_reference); + } + else + { + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: get_header_offset(): no completed parameters.\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT) + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } +} + +//-------------------------------------------------- + EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::send_error_message( const eap_status_e function_status, - const eap_tlv_message_type_function_e function) + const eapol_tlv_message_type_function_e function) { wlan_eap_if_send_status_e error_code = wlan_eap_if_send_status_conversion_c::convert(function_status); @@ -756,7 +775,7 @@ } status = message.add_parameter_data( - eap_tlv_message_type_error, + eapol_tlv_message_type_error, static_cast(error_code)); if (status != eap_status_ok) { @@ -908,7 +927,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eap_tlv_message_type_function_new_protected_setup_credentials); + status = message.add_parameter_data(eapol_tlv_message_type_function_new_protected_setup_credentials); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -938,116 +957,62 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::complete_check_pmksa_cache( - EAP_TEMPLATE_CONST eap_array_c * const bssid_sta_receive_network_ids) +EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::process_message_type_error( + EAP_TEMPLATE_CONST eap_array_c * const parameters) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_message_wlan_authentication_c::complete_check_pmksa_cache()\n"))); - - eap_status_e status(eap_status_process_general_error); - - // Creates message data composed of Attribute-Value Pairs. - eapol_handle_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = message.add_parameter_data(eap_tlv_message_type_function_complete_check_pmksa_cache); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } + eap_status_e status(eap_status_ok); { - u32_t bssid_sta_receive_network_ids_size(0ul); - u32_t ind(0ul); - - for (ind = 0ul; ind < bssid_sta_receive_network_ids->get_object_count(); ++ind) + // Error payload is the first in this case. + const eap_tlv_header_c * const error_header = parameters->get_object(eapol_message_payload_index_function); + + if (error_header == 0 + || error_header->get_type() != eapol_tlv_message_type_error) { - const eap_am_network_id_c * const network_id = bssid_sta_receive_network_ids->get_object(ind); - if (network_id == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - const u32_t size_of_network_id = - eap_tlv_header_c::get_header_length() - + message.get_payload_size(network_id); - - bssid_sta_receive_network_ids_size += size_of_network_id; - } // for() - - eap_status_e status = message.add_structured_parameter_header( - eap_tlv_message_type_array, - bssid_sta_receive_network_ids_size); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(error_header, &value); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } - for (ind = 0ul; ind < bssid_sta_receive_network_ids->get_object_count(); ++ind) - { - status = message.add_parameter_data( - bssid_sta_receive_network_ids->get_object(ind)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } // for() + m_error_code = static_cast(value); } - status = send_message(&message); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::complete_disassociation( - const eap_am_network_id_c * const receive_network_id) ///< source includes remote address, destination includes local address. -{ - eap_status_e status(eap_status_ok); - { - // Creates message data composed of Attribute-Value Pairs. - eapol_handle_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) + // Fuction payload is the second in this case. + const eap_tlv_header_c * const function_header = parameters->get_object(eapol_message_payload_index_first_parameter); + + if (function_header == 0 + || function_header->get_type() != eapol_tlv_message_type_function) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eap_tlv_message_type_function_complete_disassociation); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message.add_parameter_data(receive_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = send_message(&message); + status = message_data.get_parameter_data(function_header, &m_error_function); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1061,59 +1026,13 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters) -{ - eap_status_e status(eap_status_ok); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e code(eap_status_process_general_error); - - // Error payload is the first in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_function, eap_tlv_message_type_error, &code); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - m_error_code = wlan_eap_if_send_status_conversion_c::convert(code); - - // Fuction payload is the second in this case. - status = message_data.read_parameter_data(parameters, eap_message_payload_index_first_parameter, &m_error_function); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//-------------------------------------------------- - EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::send_message(eapol_handle_tlv_message_data_c * const message) { // Sends message data composed of Attribute-Value Pairs. - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("TIMER: eapol_message_wlan_authentication_c::send_message()\n"))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eapol_message_wlan_authentication_c::send_message()"); - EAP_TRACE_DATA_DEBUG( m_am_tools, - EAP_TRACE_FLAGS_NEVER, + EAP_TRACE_FLAGS_MESSAGE_DATA, (EAPL("eapol_message_wlan_authentication_c::send_message()"), message->get_message_data(), message->get_message_data_length())); @@ -1137,7 +1056,7 @@ (void) send_error_message( status, - eap_tlv_message_type_function_none); + eapol_tlv_message_type_function_none); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -1151,7 +1070,7 @@ (void) send_error_message( status, - eap_tlv_message_type_function_none); + eapol_tlv_message_type_function_none); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -1206,13 +1125,6 @@ { // Parses message data composed of Attribute-Value Pairs. - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("TIMER: eapol_message_wlan_authentication_c::process_data()\n"))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eapol_message_wlan_authentication_c::process_data()"); - eap_status_e status(eap_status_ok); #if defined(USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_ASYNCRONOUS_TEST) @@ -1232,7 +1144,7 @@ (void) send_error_message( status, - eap_tlv_message_type_function_none); + eapol_tlv_message_type_function_none); return wlan_eap_if_send_status_conversion_c::convert( EAP_STATUS_RETURN(m_am_tools, status)); @@ -1245,7 +1157,7 @@ (void) send_error_message( status, - eap_tlv_message_type_function_none); + eapol_tlv_message_type_function_none); return wlan_eap_if_send_status_conversion_c::convert( EAP_STATUS_RETURN(m_am_tools, status)); @@ -1255,7 +1167,7 @@ EAP_TRACE_DEBUG( m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, + TRACE_FLAGS_DEFAULT, (EAPL("TIMER: eapol_message_wlan_authentication_c::process_data(): sets EAPOL_MESSAGE_TIMER_PROCESS_DATA_ID\n"))); status = m_am_tools->am_set_timer( @@ -1285,7 +1197,7 @@ (void) send_error_message( status, - eap_tlv_message_type_function_none); + eapol_tlv_message_type_function_none); return wlan_eap_if_send_status_conversion_c::convert( EAP_STATUS_RETURN(m_am_tools, status)); @@ -1298,7 +1210,7 @@ (void) send_error_message( status, - eap_tlv_message_type_function_none); + eapol_tlv_message_type_function_none); return wlan_eap_if_send_status_conversion_c::convert( EAP_STATUS_RETURN(m_am_tools, status)); @@ -1317,16 +1229,9 @@ { // Parses message data composed of Attribute-Value Pairs. - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("TIMER: eapol_message_wlan_authentication_c::process_message()\n"))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eapol_message_wlan_authentication_c::process_message()"); - EAP_TRACE_DATA_DEBUG( m_am_tools, - EAP_TRACE_FLAGS_NEVER, + EAP_TRACE_FLAGS_MESSAGE_DATA, (EAPL("eapol_message_wlan_authentication_c::process_message()"), message->get_message_data(), message->get_message_data_length())); @@ -1340,7 +1245,7 @@ (void) send_error_message( status, - eap_tlv_message_type_function_none); + eapol_tlv_message_type_function_none); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -1353,15 +1258,15 @@ (void) send_error_message( status, - eap_tlv_message_type_function_none); + eapol_tlv_message_type_function_none); return EAP_STATUS_RETURN(m_am_tools, status); } - const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function); + const eap_tlv_header_c * const function_header = parameters.get_object(eapol_message_payload_index_function); if (function_header == 0 - || (function_header->get_type() != eap_tlv_message_type_error - && function_header->get_type() != eap_tlv_message_type_function)) + || (function_header->get_type() != eapol_tlv_message_type_error + && function_header->get_type() != eapol_tlv_message_type_function)) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1369,18 +1274,18 @@ (void) send_error_message( status, - eap_tlv_message_type_function_none); + eapol_tlv_message_type_function_none); return EAP_STATUS_RETURN(m_am_tools, status); } - if (function_header->get_type() == eap_tlv_message_type_error) + if (function_header->get_type() == eapol_tlv_message_type_error) { status = process_message_type_error(¶meters); } - else // function_header->get_type() == eap_tlv_message_type_function + else // function_header->get_type() == eapol_tlv_message_type_function { - eap_tlv_message_type_function_e function(eap_tlv_message_type_function_none); + eapol_tlv_message_type_function_e function(eapol_tlv_message_type_function_none); status = message->get_parameter_data(function_header, &function); if (status != eap_status_ok) @@ -1389,53 +1294,53 @@ (void) send_error_message( status, - eap_tlv_message_type_function_none); + eapol_tlv_message_type_function_none); return EAP_STATUS_RETURN(m_am_tools, status); } switch(function) { - case eap_tlv_message_type_function_check_pmksa_cache: + case eapol_tlv_message_type_function_check_pmksa_cache: status = check_pmksa_cache(¶meters); break; - case eap_tlv_message_type_function_start_authentication: + case eapol_tlv_message_type_function_start_authentication: status = start_authentication(¶meters); break; - case eap_tlv_message_type_function_complete_association: + case eapol_tlv_message_type_function_complete_association: status = complete_association(¶meters); break; - case eap_tlv_message_type_function_disassociation: + case eapol_tlv_message_type_function_disassociation: status = disassociation(¶meters); break; - case eap_tlv_message_type_function_start_preauthentication: + case eapol_tlv_message_type_function_start_preauthentication: status = start_preauthentication(¶meters); break; - case eap_tlv_message_type_function_start_reassociation: + case eapol_tlv_message_type_function_start_reassociation: status = start_reassociation(¶meters); break; - case eap_tlv_message_type_function_complete_reassociation: + case eapol_tlv_message_type_function_complete_reassociation: status = complete_reassociation(¶meters); break; - case eap_tlv_message_type_function_start_WPXM_reassociation: + case eapol_tlv_message_type_function_start_WPXM_reassociation: status = start_WPXM_reassociation(¶meters); break; - case eap_tlv_message_type_function_complete_WPXM_reassociation: + case eapol_tlv_message_type_function_complete_WPXM_reassociation: status = complete_WPXM_reassociation(¶meters); break; - case eap_tlv_message_type_function_packet_process: + case eapol_tlv_message_type_function_packet_process: status = packet_process(¶meters); break; - case eap_tlv_message_type_function_tkip_mic_failure: + case eapol_tlv_message_type_function_tkip_mic_failure: status = tkip_mic_failure(¶meters); break; - case eap_tlv_message_type_function_eap_acknowledge: + case eapol_tlv_message_type_function_eap_acknowledge: status = eap_acknowledge(¶meters); break; - case eap_tlv_message_type_function_update_header_offset: + case eapol_tlv_message_type_function_update_header_offset: status = update_header_offset(¶meters); break; - case eap_tlv_message_type_function_update_wlan_database_reference_values: + case eapol_tlv_message_type_function_update_wlan_database_reference_values: status = update_wlan_database_reference_values(¶meters); break; default: @@ -1475,64 +1380,195 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + u32_t parameter_index(eapol_message_payload_index_first_parameter); eap_array_c bssid_sta_receive_network_ids(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &bssid_sta_receive_network_ids); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const array_of_network_ids + = parameters->get_object(parameter_index); + + if (array_of_network_ids == 0 + || array_of_network_ids->get_type() != eapol_tlv_message_type_array) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c array_data(m_am_tools); + + if (array_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = array_data.set_message_data( + array_of_network_ids->get_value_length(), + array_of_network_ids->get_value(array_of_network_ids->get_value_length())); + + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + eap_array_c network_ids(m_am_tools); + + status = array_data.parse_message_data( + &network_ids); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + for (u32_t ind = 0ul; ind < network_ids.get_object_count(); ++ind) + { + const eap_tlv_header_c * const header = network_ids.get_object(ind); + + if (header == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eap_am_network_id_c * const new_network_id = new eap_am_network_id_c(m_am_tools); + if (new_network_id == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + eap_automatic_variable_c automatic_new_network_id(m_am_tools, new_network_id); + + status = array_data.get_parameter_data(header, new_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + automatic_new_network_id.do_not_free_variable(); + + status = bssid_sta_receive_network_ids.add_object( + new_network_id, + true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + } // for() } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eapol_key_authentication_type_e selected_eapol_key_authentication_type(eapol_key_authentication_type_none); - status = message_data.read_parameter_data(parameters, parameter_index, &selected_eapol_key_authentication_type); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const authentication_type + = parameters->get_object(parameter_index); + + if (authentication_type == 0 + || authentication_type->get_type() != eapol_tlv_message_type_eapol_key_authentication_type) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(authentication_type, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + selected_eapol_key_authentication_type = static_cast(value); } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eapol_RSNA_key_header_c::eapol_RSNA_cipher_e pairwise_key_cipher_suite(eapol_RSNA_key_header_c::eapol_RSNA_cipher_none); - status = message_data.read_parameter_data(parameters, parameter_index, &pairwise_key_cipher_suite); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const authentication_type + = parameters->get_object(parameter_index); + + if (authentication_type == 0 + || authentication_type->get_type() != eapol_tlv_message_type_RSNA_cipher) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(authentication_type, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + pairwise_key_cipher_suite = static_cast(value); } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eapol_RSNA_key_header_c::eapol_RSNA_cipher_e group_key_cipher_suite(eapol_RSNA_key_header_c::eapol_RSNA_cipher_none); - status = message_data.read_parameter_data(parameters, parameter_index, &group_key_cipher_suite); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const authentication_type + = parameters->get_object(parameter_index); + + if (authentication_type == 0 + || authentication_type->get_type() != eapol_tlv_message_type_RSNA_cipher) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(authentication_type, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + group_key_cipher_suite = static_cast(value); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1545,8 +1581,6 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#if 0 - if (status == eap_status_ok || status == eap_status_not_found) { @@ -1560,7 +1594,7 @@ } status = message.add_parameter_data( - eap_tlv_message_type_function_complete_check_pmksa_cache); + eapol_tlv_message_type_function_complete_check_pmksa_cache); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1586,7 +1620,7 @@ } status = message.add_structured_parameter_header( - eap_tlv_message_type_array, + eapol_tlv_message_type_array, network_id_parameters_size); if (status != eap_status_ok) { @@ -1621,8 +1655,6 @@ } } -#endif //#if 0 - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1640,17 +1672,7 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + u32_t parameter_index(eapol_message_payload_index_first_parameter); eap_variable_data_c SSID(m_am_tools); @@ -1660,73 +1682,183 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message_data.read_parameter_data(parameters, parameter_index, &SSID); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const ssid_parameter + = parameters->get_object(parameter_index); + + if (ssid_parameter == 0 + || ssid_parameter->get_type() != eapol_tlv_message_type_variable_data) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(ssid_parameter, &SSID); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eapol_key_authentication_type_e selected_eapol_key_authentication_type(eapol_key_authentication_type_none); - status = message_data.read_parameter_data(parameters, parameter_index, &selected_eapol_key_authentication_type); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const authentication_type_parameter + = parameters->get_object(parameter_index); + + if (authentication_type_parameter == 0 + || authentication_type_parameter->get_type() != eapol_tlv_message_type_eapol_key_authentication_type) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(authentication_type_parameter, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + selected_eapol_key_authentication_type = static_cast(value); } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eap_variable_data_c wpa_preshared_key(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &wpa_preshared_key); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const wpa_preshared_key_parameter + = parameters->get_object(parameter_index); + + if (wpa_preshared_key_parameter == 0 + || wpa_preshared_key_parameter->get_type() != eapol_tlv_message_type_variable_data) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(wpa_preshared_key_parameter, &wpa_preshared_key); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; bool WPA_override_enabled(false); - status = message_data.read_parameter_data(parameters, parameter_index, &WPA_override_enabled); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const WPA_override_enabled_parameter + = parameters->get_object(parameter_index); + + if (WPA_override_enabled_parameter == 0 + || WPA_override_enabled_parameter->get_type() != eapol_tlv_message_type_boolean) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(WPA_override_enabled_parameter, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + WPA_override_enabled = (value == 0) ? false: true; } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) ++parameter_index; eap_am_network_id_c receive_network_id(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const receive_network_id_parameter + = parameters->get_object(parameter_index); + + if (receive_network_id_parameter == 0 + || receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_wauth->start_authentication( &SSID, selected_eapol_key_authentication_type, &wpa_preshared_key, - WPA_override_enabled, - &receive_network_id + WPA_override_enabled +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + , &receive_network_id +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) ); // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1746,91 +1878,206 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + u32_t parameter_index(eapol_message_payload_index_first_parameter); eapol_wlan_authentication_state_e association_result(eapol_wlan_authentication_state_none); - status = message_data.read_parameter_data(parameters, parameter_index, &association_result); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const association_result_parameter + = parameters->get_object(parameter_index); + + if (association_result_parameter == 0 + || association_result_parameter->get_type() != eapol_tlv_message_type_eapol_wlan_authentication_state) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(association_result_parameter, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + association_result = static_cast(value); } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eap_am_network_id_c receive_network_id(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const receive_network_id_parameter + = parameters->get_object(parameter_index); + + if (receive_network_id_parameter == 0 + || receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eap_variable_data_c received_WPA_IE(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &received_WPA_IE); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const received_WPA_IE_parameter + = parameters->get_object(parameter_index); + + if (received_WPA_IE_parameter == 0 + || received_WPA_IE_parameter->get_type() != eapol_tlv_message_type_variable_data) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(received_WPA_IE_parameter, &received_WPA_IE); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eap_variable_data_c sent_WPA_IE(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &sent_WPA_IE); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const sent_WPA_IE_parameter + = parameters->get_object(parameter_index); + + if (sent_WPA_IE_parameter == 0 + || sent_WPA_IE_parameter->get_type() != eapol_tlv_message_type_variable_data) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(sent_WPA_IE_parameter, &sent_WPA_IE); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eapol_RSNA_key_header_c::eapol_RSNA_cipher_e pairwise_key_cipher_suite(eapol_RSNA_key_header_c::eapol_RSNA_cipher_none); - status = message_data.read_parameter_data(parameters, parameter_index, &pairwise_key_cipher_suite); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const pairwise_key_cipher_suite_parameter + = parameters->get_object(parameter_index); + + if (pairwise_key_cipher_suite_parameter == 0 + || pairwise_key_cipher_suite_parameter->get_type() != eapol_tlv_message_type_RSNA_cipher) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(pairwise_key_cipher_suite_parameter, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + pairwise_key_cipher_suite = static_cast(value); } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eapol_RSNA_key_header_c::eapol_RSNA_cipher_e group_key_cipher_suite(eapol_RSNA_key_header_c::eapol_RSNA_cipher_none); - status = message_data.read_parameter_data(parameters, parameter_index, &group_key_cipher_suite); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const group_key_cipher_suite_parameter + = parameters->get_object(parameter_index); + + if (group_key_cipher_suite_parameter == 0 + || group_key_cipher_suite_parameter->get_type() != eapol_tlv_message_type_RSNA_cipher) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(group_key_cipher_suite_parameter, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + group_key_cipher_suite = static_cast(value); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1861,25 +2108,35 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + u32_t parameter_index(eapol_message_payload_index_first_parameter); eap_am_network_id_c receive_network_id(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const receive_network_id_parameter + = parameters->get_object(parameter_index); + + if (receive_network_id_parameter == 0 + || receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1905,25 +2162,35 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + u32_t parameter_index(eapol_message_payload_index_first_parameter); eap_am_network_id_c receive_network_id(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const receive_network_id_parameter + = parameters->get_object(parameter_index); + + if (receive_network_id_parameter == 0 + || receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1949,53 +2216,105 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + u32_t parameter_index(eapol_message_payload_index_first_parameter); eap_am_network_id_c old_receive_network_id(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &old_receive_network_id); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const old_receive_network_id_parameter + = parameters->get_object(parameter_index); + + if (old_receive_network_id_parameter == 0 + || old_receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(old_receive_network_id_parameter, &old_receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eap_am_network_id_c new_receive_network_id(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &new_receive_network_id); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const new_receive_network_id_parameter + = parameters->get_object(parameter_index); + + if (new_receive_network_id_parameter == 0 + || new_receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(new_receive_network_id_parameter, &new_receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eapol_key_authentication_type_e selected_eapol_key_authentication_type(eapol_key_authentication_type_none); - status = message_data.read_parameter_data(parameters, parameter_index, &selected_eapol_key_authentication_type); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const authentication_type + = parameters->get_object(parameter_index); + + if (authentication_type == 0 + || authentication_type->get_type() != eapol_tlv_message_type_eapol_key_authentication_type) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(authentication_type, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + selected_eapol_key_authentication_type = static_cast(value); } + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_wauth->start_reassociation( @@ -2020,91 +2339,206 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + u32_t parameter_index(eapol_message_payload_index_first_parameter); eapol_wlan_authentication_state_e association_result(eapol_wlan_authentication_state_none); - status = message_data.read_parameter_data(parameters, parameter_index, &association_result); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const association_result_parameter + = parameters->get_object(parameter_index); + + if (association_result_parameter == 0 + || association_result_parameter->get_type() != eapol_tlv_message_type_eapol_wlan_authentication_state) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(association_result_parameter, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + association_result = static_cast(value); } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eap_am_network_id_c receive_network_id(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const receive_network_id_parameter + = parameters->get_object(parameter_index); + + if (receive_network_id_parameter == 0 + || receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eap_variable_data_c received_WPA_IE(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &received_WPA_IE); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const received_WPA_IE_parameter + = parameters->get_object(parameter_index); + + if (received_WPA_IE_parameter == 0 + || received_WPA_IE_parameter->get_type() != eapol_tlv_message_type_variable_data) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(received_WPA_IE_parameter, &received_WPA_IE); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eap_variable_data_c sent_WPA_IE(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &sent_WPA_IE); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const sent_WPA_IE_parameter + = parameters->get_object(parameter_index); + + if (sent_WPA_IE_parameter == 0 + || sent_WPA_IE_parameter->get_type() != eapol_tlv_message_type_variable_data) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(sent_WPA_IE_parameter, &sent_WPA_IE); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eapol_RSNA_key_header_c::eapol_RSNA_cipher_e pairwise_key_cipher_suite(eapol_RSNA_key_header_c::eapol_RSNA_cipher_none); - status = message_data.read_parameter_data(parameters, parameter_index, &pairwise_key_cipher_suite); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const pairwise_key_cipher_suite_parameter + = parameters->get_object(parameter_index); + + if (pairwise_key_cipher_suite_parameter == 0 + || pairwise_key_cipher_suite_parameter->get_type() != eapol_tlv_message_type_RSNA_cipher) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(pairwise_key_cipher_suite_parameter, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + pairwise_key_cipher_suite = static_cast(value); } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eapol_RSNA_key_header_c::eapol_RSNA_cipher_e group_key_cipher_suite(eapol_RSNA_key_header_c::eapol_RSNA_cipher_none); - status = message_data.read_parameter_data(parameters, parameter_index, &group_key_cipher_suite); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const group_key_cipher_suite_parameter + = parameters->get_object(parameter_index); + + if (group_key_cipher_suite_parameter == 0 + || group_key_cipher_suite_parameter->get_type() != eapol_tlv_message_type_RSNA_cipher) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(group_key_cipher_suite_parameter, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + group_key_cipher_suite = static_cast(value); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2135,25 +2569,35 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + u32_t parameter_index(eapol_message_payload_index_first_parameter); eap_am_network_id_c old_receive_network_id(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &old_receive_network_id); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const receive_network_id_parameter + = parameters->get_object(parameter_index); + + if (receive_network_id_parameter == 0 + || receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(receive_network_id_parameter, &old_receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2162,24 +2606,65 @@ eap_am_network_id_c new_receive_network_id(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &new_receive_network_id); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const receive_network_id_parameter + = parameters->get_object(parameter_index); + + if (receive_network_id_parameter == 0 + || receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(receive_network_id_parameter, &new_receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ++parameter_index; eap_variable_data_c send_reassociation_request_ie(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &send_reassociation_request_ie); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const send_reassociation_request_ie_parameter + = parameters->get_object(parameter_index); + + if (send_reassociation_request_ie_parameter == 0 + || send_reassociation_request_ie_parameter->get_type() != eapol_tlv_message_type_variable_data) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(send_reassociation_request_ie_parameter, &send_reassociation_request_ie); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2190,11 +2675,26 @@ if (parameters->get_object_count() > parameter_index) { - status = message_data.read_parameter_data(parameters, parameter_index, &received_WPA_ie); - if (status != eap_status_ok) + const eap_tlv_header_c * const send_reassociation_request_ie_parameter + = parameters->get_object(parameter_index); + + if (send_reassociation_request_ie_parameter != 0 + && send_reassociation_request_ie_parameter->get_type() == eapol_tlv_message_type_variable_data) { - // This is optional parameter. - (void) EAP_STATUS_RETURN(m_am_tools, status); + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(send_reassociation_request_ie_parameter, &received_WPA_ie); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } } @@ -2206,11 +2706,26 @@ if (parameters->get_object_count() > parameter_index) { - status = message_data.read_parameter_data(parameters, parameter_index, &sent_WPA_ie); - if (status != eap_status_ok) + const eap_tlv_header_c * const send_reassociation_request_ie_parameter + = parameters->get_object(parameter_index); + + if (send_reassociation_request_ie_parameter != 0 + && send_reassociation_request_ie_parameter->get_type() == eapol_tlv_message_type_variable_data) { - // This is optional parameter. - (void) EAP_STATUS_RETURN(m_am_tools, status); + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(send_reassociation_request_ie_parameter, &sent_WPA_ie); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } } @@ -2237,7 +2752,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eap_tlv_message_type_function_complete_start_WPXM_reassociation); + status = message.add_parameter_data(eapol_tlv_message_type_function_complete_start_WPXM_reassociation); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -2283,54 +2798,106 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + u32_t parameter_index(eapol_message_payload_index_first_parameter); eapol_wlan_authentication_state_e reassociation_result(eapol_wlan_authentication_state_none); - status = message_data.read_parameter_data(parameters, parameter_index, &reassociation_result); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const reassociation_result_parameter + = parameters->get_object(parameter_index); + + if (reassociation_result_parameter == 0 + || reassociation_result_parameter->get_type() != eapol_tlv_message_type_eapol_wlan_authentication_state) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(reassociation_result_parameter, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + reassociation_result = static_cast(value); } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eap_am_network_id_c receive_network_id(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const receive_network_id_parameter + = parameters->get_object(parameter_index); + + if (receive_network_id_parameter == 0 + || receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eap_variable_data_c received_reassociation_ie(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &received_reassociation_ie); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const received_reassociation_ie_parameter + = parameters->get_object(parameter_index); + + if (received_reassociation_ie_parameter == 0 + || received_reassociation_ie_parameter->get_type() != eapol_tlv_message_type_variable_data) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(received_reassociation_ie_parameter, &received_reassociation_ie); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_wauth->complete_WPXM_reassociation( @@ -2355,41 +2922,70 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + u32_t parameter_index(eapol_message_payload_index_first_parameter); eap_am_network_id_c receive_network_id(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const receive_network_id_parameter + = parameters->get_object(parameter_index); + + if (receive_network_id_parameter == 0 + || receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eap_variable_data_c packet_data_payload(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &packet_data_payload); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const packet_data_parameter + = parameters->get_object(parameter_index); + + if (packet_data_parameter == 0 + || packet_data_parameter->get_type() != eapol_tlv_message_type_variable_data) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(packet_data_parameter, &packet_data_payload); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eapol_ethernet_header_wr_c eth( @@ -2425,51 +3021,106 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + u32_t parameter_index(eapol_message_payload_index_first_parameter); eap_am_network_id_c receive_network_id(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const receive_network_id_parameter + = parameters->get_object(parameter_index); + + if (receive_network_id_parameter == 0 + || receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; bool fatal_failure_when_true(false); - status = message_data.read_parameter_data(parameters, parameter_index, &fatal_failure_when_true); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const fatal_failure_when_true_parameter + = parameters->get_object(parameter_index); + + if (fatal_failure_when_true_parameter == 0 + || fatal_failure_when_true_parameter->get_type() != eapol_tlv_message_type_boolean) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(fatal_failure_when_true_parameter, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + fatal_failure_when_true = (value == 0) ? false: true; } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e tkip_mic_failure_type(eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_group_key); - status = message_data.read_parameter_data(parameters, parameter_index, &tkip_mic_failure_type); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const tkip_mic_failure_type_parameter + = parameters->get_object(parameter_index); + + if (tkip_mic_failure_type_parameter == 0 + || tkip_mic_failure_type_parameter->get_type() != eapol_tlv_message_type_eapol_tkip_mic_failure_type) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + u32_t value(0ul); + + status = message_data.get_parameter_data(tkip_mic_failure_type_parameter, &value); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + tkip_mic_failure_type = static_cast(value); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2497,25 +3148,35 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + u32_t parameter_index(eapol_message_payload_index_first_parameter); eap_am_network_id_c receive_network_id(m_am_tools); - status = message_data.read_parameter_data(parameters, parameter_index, &receive_network_id); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const receive_network_id_parameter + = parameters->get_object(parameter_index); + + if (receive_network_id_parameter == 0 + || receive_network_id_parameter->get_type() != eapol_tlv_message_type_network_id) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(receive_network_id_parameter, &receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2541,43 +3202,93 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) + u32_t parameter_index(eapol_message_payload_index_first_parameter); + { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + const eap_tlv_header_c * const header_offset_value_parameter + = parameters->get_object(parameter_index); + + if (header_offset_value_parameter == 0 + || header_offset_value_parameter->get_type() != eapol_tlv_message_type_u32_t) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(header_offset_value_parameter, &m_header_offset); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - status = message_data.read_parameter_data(parameters, parameter_index, &m_header_offset); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - status = message_data.read_parameter_data(parameters, parameter_index, &m_MTU); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const MTU_value_parameter + = parameters->get_object(parameter_index); + + if (MTU_value_parameter == 0 + || MTU_value_parameter->get_type() != eapol_tlv_message_type_u32_t) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(MTU_value_parameter, &m_MTU); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++parameter_index; - status = message_data.read_parameter_data(parameters, parameter_index, &m_trailer_length); - if (status != eap_status_ok) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const trailer_length_parameter + = parameters->get_object(parameter_index); + + if (trailer_length_parameter == 0 + || trailer_length_parameter->get_type() != eapol_tlv_message_type_u32_t) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(trailer_length_parameter, &m_trailer_length); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2597,30 +3308,33 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eap_message_payload_index_first_parameter); - - eapol_handle_tlv_message_data_c message_data(m_am_tools); - - if (message_data.get_is_valid() == false) + u32_t parameter_index(eapol_message_payload_index_first_parameter); + { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = message_data.read_parameter_data(parameters, parameter_index, &m_wlan_database_reference); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = m_wauth->set_eap_database_reference_values(&m_wlan_database_reference); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + const eap_tlv_header_c * const reference_parameter + = parameters->get_object(parameter_index); + + if (reference_parameter == 0 + || reference_parameter->get_type() != eapol_tlv_message_type_variable_data) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + eapol_handle_tlv_message_data_c message_data(m_am_tools); + + if (message_data.get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = message_data.get_parameter_data(reference_parameter, &m_wlan_database_reference); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_rc4_key_header.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_rc4_key_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_rc4_key_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ // This is enumeration of EAPOL source code. @@ -308,8 +308,7 @@ u8_t * const data = get_header_offset(m_offset_key_index, sizeof(u8_t)); if (data != 0) { - *data = static_cast(((*data) & ~m_flag_mask_key_flag) - | static_cast((flags << m_flag_shift_key_flag) & m_flag_mask_key_flag)); + *data = ((*data) & ~m_flag_mask_key_flag) | static_cast((((flags << m_flag_shift_key_flag) & m_flag_mask_key_flag))); return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } else @@ -325,8 +324,7 @@ u8_t * const data = get_header_offset(m_offset_key_index, sizeof(u8_t)); if (data != 0) { - *data = static_cast(((*data) & m_flag_mask_key_flag) - | static_cast((index & ~m_flag_mask_key_flag))); + *data = ((*data) & m_flag_mask_key_flag) | static_cast((index & ~m_flag_mask_key_flag)); return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } else diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_gtk_header.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_gtk_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_gtk_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_header.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_payloads.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_payloads.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_rsna_key_header.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 15 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_wlan_authentication.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_wlan_authentication.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_wlan_authentication.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 115 % +* %version: 86.1.2.1.1 % */ // This is enumeration of EAPOL source code. @@ -50,7 +50,6 @@ #include "eap_array_algorithms.h" #include "eap_state_notification.h" #include "eap_automatic_variable.h" -#include "eapol_key_state_string.h" // LOCAL CONSTANTS @@ -85,7 +84,8 @@ EAP_FUNC_EXPORT eapol_wlan_authentication_c * eapol_wlan_authentication_c::new_eapol_wlan_authentication( abs_eap_am_tools_c * const tools, abs_eapol_wlan_authentication_c * const partner, - const bool is_client_when_true + const bool is_client_when_true, + const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference ) { EAP_TRACE_DEBUG( @@ -97,7 +97,8 @@ eapol_am_wlan_authentication_c * m_am_wauth = eapol_am_wlan_authentication_c::new_eapol_am_wlan_authentication( tools, - is_client_when_true); + is_client_when_true, + wlan_database_reference); if (m_am_wauth == 0 || m_am_wauth->get_is_valid() == false) { @@ -157,7 +158,7 @@ , m_am_wauth(am_wauth) , m_ethernet_core(0) , m_am_tools(tools) -//, m_selected_eap_types(tools) +, m_selected_eap_types(tools) , m_wpa_preshared_key_hash(tools) , m_authentication_type(eapol_key_authentication_type_none) , m_802_11_authentication_mode(eapol_key_802_11_authentication_mode_none) @@ -398,9 +399,12 @@ EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::start_authentication( const eap_variable_data_c * const SSID, const eapol_key_authentication_type_e selected_eapol_key_authentication_type, - const eap_variable_data_c * const preshared_key, // This does include WPA pre-shared key or WPS PIN. - const bool WPA_override_enabled, + const eap_variable_data_c * const wpa_preshared_key, + const bool WPA_override_enabled +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + , const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) ) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -414,9 +418,8 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("Starting authentication, selected_eapol_key_authentication_type=%d=%s.\n"), - selected_eapol_key_authentication_type, - eapol_key_state_string_c::get_eapol_key_authentication_type_string(selected_eapol_key_authentication_type))); + (EAPL("Starting authentication, selected_eapol_key_authentication_type = %d.\n"), + selected_eapol_key_authentication_type)); EAP_TRACE_RETURN_STRING(m_am_tools, "returns to partner: eapol_wlan_authentication_c::start_authentication()"); @@ -439,11 +442,11 @@ status = m_am_wauth->set_wlan_parameters( SSID, WPA_override_enabled, - preshared_key, + wpa_preshared_key, selected_eapol_key_authentication_type); if (status != eap_status_ok) { - (void) internal_disassociation(false, 0); // Note we have no addresses yet. + (void) disassociation(0); // Note we have no addresses yet. (void) eapol_indication( 0, // Note we have no addresses yet. @@ -455,13 +458,13 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: eapol_wlan_authentication_c::start_authentication(): m_am_wauth->reset_wpa_configuration(): %s.\n"), + (EAPL("calls: eapol_wlan_authentication_c::start_authentication(): m_am_wauth->reset_eap_configuration(): %s.\n"), (m_is_client == true) ? "client": "server")); - status = m_am_wauth->reset_wpa_configuration(); + status = m_am_wauth->reset_eap_configuration(); if (status != eap_status_ok) { - (void) internal_disassociation(false, 0); // Note we have no addresses yet. + (void) disassociation(0); // Note we have no addresses yet. (void) eapol_indication( 0, // Note we have no addresses yet. @@ -476,6 +479,12 @@ (EAPL("calls: eapol_wlan_authentication_c::start_authentication(): m_am_wauth->get_selected_eap_types(): %s.\n"), (m_is_client == true) ? "client": "server")); + status = m_am_wauth->get_selected_eap_types(&m_selected_eap_types); + if (status != eap_status_ok) + { + return EAP_STATUS_RETURN(m_am_tools, status); + } + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, @@ -491,28 +500,6 @@ // Start new authentication from scratch. - WAUTH_ENTER_MUTEX(m_am_tools); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls eapol: eapol_wlan_authentication_c::start_authentication(): m_ethernet_core->create_state(): %s.\n"), - (m_is_client == true) ? "client": "server")); - status = m_ethernet_core->create_state( - receive_network_id, - m_authentication_type - ); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("returns from eapol: eapol_wlan_authentication_c::start_authentication(): m_ethernet_core->create_state(): %s, status = %s.\n"), - (m_is_client == true) ? "client": "server", - eap_status_string_c::get_status_string(status))); - WAUTH_LEAVE_MUTEX(m_am_tools); - if (status != eap_status_ok) - { - return EAP_STATUS_RETURN(m_am_tools, status); - } - if (m_authentication_type == eapol_key_authentication_type_RSNA_PSK || m_authentication_type == eapol_key_authentication_type_WPA_PSK) { @@ -533,40 +520,128 @@ TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, (EAPL("start_authentication(): Trying auth mode OPEN and WPA-PSK.\n"))); } - - status = complete_get_802_11_authentication_mode( - eap_status_ok, - receive_network_id, - m_802_11_authentication_mode); } - else //if (preshared_key == 0 - //|| preshared_key->get_is_valid_data() == false + else //if (wpa_preshared_key == 0 + //|| wpa_preshared_key->get_is_valid_data() == false //|| WPA_override_enabled == false) { - WAUTH_ENTER_MUTEX(m_am_tools); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls eapol: eapol_wlan_authentication_c::start_authentication(): m_ethernet_core->get_802_11_authentication_mode(): %s.\n"), - (m_is_client == true) ? "client": "server")); - status = m_ethernet_core->get_802_11_authentication_mode( - receive_network_id, - m_authentication_type, - SSID, - preshared_key); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("returns from eapol: eapol_wlan_authentication_c::start_authentication(): m_ethernet_core->get_802_11_authentication_mode(): %s, status = %s.\n"), - (m_is_client == true) ? "client": "server", - eap_status_string_c::get_status_string(status))); - WAUTH_LEAVE_MUTEX(m_am_tools); - if (status != eap_status_ok) + // Check the first enabled type + eap_type_selection_c * eap_type = 0; + u32_t ind_type = 0ul; + + for (ind_type = 0; ind_type < m_selected_eap_types.get_object_count(); ind_type++) + { + // Check if type is enabled + eap_type = m_selected_eap_types.get_object(ind_type); + + if (eap_type->get_is_enabled() == true) + { + break; + } + } + + if (ind_type >= m_selected_eap_types.get_object_count()) { - return EAP_STATUS_RETURN(m_am_tools, status); + // No enabled EAP types. + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("No enabled EAP types.\n"))); + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: eap_status_failed_completely.\n"))); + + (void) disassociation(0); // Note we have no addresses yet. + + status = eapol_indication( + 0, // Note we have no addresses yet. + eapol_wlan_authentication_state_failed_completely); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); + } + + // reset index (start from the first enabled EAP type) + m_current_eap_index = ind_type; + + if (eap_type->get_type() == eap_type_leap) + { + if (m_authentication_type == eapol_key_authentication_type_dynamic_WEP) + { + // LEAP uses it's own 802.11 authentication mode when 802.1X (dynamic WEP) is used. + m_802_11_authentication_mode = eapol_key_802_11_authentication_mode_leap; + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("start_authentication(): Trying auth mode LEAP (802.1x mode).\n"))); + } + else + { + // If security mode is WPA or RSNA then even LEAP uses open authentication! + m_802_11_authentication_mode = eapol_key_802_11_authentication_mode_open; + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("start_authentication(): Trying auth mode OPEN (LEAP in WPA mode).\n"))); + } + + } + else + { + m_802_11_authentication_mode = eapol_key_802_11_authentication_mode_open; + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("start_authentication(): Trying auth mode OPEN.\n"))); } } +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + WAUTH_ENTER_MUTEX(m_am_tools); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("calls eapol: eapol_wlan_authentication_c::start_authentication(): m_ethernet_core->create_state(): %s.\n"), + (m_is_client == true) ? "client": "server")); + status = m_ethernet_core->create_state( + receive_network_id, + selected_eapol_key_authentication_type + ); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("returns from eapol: eapol_wlan_authentication_c::start_authentication(): m_ethernet_core->create_state(): %s, status = %s.\n"), + (m_is_client == true) ? "client": "server", + eap_status_string_c::get_status_string(status))); + WAUTH_LEAVE_MUTEX(m_am_tools); +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("calls partner: eapol_wlan_authentication_c::start_authentication(): m_partner->associate(%d).\n"), + m_802_11_authentication_mode)); + + status = m_partner->associate(m_802_11_authentication_mode); + (void)EAP_STATUS_RETURN(m_am_tools, status); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("returns from partner: eapol_wlan_authentication_c::start_authentication(): %s: m_partner->associate(): status = %s\n"), + (m_is_client == true) ? "client": "server", + eap_status_string_c::get_status_string(status))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -642,7 +717,7 @@ TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, (EAPL("Indication sent to WLM: eap_status_this_ap_failed.\n"))); - (void) internal_disassociation(false, receive_network_id); + (void) disassociation(receive_network_id); status = eapol_indication( receive_network_id, @@ -756,7 +831,7 @@ (EAPL("calls: eapol_wlan_authentication_c::complete_association(): this->disassociation(): %s.\n"), (m_is_client == true) ? "client": "server")); - (void) internal_disassociation(false, receive_network_id); + (void) disassociation(receive_network_id); status = eapol_indication( receive_network_id, @@ -774,7 +849,7 @@ if (m_authentication_type == eapol_key_authentication_type_RSNA_EAP || m_authentication_type == eapol_key_authentication_type_WPA_EAP || m_authentication_type == eapol_key_authentication_type_dynamic_WEP - || m_authentication_type == eapol_key_authentication_type_WPS + || m_authentication_type == eapol_key_authentication_type_WFA_SC #if defined(EAP_USE_WPXM) || m_authentication_type == eapol_key_authentication_type_WPXM #endif //#if defined(EAP_USE_WPXM) @@ -949,10 +1024,10 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: eapol_wlan_authentication_c::start_reassociation(): m_am_wauth->reset_wpa_configuration(): %s.\n"), + (EAPL("calls: eapol_wlan_authentication_c::start_reassociation(): m_am_wauth->reset_eap_configuration(): %s.\n"), (m_is_client == true) ? "client": "server")); - status = m_am_wauth->reset_wpa_configuration(); + status = m_am_wauth->reset_eap_configuration(); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1005,10 +1080,9 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls partner: eapol_wlan_authentication_c::start_reassociation(): %s: m_partner->reassociate(): m_authentication_type=%d=%s.\n"), + (EAPL("calls partner: eapol_wlan_authentication_c::start_reassociation(): %s: m_partner->reassociate(): m_authentication_type=%d.\n"), (m_is_client == true) ? "client": "server", - m_authentication_type, - eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_authentication_type))); + m_authentication_type)); status = m_partner->reassociate( &send_network_id, @@ -1136,16 +1210,12 @@ EAP_TRACE_RETURN_STRING(m_am_tools, "returns to partner: eapol_wlan_authentication_c::packet_process()"); -#if !defined(EAPOL_SKIP_ETHERNET_HEADER) - if (packet_length < eapol_ethernet_header_wr_c::get_header_length()) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_too_short_message); } -#endif //#if !defined(EAPOL_SKIP_ETHERNET_HEADER) - eapol_ethernet_header_wr_c eth_header( m_am_tools, packet_data->get_header_buffer(packet_length), @@ -1153,11 +1223,8 @@ eap_status_e status(eap_status_process_general_error); -#if !defined(EAPOL_SKIP_ETHERNET_HEADER) if (eth_header.get_type() == eapol_ethernet_type_pae || eth_header.get_type() == eapol_ethernet_type_preauthentication) -#endif //#if !defined(EAPOL_SKIP_ETHERNET_HEADER) - { // Forward the packet to the Ethernet layer of the EAPOL stack. // Ignore return value. Failure is signalled using state_notification. @@ -1181,7 +1248,6 @@ EAP_GENERAL_HEADER_COPY_ERROR_PARAMETERS(packet_data, ð_header); } -#if !defined(EAPOL_SKIP_ETHERNET_HEADER) else { EAP_TRACE_DEBUG( @@ -1190,7 +1256,6 @@ (EAPL("Not supported ethernet type 0x%04x\n"), eth_header.get_type())); status = eap_status_ethernet_type_not_supported; } -#endif //#if !defined(EAPOL_SKIP_ETHERNET_HEADER) EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); @@ -1802,15 +1867,14 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0xfe%06x%08x=%s\n"), + (EAPL("eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0x%08x=%s\n"), (state->get_is_client() == true ? "client": "server"), state->get_protocol_layer(), state->get_protocol_layer_string(), state->get_protocol(), state->get_protocol_string(), - state->get_eap_type().get_vendor_id(), - state->get_eap_type().get_vendor_type(), - eap_header_string_c::get_eap_type_string(state->get_eap_type()))); + convert_eap_type_to_u32_t(state->get_eap_type()), + eap_string.get_eap_type_string(state->get_eap_type()))); EAP_TRACE_DEBUG( m_am_tools, @@ -1824,6 +1888,26 @@ } +#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("calls partner: eapol_wlan_authentication_c::state_notification(): %s: m_partner->state_notification()\n"), + (m_is_client == true) ? "client": "server")); + + // Calls lower layer. + // Note the optimization prevents most of the state notifications to lower layer. + m_partner->state_notification(state); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("returns from partner: eapol_wlan_authentication_c::state_notification(): %s: m_partner->state_notification()\n"), + (m_is_client == true) ? "client": "server")); + +#endif //#if !defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + if(state->get_protocol_layer() == eap_protocol_layer_general) { if (state->get_current_state() == eap_general_state_authentication_cancelled) @@ -1875,15 +1959,14 @@ EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0xfe%06x%08x=%s\n"), + (EAPL("ERROR: eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0x%08x=%s\n"), (state->get_is_client() == true ? "client": "server"), state->get_protocol_layer(), state->get_protocol_layer_string(), state->get_protocol(), state->get_protocol_string(), - state->get_eap_type().get_vendor_id(), - state->get_eap_type().get_vendor_type(), - eap_header_string_c::get_eap_type_string(state->get_eap_type()))); + convert_eap_type_to_u32_t(state->get_eap_type()), + eap_string.get_eap_type_string(state->get_eap_type()))); EAP_TRACE_ERROR( m_am_tools, @@ -1895,6 +1978,7 @@ state->get_authentication_error(), status_string.get_status_string(state->get_authentication_error()))); +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, @@ -1911,6 +1995,8 @@ (EAPL("returns from partner: eapol_wlan_authentication_c::state_notification(): %s: m_partner->state_notification()\n"), (m_is_client == true) ? "client": "server")); +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + (void) cancel_timer_this_ap_failed(); set_timer( @@ -1935,15 +2021,14 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0xfe%06x%08x=%s\n"), + (EAPL("eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0x%08x=%s\n"), (state->get_is_client() == true ? "client": "server"), state->get_protocol_layer(), state->get_protocol_layer_string(), state->get_protocol(), state->get_protocol_string(), - state->get_eap_type().get_vendor_id(), - state->get_eap_type().get_vendor_type(), - eap_header_string_c::get_eap_type_string(state->get_eap_type()))); + convert_eap_type_to_u32_t(state->get_eap_type()), + eap_string.get_eap_type_string(state->get_eap_type()))); EAP_TRACE_DEBUG( m_am_tools, @@ -1994,6 +2079,8 @@ (EAPL("calls: eapol_wlan_authentication_c::state_notification(): m_am_wauth->authentication_finished(): %s.\n"), (m_is_client == true) ? "client": "server")); +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, @@ -2010,11 +2097,14 @@ (EAPL("returns from partner: eapol_wlan_authentication_c::state_notification(): %s: m_partner->state_notification()\n"), (m_is_client == true) ? "client": "server")); +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + m_am_wauth->authentication_finished( true, state->get_eap_type(), m_authentication_type); +#if defined(USE_EAP_EXPANDED_TYPES) if (state->get_eap_type() == eap_expanded_type_simple_config.get_type()) { increment_authentication_counter(); @@ -2035,6 +2125,8 @@ return; } } +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + } break; case eap_state_authentication_terminated_unsuccessfully: @@ -2042,6 +2134,8 @@ increment_authentication_counter(); m_failed_authentications++; +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, @@ -2058,6 +2152,8 @@ (EAPL("returns from partner: eapol_wlan_authentication_c::state_notification(): %s: m_partner->state_notification()\n"), (m_is_client == true) ? "client": "server")); +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, @@ -2274,7 +2370,7 @@ (EAPL("EAPOL_WLAN_AUTHENTICATION_TIMER_FAILED_COMPLETELY_ID elapsed: ") EAPL("Indication sent to WLM: eap_status_failed_completely.\n"))); - (void) disassociation_mutex_must_be_reserved(false, &receive_network_id); + (void) disassociation_mutex_must_be_reserved(&receive_network_id); eap_status_e status = eapol_indication( &receive_network_id, @@ -2295,7 +2391,7 @@ (EAPL("EAPOL_WLAN_AUTHENTICATION_TIMER_THIS_AP_FAILED_ID elapsed: ") EAPL("Indication sent to WLM: eap_status_this_ap_failed.\n"))); - (void) disassociation_mutex_must_be_reserved(false, &receive_network_id); + (void) disassociation_mutex_must_be_reserved(&receive_network_id); eap_status_e status = eapol_indication( &receive_network_id, @@ -2316,7 +2412,7 @@ (EAPL("EAPOL_WLAN_AUTHENTICATION_TIMER_NO_RESPONSE_ID elapsed: ") EAPL("Indication sent to WLM: eap_status_no_response.\n"))); - (void) disassociation_mutex_must_be_reserved(false, &receive_network_id); + (void) disassociation_mutex_must_be_reserved(&receive_network_id); eap_status_e status = eapol_indication( &receive_network_id, @@ -2337,7 +2433,7 @@ (EAPL("EAPOL_WLAN_AUTHENTICATION_TIMER_AUTHENTICATION_CANCELLED_ID elapsed: ") EAPL("Indication sent to WLM: eapol_wlan_authentication_state_authentication_cancelled.\n"))); - (void) disassociation_mutex_must_be_reserved(false, &receive_network_id); + (void) disassociation_mutex_must_be_reserved(&receive_network_id); } break; @@ -2436,7 +2532,6 @@ EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::unload_module( const eap_type_value_e type) { - EAP_UNREFERENCED_PARAMETER(type); EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_DEBUG( @@ -2457,17 +2552,8 @@ (EAPL("calls: eapol_wlan_authentication_c::unload_module(): m_am_wauth->unload_module(): %s.\n"), (m_is_client == true) ? "client": "server")); -#if 0 - status = m_am_wauth->unload_module(type); -#else - - status = eap_status_not_supported; - -#endif - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -2512,68 +2598,6 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::set_eap_database_reference_values( - const eap_variable_data_c * const reference) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("partner calls: eapol_wlan_authentication_c::set_eap_database_reference_values()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns to partner: eapol_wlan_authentication_c::set_eap_database_reference_values()"); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_wlan_authentication_c::set_eap_database_reference_values(): reference"), - reference->get_data(), - reference->get_data_length())); - - WAUTH_ENTER_MUTEX(m_am_tools); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls eapol: eapol_wlan_authentication_c::set_eap_database_reference_values(): m_ethernet_core->set_eap_database_reference_values(): %s.\n"), - (m_is_client == true) ? "client": "server")); - eap_status_e status = m_ethernet_core->set_eap_database_reference_values(reference); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("returns from eapol: eapol_wlan_authentication_c::set_eap_database_reference_values(): m_ethernet_core->set_eap_database_reference_values(): %s, status = %s.\n"), - (m_is_client == true) ? "client": "server", - eap_status_string_c::get_status_string(status))); - WAUTH_LEAVE_MUTEX(m_am_tools); - - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - WAUTH_ENTER_MUTEX(m_am_tools); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls eapol: eapol_wlan_authentication_c::set_eap_database_reference_values(): m_am_wauth->set_eap_database_reference_values(): %s.\n"), - (m_is_client == true) ? "client": "server")); - status = m_am_wauth->set_eap_database_reference_values(reference); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("returns from eapol: eapol_wlan_authentication_c::set_eap_database_reference_values(): m_am_wauth->set_eap_database_reference_values(): %s, status = %s.\n"), - (m_is_client == true) ? "client": "server", - eap_status_string_c::get_status_string(status))); - WAUTH_LEAVE_MUTEX(m_am_tools); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::load_module( const eap_type_value_e type, const eap_type_value_e tunneling_type, @@ -2582,12 +2606,6 @@ const bool is_client_when_true, const eap_am_network_id_c * const receive_network_id) { - EAP_UNREFERENCED_PARAMETER(type); - EAP_UNREFERENCED_PARAMETER(tunneling_type); - EAP_UNREFERENCED_PARAMETER(eap_type_if); - EAP_UNREFERENCED_PARAMETER(receive_network_id); - EAP_UNREFERENCED_PARAMETER(partner); - EAP_UNREFERENCED_PARAMETER(is_client_when_true); EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_DEBUG( @@ -2610,8 +2628,6 @@ (EAPL("calls: eapol_wlan_authentication_c::load_module(): m_am_wauth->load_module(): %s.\n"), (m_is_client == true) ? "client": "server")); -#if 0 - eap_status_e status = m_am_wauth->load_module( type, tunneling_type, @@ -2620,12 +2636,6 @@ is_client_when_true, receive_network_id); -#else - - eap_status_e status = eap_status_not_supported; - -#endif - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -2634,7 +2644,6 @@ // eap_status_e eapol_wlan_authentication_c::disassociation_mutex_must_be_reserved( - const bool complete_to_lower_layer, const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. ) { @@ -2643,9 +2652,8 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eapol calls: eapol_wlan_authentication_c::disassociation_mutex_must_be_reserved(): %s, complete_to_lower_layer=%s\n"), - (m_is_client == true) ? "client": "server", - (complete_to_lower_layer == true) ? "true": "false")); + (EAPL("eapol calls: eapol_wlan_authentication_c::disassociation_mutex_must_be_reserved(): %s\n"), + (m_is_client == true) ? "client": "server")); EAP_TRACE_RETURN_STRING(m_am_tools, "returns to eapol: eapol_wlan_authentication_c::disassociation_mutex_must_be_reserved()"); @@ -2662,9 +2670,7 @@ (EAPL("calls eapol: eapol_wlan_authentication_c::disassociation_mutex_must_be_reserved(): m_ethernet_core->disassociation(): %s.\n"), (m_is_client == true) ? "client": "server")); - status = m_ethernet_core->disassociation( - complete_to_lower_layer, - receive_network_id); + status = m_ethernet_core->disassociation(receive_network_id); EAP_TRACE_DEBUG( m_am_tools, @@ -2714,37 +2720,6 @@ //-------------------------------------------------- // -eap_status_e eapol_wlan_authentication_c::internal_disassociation( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. - ) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol calls: eapol_wlan_authentication_c::internal_disassociation(): %s, complete_to_lower_layer=%s\n"), - (m_is_client == true) ? "client": "server", - (complete_to_lower_layer == true) ? "true": "false")); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns to eapol: : eapol_wlan_authentication_c::internal_disassociation()"); - - eap_status_e status(eap_status_ok); - - WAUTH_ENTER_MUTEX(m_am_tools); - status = disassociation_mutex_must_be_reserved( - complete_to_lower_layer, - receive_network_id); - WAUTH_LEAVE_MUTEX(m_am_tools); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::disassociation( const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. ) @@ -2755,15 +2730,15 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("partner calls: eapol_wlan_authentication_c::disassociation(): %s\n"), - (m_is_client == true) ? "client": "server")); + (m_is_client == true) ? "client": "server")); EAP_TRACE_RETURN_STRING(m_am_tools, "returns to partner: eapol_wlan_authentication_c::disassociation()"); eap_status_e status(eap_status_ok); - status = internal_disassociation( - true, - receive_network_id); + WAUTH_ENTER_MUTEX(m_am_tools); + status = disassociation_mutex_must_be_reserved(receive_network_id); + WAUTH_LEAVE_MUTEX(m_am_tools); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); @@ -3323,7 +3298,7 @@ //-------------------------------------------------- EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::check_is_valid_eap_type( - const eap_type_value_e /* eap_type */) + const eap_type_value_e eap_type) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -3342,17 +3317,8 @@ (EAPL("calls: eapol_wlan_authentication_c::check_is_valid_eap_type(): m_am_wauth->check_is_valid_eap_type(): %s.\n"), (m_is_client == true) ? "client": "server")); -#if 0 - eap_status_e status = m_am_wauth->check_is_valid_eap_type(eap_type); -#else - - eap_status_e status = eap_status_not_supported; - -#endif - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -3360,7 +3326,7 @@ //-------------------------------------------------- EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::get_eap_type_list( - eap_array_c * const /* eap_type_list */) + eap_array_c * const eap_type_list) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -3377,23 +3343,15 @@ (EAPL("calls: eapol_wlan_authentication_c::get_eap_type_list(): m_am_wauth->get_eap_type_list(): %s.\n"), (m_is_client == true) ? "client": "server")); -#if 0 - eap_status_e status = m_am_wauth->get_eap_type_list(eap_type_list); -#else - - eap_status_e status = eap_status_not_supported; - -#endif - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } //-------------------------------------------------- -eap_status_e eapol_wlan_authentication_c::eapol_indication( +EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::eapol_indication( const eap_am_network_id_c * const receive_network_id, ///< source includes remote address, destination includes local address. const eapol_wlan_authentication_state_e wlan_authentication_state) { @@ -3425,27 +3383,6 @@ return EAP_STATUS_RETURN(m_am_tools, status); } } - else - { - const u8_t no_address[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,}; - - eap_am_network_id_c tmp_network_id( - m_am_tools, - no_address, - sizeof(no_address), - no_address, - sizeof(no_address), - eapol_ethernet_type_pae, - false, - false); - - status = send_network_id.set_copy_of_network_id(&tmp_network_id); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } eap_state_notification_c notification( m_am_tools, @@ -3500,7 +3437,7 @@ //-------------------------------------------------- -eap_status_e eapol_wlan_authentication_c::create_upper_stack() +EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::create_upper_stack() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -3957,15 +3894,12 @@ } } - if (new_password != 0) - { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: new_password"), - new_password->get_data(), - new_password->get_data_length())); - } + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("SIMPLE_CONFIG: new_password"), + new_password->get_data(), + new_password->get_data_length())); EAP_TRACE_DEBUG( m_am_tools, @@ -3999,146 +3933,6 @@ #endif // #if defined(USE_EAP_SIMPLE_CONFIG) -//-------------------------------------------------- - -eap_status_e eapol_wlan_authentication_c::complete_check_pmksa_cache( - EAP_TEMPLATE_CONST eap_array_c * const bssid_sta_receive_network_ids) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls partner: eapol_wlan_authentication_c::complete_check_pmksa_cache(): %s: m_partner->complete_check_pmksa_cache().\n"), - (m_is_client == true) ? "client": "server")); - - const eap_status_e status = m_partner->complete_check_pmksa_cache( - bssid_sta_receive_network_ids); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("returns from partner: eapol_wlan_authentication_c::complete_check_pmksa_cache(): %s: m_partner->complete_check_pmksa_cache(): status = %s\n"), - (m_is_client == true) ? "client": "server", - eap_status_string_c::get_status_string(status))); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const /* receive_network_id */, - const eapol_key_802_11_authentication_mode_e mode) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol calls: eapol_wlan_authentication_c::complete_get_802_11_authentication_mode(): completion_status=%d=%s, mode=%d\n"), - completion_status, - eap_status_string_c::get_status_string(completion_status), - mode)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns to eapol: eapol_wlan_authentication_c::complete_get_802_11_authentication_mode()"); - - eap_status_e status(eap_status_ok); - - if (completion_status != eap_status_ok - || mode == eapol_key_802_11_authentication_mode_none) - { - EAP_TRACE_ALWAYS( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("No enabled EAP types.\n"))); - EAP_TRACE_ALWAYS( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("Indication sent to WLM: eap_status_failed_completely.\n"))); - - (void) internal_disassociation(false, 0); // Note we have no addresses yet. - - status = eapol_indication( - 0, // Note we have no addresses yet. - eapol_wlan_authentication_state_failed_completely); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); - } - - m_802_11_authentication_mode = mode; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls partner: eapol_wlan_authentication_c::complete_get_802_11_authentication_mode(): m_partner->associate(%d).\n"), - m_802_11_authentication_mode)); - - status = m_partner->associate(m_802_11_authentication_mode); - (void)EAP_STATUS_RETURN(m_am_tools, status); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("returns from partner: eapol_wlan_authentication_c::complete_get_802_11_authentication_mode(): %s: m_partner->associate(): status = %s\n"), - (m_is_client == true) ? "client": "server", - eap_status_string_c::get_status_string(status))); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::complete_disassociation( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("eapol calls: eapol_wlan_authentication_c::complete_disassociation(): %s: m_partner->complete_disassociation(), complete_to_lower_layer=%s.\n"), - (m_is_client == true) ? "client": "server", - (complete_to_lower_layer == true) ? "true": "false")); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns to eapol: eapol_wlan_authentication_c::complete_disassociation()"); - - eap_status_e status(eap_status_ok); - - if (complete_to_lower_layer == true) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls partner: eapol_wlan_authentication_c::complete_disassociation(): %s: m_partner->complete_disassociation(), complete_to_lower_layer=%s.\n"), - (m_is_client == true) ? "client": "server", - (complete_to_lower_layer == true) ? "true": "false")); - - status = m_partner->complete_disassociation( - receive_network_id); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("returns from partner: eapol_wlan_authentication_c::complete_disassociation(): %s: m_partner->complete_disassociation(): status = %s\n"), - (m_is_client == true) ? "client": "server", - eap_status_string_c::get_status_string(status))); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- +//-------------------------------------------------- + // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_wlan_database_reference.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_wlan_database_reference.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_wlan_database_reference.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/eapol_wlan_state.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_wlan_state.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_wlan_state.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/core/ethernet_core.cpp --- a/eapol/eapol_framework/eapol_common/core/ethernet_core.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/ethernet_core.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 49 % +* %version: 28.1.2 % */ // This is enumeration of EAPOL source code. @@ -126,36 +126,6 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } -#if defined(EAPOL_SKIP_ETHERNET_HEADER) - - { - eapol_header_wr_c eapol( - m_am_tools, - packet_data->get_header_buffer(packet_data->get_header_buffer_length()), - packet_data->get_header_buffer_length()); - if (eapol.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_header_corrupted); - } - - status = m_eapol_core->packet_process( - receive_network_id, - &eapol, - packet_length); - - EAP_GENERAL_HEADER_COPY_ERROR_PARAMETERS(packet_data, &eapol); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("####################################################################\n"))); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - -#else - if (packet_length < eapol_ethernet_header_rd_c::get_header_length()) { EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("####################################################################\n"))); @@ -210,7 +180,7 @@ if (eth_header.get_type() == eapol_ethernet_type_pae || eth_header.get_type() == eapol_ethernet_type_preauthentication) { - eap_am_network_id_c a_receive_network_id( + eap_am_network_id_c receive_network_id( m_am_tools, eth_header.get_source(), eth_header.get_source_length(), @@ -231,7 +201,7 @@ } status = m_eapol_core->packet_process( - &a_receive_network_id, + &receive_network_id, &eapol, packet_length-eapol_ethernet_header_rd_c::get_header_length()); @@ -249,9 +219,6 @@ (EAPL("####################################################################\n"))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); - -#endif //#if defined(EAPOL_SKIP_ETHERNET_HEADER) - } //-------------------------------------------------- @@ -276,24 +243,6 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); } -#if defined(EAPOL_SKIP_ETHERNET_HEADER) - - { - sent_packet->set_is_client(m_is_client); - - eap_status_e status = m_partner->packet_send( - send_network_id, - sent_packet, - header_offset, - data_length, - buffer_length); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - -#else - if (header_offset < eapol_ethernet_header_wr_c::get_header_length()) { EAP_TRACE_DEBUG( @@ -371,9 +320,6 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); - -#endif //#if defined(EAPOL_SKIP_ETHERNET_HEADER) - } //-------------------------------------------------- @@ -385,22 +331,11 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); -#if defined(EAPOL_SKIP_ETHERNET_HEADER) - - const u32_t offset = m_partner->get_header_offset(MTU, trailer_length); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return offset; - -#else - const u32_t offset = m_partner->get_header_offset(MTU, trailer_length); (*MTU) -= eapol_ethernet_header_wr_c::get_header_length(); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return offset+eapol_ethernet_header_wr_c::get_header_length(); - -#endif //#if defined(EAPOL_SKIP_ETHERNET_HEADER) } //-------------------------------------------------- @@ -512,7 +447,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e ethernet_core_c::read_reassociation_parameters( +eap_status_e ethernet_core_c::read_reassociation_parameters( const eap_am_network_id_c * const old_receive_network_id, ///< source includes remote address, destination includes local address. const eap_am_network_id_c * const new_receive_network_id, ///< source includes remote address, destination includes local address. const eapol_key_authentication_type_e authentication_type, @@ -566,7 +501,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e ethernet_core_c::complete_reassociation( +eap_status_e ethernet_core_c::complete_reassociation( const eapol_wlan_authentication_state_e reassociation_result, const eap_am_network_id_c * const receive_network_id, const eapol_key_authentication_type_e authentication_type, @@ -843,6 +778,8 @@ //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) + // EAP_FUNC_EXPORT eap_status_e ethernet_core_c::check_pmksa_cache( eap_array_c * const bssid_sta_receive_network_ids, @@ -868,8 +805,11 @@ return EAP_STATUS_RETURN(m_am_tools, status); } +#endif // #if defined(USE_EAPOL_KEY_STATE) + //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) /** * This function removes PMKSA from cache. * @param receive_network_id carries the MAC addresses. @@ -893,8 +833,11 @@ return EAP_STATUS_RETURN(m_am_tools, status); } +#endif // #if defined(USE_EAPOL_KEY_STATE) + //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) /** * Function creates a state for later use. This is for optimazing 4-Way Handshake. * @param receive_network_id carries the MAC addresses. @@ -918,8 +861,11 @@ return EAP_STATUS_RETURN(m_am_tools, status); } +#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) /** * @param receive_network_id carries the MAC addresses. * MAC address of Authenticator should be in source address. MAC address of Supplicant should be in destination address. @@ -954,14 +900,16 @@ return EAP_STATUS_RETURN(m_am_tools, status); } +#endif // #if defined(USE_EAPOL_KEY_STATE) + //-------------------------------------------------- +#if defined(USE_EAPOL_KEY_STATE) /** * @param receive_network_id carries the MAC addresses. * MAC address of Authenticator should be in source address. MAC address of Supplicant should be in destination address. */ EAP_FUNC_EXPORT eap_status_e ethernet_core_c::disassociation( - const bool complete_to_lower_layer, const eap_am_network_id_c * const receive_network_id ) { @@ -970,12 +918,13 @@ EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); status = m_eapol_core->disassociation( - complete_to_lower_layer, receive_network_id); return EAP_STATUS_RETURN(m_am_tools, status); } +#endif //#if defined(USE_EAPOL_KEY_STATE) + //-------------------------------------------------- EAP_FUNC_EXPORT eap_status_e ethernet_core_c::add_rogue_ap(eap_array_c & rogue_ap_list) @@ -1008,158 +957,4 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e ethernet_core_c::complete_check_pmksa_cache( - EAP_TEMPLATE_CONST eap_array_c * const bssid_sta_receive_network_ids) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - const eap_status_e status = m_partner->complete_check_pmksa_cache( - bssid_sta_receive_network_ids); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -EAP_FUNC_EXPORT eap_status_e ethernet_core_c::save_simple_config_session( - const simple_config_state_e state, - EAP_TEMPLATE_CONST eap_array_c * const credential_array, - const eap_variable_data_c * const new_password, - const simple_config_Device_Password_ID_e Device_Password_ID, - const simple_config_payloads_c * const other_configuration) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("%s: ethernet_core_c::save_simple_config_session().\n"), - (m_is_client == true) ? "client": "server")); - - const eap_status_e status = m_partner->save_simple_config_session( - state, - credential_array, - new_password, - Device_Password_ID, - other_configuration); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e ethernet_core_c::set_eap_database_reference_values( - const eap_variable_data_c * const reference) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ethernet_core_c::set_eap_database_reference_values()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: ethernet_core_c::set_eap_database_reference_values()"); - - eap_status_e status = m_eapol_core->set_eap_database_reference_values(reference); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e ethernet_core_c::get_802_11_authentication_mode( - const eap_am_network_id_c * const receive_network_id, - const eapol_key_authentication_type_e authentication_type, - const eap_variable_data_c * const SSID, - const eap_variable_data_c * const preshared_key) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ethernet_core_c::get_802_11_authentication_mode()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: ethernet_core_c::get_802_11_authentication_mode()"); - - eap_status_e status = m_eapol_core->get_802_11_authentication_mode( - receive_network_id, - authentication_type, - SSID, - preshared_key); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e ethernet_core_c::complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const receive_network_id, - const eapol_key_802_11_authentication_mode_e mode) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ethernet_core_c::complete_get_802_11_authentication_mode()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: ethernet_core_c::complete_get_802_11_authentication_mode()"); - - eap_status_e status(eap_status_ok); - - if (m_partner != 0) - { - status = m_partner->complete_get_802_11_authentication_mode( - completion_status, - receive_network_id, - mode); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e ethernet_core_c::complete_disassociation( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ethernet_core_c::complete_disassociation()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: ethernet_core_c::complete_disassociation()"); - - eap_status_e status(eap_status_ok); - - if (m_partner != 0) - { - status = m_partner->complete_disassociation( - complete_to_lower_layer, - receive_network_id); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- // End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eap_base_timer.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_base_timer.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_base_timer.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_ABS_EAP_BASE_TIMER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eap_base_type.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_base_type.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_base_type.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 2.1.2 % */ #if !defined(_ABS_EAP_BASE_TYPE_H_) @@ -258,6 +258,17 @@ const u32_t id) = 0; /** + * The cancel_all_timers() function cancels all timers. + * User should use this in termination of the stack before + * the adaptation module of tools is deleted. + * Preferred mode is to cancel each timer directly + * using cancel_timer() function. + * + * Adaptation module internally implements the timer. + */ + virtual eap_status_e cancel_all_timers() = 0; + + /** * This is needed by PEAP type. * The load_module() function function indicates the lower level to * load new module of EAP-type. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eap_configuration_if.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_configuration_if.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_configuration_if.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #if !defined(_ABS_EAPOL_WLAN_CONFIGURATION_REFERENCE_IF_H_) @@ -48,11 +48,6 @@ public: //-------------------------------------------------- - /* The destructor does nothing */ - virtual ~abs_eap_configuration_if_c() - { - }; - #if defined(USE_EAP_SIMPLE_CONFIG) /** * This function tells AM to save SIMPLE_CONFIG configuration parameters. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eap_core.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_core.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_core.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 2.1.2 % */ #if !defined(_ABS_EAP_CORE_H_) @@ -209,6 +209,17 @@ const u32_t id) = 0; /** + * The cancel_all_timers() function cancels all timers. + * User should use this in termination of the stack before + * the adaptation module of tools is deleted. + * Preferred mode is to cancel each timer directly + * using cancel_timer() function. + * + * Adaptation module internally implements the timer. + */ + virtual eap_status_e cancel_all_timers() = 0; + + /** * This function queries the validity of EAP-type. * Lower layer should return eap_status_ok if this EAP-type is supported. * @param eap_type is the requested EAP-type. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eap_core_map.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_core_map.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_core_map.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_ABS_EAP_TYPE_MAP_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eap_database_reference_if.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_database_reference_if.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined(_ABS_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_) -#define _ABS_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_ - -//-------------------------------------------------- - -#include "eap_am_export.h" -#include "eap_am_types.h" -#include "eap_status.h" - - -/// This class is abstract interface to reference of WLAN database of the current connection. -class EAP_EXPORT abs_eap_database_reference_if_c_deprecated -{ - -private: - //-------------------------------------------------- - - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - virtual ~abs_eap_database_reference_if_c_deprecated() - { - } - - /** - * The constructor of the abs_eap_database_reference_if_c class does nothing special. - */ - virtual eap_status_e get_wlan_database_reference_values( - eap_variable_data_c * const reference) const = 0; - -}; // class abs_eap_database_reference_if_c - - -#endif //#if !defined(_ABS_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_) - -//-------------------------------------------------- - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eap_general_settings_message.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_general_settings_message.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -/* -* 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: This class defines the callback interface from eap_general_settings_client_message_if_c to the user of EAP-general settings. -* -*/ - -/* -* %version: 7 % -*/ - -#if !defined(_ABS_EAP_GENERAL_SETTINGS_MESSAGE_H_) -#define _ABS_EAP_GENERAL_SETTINGS_MESSAGE_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" - -class eap_method_settings_c; - -/// This class defines the callback interface from eap_general_settings_client_message_if_c to the user of EAP-general settings. -class EAP_EXPORT abs_eap_general_settings_message_c -{ -private: - //-------------------------------------------------- - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor of the abs_eap_core class does nothing special. - */ - virtual ~abs_eap_general_settings_message_c() - { - } - - /** - * The constructor of the abs_eap_core class does nothing special. - */ - abs_eap_general_settings_message_c() - { - } - - virtual eap_status_e complete_get_eap_methods( - const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e complete_set_eap_methods( - const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_get_certificate_lists( - const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e complete_delete_all_eap_settings( - const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_copy_all_eap_settings( - const eap_status_e completion_status) = 0; - - //-------------------------------------------------- -}; // class abs_eap_general_settings_message_c - -#endif //#if !defined(_ABS_EAP_GENERAL_SETTINGS_MESSAGE_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eap_pac_store_message.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_pac_store_message.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined(_ABS_EAP_PAC_STORE_MESSAGE_H_) -#define _ABS_EAP_PAC_STORE_MESSAGE_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" - -class eap_method_settings_c; - -/// This class defines the interface the eap_core_c class -/// will use with the partner class (lower layer). -class EAP_EXPORT abs_eap_pac_store_message_c -{ -private: - //-------------------------------------------------- - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor of the abs_eap_core class does nothing special. - */ - virtual ~abs_eap_pac_store_message_c() - { - } - - /** - * The constructor of the abs_eap_core class does nothing special. - */ - abs_eap_pac_store_message_c() - { - } - - virtual eap_status_e complete_open_pac_store( - const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_create_device_seed( - const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_is_master_key_present( - bool is_present - ,const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_is_master_key_and_password_matching( - bool is_matching - ,const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_create_and_save_master_key( - const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_compare_pac_store_password( - bool is_matching) = 0; - - virtual eap_status_e complete_is_pacstore_password_present( - bool is_present) = 0; - - virtual eap_status_e complete_set_pac_store_password( - const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_destroy_pac_store( - const eap_status_e completion_status) = 0; - - //-------------------------------------------------- -}; // class abs_eap_pac_store_message_c - -#endif //#if !defined(_ABS_EAP_PAC_STORE_MESSAGE_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eap_plugin_message.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_plugin_message.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined(_ABS_EAP_PLUGIN_MESSAGE_H_) -#define _ABS_EAP_PLUGIN_MESSAGE_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" - -class eap_method_settings_c; - -/// This class defines the interface the eap_core_c class -/// will use with the partner class (lower layer). -class EAP_EXPORT abs_eap_plugin_message_c -{ -private: - //-------------------------------------------------- - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor of the abs_eap_core class does nothing special. - */ - virtual ~abs_eap_plugin_message_c() - { - } - - /** - * The constructor of the abs_eap_core class does nothing special. - */ - abs_eap_plugin_message_c() - { - } - - virtual eap_status_e complete_get_configuration( - const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e complete_set_configuration( - const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_delete_configuration( - const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_copy_configuration( - const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_set_index( - const eap_status_e completion_status) = 0; - - virtual eap_status_e complete_get_type_info( - const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e complete_invoke_ui( - const eap_method_settings_c * const internal_settings) = 0; - - //-------------------------------------------------- -}; // class abs_eap_plugin_message_c - -#endif //#if !defined(_ABS_EAP_PLUGIN_MESSAGE_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eap_session_core.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_session_core.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,253 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 7 % -*/ - -#if !defined(_ABS_EAP_SESSION_CORE_H_) -#define _ABS_EAP_SESSION_CORE_H_ - -#include "eap_header.h" -#include "eap_array.h" -#if defined(USE_EAP_SIMPLE_CONFIG) - #include "abs_eap_configuration_if.h" -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) -#include "eapol_key_types.h" - -class eap_am_network_id_c; -class eap_buf_chain_wr_c; -class eap_configuration_field_c; -class eap_variable_data_c; -class abs_eap_base_type_c; -class abs_eap_state_notification_c; -class eap_base_type_c; -class eap_rogue_ap_entry_c; -class eap_master_session_key_c; - - -/// This class defines the interface the eap_core_c class -/// will use with the partner class (lower layer). -class EAP_EXPORT abs_eap_session_core_c -#if defined(USE_EAP_SIMPLE_CONFIG) -: public abs_eap_configuration_if_c -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) -{ -private: - //-------------------------------------------------- - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor of the abs_eap_core class does nothing special. - */ - virtual ~abs_eap_session_core_c() - { - } - - /** - * The constructor of the abs_eap_core class does nothing special. - */ - abs_eap_session_core_c() - { - } - - /** - * The derived class could send packets to partner class with this function. - * @see abs_eap_base_type_c::packet_send(). - */ - virtual eap_status_e packet_send( - const eap_am_network_id_c * const network_id, - eap_buf_chain_wr_c * const sent_packet, - const u32_t header_offset, - const u32_t data_length, - const u32_t buffer_length) = 0; - - /** - * The get_header_offset() function obtains the header offset of EAP-packet. - * @see abs_eap_base_type_c::get_header_offset(). - */ - virtual u32_t get_header_offset( - u32_t * const MTU, - u32_t * const trailer_length) = 0; - - /** - * The load_module() function function indicates the lower level to - * load new module of EAP-type. - * @param type is the requested EAP-type. - * @param partner is pointer to the caller object. - * The partner of the new created EAP-type object is the caller object. - * @param eap_type is a pointer to a pointer of EAP-type object. - * Adaptation module sets eap_type pointer to created EAP-type object. - * @param is_client_when_true parameter indicates whether the network entity should - * act as a client (true) or server (false), in terms of EAP-protocol whether - * this network entity is EAP-supplicant (true) or EAP-authenticator (false). - * @param receive_network_id includes the addresses (network identity) and packet type. - */ - virtual 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, - eap_base_type_c ** const eap_type, - const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id) = 0; - - /** - * The unload_module() function unloads the module of a EAP-type. - * @param eap_type is the requested EAP-type. - */ - virtual eap_status_e unload_module(const eap_type_value_e eap_type) = 0; - - /** - * The session calls the restart_authentication() function - * when EAP-authentication is needed with another peer. - * This is also used when session restarts authentication. - * @param receive_network_id includes the addresses (network identity) and packet type. - * @param is_client_when_true indicates whether the EAP-type should act as a client or server, - * in terms of EAP-protocol whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - * @param force_clean_restart this selects whether the server removes this session (true) or not (false). - * @param from_timer tells whether the timer calls this function (true) or not (false). - */ - virtual 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 = false) = 0; - - /** - * Note this function is just an example. Parameters will change later. - * The packet_data_crypto_keys() function gives the generated keys to lower level. - * After EAP-authentication has generated the keys it calls this function - * to offer the keys to lower level. - * @see abs_eap_base_type_c::packet_data_crypto_keys(). - */ - virtual 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 - ) = 0; - - /** - * The read_configure() function reads the configuration data identified - * by the field string of field_length bytes length. Adaptation module must direct - * the query to some persistent store. - * @see abs_eap_base_type_c::read_configure(). - */ - virtual eap_status_e read_configure( - const eap_configuration_field_c * const field, - eap_variable_data_c * const data) = 0; - - /** - * The write_configure() function writes the configuration data identified - * by the field string of field_length bytes length. Adaptation module must direct - * the action to some persistent store. - * @see abs_eap_base_type_c::write_configure(). - */ - virtual eap_status_e write_configure( - const eap_configuration_field_c * const field, - eap_variable_data_c * const data) = 0; - - /** - * This is notification of internal state transition. - * This is used for notifications, debugging and protocol testing. - * The primal notifications are eap_state_variable_e::eap_state_authentication_finished_successfully - * and eap_state_variable_e::eap_state_authentication_terminated_unsuccessfully. - * These two notifications are sent from EAP-protocol layer (eap_protocol_layer_e::eap_protocol_layer_eap). - * These two notifications tells the end state of authentication session. These are the only - * reliable indications of the final status of authentication session. - * You MUST NOT make decision based on the return value of abs_eap_stack_interface_c::packet_process(). - */ - virtual void state_notification( - const abs_eap_state_notification_c * const state) = 0; - - /** - * The set_timer() function initializes timer to be elapsed after time_ms milliseconds. - * @param initializer is pointer to object which timer_expired() function will - * be called after timer elapses. - * @param id is identifier which will be returned in timer_expired() function. - * The user selects and interprets the id for this timer. - * @param data is pointer to any user selected data which will be returned in timer_expired() function. - * @param time_ms is the time of timer in milli seconds. - * - * Adaptation module internally implements the timer. - */ - virtual eap_status_e set_timer( - abs_eap_base_timer_c * const initializer, - const u32_t id, - void * const data, - const u32_t time_ms) = 0; - - /** - * The cancel_timer() function cancels the timer id initiated by initializer. - * @param initializer is pointer to object which set the cancelled timer. - * @param id is identifier which will be returned in timer_expired() function. - * The user selects and interprets the id for this timer. - * - * Adaptation module internally implements the timer. - */ - virtual eap_status_e cancel_timer( - abs_eap_base_timer_c * const initializer, - const u32_t id) = 0; - - /** - * This function queries the validity of EAP-type. - * Lower layer should return eap_status_ok if this EAP-type is supported. - * @param eap_type is the requested EAP-type. - */ - virtual eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type) = 0; - - /** - * This function queries the list of supported EAP-types. - * Lower layer should return eap_status_ok if this call succeeds. - * @param eap_type_list will include the list of supported EAP-types. Each value in list - * is type of u32_t and represent one supported EAP-type. List consists of subsequent u32_t type values. - */ - virtual eap_status_e get_eap_type_list( - eap_array_c * const eap_type_list) = 0; - - virtual eap_status_e add_rogue_ap(eap_array_c & rogue_ap_list) = 0; - - /** - * The set_session_timeout() function changes the session timeout timer to be elapsed after session_timeout_ms milliseconds. - */ - virtual eap_status_e set_session_timeout( - const u32_t session_timeout_ms) = 0; - - virtual eap_status_e complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const receive_network_id, - const eapol_key_802_11_authentication_mode_e mode) = 0; - - virtual eap_status_e complete_remove_eap_session( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id) = 0; - - //-------------------------------------------------- -}; // class abs_eap_session_core_c - -#endif //#if !defined(_ABS_EAP_SESSION_CORE_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eap_stack_interface.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_stack_interface.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_stack_interface.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 2.1.2 % */ #if !defined(_ABS_EAP_STACK_INTERFACE_H_) @@ -56,15 +56,15 @@ * The destructor of the abs_eap_stack_interface_c class does nothing special. */ virtual ~abs_eap_stack_interface_c() - { - } + { + } /** * The constructor of the abs_eap_stack_interface_c does nothing special. */ abs_eap_stack_interface_c() - { - } + { + } /** * The configure() function is called after the constructor of the diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eap_state_notification.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_state_notification.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_state_notification.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_ABS_EAP_STATE_NOTIFICATION_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eap_wimax_authentication.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_wimax_authentication.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_wimax_authentication.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_ABS_EAP_WIMAX_AUTHENTICATION_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eapol_core.h --- a/eapol/eapol_framework/eapol_common/include/abs_eapol_core.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_core.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: 7.1.2 % */ #if !defined(_ABS_EAPOL_CORE_H_) @@ -24,9 +24,6 @@ #include "eap_am_types.h" #include "eapol_key_state.h" -#if defined(USE_EAP_SIMPLE_CONFIG) - #include "abs_eap_configuration_if.h" -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) class eap_am_network_id_c; class eapol_session_key_c; @@ -39,9 +36,6 @@ /// will use with the partner class. /// Later eapol and ethernet could be integrated. Now I am too lazy. class EAP_EXPORT abs_eapol_core_c -#if defined(USE_EAP_SIMPLE_CONFIG) -: public abs_eap_configuration_if_c -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) { private: //-------------------------------------------------- @@ -205,19 +199,7 @@ virtual eap_status_e add_rogue_ap(eap_array_c & rogue_ap_list) = 0; - virtual eap_status_e complete_check_pmksa_cache( - EAP_TEMPLATE_CONST eap_array_c * const bssid_sta_receive_network_ids) = 0; - - virtual eap_status_e complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const receive_network_id, - const eapol_key_802_11_authentication_mode_e mode) = 0; - - virtual eap_status_e complete_disassociation( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id) = 0; - - //-------------------------------------------------- +//-------------------------------------------------- }; // class abs_eapol_core_c #endif //#if !defined(_ABS_EAPOL_CORE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eapol_key_state.h --- a/eapol/eapol_framework/eapol_common/include/abs_eapol_key_state.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_key_state.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7.1.2 % */ #if !defined(_ABS_EAPOL_KEY_STATE_H_) @@ -128,6 +128,17 @@ const u32_t id) = 0; /** + * The cancel_all_timers() function cancels all timers. + * User should use this in termination of the stack before + * the adaptation module of tools is deleted. + * Preferred mode is to cancel each timer directly + * using cancel_timer() function. + * + * Adaptation module internally implements the timer. + */ + virtual eap_status_e cancel_all_timers() = 0; + + /** * All STAs contain a global Key Counter which is 256 bits in size. * It should be initialized at system boot up time to a fresh cryptographic quality random number. * Refer to Annex I.9 on random number generation. It is recommended that the counter value is initialized to: diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eapol_key_state_map.h --- a/eapol/eapol_framework/eapol_common/include/abs_eapol_key_state_map.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_key_state_map.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #if !defined(_ABS_EAPOL_KEY_STATE_MAP_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eapol_message_wlan_authentication.h --- a/eapol/eapol_framework/eapol_common/include/abs_eapol_message_wlan_authentication.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_message_wlan_authentication.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 14 % */ #if !defined(_ABS_EAPOL_MESSAGE_WLAN_AUTHENTICATION_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_authentication.h --- a/eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_authentication.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_authentication.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: 2.1.2 % */ #if !defined(_ABS_WLAN_AUTHENTICATION_H_) @@ -142,11 +142,6 @@ const simple_config_payloads_c * const other_configuration) = 0; #endif // #if defined(USE_EAP_SIMPLE_CONFIG) - virtual eap_status_e complete_check_pmksa_cache( - EAP_TEMPLATE_CONST eap_array_c * const bssid_sta_receive_network_ids) = 0; - - virtual eap_status_e complete_disassociation( - const eap_am_network_id_c * const receive_network_id) = 0; //-------------------------------------------------- }; // class abs_eapol_wlan_authentication_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_database_reference_if.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_database_reference_if.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,63 @@ +/* +* 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. +* +*/ + +/* +* %version: 6 % +*/ + +#if !defined(_ABS_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_) +#define _ABS_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_ + +//-------------------------------------------------- + +#include "eap_am_export.h" +#include "eap_am_types.h" +#include "eap_status.h" + + +/// This class is abstract interface to reference of WLAN database of the current connection. +class EAP_EXPORT abs_eapol_wlan_database_reference_if_c +{ + +private: + //-------------------------------------------------- + + //-------------------------------------------------- + + //-------------------------------------------------- +public: + //-------------------------------------------------- + + virtual ~abs_eapol_wlan_database_reference_if_c() + { + } + + /** + * The constructor of the abs_eapol_wlan_database_reference_if_c class does nothing special. + */ + virtual eap_status_e get_wlan_database_reference_values( + eap_variable_data_c * const reference) const = 0; + +}; // class abs_eapol_wlan_database_reference_if_c + + +#endif //#if !defined(_ABS_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_) + +//-------------------------------------------------- + + +// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/abs_ethernet_core.h --- a/eapol/eapol_framework/eapol_common/include/abs_ethernet_core.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_ethernet_core.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: 2.1.2 % */ #if !defined(_ABS_ETHERNET_CORE_H_) @@ -25,9 +25,7 @@ #include "eap_header.h" #include "eap_array.h" #include "eapol_key_state.h" -#if defined(USE_EAP_SIMPLE_CONFIG) - #include "abs_eap_configuration_if.h" -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) + class abs_eapol_core_c; class eap_am_network_id_c; @@ -173,32 +171,6 @@ virtual eap_status_e add_rogue_ap(eap_array_c & rogue_ap_list) = 0; - virtual eap_status_e complete_check_pmksa_cache( - EAP_TEMPLATE_CONST eap_array_c * const bssid_sta_receive_network_ids) = 0; - -#if defined(USE_EAP_SIMPLE_CONFIG) - /** - * This function tells AM to save SIMPLE_CONFIG configuration parameters. - * This is always syncronous call. - */ - virtual eap_status_e save_simple_config_session( - const simple_config_state_e state, - EAP_TEMPLATE_CONST eap_array_c * const credential_array, - const eap_variable_data_c * const new_password, - const simple_config_Device_Password_ID_e Device_Password_ID, - const simple_config_payloads_c * const other_configuration - ) = 0; -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - - virtual eap_status_e complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const receive_network_id, - const eapol_key_802_11_authentication_mode_e mode) = 0; - - virtual eap_status_e complete_disassociation( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id) = 0; - //-------------------------------------------------- }; // class abs_ethernet_core_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/asn1_der_type.h --- a/eapol/eapol_framework/eapol_common/include/asn1_der_type.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/asn1_der_type.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 30 % */ #if !defined(_ASN1_TYPE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/dummy_eap_core.h --- a/eapol/eapol_framework/eapol_common/include/dummy_eap_core.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,738 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -/** - * @mainpage EAP Core documentation. - * - * @section intro Introduction - * This is a EAP Core documentation generated by doxygen. - * First read S60_3_1_EAP_Core.doc - * file from EAPOL/documentation directory. - * Release notes are in file release_notes.txt - * - * @section install Installation - * Installation instructions are in file EAPOL/readme.txt. - * - * @section classes Most crucial classes - * The most crucial classes are dummy_eap_core_c, abs_eap_core_c, - * eap_base_type_c and abs_eap_base_type_c. - * - * Header files are stored to a directory EAPOL/include. - * Implementation of dummy_eap_core_c class is in a file - * EAPOL/core/eap_core.cpp. Implementation of eap_base_type_c class is in a file - * EAPOL/common/eap_base_type.cpp. - * - * @section eap_types Implemented EAP-types - * - * @subsection GSMSIM EAP/SIM - * EAP/SIM implementation is in a directory - * EAPOL/type/gsmsim. - * EAP/SIM is specified in draft-haverinen-pppext-eap-sim-xx.txt. - * The most current is - * - * RFC 4186. - * IETF drafts and RFC are stored to a directory - * EAPOL/type/gsmsim/documentation. - * The document - * GSMSIM.doc - * includes implementation notes of GSMSIM. - * - * @subsection EAP_AKA EAP/AKA - * EAP/AKA implementation is in a directory - * EAPOL/type/aka. - * EAP/AKA is specified in draft-arkko-pppext-eap-aka-xx.txt. - * The most current is - * - * RFC 4187. - * IETF drafts are stored to a directory - * EAPOL/type/aka/documentation. - * - * @subsection EAP_TLS_PEAP EAP/TLS, PEAP and TTLS - * Implementation design and architecture of EAP/TLS, PEAP and TTLS is in - * EAP_TLS_PEAP.doc - * file in EAPOL/type/tls_peap/documentation directory. - * EAP/TLS and PEAP implementation will be in a directory - * EAPOL/type/tls_peap. - * TLS is specified in rfc2246.txt. - * EAP/TLS is specified in rfc2716.txt. - * PEAPv2 is specified in draft-josefsson-pppext-eap-tls-eap-08.txt. - * PEAPv1 is specified in draft-josefsson-pppext-eap-tls-eap-05.txt. - * Windows XP- PEAPv0 is specified in draft-kamath-pppext-peapv0-00.txt. - * TTLS is specified in draft-ietf-pppext-eap-ttls-04.txt. - * - * @subsection EAP_MsChapv2 EAP/MsChapv2 - * EAP/MsChapv2 implementation is in a directory - * EAPOL/type/mschapv2. - * EAP/MsChapv2 is specified in draft-kamath-pppext-eap-mschapv2-XX.txt, rfc2433.txt and rfc2759.txt. - * The most current is - * - * EAP/MsChapv2 draft version 2. - * See also rfc2433.txt - * and rfc2759.txt. - * IETF drafts are stored to a directory - * EAPOL/type/mschapv2/doc. - * - * @subsection EAP_SecurID_GTC EAP/SecurID and GTC - * EAP/SecurID implementation is in a directory - * EAPOL/type/securid. - * EAP/SecurID is specified in draft-josefsson-eap-securid-XX.txt. - * The most current is - * - * EAP/SecurID draft version 1. - * IETF drafts are stored to a directory - * EAPOL/type/securid/documentation. - * - * @subsection EAP_LEAP EAP/LEAP - * EAP/LEAP implementation is in a directory - * EAPOL/type/leap. - * EAP/LEAP documentation is not included here. - * - * @subsection SAE Experimental Security Association for EAPOL (not used) - * SAE implementation is in a directory EAPOL/SAE. - * Document defining SAE is EAPOL_SA.doc. - * This is a very experimental test implementation. - * Idea is to use Diffie-Hellman to create keys for a anonymous EAPOL tunnel. - * Any EAP-type could then run inside the tunnel. - * This fixes the problem of current EAPOL over WLAN. - * EAP was designed for poin to point environment and EAPOL to non-shared environment. - * - * NOTE SAE is not used anywhere. - * - * @section Symbian Symbian Plug-in - * EAP Type Plug-in Architecture for Symbian is specified in - * - * eap_plugin_architecture.doc. - * - */ - - -#if !defined(_DUMMY_EAP_CORE_H_) -#define _DUMMY_EAP_CORE_H_ - -#include "eap_am_export.h" -#include "abs_eap_base_type.h" -#include "eap_core_map.h" -#include "eap_am_network_id.h" -#include "abs_eap_stack_interface.h" -#include "eap_configuration_field.h" -#include "abs_eap_core_map.h" -#include "eap_core.h" - -class abs_eap_core_c; -class abs_eap_am_tools_c; -class eap_core_retransmission_c; -class eap_base_type_c; -class eap_variable_data_c; - -//-------------------------------------------------------------------------------------------------- - -/** - * @defgroup EAP_Core_config_options Configuration options of EAP Core. - * The following configuration options are read through abs_eap_base_type_c::read_configure() function. - * @{ - */ - - - -//-------------------------------------------------------------------------------------------------- - - - -/// A eap_core_c class implements the basic functionality of EAP-type. -class EAP_EXPORT dummy_eap_core_c -: public abs_eap_core_map_c -, public abs_eap_base_type_c -, public abs_eap_base_timer_c -, public abs_eap_stack_interface_c -{ -private: - //-------------------------------------------------- - - /// This is back pointer to object which created this object. - /// Packets are sent to the partner. - abs_eap_core_c *m_partner; - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - /// This stores eap_base_type objects using eap_variable_data selector. - eap_core_map_c m_type_map; - - /// This stores the current EAP-type. When requested, we send our ID using - /// our default EAP-type. This is our best quess of other peer's EAP-type. - /// Other peer will sent the real EAP-type later and we can NAK it then - /// and send our own EAP-type. This is due the limitations of EAP-protocol. - eap_type_value_e m_current_eap_type; - - /// This is our default EAP-type. - eap_type_value_e m_default_eap_type; - - /// This is the queried EAP-identity. - /// This is saved because other EAP-types may be load afterwards - /// and they may query EAP-identity. - eap_variable_data_c m_eap_identity; - - /// This is offset in bytes of the EAP-type header. - u32_t m_eap_header_offset; - - /// This is maximum transfer unit in bytes. - u32_t m_MTU; - - /// This is length of the trailer in bytes. - u32_t m_trailer_length; - - /// This is network identity of the received packet. - eap_am_network_id_c m_receive_network_id; - - /// Re-transmission is used to test protocols. - /// This stores the information to resent a message. This is used for testing purposes. - eap_core_retransmission_c *m_retransmission; - - /// Re-transmission is used to test protocols. - /// This is the time after resent a message. This is used for testing purposes. - u32_t m_retransmission_time; - - /// Re-transmission is used to test protocols. - /// This is the maximum count of retransmission of one message. This is used for testing purposes. - u32_t m_retransmission_counter; - - /// This is the maximum time authentication could succeed. - /// Authentication is terminated after this time elapses. - /// The EAP-type could change the timeout by calling set_session_timeout() function. - u32_t m_session_timeout; - - u32_t m_eap_core_failure_received_timeout; - - u32_t m_remove_session_timeout; - -#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER) - u32_t m_wait_eap_request_type_timeout; - bool m_wait_eap_request_type_timeout_set; -#endif //#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER) - - /// Latest received EAP-identifier. Used only for EAP-Request/Identity handling in client. - /// Ensures that the EAP-Response/Identity is sent with the latest EAP-identifier. - u8_t m_eap_identity_request_identifier_client; - - /// This indicates whether this object is client (true) or server (false). - /// In terms of EAP-protocol whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - bool m_is_client; - - /// This indicates whether the authentication role of this object is client (true) or server (false). - /// In terms of EAP-protocol whether this network entitys authentication role is EAP-supplicant (true) or EAP-authenticator (false). - /// NOTE the LEAP type changes authentication role during the authentication session. - bool m_is_client_role; - - /// This indicates whether this object was generated successfully. - bool m_is_valid; - - /// Client has initiated restart. - bool m_client_restart_authentication_initiated; - - /// This flag indicates that this object is marked to removed asynchronously. - /// The very same object could be taken use before the removing timer elapses. - bool m_marked_removed; - - /// This flag prevents server receiving of multiple EAP-Response/Identity message. - /// This is set true after the server accepts EAP-Response/Identity message. - bool m_eap_identity_response_accepted; - - /// Function shutdown() is called already. - bool m_shutdown_was_called; - - /// Server received EAP-Response from client. Server must not sent any other EAP-type. Server could send EAP-Failure or EAP-Success. - /// Client sent a response. Client must not accept any other EAP-type. - bool m_eap_type_response_sent; - - /// Tells whether this is tunneled EAP-session. For example inside PEAP or TTLS tunnel. - /// This causes some changes to timeouts. - bool m_is_tunneled_eap; - -#if defined(USE_EAP_CORE_SERVER) - /// If this flag is true EAP-Response/Nak is processed immediately. - /// If this flag is false EAP-Response/Nak is processed after a timeout. - /// There might be received more suitable EAP-Response. - bool m_process_eap_nak_immediately; - - /// EAP-Response/Nak is initiated. - bool m_nak_process_timer_active; - - /// This flag prevents server sending of multiple EAP-Request/Identity message. - bool m_eap_identity_request_send; - - /// This is set true after the server receives EAP-Response/Identity message. - bool m_eap_identity_response_received; - - /// This flag is set true after a EAP-Failure is sent. - bool m_eap_failure_sent; - - /// This flag selects whether EAP-Success is send after state notification is forwarded to lower layer (true) - /// or EAP-Success is send before state notification is forwarded to lower layer (false). - bool m_send_eap_success_after_notification; - -#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER) - // This flag selects whether EAP-Request/Identity is send (true) or not (false). - bool m_skip_eap_request_identity; -#endif //#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER) -#endif //#if defined(USE_EAP_CORE_SERVER) - - bool m_use_eap_expanded_type; - - /// Some of the protocols terminates with EAP-Failure. This flag tells to ignore EAP-Failure. - bool m_ignore_eap_failure; - - bool m_ignore_notifications; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /** - * Re-transmission is used to test protocols. - * This function resends the packet. - */ - EAP_FUNC_IMPORT eap_status_e resend_packet( - const eap_am_network_id_c * const send_network_id, - eap_buf_chain_wr_c * const sent_packet, - const u32_t header_offset, - const u32_t data_length, - const u32_t buffer_free, - const u32_t retransmission_counter - ); - - /** - * Re-transmission is used to test protocols. - * This function cancels retransmissions. - */ - EAP_FUNC_IMPORT eap_status_e cancel_retransmission(); - - /** - * Re-transmission is used to test protocols. - * This function inits retransmission of sent packet. - */ - EAP_FUNC_IMPORT eap_status_e init_retransmission( - const eap_am_network_id_c * const send_network_id, - eap_buf_chain_wr_c * const sent_packet, - const u32_t header_offset, - const u32_t data_length, - const eap_code_value_e eap_code, - const u8_t eap_identifier, - const eap_type_value_e eap_type - ); - - /** - * This function cancels previous session timeout and initializes new timeout for the session. - */ - EAP_FUNC_IMPORT eap_status_e initialize_session_timeout( - const u32_t session_timeout_ms); - - /** - * This function cancels timeout for a session. - */ - EAP_FUNC_IMPORT eap_status_e cancel_session_timeout(); - - /** - * This function calls shutdown() for one eap_base_type_c object. - */ - EAP_FUNC_IMPORT static eap_status_e shutdown_operation( - eap_base_type_c * const value, - abs_eap_am_tools_c * const m_am_tools); - - /** - * This function calls reset() for one eap_base_type_c object. - */ - EAP_FUNC_IMPORT static eap_status_e reset_operation( - eap_base_type_c * const handler, - abs_eap_am_tools_c * const m_am_tools); - - EAP_FUNC_IMPORT eap_status_e client_proposes_eap_types( - const eap_am_network_id_c * const receive_network_id, - const u8_t eap_identifier); - - /** - * This function processes EAP-packet with known EAP-type. - */ - EAP_FUNC_IMPORT eap_status_e packet_process_type( - const eap_type_value_e used_eap_type, - const eap_am_network_id_c * const receive_network_id, - eap_general_header_base_c * const packet_data, - const u32_t packet_length); - -#if defined(USE_EAP_CORE_SERVER) - /** - * This function re-starts authentication with new EAP-type. - * Only server calls this function. - */ - EAP_FUNC_IMPORT eap_status_e restart_with_new_type( - const eap_type_value_e used_eap_type, - const eap_am_network_id_c * const receive_network_id, - const u8_t eap_identifier); -#endif //#if defined(USE_EAP_CORE_SERVER) - -#if defined(USE_EAP_CORE_SERVER) - EAP_FUNC_IMPORT eap_status_e handle_eap_identity_response( - eap_base_type_c * const handler, - const eap_type_value_e used_eap_type, - const eap_am_network_id_c * const receive_network_id, - eap_header_wr_c * const eap, - const u32_t packet_length); -#endif //#if defined(USE_EAP_CORE_SERVER) - - /** - * This function handles EAP-Request/Identity. - */ - EAP_FUNC_IMPORT eap_status_e handle_eap_identity_request( - const eap_type_value_e used_eap_type, - const u8_t eap_identifier, - const eap_am_network_id_c * const receive_network_id); - - /** - * This function creates EAP-Response/Identity. - */ - EAP_FUNC_IMPORT eap_status_e create_eap_identity_response( - eap_buf_chain_wr_c * const response_packet, - const eap_variable_data_c * const identity, - const u8_t eap_identifier - ); - - /** - * This function sends EAP-Response/Identity. - */ - EAP_FUNC_IMPORT eap_status_e send_eap_identity_response( - const eap_am_network_id_c * const send_network_id, - const eap_variable_data_c * const identity, - const u8_t eap_identifier); - - /** - * This function sends EAP-Response/Notification. - */ - EAP_FUNC_IMPORT eap_status_e send_eap_notification_response( - const eap_am_network_id_c * const send_network_id, - const u8_t eap_identifier); - - /** - * This function initializes timeout for received EAP-Failure. - */ - EAP_FUNC_IMPORT eap_status_e set_eap_failure_timeout(); - - /** - * This function cancels timeout for received EAP-Failure. - */ - EAP_FUNC_IMPORT eap_status_e cancel_eap_failure_timeout(); - -#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER) - eap_status_e set_wait_eap_request_type_timeout(); - - eap_status_e cancel_wait_eap_request_type_timeout(); -#endif //#if defined(USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER) - - EAP_FUNC_IMPORT eap_status_e asynchronous_init_remove_eap_session(); - - EAP_FUNC_IMPORT eap_status_e initialize_asynchronous_init_remove_eap_session( - const u32_t remove_session_timeout); - - EAP_FUNC_IMPORT eap_status_e cancel_asynchronous_init_remove_eap_session(); - - eap_status_e init_end_of_session( - const abs_eap_state_notification_c * const state); - - eap_status_e set_eap_identity_routing_info_and_nai_decoration( - eap_variable_data_c * const identity); - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor of the eap_core class does nothing special. - */ - EAP_FUNC_IMPORT virtual ~dummy_eap_core_c(); - - /** - * The constructor initializes member attributes using parameters passed to it. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - * @param partner is back pointer to object which created this object. - * @param is_client_when_true indicates whether the network entity should act - * @param is_tunneled_eap tells the EAP is run in tunnel (PEAP or other). - * as a client (true) or server (false), in terms of EAP-protocol - * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - */ - EAP_FUNC_IMPORT dummy_eap_core_c( - abs_eap_am_tools_c * const tools, - abs_eap_core_c * const partner, - const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id, - const bool is_tunneled_eap); - - /** - * The load_type() function function indicates the lower level to load - * new module including EAP-type. The type parameter is the requested EAP-type. - * @param type is the identifier of the required EAP type. - * @return Function returns pointer to the EAP type object. - */ - EAP_FUNC_IMPORT eap_base_type_c * load_type( - const eap_type_value_e type, - const eap_type_value_e tunneling_type, - const eap_am_network_id_c * const receive_network_id); - - EAP_FUNC_IMPORT void trace_eap_packet( - eap_const_string prefix, - const eap_header_wr_c * const eap_header); - - // This is documented in abs_eap_stack_interface_c::packet_process(). - EAP_FUNC_IMPORT eap_status_e packet_process( - const eap_am_network_id_c * const receive_network_id, - eap_general_header_base_c * const packet_data, - const u32_t packet_length); - - // This is documented in abs_eap_base_type_c::packet_send(). - EAP_FUNC_IMPORT eap_status_e packet_send( - const eap_am_network_id_c * const send_network_id, - eap_buf_chain_wr_c * const sent_packet, - const u32_t header_offset, - const u32_t data_length, - const u32_t buffer_length); - - /** - * The get_partner() function returns pointer to partner class. - */ - EAP_FUNC_IMPORT abs_eap_core_c * get_partner(); - - /** - * The set_partner() function sets pointer to partner class. - */ - EAP_FUNC_IMPORT void set_partner(abs_eap_core_c * const partner); - - // This is documented in abs_eap_base_type_c::get_header_offset(). - EAP_FUNC_IMPORT u32_t get_header_offset( - u32_t * const MTU, - u32_t * const trailer_length); - - // This is documented in abs_eap_base_type_c::load_module(). - EAP_FUNC_IMPORT 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, - eap_base_type_c ** const eap_type, - const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id); - - // This is documented in abs_eap_base_type_c::unload_module(). - EAP_FUNC_IMPORT eap_status_e unload_module( - const eap_type_value_e type); - - /** - * The adaptation module calls the eap_acknowledge() function after - * any Network Protocol packet is received. This is used as a success indication. - * This is described in RFC 2284 "PPP Extensible Authentication Protocol (EAP)". - * Mostly there is only one session in the client. - * The server does not need eap_acknowledge() function because - * server (EAP-authenticator) sends the EAP-success message. - */ - EAP_FUNC_IMPORT eap_status_e eap_acknowledge( - const eap_am_network_id_c * const receive_network_id); - - // This is documented in abs_eap_base_type_c::restart_authentication(). - EAP_FUNC_IMPORT eap_status_e restart_authentication( - const eap_am_network_id_c * const send_network_id, - const bool is_client_when_true); - - /** - * The EAP Core calls the send_eap_nak_response() function - * when EAP-authentication with requested EAP type is not possible. - * @param receive_network_id includes the addresses (network identity) and packet type. - * @param eap_identifier is the EAP-Identifier to be used with EAP-Nak message. - * @param preferred_eap_type is the acceptable EAP-Type to be informed with an other peer. - */ - EAP_FUNC_IMPORT eap_status_e send_eap_nak_response( - const eap_am_network_id_c * const receive_network_id, - const u8_t eap_identifier, - const eap_array_c * const eap_type_list); - - -#if defined(USE_EAP_CORE_SERVER) - - /** - * The EAP Core calls the send_eap_identity_request() function - * when EAP-authentication is needed with another peer. - * @param network_id includes the addresses (network identity) and packet type. - */ - EAP_FUNC_IMPORT eap_status_e send_eap_identity_request( - const eap_am_network_id_c * const network_id); - - /** - * This function sends EAP-Success. - */ - EAP_FUNC_IMPORT eap_status_e send_eap_success( - const eap_am_network_id_c * const send_network_id, - const u8_t eap_identifier); - - /** - * This function sends EAP-Failure. - */ - EAP_FUNC_IMPORT eap_status_e send_eap_failure( - const eap_am_network_id_c * const send_network_id, - const u8_t eap_identifier); - -#endif //#if defined(USE_EAP_CORE_SERVER) - - - // This is documented in abs_eap_base_type_c::packet_data_crypto_keys(). - EAP_FUNC_IMPORT 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 documented in abs_eap_stack_interface_c::configure(). - EAP_FUNC_IMPORT eap_status_e configure(); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - EAP_FUNC_IMPORT eap_status_e shutdown(); - - // This is documented in abs_eap_base_type_c::read_configure(). - EAP_FUNC_IMPORT virtual eap_status_e read_configure( - const eap_configuration_field_c * const field, - eap_variable_data_c * const data); - - // This is documented in abs_eap_base_type_c::write_configure(). - EAP_FUNC_IMPORT virtual eap_status_e write_configure( - const eap_configuration_field_c * const field, - eap_variable_data_c * const data); - - // This is documented in abs_eap_stack_interface_c::set_is_valid(). - EAP_FUNC_IMPORT void set_is_valid(); - - // This is documented in abs_eap_stack_interface_c::get_is_valid(). - EAP_FUNC_IMPORT bool get_is_valid(); - - // This is documented in abs_eap_base_type_c::state_notification(). - EAP_FUNC_IMPORT void state_notification( - const abs_eap_state_notification_c * const state); - - // See abs_eap_base_timer_c::timer_expired(). - EAP_FUNC_IMPORT eap_status_e timer_expired( - const u32_t id, void *data); - - // See abs_eap_base_timer_c::timer_delete_data(). - EAP_FUNC_IMPORT eap_status_e timer_delete_data( - const u32_t id, void *data); - - /** - * eap_core_map_c class increases reference count each time reference to stored object is get. - * Here is always just one state for one session so no references are used. - */ - EAP_FUNC_IMPORT void object_increase_reference_count(); - - /** - * eap_core_map_c class increases reference count each time reference to stored object is get. - * Here is always just one state for one session so no references are used. - */ - EAP_FUNC_IMPORT u32_t object_decrease_reference_count(); - - /** - * @{ Add configuration of accepted EAP-types. } - */ - // This is documented in abs_eap_base_type_c::check_is_valid_eap_type(). - EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type); - - // This is commented in abs_eap_base_type_c::get_eap_type_list(). - EAP_FUNC_IMPORT eap_status_e get_eap_type_list( - eap_array_c * const eap_type_list); - - /** - * Gets flag whether this session is marked removed. - * Session is removed later if it is not reused. - */ - EAP_FUNC_IMPORT bool get_marked_removed(); - - /** - * Marks this session removed. - * Session is removed later if it is not reused. - */ - EAP_FUNC_IMPORT void set_marked_removed(); - - /** - * Marks this session not removed. - * Session is not removed it is reused. - */ - EAP_FUNC_IMPORT void unset_marked_removed(); - - /** - * Prevents all notifications. - */ - EAP_FUNC_IMPORT void ignore_notifications(); - - /** - * This function must reset the state of object to same as - * state was after the configure() function call. - * If object reset succeeds this function must return eap_status_ok. - * 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(); - - // This is documented in abs_eap_base_type_c::complete_eap_identity_query(). - EAP_FUNC_IMPORT eap_status_e complete_eap_identity_query( - const eap_am_network_id_c * const send_network_id, - const eap_variable_data_c * const identity, - const u8_t eap_identifier); - - // This is documented in abs_eap_base_type_c::get_saved_eap_identity(). - EAP_FUNC_IMPORT eap_status_e get_saved_eap_identity(eap_variable_data_c * const identity); - - // This is documented in abs_eap_base_type_c::set_session_timeout(). - EAP_FUNC_IMPORT eap_status_e set_session_timeout( - const u32_t session_timeout_ms); - - // This is documented in abs_eap_base_type_c::set_timer(). - EAP_FUNC_IMPORT eap_status_e set_timer( - abs_eap_base_timer_c * const p_initializer, - const u32_t p_id, - void * const p_data, - const u32_t p_time_ms); - - // This is documented in abs_eap_base_type_c::cancel_timer(). - EAP_FUNC_IMPORT eap_status_e cancel_timer( - abs_eap_base_timer_c * const p_initializer, - const u32_t p_id); - - // This is documented in abs_eap_base_type_c::set_authentication_role(). - EAP_FUNC_IMPORT eap_status_e set_authentication_role(const bool when_true_set_client); - - // This is documented in abs_eap_base_type_c::add_rogue_ap(). - EAP_FUNC_IMPORT eap_status_e add_rogue_ap(eap_array_c & rogue_ap_list); - - // This is documented in abs_eap_base_type_c::get_is_tunneled(). - EAP_FUNC_IMPORT bool get_is_tunneled_eap() const; - - //-------------------------------------------------- -}; // class dummy_eap_core_c - - -#endif //#if !defined(_DUMMY_EAP_CORE_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_array.h --- a/eapol/eapol_framework/eapol_common/include/eap_array.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_array.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4.1.5 % */ #if !defined(_EAP_ARRAY_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_array_algorithms.h --- a/eapol/eapol_framework/eapol_common/include/eap_array_algorithms.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_array_algorithms.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 19.1.4 % */ #if !defined(_EAP_ARRAY_ALGORITHMS_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_automatic_variable.h --- a/eapol/eapol_framework/eapol_common/include/eap_automatic_variable.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_automatic_variable.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13.1.2 % */ #if !defined(_EAP_AUTOMATIC_VARIABLE_H_) @@ -244,8 +244,6 @@ /// This is pointer to the string that will be traced on destructor. eap_format_string m_string; - u32_t m_trace_flags; - public: /** @@ -259,7 +257,7 @@ { EAP_TRACE_DEBUG( m_am_tools, - m_trace_flags, + TRACE_FLAGS_DEFAULT, (EAPL("<<< %s <<<\n"), m_string)); } @@ -273,23 +271,7 @@ abs_eap_am_tools_c * const tools, eap_format_string string) : m_am_tools(tools) - , m_string(string) - , m_trace_flags(TRACE_FLAGS_DEFAULT) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - } - - /** - * The constructor sets the values for the member variables - */ - eap_automatic_trace_string_c( - abs_eap_am_tools_c * const tools, - const u32_t flags, - eap_format_string string) - : m_am_tools(tools) , m_string(string) - , m_trace_flags(flags) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_base_type.h --- a/eapol/eapol_framework/eapol_common/include/eap_base_type.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_base_type.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_EAP_BASE_TYPE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_buffer.h --- a/eapol/eapol_framework/eapol_common/include/eap_buffer.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_buffer.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #if !defined(_EAP_BUFFER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_config.h --- a/eapol/eapol_framework/eapol_common/include/eap_config.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_config.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4.1.3 % */ #if !defined(_EAP_CONFIG_H_) @@ -697,27 +697,6 @@ #endif //#if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS) -/** - * This special configuration option reads all defines configuration options. - * Data is in message format. Please see eap_tlv_message_data_c. - */ -EAP_CONFIGURATION_FIELD( - cf_str_EAP_read_all_configurations, - "EAP_read_all_configurations", - eap_configure_type_all_configurations, - false); - - -const u8_t EAP_WPS_CONFIGURATION_MEMORY_STORE_KEY[] = "eap_am_type_protected_setup shared key"; - -enum eap_type_protected_setup_stored_e -{ - eap_type_protected_setup_stored_none, - eap_type_protected_setup_stored_preshared_key, - eap_type_protected_setup_stored_ssid, -}; - - /** @} */ // End of group Common_EAP_config_options. //-------------------------------------------------------------------------------------------------- diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_configuration_field.h --- a/eapol/eapol_framework/eapol_common/include/eap_configuration_field.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_configuration_field.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4.1.2 % */ #if !defined(_EAP_CONFIGURATION_FIELD_H_) @@ -43,7 +43,6 @@ eap_configure_type_u32array, eap_configure_type_section, eap_configure_type_subsection, - eap_configure_type_all_configurations, //< This is special type to read all configuration options. Data is in message format. Please see eap_tlv_message_data_c. }; //-------------------------------------------------------------------------------------------------- @@ -178,26 +177,6 @@ return tmp; } - static eap_const_string get_configure_type_string(const eap_configure_type_e type) - { - #if defined(USE_EAP_TRACE_STRINGS) - EAP_IF_RETURN_STRING(type, eap_configure_type_none) - else EAP_IF_RETURN_STRING(type, eap_configure_type_u32_t) - else EAP_IF_RETURN_STRING(type, eap_configure_type_boolean) - else EAP_IF_RETURN_STRING(type, eap_configure_type_string) - else EAP_IF_RETURN_STRING(type, eap_configure_type_hex_data) - else EAP_IF_RETURN_STRING(type, eap_configure_type_u32array) - else EAP_IF_RETURN_STRING(type, eap_configure_type_section) - else EAP_IF_RETURN_STRING(type, eap_configure_type_subsection) - else EAP_IF_RETURN_STRING(type, eap_configure_type_all_configurations) - else - #endif // #if defined(USE_EAP_TRACE_STRINGS) - { - EAP_UNREFERENCED_PARAMETER(type); - return EAPL("Unknown EAP-configure_type"); - } - } - private: bool m_is_secret; eap_configure_type_e m_type; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_core.h --- a/eapol/eapol_framework/eapol_common/include/eap_core.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_core.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 15 % */ /** @@ -915,6 +915,9 @@ abs_eap_base_timer_c * const p_initializer, const u32_t p_id); + // This is documented in abs_eap_base_type_c::cancel_all_timers(). + EAP_FUNC_IMPORT eap_status_e cancel_all_timers(); + // This is documented in abs_eap_base_type_c::set_authentication_role(). EAP_FUNC_IMPORT eap_status_e set_authentication_role(const bool when_true_set_client); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_core_client_message_if.h --- a/eapol/eapol_framework/eapol_common/include/eap_core_client_message_if.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,253 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 23 % -*/ - -#if !defined(_EAP_CORE_CLIENT_MESSAGE_IF_H_) -#define _EAP_CORE_CLIENT_MESSAGE_IF_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" -#include "eap_session_core_base.h" -#include "abs_eap_session_core.h" -#include "eap_core_map.h" -#include "abs_eap_stack_interface.h" -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_process_tlv_message_data.h" -#include "eap_database_reference_if.h" - -class eap_tlv_header_c; - - -/// A eap_core_client_message_if_c class implements mapping of EAP authentication sessions. -/// Network identity separates parallel EAP authentication sessions. -class EAP_EXPORT eap_core_client_message_if_c -: public abs_eap_am_message_if_c -, public eap_session_core_base_c -, public abs_eap_base_timer_c -, public abs_eap_stack_interface_c -{ -private: - //-------------------------------------------------- - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - /// eap_core_client_message_if_c deletes m_server_if in destructor. - eap_am_message_if_c * m_server_if; - - /// This is back pointer to object which created this object. - /// Packets are sent to the partner. - abs_eap_session_core_c * const m_partner; - - eap_status_e m_error_code; - - eap_tlv_message_type_function_e m_error_function; - - /// This is offset in bytes of the EAP header. - u32_t m_eap_header_offset; - - /// This is maximum transfer unit in bytes. - u32_t m_MTU; - - /// This is length of the trailer in bytes. - u32_t m_trailer_length; - - /// This indicates whether this object is client (true) or server (false). - /// In terms of EAP-protocol whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - bool m_is_client; - - /// This indicates whether this object was generated successfully. - bool m_is_valid; - - bool m_shutdown_was_called; - - // This is documented in abs_eap_stack_interface_c::set_is_valid(). - void set_is_valid(); - - eap_status_e process_message(eap_process_tlv_message_data_c * const message); - - eap_status_e process_error_message( - const eap_status_e error_code, - const eap_tlv_message_type_function_e function); - - eap_status_e process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e packet_send( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e state_notification( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e packet_data_crypto_keys( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e restart_authentication( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e new_protected_setup_credentials( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_get_802_11_authentication_mode( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_remove_eap_session( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e eap_mtu( - const u32_t MTU); - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor of the eap_core class does nothing special. - */ - EAP_FUNC_IMPORT EAP_FUNC_IMPORT virtual ~eap_core_client_message_if_c(); - - /** - * The constructor initializes member attributes using parameters passed to it. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - * @param partner is back pointer to object which created this object. - * @param is_client_when_true indicates whether the network entity should act - * as a client (true) or server (false), in terms of EAP-protocol - * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - */ - EAP_FUNC_IMPORT eap_core_client_message_if_c( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const server, - abs_eap_session_core_c * const partner, - const bool is_client_when_true); - - void set_partner(abs_eap_am_message_if_c * const client); - - /** - * This function must reset the state of object to same as - * state was after the configure() function call. - * If object reset succeeds this function must return eap_status_ok. - * 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(); - - /** - * This function cancels all EAP-sessions. - * If this succeeds this function must return eap_status_ok. - * If this fails this function must return corresponding error status. - * @return This function returns the status of operation. - */ - EAP_FUNC_IMPORT eap_status_e cancel_all_eap_sessions(); - - // This is documented in abs_eap_stack_interface_c::packet_process(). - EAP_FUNC_IMPORT eap_status_e packet_process( - const eap_am_network_id_c * const receive_network_id, - eap_general_header_base_c * const packet_data, - const u32_t packet_length); - - /** - * The adaptation module calls the eap_acknowledge() function after - * any Network Protocol packet is received. This is used as a success indication. - * This is described in RFC 2284 "PPP Extensible Authentication Protocol (EAP)". - * @param connection_handle separates the context of the acknowledged session. - * Mostly there is only one session in the client. - * The server does not need eap_acknowledge() function because - * server (EAP-authenticator) sends the EAP-success message. - */ - EAP_FUNC_IMPORT eap_status_e eap_acknowledge( - const eap_am_network_id_c * const receive_network_id); - -#if defined(USE_EAP_CORE_SERVER) - /** - * The EAP Core calls the send_eap_identity_request() function - * when EAP-authentication is needed with another peer. - * @param network_id includes the addresses (network identity) and packet type. - */ - EAP_FUNC_IMPORT eap_status_e send_eap_identity_request( - const eap_am_network_id_c * const network_id); -#endif //#if defined(USE_EAP_CORE_SERVER) - - // This is documented in abs_eap_stack_interface_c::configure(). - EAP_FUNC_IMPORT eap_status_e configure(); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - EAP_FUNC_IMPORT eap_status_e shutdown(); - - // This is documented in abs_eap_stack_interface_c::get_is_valid(). - EAP_FUNC_IMPORT bool get_is_valid(); - - /** - * This function creates EAP session object synchronously. - * @param receive_network_id identifies the removed EAP session. - */ - EAP_FUNC_IMPORT eap_status_e create_eap_session( - const eap_am_network_id_c * const receive_network_id); - - /** - * This function removes EAP session object synchronously. - * @param receive_network_id identifies the removed EAP session. - */ - EAP_FUNC_IMPORT eap_status_e remove_eap_session( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id); - - // See abs_eap_base_timer_c::timer_expired(). - EAP_FUNC_IMPORT eap_status_e timer_expired( - const u32_t id, void *data); - - // See abs_eap_base_timer_c::timer_delete_data(). - EAP_FUNC_IMPORT eap_status_e timer_delete_data( - const u32_t id, void *data); - - // See abs_eap_am_message_if_c::send_data(). - EAP_FUNC_IMPORT eap_status_e send_data(const void * const data, const u32_t length); - - - EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values( - const eap_variable_data_c * const reference); - - EAP_FUNC_IMPORT eap_status_e get_802_11_authentication_mode( - const eap_am_network_id_c * const receive_network_id, - const eapol_key_authentication_type_e authentication_type, - const eap_variable_data_c * const SSID, - const eap_variable_data_c * const preshared_key); - - EAP_FUNC_IMPORT eap_status_e complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const receive_network_id, - const eapol_key_802_11_authentication_mode_e mode); - - //-------------------------------------------------- -}; // class eap_core_client_message_if_c - -//-------------------------------------------------- - -#endif //#if !defined(_EAP_CORE_CLIENT_MESSAGE_IF_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_core_map.h --- a/eapol/eapol_framework/eapol_common/include/eap_core_map.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_core_map.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5.1.3 % */ #if !defined(_EAP_TYPE_MAP_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_core_nak_info.h --- a/eapol/eapol_framework/eapol_common/include/eap_core_nak_info.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_core_nak_info.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_EAP_CORE_NAK_INFO_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_core_retransmission.h --- a/eapol/eapol_framework/eapol_common/include/eap_core_retransmission.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_core_retransmission.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8.1.2 % */ #if !defined(_GSMSIM_RETRANSMISSION_H_) @@ -32,7 +32,7 @@ * This class stores the information of re-transmission of EAP-packet. * @{ Add more comments. } */ -class EAP_EXPORT eap_core_retransmission_c +class eap_core_retransmission_c { private: diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_core_server_message_if.h --- a/eapol/eapol_framework/eapol_common/include/eap_core_server_message_if.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,345 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 17 % -*/ - -#if !defined(_EAP_CORE_SERVER_MESSAGE_IF_H_) -#define _EAP_CORE_SERVER_MESSAGE_IF_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" -#include "abs_eap_session_core.h" -#include "eap_variable_data.h" -#include "abs_eap_am_mutex.h" -#include "eap_session_core_base.h" -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_process_tlv_message_data.h" -#include "abs_eap_am_stack.h" -#include "eap_am_stack.h" - -#if defined(USE_EAP_SIMPLE_CONFIG) -#include "simple_config_types.h" -#include "simple_config_credential.h" -#include "simple_config_payloads.h" -#include "abs_eap_configuration_if.h" -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - - -/** @file */ - - -/// A eap_core_server_message_if_c class implements the basic functionality of EAPOL. -class EAP_EXPORT eap_core_server_message_if_c -: public abs_eap_session_core_c -, public eap_am_message_if_c -, public abs_eap_base_timer_c -, public abs_eap_am_stack_c -{ - -private: - //-------------------------------------------------- - - /// This is back pointer to object which created this object. - abs_eap_am_message_if_c * m_partner; - - /// This is pointer to the eap_core object. The eapol_core object gives - /// the received packets to the eap_core object. The eap_core object sends - /// packets through the eapol_core object. - eap_session_core_base_c * const m_eap_core; - - eap_am_stack_c * const m_am_stack; - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - /// This is offset in bytes of the EAP header. - u32_t m_eap_header_offset; - - /// This is maximum transfer unit in bytes. - u32_t m_MTU; - - /// This is length of the trailer in bytes. - u32_t m_trailer_length; - - eap_status_e m_error_code; - - eap_tlv_message_type_function_e m_error_function; - - /// This indicates whether this object is client (true) or server (false). - /// In terms of EAP-protocol whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - bool m_is_client; - - /// This indicates whether this object was generated successfully. - bool m_is_valid; - - bool m_shutdown_was_called; - - eap_status_e send_error_message( - const eap_status_e error_code, - const eap_tlv_message_type_function_e function); - - eap_status_e send_message(eap_process_tlv_message_data_c * const message); - - eap_status_e process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e process_message(eap_process_tlv_message_data_c * const message); - - eap_status_e create_eap_session( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e remove_eap_session( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e send_eap_identity_request( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e packet_process( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e eap_acknowledge( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e set_eap_database_reference_values( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e eap_mtu( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e get_802_11_authentication_mode( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - - eap_status_e complete_remove_eap_session( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id); - - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor deletes the m_eap_core object. - */ - EAP_FUNC_IMPORT virtual ~eap_core_server_message_if_c(); - - /** - * The constructor creates the eap_core object and initializes the m_eap_core - * to point the eap_core object. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - * @param partner is back pointer to object which created this object. - * @param is_client_when_true indicates whether the network entity should act - * as a client (true) or server (false), in terms of EAP-protocol whether - * this network entity is EAP-supplicant (true) or EAP-authenticator (false). - */ - EAP_FUNC_IMPORT eap_core_server_message_if_c( - abs_eap_am_tools_c * const tools, - const bool is_client_when_true, - const u32_t MTU); - - EAP_FUNC_IMPORT void set_partner(abs_eap_am_message_if_c * const partner); - - EAP_FUNC_IMPORT eap_status_e process_data(const void * const data, const u32_t length); - - /** - * The class could send packets to partner class with this function. - * eap_core_server_message_if_c adds EAPOL header to the send packet. - * @param send_network_id carries the addresses (network identity) and type of the packet. - * @param sent_packet includes the buffer for the whole packet and initialized - * EAP-packet in correct offset. - * @param header_offset is offset of the EAP-header within the sent_packet. - * @param data_length is length in bytes of the EAP-packet. - * @param buffer_length is length in bytes of the whole packet buffer. - */ - EAP_FUNC_IMPORT eap_status_e packet_send( - const eap_am_network_id_c * const send_network_id, - eap_buf_chain_wr_c * const sent_packet, - const u32_t header_offset, - const u32_t data_length, - const u32_t buffer_length); - - /** - * The get_header_offset() function obtains the header offset of EAP-packet. - * @param MTU_length is pointer to variable to store the maximum transfer unit (MTU). - * MTU is the maximum EAP-packet length in bytes - * @param trailer_length is pointer to the variable to store length - * of trailer needed by lower levels. - * @return Function returns the offset of EAP-header. - * @see abs_eap_core_c::get_header_offset(). - */ - EAP_FUNC_IMPORT u32_t get_header_offset( - u32_t * const MTU, - u32_t * const trailer_length); - - /** - * The load_module() function function indicates the lower level to - * load new module of EAP-type. - * @see abs_eap_core_c::load_module(). - */ - EAP_FUNC_IMPORT 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, - eap_base_type_c ** const eap_type, - const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id); - - /** - * The unload_module() function unloads the module of a EAP-type. - * @see abs_eap_core_c::unload_module(). - */ - EAP_FUNC_IMPORT eap_status_e unload_module( - const eap_type_value_e type); - - /** - * Note this function is just an example. Parameters will change later. - * The packet_data_crypto_keys() function gives the generated keys to lower level. - * After EAP-authentication has generated the keys it calls this function - * to offer the keys to lower level. - * @see abs_eap_base_type_c::packet_data_crypto_keys(). - */ - EAP_FUNC_IMPORT 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 documented in abs_eap_stack_interface_c::configure(). - EAP_FUNC_IMPORT eap_status_e configure( - const eap_variable_data_c * const client_configuration); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - EAP_FUNC_IMPORT eap_status_e shutdown(); - - /** - * The read_configure() function reads the configuration data identified - * by the field string of field_length bytes length. Adaptation module must direct - * the query to some persistent store. - * @see abs_eap_base_type_c::read_configure(). - */ - EAP_FUNC_IMPORT eap_status_e read_configure( - const eap_configuration_field_c * const field, - eap_variable_data_c * const data); - - /** - * The write_configure() function writes the configuration data identified - * by the field string of field_length bytes length. Adaptation module must direct - * the action to some persistent store. - * @see abs_eap_base_type_c::write_configure(). - */ - EAP_FUNC_IMPORT eap_status_e write_configure( - const eap_configuration_field_c * const field, - eap_variable_data_c * const data); - - // This is documented in abs_eap_stack_interface_c::set_is_valid(). - EAP_FUNC_IMPORT void set_is_valid(); - - // This is documented in abs_eap_stack_interface_c::get_is_valid(). - EAP_FUNC_IMPORT bool get_is_valid(); - - // See abs_eap_base_type_c::state_notification(). - EAP_FUNC_IMPORT void state_notification( - const abs_eap_state_notification_c * const state); - - // See abs_eap_base_timer_c::timer_expired(). - EAP_FUNC_IMPORT eap_status_e timer_expired( - const u32_t id, void *data); - - // See abs_eap_base_timer_c::timer_delete_data(). - EAP_FUNC_IMPORT eap_status_e timer_delete_data( - const u32_t id, void *data); - - /** - * This function tells lower layer to remove EAP session object asyncronously. - * @param send_network_id is pointer to network id that identifies the removed EAP session. - */ - EAP_FUNC_IMPORT eap_status_e asynchronous_init_remove_eap_session( - const eap_am_network_id_c * const send_network_id); - - /** - * The upper layer calls the asynchronous_start_authentication() function - * when EAP-authentication is needed with another peer. - * @see abs_eap_core_c::asynchronous_start_authentication(). - */ - EAP_FUNC_IMPORT eap_status_e asynchronous_start_authentication( - const eap_am_network_id_c * const /* receive_network_id */, - const bool /* is_client_when_true */); - - EAP_FUNC_IMPORT eap_status_e restart_authentication( - const eap_am_network_id_c * const send_network_id, - const bool is_client_when_true, - const bool force_clean_restart, - const bool from_timer = false); - - // - EAP_FUNC_IMPORT eap_status_e set_timer( - abs_eap_base_timer_c * const p_initializer, - const u32_t p_id, - void * const p_data, - const u32_t p_time_ms); - - EAP_FUNC_IMPORT eap_status_e cancel_timer( - abs_eap_base_timer_c * const p_initializer, - const u32_t p_id); - - // - EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type); - - // See abs_eap_core_c::get_eap_type_list(). - EAP_FUNC_IMPORT eap_status_e get_eap_type_list( - eap_array_c * const eap_type_list); - - /// @see abs_eap_core_c::add_rogue_ap(). - EAP_FUNC_IMPORT eap_status_e add_rogue_ap(eap_array_c & rogue_ap_list); - - // This is documented in abs_eap_core_c::set_session_timeout(). - EAP_FUNC_IMPORT eap_status_e set_session_timeout( - const u32_t session_timeout_ms); - -#if defined(USE_EAP_SIMPLE_CONFIG) - - EAP_FUNC_IMPORT eap_status_e save_simple_config_session( - const simple_config_state_e state, - EAP_TEMPLATE_CONST eap_array_c * const credential_array, - const eap_variable_data_c * const new_password, - const simple_config_Device_Password_ID_e Device_Password_ID, - const simple_config_payloads_c * const other_configuration); - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - - EAP_FUNC_IMPORT eap_status_e complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const receive_network_id, - const eapol_key_802_11_authentication_mode_e mode); - - //-------------------------------------------------- -}; // class eap_core_server_message_if_c - -#endif //#if !defined(_EAP_CORE_SERVER_MESSAGE_IF_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_crypto_api.h --- a/eapol/eapol_framework/eapol_common/include/eap_crypto_api.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_crypto_api.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #if !defined( _EAP_CRYPTO_API_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_database_reference_if.h --- a/eapol/eapol_framework/eapol_common/include/eap_database_reference_if.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined(_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_) -#define _EAPOL_WLAN_DATABASE_REFERENCE_IF_H_ - -//-------------------------------------------------- - -#include "eap_am_export.h" -#include "eap_am_types.h" -#include "eap_status.h" - - -/// This class is abstract interface to reference of WLAN database of the current connection. -class EAP_EXPORT eap_database_reference_if_c -{ - -private: - //-------------------------------------------------- - - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - virtual ~eap_database_reference_if_c() - { - } - - virtual eap_status_e set_eap_database_reference_values( - const eap_variable_data_c * const reference) = 0; - -}; // class eap_database_reference_if_c - - -#endif //#if !defined(_EAPOL_WLAN_DATABASE_REFERENCE_IF_H_) - -//-------------------------------------------------- - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_expanded_type.h --- a/eapol/eapol_framework/eapol_common/include/eap_expanded_type.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_expanded_type.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 18 % +* %version: 10.1.2 % */ #if !defined(_EAP_EXPANDED_TYPE_H_) @@ -43,8 +43,13 @@ }; +#if defined(USE_EAP_EXPANDED_TYPES) /// Enumeration of the IETF defined EAP-Type values. enum eap_type_ietf_values_e +#else +/// This is the original enumeration of the EAP-Type values. +enum eap_type_value_e +#endif //#if defined(USE_EAP_EXPANDED_TYPES) { eap_type_none = 0, ///< This is internal value for no type case. eap_type_identity = 1, ///< This is Identity. @@ -66,6 +71,12 @@ eap_type_fast = 43, ///< This is EAP-FAST type. #endif //#if defined(USE_FAST_EAP_TYPE) + eap_type_ttls_plain_pap = 98, // This is for TTLS/PAP. + +#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) + eap_type_plain_mschapv2 = 99, ///< This is used to indicate plain MSChapv2 inside TTLS tunnel. +#endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) + eap_type_saesim = 252, ///< This is just a test EAP-type. eap_type_dummy_sim = 253, ///< This is just a test EAP-type. @@ -73,6 +84,13 @@ eap_type_experimental_type = 255, ///< This is Experimental Type. }; + +#if !defined(USE_EAP_EXPANDED_TYPES) + typedef eap_type_value_e eap_type_ietf_values_e; +#endif //#if !defined(USE_EAP_EXPANDED_TYPES) + + + enum eap_type_vendor_id_e { eap_type_vendor_id_ietf = 0, @@ -85,9 +103,9 @@ { eap_type_vendor_type_secure_easy_setup = 10, eap_type_vendor_type_WFA_simple_config = 1, - eap_type_vendor_type_ttls_plain_pap_hack = 98, // This is for TTLS/PAP. + eap_type_vendor_type_ttls_plain_pap_hack = eap_type_ttls_plain_pap, // This is for TTLS/PAP. #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) - eap_type_vendor_type_plain_MSCHAPv2_hack = 99, // This is for plain MCHAPv2 and TTLS + eap_type_vendor_type_plain_MSCHAPv2_hack = eap_type_plain_mschapv2, // This is for plain MCHAPv2 and TTLS #endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) }; @@ -108,7 +126,6 @@ m_eap_expanded_type_size = m_ietf_type_size+m_vendor_id_size+m_vendor_type_size, }; - // This must not be virtual destructor. EAP_FUNC_IMPORT ~eap_expanded_type_c(); EAP_FUNC_IMPORT eap_expanded_type_c(); @@ -120,37 +137,30 @@ EAP_FUNC_IMPORT eap_expanded_type_c( const eap_type_ietf_values_e type); - EAP_FUNC_IMPORT bool get_is_valid() const; - - EAP_FUNC_IMPORT bool get_is_valid_data() const; - - EAP_FUNC_IMPORT eap_expanded_type_c * copy() const; - EAP_FUNC_IMPORT static bool is_expanded_type(const eap_type_ietf_values_e eap_type); +#if defined(USE_EAP_EXPANDED_TYPES) EAP_FUNC_IMPORT static bool is_ietf_type(const eap_expanded_type_c eap_type); +#else + EAP_FUNC_IMPORT static bool is_ietf_type(const eap_type_ietf_values_e eap_type); +#endif //#if defined(USE_EAP_EXPANDED_TYPES) EAP_FUNC_IMPORT eap_status_e get_type_data( abs_eap_am_tools_c * const am_tools, - eap_type_ietf_values_e * const type) const; + eap_type_ietf_values_e * const type); EAP_FUNC_IMPORT eap_status_e get_type_data( abs_eap_am_tools_c * const am_tools, - eap_expanded_type_c * const type) const; + eap_expanded_type_c * const type); EAP_FUNC_IMPORT eap_status_e get_expanded_type_data( abs_eap_am_tools_c * const am_tools, - eap_variable_data_c * const data) const; + eap_variable_data_c * const data); EAP_FUNC_IMPORT eap_status_e set_expanded_type_data( abs_eap_am_tools_c * const am_tools, const eap_variable_data_c * const data); - EAP_FUNC_IMPORT eap_status_e set_expanded_type_data( - abs_eap_am_tools_c * const am_tools, - const void * const data, - const u32_t data_length); - EAP_FUNC_IMPORT void set_eap_type_values( const eap_type_vendor_id_e vendor_id, const u32_t vendor_type); @@ -183,7 +193,11 @@ const u32_t index, const void * const buffer, const u32_t buffer_length, +#if defined(USE_EAP_EXPANDED_TYPES) eap_expanded_type_c * const type +#else + eap_type_ietf_values_e * const type +#endif //#if defined(USE_EAP_EXPANDED_TYPES) ); /// This function writes EAP-type to offset. @@ -193,10 +207,16 @@ void * const buffer, const u32_t buffer_length, const bool write_extented_type_when_true, ///< True value writes always Extented Type. +#if defined(USE_EAP_EXPANDED_TYPES) const eap_expanded_type_c p_type ///< The EAP type to be written. +#else + const eap_type_ietf_values_e p_type ///< The EAP type to be written. +#endif //#if defined(USE_EAP_EXPANDED_TYPES) ); +#if defined(USE_EAP_EXPANDED_TYPES) EAP_FUNC_IMPORT i32_t compare(const eap_expanded_type_c * const data) const; +#endif //#if defined(USE_EAP_EXPANDED_TYPES) private: @@ -257,12 +277,21 @@ //----------------------------------------------------------------------------------------- -typedef eap_expanded_type_c eap_type_value_e; +#if defined(USE_EAP_EXPANDED_TYPES) + + typedef eap_expanded_type_c eap_type_value_e; + EAP_C_FUNC_IMPORT u32_t convert_eap_type_to_u32_t(eap_type_value_e type); + + EAP_C_FUNC_IMPORT u64_t convert_eap_type_to_u64_t(eap_type_value_e type); -EAP_C_FUNC_IMPORT u32_t convert_eap_type_to_u32_t(eap_type_value_e type); +#else + + EAP_C_FUNC_IMPORT u32_t convert_eap_type_to_u32_t(eap_type_value_e type); -EAP_C_FUNC_IMPORT u64_t convert_eap_type_to_u64_t(eap_type_value_e type); + EAP_C_FUNC_IMPORT u64_t convert_eap_type_to_u64_t(eap_type_value_e type); + +#endif //#if defined(USE_EAP_EXPANDED_TYPES) //----------------------------------------------------------------------------------------- diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_general_header_base.h --- a/eapol/eapol_framework/eapol_common/include/eap_general_header_base.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_general_header_base.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_EAP_GENERAL_HEADER_BASE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_general_settings_client_message_if.h --- a/eapol/eapol_framework/eapol_common/include/eap_general_settings_client_message_if.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,150 +0,0 @@ -/* -* 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: Class creates and reads the messages used in EAP-general settings interface on the client side. -* -*/ - -/* -* %version: 8 % -*/ - -#if !defined(_EAP_GENERAL_SETTINGS_CLIENT_MESSAGE_IF_H_) -#define _EAP_GENERAL_SETTINGS_CLIENT_MESSAGE_IF_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" -#include "eap_plugin_message_base.h" -#include "abs_eap_am_message_if.h" -#include "eap_array.h" -#include "eap_process_tlv_message_data.h" -#include "eap_general_settings_message.h" - -class eap_method_settings_c; -class eap_am_message_if_c; -class abs_eap_general_settings_message_c; -class eap_tlv_header_c; - -/// Class creates and reads the messages used in EAP-general settings interface on the client side. -class EAP_EXPORT eap_general_settings_client_message_if_c -: public abs_eap_am_message_if_c -, public eap_general_settings_message_c -{ -private: - //-------------------------------------------------- - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - /// eap_general_settings_client_message_if_c deletes m_client_if in destructor. - eap_am_message_if_c * m_client_if; - - /// This is back pointer to object which created this object. - /// Packets are sent to the partner. - abs_eap_general_settings_message_c * const m_partner; - - /// This indicates whether this object was generated successfully. - bool m_is_valid; - - eap_status_e m_error_code; - - eap_tlv_message_type_function_e m_error_function; - - - eap_status_e complete_set_eap_methods( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_get_eap_methods( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_get_certificate_lists( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_delete_all_eap_settings( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_copy_all_eap_settings( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - - eap_status_e process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e process_message(eap_process_tlv_message_data_c * const message); - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor of the eap_core class does nothing special. - */ - EAP_FUNC_IMPORT virtual ~eap_general_settings_client_message_if_c(); - - /** - * The constructor initializes member attributes using parameters passed to it. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - * @param client_if is pointer to object which forwards message to the server. - * @param partner is back pointer to the user of EAP-general settings. - */ - EAP_FUNC_IMPORT eap_general_settings_client_message_if_c( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const client_if, - abs_eap_general_settings_message_c * const partner); - - /** - * This function must reset the state of object to same as - * state was after the configure() function call. - * If object reset succeeds this function must return eap_status_ok. - * 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(); - - // This is documented in abs_eap_stack_interface_c::configure(). - EAP_FUNC_IMPORT eap_status_e configure(); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - EAP_FUNC_IMPORT eap_status_e shutdown(); - - // This is documented in abs_eap_stack_interface_c::get_is_valid(). - EAP_FUNC_IMPORT bool get_is_valid(); - - EAP_FUNC_IMPORT eap_status_e get_eap_methods(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e set_eap_methods(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e get_certificate_lists(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e delete_all_eap_settings(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e copy_all_eap_settings(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e send_data(const void * const data, const u32_t length); - - //-------------------------------------------------- -}; // class eap_general_settings_client_message_if_c - -//-------------------------------------------------- - -#endif //#if !defined(_EAP_GENERAL_SETTINGS_CLIENT_MESSAGE_IF_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_general_settings_message.h --- a/eapol/eapol_framework/eapol_common/include/eap_general_settings_message.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,100 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Class is interface from user of EAP-general settings to eap_general_settings_client_message_if_c. -* -*/ - -/* -* %version: 7 % -*/ - -#if !defined(_EAP_GENERAL_SETTINGS_MESSAGE_BASE_H_) -#define _EAP_GENERAL_SETTINGS_MESSAGE_BASE_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" - -class abs_eap_general_settings_message_c; -class eap_method_settings_c; - -/// Class is interface from user of EAP-general settings to eap_general_settings_client_message_if_c. -class EAP_EXPORT eap_general_settings_message_c -{ -private: - //-------------------------------------------------- - - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor of the eap_core class does nothing special. - */ - EAP_FUNC_IMPORT virtual ~eap_general_settings_message_c(); - - /** - * The constructor initializes member attributes. - */ - EAP_FUNC_IMPORT eap_general_settings_message_c(); - - /** - * This function must reset the state of object to same as - * state was after the configure() function call. - * If object reset succeeds this function must return eap_status_ok. - * If object reset fails this function must return corresponding error status. - * @return This function returns the status of reset operation. - */ - virtual eap_status_e reset() = 0; - - // This is documented in abs_eap_stack_interface_c::configure(). - virtual eap_status_e configure() = 0; - - // This is documented in abs_eap_stack_interface_c::shutdown(). - virtual eap_status_e shutdown() = 0; - - // This is documented in abs_eap_stack_interface_c::get_is_valid(). - virtual bool get_is_valid() = 0; - - virtual eap_status_e get_eap_methods(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e set_eap_methods(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e get_certificate_lists(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e delete_all_eap_settings(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e copy_all_eap_settings(const eap_method_settings_c * const internal_settings) = 0; - - //-------------------------------------------------- -}; // class eap_general_settings_message_c - -/// Function creates new eap_general_settings_message_c object. -eap_general_settings_message_c * new_eap_general_settings_client_message_if_c( - abs_eap_am_tools_c * const tools, - abs_eap_general_settings_message_c * const partner); - -//-------------------------------------------------- - -#endif //#if !defined(_EAP_GENERAL_SETTINGS_MESSAGE_BASE_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_general_settings_server_message_if.h --- a/eapol/eapol_framework/eapol_common/include/eap_general_settings_server_message_if.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,164 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Class creates and reads the messages used in EAP-general settings interface on the server side. -* -*/ - -/* -* %version: 10 % -*/ - -#if !defined(_EAP_GENERAL_SETTINGS_SERVER_MESSAGE_IF_H_) -#define _EAP_GENERAL_SETTINGS_SERVER_MESSAGE_IF_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" -#include "abs_eap_session_core.h" -#include "eap_variable_data.h" -#include "abs_eap_am_mutex.h" -#include "eap_session_core_base.h" -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_process_tlv_message_data.h" -#include "abs_eap_am_general_settings.h" -#include "eap_am_general_settings.h" - - -/** @file */ - - -/// Class creates and reads the messages used in EAP-general settings interface on the server side. -class EAP_EXPORT eap_general_settings_server_message_if_c -: public abs_eap_am_general_settings_c -, public eap_am_message_if_c -, public abs_eap_base_timer_c -{ - -private: - //-------------------------------------------------- - - /// This is back pointer to object which created this object. - abs_eap_am_message_if_c * m_partner; - - eap_am_general_settings_c * const m_am_settings; - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - eap_status_e m_error_code; - - eap_tlv_message_type_function_e m_error_function; - - /// This indicates whether this object is client (true) or server (false). - /// In terms of EAP-protocol whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - bool m_is_client; - - /// This indicates whether this object was generated successfully. - bool m_is_valid; - - bool m_shutdown_was_called; - - eap_status_e send_error_message( - const eap_status_e error_code, - const eap_tlv_message_type_function_e function); - - eap_status_e send_message(eap_process_tlv_message_data_c * const message); - - eap_status_e process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e process_message(eap_process_tlv_message_data_c * const message); - - eap_status_e set_eap_methods( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e get_eap_methods( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e get_certificate_lists( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e delete_all_eap_settings( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e copy_all_eap_settings( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor deletes the m_eap_core object. - */ - EAP_FUNC_IMPORT virtual ~eap_general_settings_server_message_if_c(); - - /** - * The constructor creates the eap_core object and initializes the m_eap_core - * to point the eap_core object. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - */ - EAP_FUNC_IMPORT eap_general_settings_server_message_if_c( - abs_eap_am_tools_c * const tools); - - EAP_FUNC_IMPORT void set_partner(abs_eap_am_message_if_c * const partner); - - EAP_FUNC_IMPORT eap_status_e process_data(const void * const data, const u32_t length); - - // This is documented in abs_eap_stack_interface_c::configure(). - EAP_FUNC_IMPORT eap_status_e configure( - const eap_variable_data_c * const client_configuration); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - EAP_FUNC_IMPORT eap_status_e shutdown(); - - // This is documented in abs_eap_stack_interface_c::set_is_valid(). - EAP_FUNC_IMPORT void set_is_valid(); - - // This is documented in abs_eap_stack_interface_c::get_is_valid(). - EAP_FUNC_IMPORT bool get_is_valid(); - - // See abs_eap_base_timer_c::timer_expired(). - EAP_FUNC_IMPORT eap_status_e timer_expired( - const u32_t id, void *data); - - // See abs_eap_base_timer_c::timer_delete_data(). - EAP_FUNC_IMPORT eap_status_e timer_delete_data( - const u32_t id, void *data); - - - EAP_FUNC_IMPORT eap_status_e complete_set_eap_methods(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e complete_get_eap_methods(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e complete_get_certificate_lists(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e complete_delete_all_eap_settings(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e complete_copy_all_eap_settings(const eap_method_settings_c * const internal_settings); - - //-------------------------------------------------- -}; // class eap_general_settings_server_message_if_c - -#endif //#if !defined(_EAP_GENERAL_SETTINGS_SERVER_MESSAGE_IF_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_handle.h --- a/eapol/eapol_framework/eapol_common/include/eap_handle.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_handle.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #error Do not use this anymore. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_header.h --- a/eapol/eapol_framework/eapol_common/include/eap_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 6 % */ #if !defined(_EAP_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_header_string.h --- a/eapol/eapol_framework/eapol_common/include/eap_header_string.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_header_string.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined( _EAP_HEADER_STRING_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_master_session_key.h --- a/eapol/eapol_framework/eapol_common/include/eap_master_session_key.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_master_session_key.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined(_EAP_MASTER_SESSION_KEY_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_memory_store_variable_data.h --- a/eapol/eapol_framework/eapol_common/include/eap_memory_store_variable_data.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_memory_store_variable_data.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #ifndef EAP_MEMORY_STORE_VARIABLE_DATA_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_method_settings.h --- a/eapol/eapol_framework/eapol_common/include/eap_method_settings.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,312 +0,0 @@ -/* -* 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-settings class. -* -*/ - -/* -* %version: 23 % -*/ - -#ifndef _EAP_METHOD_SETTINGS_H_ -#define _EAP_METHOD_SETTINGS_H_ - -#include "eap_am_tools.h" -#include "eap_expanded_type.h" -#include "eap_variable_data.h" -#include "eap_array.h" - -//------------------------------------------------------------------------------- - -class eap_certificate_entry_c -{ - -private: - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - -public: - - eap_certificate_entry_c( - abs_eap_am_tools_c * const tools); - - virtual ~eap_certificate_entry_c(); - - enum eap_certificate_type_e - { - eap_certificate_type_none, - eap_certificate_type_user, - eap_certificate_type_CA, - }; - - bool get_is_valid(); - - bool get_is_valid_data(); - - eap_certificate_entry_c * copy(); - - void trace() const; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Specifies whether this entry describes user or CA certificate (mandatory) - eap_certificate_type_e m_CertType; - - // Subject name in distinguished name ASCII form. This is optional. - // For example "/C=US/O=Some organization/CN=Some common name". - bool m_SubjectNamePresent; - eap_variable_data_c m_SubjectName; - - // Issuer name in distinguished name ASCII form. This is optional. - // For example "/C=US/O=Some organization/CN=Some common name". - bool m_IssuerNamePresent; - eap_variable_data_c m_IssuerName; - - // Serial number in ASCII form. This is optional. - bool m_SerialNumberPresent; - eap_variable_data_c m_SerialNumber; - - // Subject key in binary form. This is mandatory. - bool m_SubjectKeyIDPresent; - eap_variable_data_c m_SubjectKeyID; - - // Thumbprint in binary form. This is optional. - bool m_ThumbprintPresent; - eap_variable_data_c m_Thumbprint; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // This holds only the certificate label. This is the text UI will show. - bool m_LabelPresent; - eap_variable_data_c m_Label; - - // Primary name of the certificate if any, UI uses this. - bool m_PrimaryNamePresent; - eap_variable_data_c m_PrimaryName; - - // Secondary name of the certificate if any, UI uses this. - bool m_SecondaryNamePresent; - eap_variable_data_c m_SecondaryName; - - // UI uses this to indicate enabled certificate. - bool m_iIsEnabledPresent; - bool m_iIsEnabled; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -}; - -//------------------------------------------------------------------------------- - -class eap_method_values_c -{ - -private: - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - -protected: - - abs_eap_am_tools_c * get_am_tools() const; - -public: - - eap_method_values_c( - abs_eap_am_tools_c * const tools); - - virtual ~eap_method_values_c(); - - bool m_is_valid; - - /// Status of the operation. - eap_status_e m_completion_status; - - /// Specifies the EAP-method these settings are for. - eap_type_value_e m_EAPType; - - /// Specifies the index type (bearer protocol) these settings are for. - /// Values are ELan or EVpn. - u32_t m_IndexType; - - /// Specifies unique index in the settings of the bearer protocol. - u32_t m_Index; - - /// Use automatic Ca certificate. - bool m_UseAutomaticCACertificatePresent; - bool m_UseAutomaticCACertificate; - - /// Use automatic username. - bool m_UseAutomaticUsernamePresent; - bool m_UseAutomaticUsername; - - /// Use automatic realm. - bool m_UseAutomaticRealmPresent; - bool m_UseAutomaticRealm; - - /// Username in ASCII format - bool m_UsernamePresent; - eap_variable_data_c m_Username_fix; - - /// Get: Whether password is stored in database. - /// Set: Whether password must be cleared from database. - bool m_PasswordExistPresent; - bool m_PasswordExist; - - /// Password in ASCII format - bool m_PasswordPresent; - eap_variable_data_c m_Password; - - /// Realm in ASCII format - bool m_RealmPresent; - eap_variable_data_c m_Realm; - - /// Use pseudonym identities in EAP-SIM/AKA - bool m_UsePseudonymsPresent; - bool m_UsePseudonyms; - - /// Whether EAP-TLS/TTLS/PEAP should verify server realm - bool m_VerifyServerRealmPresent; - bool m_VerifyServerRealm; - - /// Whether EAP-TLS/TTLS/PEAP should require client authentication - bool m_RequireClientAuthenticationPresent; - bool m_RequireClientAuthentication; - - /// General session validity time (in minutes) - bool m_SessionValidityTimePresent; - u32_t m_SessionValidityTime; - - /// An array of allowed cipher suites for EAP-TLS/TTLS/PEAP. - /// Refer to RFC2246 chapter A.5 for the values. - bool m_CipherSuitesPresent; - eap_array_c m_CipherSuites; - - /// Which EAP-PEAP versions are allowed - bool m_PEAPVersionsPresent; - bool m_PEAPv0Allowed; - bool m_PEAPv1Allowed; - bool m_PEAPv2Allowed; - - /// Array listing the allowed certificates for EAP-TLS/TTLS/PEAP. - /// Subject key ID and Certificate type are the only mandatory certificate - /// details needed at the moment. - bool m_CertificatesPresent; - eap_array_c m_Certificates; - - /// Array listing the allowed encapsulated EAP types (in priority order). - /// Use EAP type values from eap_type_value_e. - bool m_EnabledEncapsulatedEAPTypesPresent; - eap_array_c m_EnabledEncapsulatedEAPTypes; - - /// Array listing the disabled encapsulated EAP types. - /// Use EAP type values from eap_type_value_e. - bool m_DisabledEncapsulatedEAPTypesPresent; - eap_array_c m_DisabledEncapsulatedEAPTypes; - - /// Whether Authenticated provisioning mode allowed or not in EAP-FAST. - bool m_AuthProvModeAllowedPresent; - bool m_AuthProvModeAllowed; - - /// Whether Unauthenticated provisioning mode allowed or not in EAP-FAST. - bool m_UnauthProvModeAllowedPresent; - bool m_UnauthProvModeAllowed; - - /// PAC group reference in ASCII format for EAP-FAST. - bool m_PACGroupReferencePresent; - eap_variable_data_c m_PACGroupReference; - - /// Whether to Warn (or Prompt) for ADHP (Authenticated Diffie-Hellman Protocol) - /// auto-provisioning when there is no PAC at all. EAP-FAST specific. - bool m_WarnADHPNoPACPresent; - bool m_WarnADHPNoPAC; - - /// Whether to Warn (or Prompt) for ADHP auto-provisioning when - /// there is no PAC that matches the A-ID sent by server. EAP-FAST specific. - bool m_WarnADHPNoMatchingPACPresent; - bool m_WarnADHPNoMatchingPAC; - - /// Whether to Warn (or Prompt) when client encouters a server that has provisioned - /// the client with a PAC before but is not currently selected as the default server. - /// EAP-FAST specific. - bool m_WarnNotDefaultServerPresent; - bool m_WarnNotDefaultServer; - - // Array listing the active and disabled EAP types (in priority order). - // Use EAP type values from eap_type_value_e. - bool m_SelectedEAPTypesPresent; - eap_array_c m_active_eap_methods; - eap_array_c m_disabled_eap_methods; - - bool m_TunnelingTypePresent; - eap_type_value_e m_TunnelingType; - - bool m_DestinationIndexAndTypePresent; - u32_t m_DestinationIndexType; - u32_t m_DestinationIndex; - - bool m_MethodInfoPresent; - eap_variable_data_c m_KReleaseDate; - eap_variable_data_c m_KEapTypeVersion; - eap_variable_data_c m_KManufacturer; - - bool m_ButtonIdPresent; // JPH: remove this - i32_t m_ButtonId; // JPH: remove this - - bool m_ShowPassWordPromptPresent; - bool m_ShowPassWordPrompt; - - bool m_UseIdentityPrivacyPresent; - bool m_UseIdentityPrivacy; - -}; - -//------------------------------------------------------------------------------- - -class eap_method_settings_c -: public eap_method_values_c -{ -public: - - eap_method_settings_c( - abs_eap_am_tools_c * const tools); - - eap_method_settings_c( - abs_eap_am_tools_c * const tools, - const eap_method_settings_c * const init); - - virtual ~eap_method_settings_c(); - - void trace() const; - -}; - -//------------------------------------------------------------------------------- - -#if defined(USE_EAP_TRACE) - - #define EAP_TRACE_METHOD_SETTINGS(settings) { (settings)->trace(); } - -#else - - #define EAP_TRACE_METHOD_SETTINGS(settings) - -#endif //#if defined(USE_EAP_TRACE) - - -//------------------------------------------------------------------------------- - -#endif //#ifndef _EAP_METHOD_SETTINGS_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_network_id_selector.h --- a/eapol/eapol_framework/eapol_common/include/eap_network_id_selector.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_network_id_selector.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_EAP_NETWORK_ID_SELECTOR_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_pac_store_client_message_if.h --- a/eapol/eapol_framework/eapol_common/include/eap_pac_store_client_message_if.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,185 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined(_EAP_PAC_STORE_CLIENT_MESSAGE_IF_H_) -#define _EAP_PAC_STORE_CLIENT_MESSAGE_IF_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" -#include "eap_pac_store_message_base.h" -#include "abs_eap_am_message_if.h" -#include "eap_array.h" -#include "eap_process_tlv_message_data.h" -#include "eap_am_message_if.h" -#include "abs_eap_pac_store_message.h" - -class eap_method_settings_c; -class eap_am_message_if_c; -class abs_eap_pac_store_message_c; -class eap_tlv_header_c; - -/// A eap_pac_store_client_message_if_c class implements mapping of EAP authentication sessions. -/// Network identity separates parallel EAP authentication sessions. -class EAP_EXPORT eap_pac_store_client_message_if_c -: public eap_pac_store_message_base_c -, public abs_eap_am_message_if_c -{ -private: - //-------------------------------------------------- - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - /// eap_pac_store_client_message_if_c deletes m_client_if in destructor. - eap_am_message_if_c * m_client_if; - - /// This is back pointer to object which created this object. - /// Packets are sent to the partner. - abs_eap_pac_store_message_c * const m_partner; - - /// This indicates whether this object was generated successfully. - bool m_is_valid; - - eap_status_e m_error_code; - - eap_tlv_message_type_function_e m_error_function; - - eap_status_e complete_open_pac_store( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_create_device_seed( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_is_master_key_present( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_is_master_key_and_password_matching( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_create_and_save_master_key( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_compare_pac_store_password( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_is_pacstore_password_present( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_set_pac_store_password( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_destroy_pac_store( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor of the eap_core class does nothing special. - */ - EAP_FUNC_IMPORT virtual ~eap_pac_store_client_message_if_c(); - - /** - * The constructor initializes member attributes using parameters passed to it. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - * @param partner is back pointer to object which created this object. - * @param is_client_when_true indicates whether the network entity should act - * as a client (true) or server (false), in terms of EAP-protocol - * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - */ - EAP_FUNC_IMPORT eap_pac_store_client_message_if_c( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const client_if, - abs_eap_pac_store_message_c * const partner); - - /** - * This function must reset the state of object to same as - * state was after the configure() function call. - * If object reset succeeds this function must return eap_status_ok. - * 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(); - - // This is documented in abs_eap_stack_interface_c::configure(). - EAP_FUNC_IMPORT eap_status_e configure(); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - EAP_FUNC_IMPORT eap_status_e shutdown(); - - // This is documented in abs_eap_stack_interface_c::get_is_valid(). - EAP_FUNC_IMPORT bool get_is_valid(); - - EAP_FUNC_IMPORT eap_status_e process_message(eap_process_tlv_message_data_c * const message); - - EAP_FUNC_IMPORT eap_status_e send_data(const void * const data, const u32_t length); - - EAP_FUNC_IMPORT eap_status_e open_pac_store( - const eap_status_e completion_status); - - EAP_FUNC_IMPORT eap_status_e create_device_seed( - const eap_status_e completion_status); - - EAP_FUNC_IMPORT eap_status_e is_master_key_present( - const eap_status_e completion_status); - - EAP_FUNC_IMPORT eap_status_e is_master_key_and_password_matching( - const eap_variable_data_c * const pac_store_password - ,const eap_status_e completion_status); - - EAP_FUNC_IMPORT eap_status_e create_and_save_master_key( - const eap_variable_data_c * const pac_store_password - ,const eap_status_e completion_status); - - EAP_FUNC_IMPORT eap_status_e compare_pac_store_password( - eap_variable_data_c * const pac_store_password); - - EAP_FUNC_IMPORT eap_status_e is_pacstore_password_present(); - - EAP_FUNC_IMPORT eap_status_e set_pac_store_password( - const eap_variable_data_c * const pac_store_password - ,const eap_status_e completion_status); - - EAP_FUNC_IMPORT eap_status_e destroy_pac_store( - const eap_status_e completion_status); - - - - //-------------------------------------------------- -}; // class eap_pac_store_client_message_if_c - -//-------------------------------------------------- - -#endif //#if !defined(_EAP_PAC_STORE_CLIENT_MESSAGE_IF_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_pac_store_message_base.h --- a/eapol/eapol_framework/eapol_common/include/eap_pac_store_message_base.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,126 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined(_EAP_PAC_STORE_MESSAGE_BASE_H_) -#define _EAP_PAC_STORE_MESSAGE_BASE_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" - -class eap_method_settings_c; -class abs_eap_pac_store_message_c; - -/// A eap_pac_store_message_base_c class implements mapping of EAP authentication sessions. -/// Network identity separates parallel EAP authentication sessions. -class EAP_EXPORT eap_pac_store_message_base_c -{ -private: - //-------------------------------------------------- - - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor of the eap_core class does nothing special. - */ - EAP_FUNC_IMPORT virtual ~eap_pac_store_message_base_c(); - - /** - * The constructor initializes member attributes using parameters passed to it. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - * @param partner is back pointer to object which created this object. - * @param is_client_when_true indicates whether the network entity should act - * as a client (true) or server (false), in terms of EAP-protocol - * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - */ - EAP_FUNC_IMPORT eap_pac_store_message_base_c(); - - /** - * This function must reset the state of object to same as - * state was after the configure() function call. - * If object reset succeeds this function must return eap_status_ok. - * If object reset fails this function must return corresponding error status. - * @return This function returns the status of reset operation. - */ - virtual eap_status_e reset() = 0; - - // This is documented in abs_eap_stack_interface_c::configure(). - virtual eap_status_e configure() = 0; - - // This is documented in abs_eap_stack_interface_c::shutdown(). - virtual eap_status_e shutdown() = 0; - - // This is documented in abs_eap_stack_interface_c::get_is_valid(). - virtual bool get_is_valid() = 0; - - virtual eap_status_e open_pac_store( - const eap_status_e completion_status) = 0; - - virtual eap_status_e create_device_seed( - const eap_status_e completion_status) = 0; - - virtual eap_status_e is_master_key_present( - const eap_status_e completion_status) = 0; - - virtual eap_status_e is_master_key_and_password_matching( - const eap_variable_data_c * const pac_store_password - ,const eap_status_e completion_status) = 0; - - virtual eap_status_e create_and_save_master_key( - const eap_variable_data_c * const pac_store_password - ,const eap_status_e completion_status) = 0; - - virtual eap_status_e compare_pac_store_password( - eap_variable_data_c * const pac_store_password) = 0; - - virtual eap_status_e is_pacstore_password_present() = 0; - - virtual eap_status_e set_pac_store_password( - const eap_variable_data_c * pac_store_password - ,const eap_status_e completion_status) = 0; - - virtual eap_status_e destroy_pac_store( - const eap_status_e completion_status) = 0; - - //-------------------------------------------------- - - static eap_pac_store_message_base_c * new_eap_pac_store_client_message_if_c( - abs_eap_am_tools_c * const tools, - abs_eap_pac_store_message_c * const partner); - - //-------------------------------------------------- -}; // class eap_pac_store_message_base_c - -//-------------------------------------------------- - -#endif //#if !defined(_EAP_PAC_STORE_MESSAGE_BASE_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_pac_store_server_message_if.h --- a/eapol/eapol_framework/eapol_common/include/eap_pac_store_server_message_if.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,188 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined(_EAP_PAC_STORE_SERVER_MESSAGE_IF_H_) -#define _EAP_PAC_STORE_SERVER_MESSAGE_IF_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" -#include "abs_eap_session_core.h" -#include "eap_variable_data.h" -#include "abs_eap_am_mutex.h" -#include "eap_session_core_base.h" -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_process_tlv_message_data.h" -#include "abs_eap_am_pac_store.h" -#include "eap_am_pac_store.h" - - -/** @file */ - - -/// A eap_pac_store_server_message_if_c class implements the basic functionality of EAPOL. -class EAP_EXPORT eap_pac_store_server_message_if_c -: public abs_eap_am_pac_store_c -, public eap_am_message_if_c -, public abs_eap_base_timer_c -{ - -private: - //-------------------------------------------------- - - /// This is back pointer to object which created this object. - abs_eap_am_message_if_c * m_partner; - - eap_am_pac_store_c * const m_am_client; - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - eap_status_e m_error_code; - - eap_tlv_message_type_function_e m_error_function; - - /// This indicates whether this object is client (true) or server (false). - /// In terms of EAP-protocol whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - bool m_is_client; - - /// This indicates whether this object was generated successfully. - bool m_is_valid; - - bool m_shutdown_was_called; - - eap_status_e send_error_message( - const eap_status_e error_code, - const eap_tlv_message_type_function_e function); - - eap_status_e send_message(eap_process_tlv_message_data_c * const message); - - eap_status_e process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e process_message(eap_process_tlv_message_data_c * const message); - - eap_status_e open_pac_store(EAP_TEMPLATE_CONST eap_array_c * const parameters); - eap_status_e create_device_seed(EAP_TEMPLATE_CONST eap_array_c * const parameters); - eap_status_e is_master_key_present(EAP_TEMPLATE_CONST eap_array_c * const parameters); - eap_status_e is_master_key_and_password_matching(EAP_TEMPLATE_CONST eap_array_c * const parameters); - eap_status_e create_and_save_master_key(EAP_TEMPLATE_CONST eap_array_c * const parameters); - eap_status_e compare_pac_store_password(EAP_TEMPLATE_CONST eap_array_c * const parameters); - eap_status_e is_pacstore_password_present(EAP_TEMPLATE_CONST eap_array_c * const parameters); - eap_status_e set_pac_store_password(EAP_TEMPLATE_CONST eap_array_c * const parameters); - eap_status_e destroy_pac_store(EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e set_eap_methods( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e get_eap_methods( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e get_certificate_lists( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor deletes the m_eap_core object. - */ - EAP_FUNC_IMPORT virtual ~eap_pac_store_server_message_if_c(); - - /** - * The constructor creates the eap_core object and initializes the m_eap_core - * to point the eap_core object. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - */ - EAP_FUNC_IMPORT eap_pac_store_server_message_if_c( - abs_eap_am_tools_c * const tools); - - static eap_pac_store_server_message_if_c * new_eap_pac_store_server_message_if_c( - abs_eap_am_tools_c * const tools); - - EAP_FUNC_IMPORT void set_partner(abs_eap_am_message_if_c * const partner); - - EAP_FUNC_IMPORT eap_status_e process_data(const void * const data, const u32_t length); - - // This is documented in abs_eap_stack_interface_c::configure(). - EAP_FUNC_IMPORT eap_status_e configure( - const eap_variable_data_c * const client_configuration); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - EAP_FUNC_IMPORT eap_status_e shutdown(); - - // This is documented in abs_eap_stack_interface_c::set_is_valid(). - EAP_FUNC_IMPORT void set_is_valid(); - - // This is documented in abs_eap_stack_interface_c::get_is_valid(). - EAP_FUNC_IMPORT bool get_is_valid(); - - // See abs_eap_base_timer_c::timer_expired(). - EAP_FUNC_IMPORT eap_status_e timer_expired( - const u32_t id, void *data); - - // See abs_eap_base_timer_c::timer_delete_data(). - EAP_FUNC_IMPORT eap_status_e timer_delete_data( - const u32_t id, void *data); - - - EAP_FUNC_IMPORT eap_status_e complete_open_pac_store( - const eap_status_e completion_status); - - EAP_FUNC_IMPORT eap_status_e complete_create_device_seed( - const eap_status_e completion_status); - - EAP_FUNC_IMPORT eap_status_e complete_is_master_key_present( - const bool is_present); - - EAP_FUNC_IMPORT eap_status_e complete_is_master_key_and_password_matching( - const bool is_matching); - - EAP_FUNC_IMPORT eap_status_e complete_create_and_save_master_key( - const eap_status_e completion_status); - - EAP_FUNC_IMPORT eap_status_e complete_is_pacstore_password_present( - const bool is_present); - - EAP_FUNC_IMPORT eap_status_e complete_compare_pac_store_password( - const bool is_matching); - - EAP_FUNC_IMPORT eap_status_e complete_set_pac_store_password( - const eap_status_e completion_status); - - EAP_FUNC_IMPORT eap_status_e complete_destroy_pac_store( - const eap_status_e completion_status); - - //-------------------------------------------------- -}; // class eap_pac_store_server_message_if_c - -#endif //#if !defined(_EAP_PAC_STORE_SERVER_MESSAGE_IF_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_plugin_client_message_if.h --- a/eapol/eapol_framework/eapol_common/include/eap_plugin_client_message_if.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,162 +0,0 @@ -/* -* 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-plugin interface message class. -* -*/ - -/* -* %version: 6 % -*/ - -#if !defined(_EAP_PLUGIN_CLIENT_MESSAGE_IF_H_) -#define _EAP_PLUGIN_CLIENT_MESSAGE_IF_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" -#include "eap_plugin_message_base.h" -#include "abs_eap_am_message_if.h" -#include "eap_array.h" -#include "eap_process_tlv_message_data.h" - -class eap_method_settings_c; -class eap_am_message_if_c; -class abs_eap_plugin_message_c; -class eap_tlv_header_c; - -/// A eap_plugin_client_message_if_c class implements mapping of EAP authentication sessions. -/// Network identity separates parallel EAP authentication sessions. -class EAP_EXPORT eap_plugin_client_message_if_c -: public eap_plugin_message_base_c -, public abs_eap_am_message_if_c -{ -private: - //-------------------------------------------------- - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - /// eap_plugin_client_message_if_c deletes m_client_if in destructor. - eap_am_message_if_c * m_client_if; - - /// This is back pointer to object which created this object. - /// Packets are sent to the partner. - abs_eap_plugin_message_c * const m_partner; - - /// This indicates whether this object was generated successfully. - bool m_is_valid; - - eap_status_e m_error_code; - - eap_tlv_message_type_function_e m_error_function; - - - eap_status_e complete_get_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_set_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_delete_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_copy_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_set_index( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_get_type_info( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e complete_invoke_ui( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - - eap_status_e process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor of the eap_core class does nothing special. - */ - EAP_FUNC_IMPORT virtual ~eap_plugin_client_message_if_c(); - - /** - * The constructor initializes member attributes using parameters passed to it. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - * @param partner is back pointer to object which created this object. - * @param is_client_when_true indicates whether the network entity should act - * as a client (true) or server (false), in terms of EAP-protocol - * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - */ - EAP_FUNC_IMPORT eap_plugin_client_message_if_c( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const client_if, - abs_eap_plugin_message_c * const partner); - - /** - * This function must reset the state of object to same as - * state was after the configure() function call. - * If object reset succeeds this function must return eap_status_ok. - * 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(); - - // This is documented in abs_eap_stack_interface_c::configure(). - EAP_FUNC_IMPORT eap_status_e configure(); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - EAP_FUNC_IMPORT eap_status_e shutdown(); - - // This is documented in abs_eap_stack_interface_c::get_is_valid(). - EAP_FUNC_IMPORT bool get_is_valid(); - - EAP_FUNC_IMPORT eap_status_e process_message(eap_process_tlv_message_data_c * const message); - - EAP_FUNC_IMPORT eap_status_e get_configuration(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e set_configuration(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e copy_configuration(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e delete_configuration(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e set_index(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e get_type_info(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e invoke_ui(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e send_data(const void * const data, const u32_t length); - - //-------------------------------------------------- -}; // class eap_plugin_client_message_if_c - -//-------------------------------------------------- - -#endif //#if !defined(_EAP_PLUGIN_CLIENT_MESSAGE_IF_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_plugin_message_base.h --- a/eapol/eapol_framework/eapol_common/include/eap_plugin_message_base.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,109 +0,0 @@ -/* -* 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: virtual functions of EAP-plugin interface. -* -*/ - -/* -* %version: 6 % -*/ - -#if !defined(_EAP_PLUGIN_MESSAGE_BASE_H_) -#define _EAP_PLUGIN_MESSAGE_BASE_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" - -class eap_method_settings_c; -class abs_eap_plugin_message_c; - -class EAP_EXPORT eap_plugin_message_base_c -{ -private: - //-------------------------------------------------- - - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor of the eap_core class does nothing special. - */ - EAP_FUNC_IMPORT virtual ~eap_plugin_message_base_c(); - - /** - * The constructor initializes member attributes using parameters passed to it. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - * @param partner is back pointer to object which created this object. - * @param is_client_when_true indicates whether the network entity should act - * as a client (true) or server (false), in terms of EAP-protocol - * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - */ - EAP_FUNC_IMPORT eap_plugin_message_base_c(); - - /** - * This function must reset the state of object to same as - * state was after the configure() function call. - * If object reset succeeds this function must return eap_status_ok. - * If object reset fails this function must return corresponding error status. - * @return This function returns the status of reset operation. - */ - virtual eap_status_e reset() = 0; - - // This is documented in abs_eap_stack_interface_c::configure(). - virtual eap_status_e configure() = 0; - - // This is documented in abs_eap_stack_interface_c::shutdown(). - virtual eap_status_e shutdown() = 0; - - // This is documented in abs_eap_stack_interface_c::get_is_valid(). - virtual bool get_is_valid() = 0; - - virtual eap_status_e get_configuration(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e set_configuration(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e copy_configuration(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e delete_configuration(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e set_index(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e get_type_info(const eap_method_settings_c * const internal_settings) = 0; - - virtual eap_status_e invoke_ui(const eap_method_settings_c * const internal_settings) = 0; - - //-------------------------------------------------- - - static eap_plugin_message_base_c * new_eap_plugin_client_message_if_c( - abs_eap_am_tools_c * const tools, - abs_eap_plugin_message_c * const partner); - - //-------------------------------------------------- -}; // class eap_plugin_message_base_c - -//-------------------------------------------------- - -#endif //#if !defined(_EAP_PLUGIN_MESSAGE_BASE_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_plugin_server_message_if.h --- a/eapol/eapol_framework/eapol_common/include/eap_plugin_server_message_if.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,174 +0,0 @@ -/* -* Copyright (c) 2001-2010 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-plugin message interface in the server. -* -*/ - -/* -* %version: 7 % -*/ - -#if !defined(_EAP_PLUGIN_SERVER_MESSAGE_IF_H_) -#define _EAP_PLUGIN_SERVER_MESSAGE_IF_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" -#include "abs_eap_session_core.h" -#include "eap_variable_data.h" -#include "abs_eap_am_mutex.h" -#include "eap_session_core_base.h" -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_process_tlv_message_data.h" -#include "abs_eap_am_plugin.h" -#include "eap_am_plugin.h" - - -/** @file */ - - -class EAP_EXPORT eap_plugin_server_message_if_c -: public abs_eap_am_plugin_c -, public eap_am_message_if_c -, public abs_eap_base_timer_c -{ - -private: - //-------------------------------------------------- - - /// This is back pointer to object which created this object. - abs_eap_am_message_if_c * m_partner; - - eap_am_plugin_c * const m_am_plugin; - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - eap_status_e m_error_code; - - eap_tlv_message_type_function_e m_error_function; - - /// This indicates whether this object is client (true) or server (false). - /// In terms of EAP-protocol whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - bool m_is_client; - - /// This indicates whether this object was generated successfully. - bool m_is_valid; - - bool m_shutdown_was_called; - - eap_status_e send_error_message( - const eap_status_e error_code, - const eap_tlv_message_type_function_e function); - - eap_status_e send_message(eap_process_tlv_message_data_c * const message); - - eap_status_e process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e process_message(eap_process_tlv_message_data_c * const message); - - - eap_status_e get_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e set_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e copy_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e delete_configuration( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e set_index( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e get_type_info( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - eap_status_e invoke_ui( - EAP_TEMPLATE_CONST eap_array_c * const parameters); - - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor deletes the m_eap_core object. - */ - EAP_FUNC_IMPORT virtual ~eap_plugin_server_message_if_c(); - - /** - * The constructor creates the eap_core object and initializes the m_eap_core - * to point the eap_core object. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - */ - EAP_FUNC_IMPORT eap_plugin_server_message_if_c( - abs_eap_am_tools_c * const tools); - - EAP_FUNC_IMPORT void set_partner(abs_eap_am_message_if_c * const partner); - - EAP_FUNC_IMPORT eap_status_e process_data(const void * const data, const u32_t length); - - // This is documented in abs_eap_stack_interface_c::configure(). - EAP_FUNC_IMPORT eap_status_e configure( - const eap_variable_data_c * const client_configuration); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - EAP_FUNC_IMPORT eap_status_e shutdown(); - - // This is documented in abs_eap_stack_interface_c::set_is_valid(). - EAP_FUNC_IMPORT void set_is_valid(); - - // This is documented in abs_eap_stack_interface_c::get_is_valid(). - EAP_FUNC_IMPORT bool get_is_valid(); - - // See abs_eap_base_timer_c::timer_expired(). - EAP_FUNC_IMPORT eap_status_e timer_expired( - const u32_t id, void *data); - - // See abs_eap_base_timer_c::timer_delete_data(). - EAP_FUNC_IMPORT eap_status_e timer_delete_data( - const u32_t id, void *data); - - EAP_FUNC_IMPORT eap_status_e complete_get_configuration(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e complete_set_configuration(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e complete_delete_configuration(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e complete_copy_configuration(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e complete_set_index(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e complete_get_type_info(const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e complete_invoke_ui(const eap_method_settings_c * const internal_settings); - - //-------------------------------------------------- -}; // class eap_plugin_server_message_if_c - -#endif //#if !defined(_EAP_PLUGIN_SERVER_MESSAGE_IF_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_process_tlv_message_data.h --- a/eapol/eapol_framework/eapol_common/include/eap_process_tlv_message_data.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,669 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 42 % -*/ - -#if !defined(_EAP_PROCESS_TLV_MESSAGE_DATA_H_) -#define _EAP_PROCESS_TLV_MESSAGE_DATA_H_ - -#include "eap_am_types.h" -#include "eap_tools.h" -#include "eap_array.h" -#include "eap_tlv_message_data.h" -#include "eap_expanded_type.h" -#include "eapol_rsna_key_header.h" -#include "eap_method_settings.h" -#include "eap_file_config.h" - -#if defined(USE_EAP_SIMPLE_CONFIG) -#include "simple_config_types.h" -#include "simple_config_credential.h" -#include "simple_config_payloads.h" -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -enum eap_tlv_message_type_e -{ - eap_tlv_message_type_none = 0, - eap_tlv_message_type_array = 1, - eap_tlv_message_type_boolean = 2, - eap_tlv_message_type_eap_protocol_layer = 3, - eap_tlv_message_type_eap_state_notification = 4, - eap_tlv_message_type_eap_status = 5, - eap_tlv_message_type_eap_type = 6, - eap_tlv_message_type_eapol_key_802_11_authentication_mode = 7, - eap_tlv_message_type_eapol_key_authentication_type = 8, - eap_tlv_message_type_eapol_key_type = 9, - eap_tlv_message_type_eapol_tkip_mic_failure_type = 10, - eap_tlv_message_type_eapol_wlan_authentication_state = 11, - eap_tlv_message_type_error = 12, - eap_tlv_message_type_function = 13, - eap_tlv_message_type_network_id = 14, - eap_tlv_message_type_network_key = 15, - eap_tlv_message_type_protected_setup_credential = 16, - eap_tlv_message_type_RSNA_cipher = 17, - eap_tlv_message_type_session_key = 18, - eap_tlv_message_type_u8_t = 19, - eap_tlv_message_type_u16_t = 20, - eap_tlv_message_type_u32_t = 21, - eap_tlv_message_type_u64_t = 22, - eap_tlv_message_type_variable_data = 23, - eap_tlv_message_type_eap_method_settings = 24, - eap_tlv_message_type_eap_certificate_entry = 25, - eap_tlv_message_type_i8_t = 26, - eap_tlv_message_type_i16_t = 27, - eap_tlv_message_type_i32_t = 28, - eap_tlv_message_type_configuration_option = 29, -}; - - -enum eap_tlv_message_type_function_e -{ - eap_tlv_message_type_function_none = 0, - eap_tlv_message_type_function_check_pmksa_cache = 1, - eap_tlv_message_type_function_start_authentication = 2, - eap_tlv_message_type_function_complete_association = 3, - eap_tlv_message_type_function_disassociation = 4, - eap_tlv_message_type_function_start_preauthentication = 5, - eap_tlv_message_type_function_start_reassociation = 6, - eap_tlv_message_type_function_complete_reassociation = 7, - eap_tlv_message_type_function_start_WPXM_reassociation = 8, - eap_tlv_message_type_function_complete_WPXM_reassociation = 9, - eap_tlv_message_type_function_packet_process = 10, - eap_tlv_message_type_function_tkip_mic_failure = 11, - eap_tlv_message_type_function_eap_acknowledge = 12, - eap_tlv_message_type_function_update_header_offset = 13, - eap_tlv_message_type_function_complete_check_pmksa_cache = 14, - eap_tlv_message_type_function_packet_send = 15, - eap_tlv_message_type_function_associate = 16, - eap_tlv_message_type_function_disassociate = 17, - eap_tlv_message_type_function_packet_data_session_key = 18, - eap_tlv_message_type_function_state_notification = 19, - eap_tlv_message_type_function_reassociate = 20, - eap_tlv_message_type_function_update_wlan_database_reference_values = 21, - eap_tlv_message_type_function_complete_start_WPXM_reassociation = 22, - eap_tlv_message_type_function_new_protected_setup_credentials = 23, - eap_tlv_message_type_function_create_eap_session = 24, - eap_tlv_message_type_function_remove_eap_session = 25, - eap_tlv_message_type_function_send_eap_identity_request = 26, - eap_tlv_message_type_function_packet_data_crypto_keys = 27, // EAP Master session Key. - eap_tlv_message_type_function_restart_authentication = 28, - eap_tlv_message_type_function_create_state = 29, - eap_tlv_message_type_function_remove_bksa_from_cache = 30, - eap_tlv_message_type_function_association = 31, - eap_tlv_message_type_function_set_eap_database_reference_values = 32, - eap_tlv_message_type_function_eap_mtu = 33, - eap_tlv_message_type_function_get_802_11_authentication_mode = 34, - eap_tlv_message_type_function_complete_get_802_11_authentication_mode = 35, - eap_tlv_message_type_function_complete_remove_eap_session = 36, - eap_tlv_message_type_function_complete_disassociation = 37, - eap_tlv_message_type_function_last_function = 38, // Keep this the last on this set. - - eap_tlv_message_type_function_plugin_get_configuration = 1000, - eap_tlv_message_type_function_plugin_set_configuration = 1001, - eap_tlv_message_type_function_plugin_copy_configuration = 1002, - eap_tlv_message_type_function_plugin_delete_configuration = 1003, - eap_tlv_message_type_function_plugin_set_index = 1004, - eap_tlv_message_type_function_plugin_get_type_info = 1005, - eap_tlv_message_type_function_plugin_invoke_ui = 1006, - eap_tlv_message_type_function_plugin_complete_get_configuration = 1007, - eap_tlv_message_type_function_plugin_complete_set_configuration = 1008, - eap_tlv_message_type_function_plugin_complete_delete_configuration = 1009, - eap_tlv_message_type_function_plugin_complete_copy_configuration = 1010, - eap_tlv_message_type_function_plugin_complete_set_index = 1011, - eap_tlv_message_type_function_plugin_complete_get_type_info = 1012, - eap_tlv_message_type_function_plugin_complete_invoke_ui = 1013, - eap_tlv_message_type_function_plugin_last_function = 1014, // Keep this the last on this set. - - eap_tlv_message_type_function_general_settings_set_eap_methods = 2000, - eap_tlv_message_type_function_general_settings_get_eap_methods = 2001, - eap_tlv_message_type_function_general_settings_get_certificate_lists = 2002, - eap_tlv_message_type_function_general_settings_delete_all_eap_settings = 2003, - eap_tlv_message_type_function_general_settings_copy_all_eap_settings = 2004, - eap_tlv_message_type_function_general_settings_complete_set_eap_methods = 2005, - eap_tlv_message_type_function_general_settings_complete_get_eap_methods = 2006, - eap_tlv_message_type_function_general_settings_complete_get_certificate_lists = 2007, - eap_tlv_message_type_function_general_settings_complete_delete_all_eap_settings = 2008, - eap_tlv_message_type_function_general_settings_complete_copy_all_eap_settings = 2009, - eap_tlv_message_type_function_general_settings_last_function = 2010, // Keep this the last on this set. - - eap_tlv_message_type_function_pac_store_open_pac_store = 3000, - eap_tlv_message_type_function_pac_store_create_device_seed = 3001, - eap_tlv_message_type_function_pac_store_is_master_key_present = 3002, - eap_tlv_message_type_function_pac_store_is_master_key_and_password_matching = 3003, - eap_tlv_message_type_function_pac_store_create_and_save_master_key = 3004, - eap_tlv_message_type_function_pac_store_compare_pac_store_password = 3005, - eap_tlv_message_type_function_pac_store_is_pacstore_password_present = 3006, - eap_tlv_message_type_function_pac_store_set_pac_store_password = 3007, - eap_tlv_message_type_function_pac_store_destroy_pac_store = 3008, - eap_tlv_message_type_function_pac_store_complete_open_pac_store = 3009, - eap_tlv_message_type_function_pac_store_complete_create_device_seed = 3010, - eap_tlv_message_type_function_pac_store_complete_is_master_key_present = 3011, - eap_tlv_message_type_function_pac_store_complete_is_master_key_and_password_matching = 3012, - eap_tlv_message_type_function_pac_store_complete_create_and_save_master_key = 3013, - eap_tlv_message_type_function_pac_store_complete_compare_pac_store_password = 3014, - eap_tlv_message_type_function_pac_store_complete_is_pacstore_password_present = 3015, - eap_tlv_message_type_function_pac_store_complete_set_pac_store_password = 3016, - eap_tlv_message_type_function_pac_store_complete_destroy_pac_store = 3017, - eap_tlv_message_type_function_pac_store_last_function = 3018, // Keep this the last on this set. - - eap_tlv_message_type_function_wapi_settings_get_all_certificate_labels = 4000, - eap_tlv_message_type_function_wapi_settings_reset_certificate_store = 4001, - eap_tlv_message_type_function_wapi_settings_get_configuration = 4002, - eap_tlv_message_type_function_wapi_settings_set_configuration = 4003, - eap_tlv_message_type_function_wapi_settings_set_ca_cert = 4004, - eap_tlv_message_type_function_wapi_settings_set_user_cert = 4005, - eap_tlv_message_type_function_wapi_settings_delete_configuration = 4006, - eap_tlv_message_type_function_wapi_settings_complete_get_all_certificate_labels = 4007, - eap_tlv_message_type_function_wapi_settings_complete_reset_certificate_store = 4008, - eap_tlv_message_type_function_wapi_settings_complete_get_configuration = 4009, - eap_tlv_message_type_function_wapi_settings_complete_set_configuration = 4010, - eap_tlv_message_type_function_wapi_settings_complete_set_ca_cert = 4011, - eap_tlv_message_type_function_wapi_settings_complete_set_user_cert = 4012, - eap_tlv_message_type_function_wapi_settings_complete_delete_configuration = 4013, - eap_tlv_message_type_function_wapi_settings_complete_last_function = 4014, // Keep this the last on this set. - - - eap_tlv_message_type_function_illegal_value, // Keep this the last value. -}; - - -enum eap_message_payload_index_e -{ - eap_message_payload_index_function = 0, - eap_message_payload_index_first_parameter = 1, -}; - - -/** @file */ - -class eap_variable_data_c; -class eap_am_network_id_c; -class eap_buf_chain_wr_c; -class eapol_session_key_c; -class abs_eap_state_notification_c; -class eap_state_notification_c; -class network_key_and_index_c; - -//---------------------------------------------------------------------------- - - -/// This class defines functions to add and parse message data composed -/// of Attribute-Value Pairs (See eap_tlv_header_c) to/from eap_tlv_message_data_c object. -class EAP_EXPORT eap_process_tlv_message_data_c -: public eap_tlv_message_data_c -{ -private: - //-------------------------------------------------- - - abs_eap_am_tools_c * const m_am_tools; - - bool m_is_valid; - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor of the eap_process_tlv_message_data_c class does nothing. - */ - EAP_FUNC_IMPORT virtual ~eap_process_tlv_message_data_c(); - - /** - * The constructor of the eap_process_tlv_message_data_c class simply initializes the attributes. - */ - EAP_FUNC_IMPORT eap_process_tlv_message_data_c( - abs_eap_am_tools_c * const tools); - - /** - * This function should increase reference count. - */ - EAP_FUNC_IMPORT void object_increase_reference_count(); - - /** - * This function should first decrease reference count - * and second return the remaining reference count. - * Reference count must not be decreased when it is zero. - */ - EAP_FUNC_IMPORT u32_t object_decrease_reference_count(); - - /** - * Object must indicate it's validity. - * 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_IMPORT u32_t get_payload_size( - const eap_variable_data_c * const data) const; - - EAP_FUNC_IMPORT u32_t get_payload_size( - const eap_am_network_id_c * const network_id) const; - - EAP_FUNC_IMPORT u32_t get_payload_size( - const abs_eap_state_notification_c * const state) const; - - EAP_FUNC_IMPORT u32_t get_payload_size( - const eapol_session_key_c * const session_key) const; - - EAP_FUNC_IMPORT u32_t get_payload_size( - EAP_TEMPLATE_CONST eap_array_c * const ushort_array) const; - - EAP_FUNC_IMPORT u32_t get_payload_size( - const eap_certificate_entry_c * const cert) const; - - EAP_FUNC_IMPORT u32_t get_payload_size( - EAP_TEMPLATE_CONST eap_array_c * const cert_array) const; - - EAP_FUNC_IMPORT u32_t get_payload_size( - const eap_method_settings_c * const internal_settings) const; - - EAP_FUNC_IMPORT u32_t get_payload_size( - EAP_TEMPLATE_CONST eap_array_c * const eap_type_array) const; - -#if defined(USE_EAP_SIMPLE_CONFIG) - - EAP_FUNC_IMPORT u32_t get_payload_size( - const network_key_and_index_c * const key) const; - - EAP_FUNC_IMPORT u32_t get_payload_size( - const eap_array_c * const network_keys) const; - - EAP_FUNC_IMPORT u32_t get_payload_size( - const simple_config_credential_c * const credential) const; - - EAP_FUNC_IMPORT u32_t get_payload_size( - EAP_TEMPLATE_CONST eap_array_c * const credential_array) const; - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - - EAP_FUNC_IMPORT u32_t get_payload_size( - const eap_variable_data_c * const selector, - const eap_config_value_c * const configuration_option) const; - - //- - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_FUNC_IMPORT eap_status_e add_structured_parameter_header( - const eap_tlv_message_type_e type, - const u32_t length); - - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const eap_tlv_message_type_e type, - const u32_t integer); - - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const u64_t long_integer); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const u32_t integer); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const u16_t integer); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const u8_t byte_integer); - - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const i32_t integer); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const i16_t integer); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const i8_t byte_integer); - - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const bool boolean); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const eap_status_e status); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const eapol_key_authentication_type_e authentication_type); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const eapol_key_802_11_authentication_mode_e mode); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const eap_tlv_message_type_function_e function); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const eap_variable_data_c * const variable_data); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const eap_am_network_id_c * const network_id); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const eap_buf_chain_wr_c * const packet_buffer); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const eapol_session_key_c * const session_key); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const abs_eap_state_notification_c * const state); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const eap_type_value_e eap_type); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const eap_general_header_base_c * const packet_data); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const eap_certificate_entry_c * const internal_settings); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const ushort_array); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const cert_array); - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const eap_type_array); - -#if defined(USE_EAP_SIMPLE_CONFIG) - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const credential_array); - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - - EAP_FUNC_IMPORT eap_status_e add_parameter_data( - const eap_variable_data_c * const selector, - const eap_config_value_c * const configuration_option); - - //- - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const integer_header, - u64_t * const value); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const integer_header, - u32_t * const value); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const integer_header, - u16_t * const value); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const integer_header, - u8_t * const value); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const integer_header, - i32_t * const value); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const integer_header, - i16_t * const value); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const integer_header, - i8_t * const value); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const function_header, - eap_tlv_message_type_function_e * const function); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const network_id_header, - eap_am_network_id_c * const new_network_id); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const variable_data_header, - eap_variable_data_c * const variable_data); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const session_key_header, - eapol_session_key_c * const session_key); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const state_header, - eap_state_notification_c * * const state); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const eap_type_header, - eap_type_value_e * const eap_type); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const settings_header, - eap_method_settings_c * const settings); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const settings_header, - eap_certificate_entry_c * const settings); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const settings_header, - eap_array_c * const settings); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const settings_header, - eap_array_c * const settings); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const settings_header, - eap_array_c * const settings); - -#if defined(USE_EAP_SIMPLE_CONFIG) - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const network_key_header, - network_key_and_index_c * const network_key); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const network_keys_array_header, - eap_array_c * const network_keys_array); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const credential_array_header, - eap_array_c * const credential_array); - - EAP_FUNC_IMPORT eap_status_e get_parameter_data( - const eap_tlv_header_c * const credential_header, - simple_config_credential_c * const credential); - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - - //- - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_am_network_id_c * const network_id); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_variable_data_c * const variable_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - const eap_tlv_message_type_e type, - eap_status_e * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_array_c * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_state_notification_c * * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eapol_RSNA_key_header_c::eapol_RSNA_cipher_e * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - bool * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_type_value_e * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eapol_key_authentication_type_e * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eapol_session_key_c * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_tlv_message_type_function_e * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eapol_key_802_11_authentication_mode_e * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eapol_wlan_authentication_state_e * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - u64_t * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - u32_t * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - u16_t * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - u8_t * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - i32_t * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - i16_t * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - i8_t * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_method_settings_c * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_array_c * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_array_c * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_array_c * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_certificate_entry_c::eap_certificate_type_e * const out_data); - -#if defined(USE_EAP_SIMPLE_CONFIG) - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - simple_config_Authentication_Type_e * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - simple_config_Encryption_Type_e * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_array_c * const out_data); - - EAP_FUNC_IMPORT eap_status_e read_parameter_data( - EAP_TEMPLATE_CONST eap_array_c * const parameters, - const u32_t parameter_index, - eap_array_c * const out_data); - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - - //- - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_FUNC_IMPORT eap_const_string get_type_string(const eap_tlv_message_type_e type); - - EAP_FUNC_IMPORT eap_const_string get_function_string(const eap_tlv_message_type_function_e function); - - // - //-------------------------------------------------- -}; // class eap_process_tlv_message_data_c - - -//-------------------------------------------------- - -#endif //#if !defined(_EAP_PROCESS_TLV_MESSAGE_DATA_H_) - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_protocol_layer.h --- a/eapol/eapol_framework/eapol_common/include/eap_protocol_layer.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_protocol_layer.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 14 % */ #if !defined(_EAP_PROTOCOL_LAYER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_rogue_ap_entry.h --- a/eapol/eapol_framework/eapol_common/include/eap_rogue_ap_entry.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_rogue_ap_entry.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #ifndef EAP_ROGUE_AP_ENTRY_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_session_core.h --- a/eapol/eapol_framework/eapol_common/include/eap_session_core.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_session_core.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 24 % +* %version: 9.1.2 % */ #if !defined(_EAP_SESSION_CORE_H_) @@ -24,13 +24,11 @@ #include "eap_tools.h" #include "eap_am_export.h" -#include "abs_eap_session_core.h" +#include "abs_eap_core.h" #include "eap_core_map.h" #include "abs_eap_stack_interface.h" -#include "eap_session_core_base.h" -#include "eap_base_type.h" -#include "eap_core.h" +class eap_core_c; class eap_network_id_selector_c; @@ -55,14 +53,13 @@ , public abs_eap_core_map_c , public abs_eap_base_timer_c , public abs_eap_stack_interface_c -, public eap_session_core_base_c { private: //-------------------------------------------------- /// This is back pointer to object which created this object. /// Packets are sent to the partner. - abs_eap_session_core_c * const m_partner; + abs_eap_core_c * const m_partner; /// This is pointer to the tools class. abs_eap_am_tools_c * const m_am_tools; @@ -123,7 +120,7 @@ */ EAP_FUNC_IMPORT eap_session_core_c( abs_eap_am_tools_c * const tools, - abs_eap_session_core_c * const partner, + abs_eap_core_c * const partner, const bool is_client_when_true); /** @@ -141,7 +138,7 @@ * If this fails this function must return corresponding error status. * @return This function returns the status of operation. */ - EAP_FUNC_IMPORT eap_status_e cancel_all_eap_sessions(); + EAP_FUNC_IMPORT eap_status_e synchronous_cancel_all_eap_sessions(); // This is documented in abs_eap_stack_interface_c::packet_process(). EAP_FUNC_IMPORT eap_status_e packet_process( @@ -168,7 +165,7 @@ /** * The get_partner() function returns pointer to partner class. */ - EAP_FUNC_IMPORT abs_eap_session_core_c * get_partner(); + EAP_FUNC_IMPORT abs_eap_core_c * get_partner(); /** * The get_header_offset() function obtains the header offset of EAP-packet. @@ -319,19 +316,20 @@ const bool force_clean_restart, const bool from_timer = false); +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) /** * This function creates EAP session object synchronously. * @param receive_network_id identifies the removed EAP session. */ - EAP_FUNC_IMPORT eap_status_e create_eap_session( + EAP_FUNC_IMPORT eap_status_e synchronous_create_eap_session( const eap_am_network_id_c * const receive_network_id); +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) /** * This function removes EAP session object synchronously. * @param receive_network_id identifies the removed EAP session. */ - EAP_FUNC_IMPORT eap_status_e remove_eap_session( - const bool complete_to_lower_layer, + EAP_FUNC_IMPORT eap_status_e synchronous_remove_eap_session( const eap_am_network_id_c * const receive_network_id); /** @@ -360,6 +358,9 @@ const u32_t p_id); // + EAP_FUNC_IMPORT eap_status_e cancel_all_timers(); + + // EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type); /// @see abs_eap_core_c::get_eap_type_list(). @@ -373,20 +374,6 @@ EAP_FUNC_IMPORT eap_status_e set_session_timeout( const u32_t session_timeout_ms); - EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values( - const eap_variable_data_c * const reference); - - EAP_FUNC_IMPORT eap_status_e get_802_11_authentication_mode( - const eap_am_network_id_c * const receive_network_id, - const eapol_key_authentication_type_e authentication_type, - const eap_variable_data_c * const SSID, - const eap_variable_data_c * const preshared_key); - - EAP_FUNC_IMPORT eap_status_e complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const receive_network_id, - const eapol_key_802_11_authentication_mode_e mode); - //-------------------------------------------------- }; // class eap_session_core_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_session_core_base.h --- a/eapol/eapol_framework/eapol_common/include/eap_session_core_base.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,166 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#if !defined(_EAP_SESSION_CORE_BASE_H_) -#define _EAP_SESSION_CORE_BASE_H_ - -#include "eap_tools.h" -#include "eap_am_export.h" -#include "abs_eap_core.h" -#include "eap_core_map.h" -#include "eap_database_reference_if.h" -#include "eapol_key_types.h" - -class abs_eap_session_core_c; - -/// A eap_session_core_base_c class implements mapping of EAP authentication sessions. -/// Network identity separates parallel EAP authentication sessions. -class EAP_EXPORT eap_session_core_base_c -: public eap_database_reference_if_c -{ -private: - //-------------------------------------------------- - - - //-------------------------------------------------- -protected: - //-------------------------------------------------- - - //-------------------------------------------------- -public: - //-------------------------------------------------- - - /** - * The destructor of the eap_core class does nothing special. - */ - EAP_FUNC_IMPORT virtual ~eap_session_core_base_c(); - - /** - * The constructor initializes member attributes using parameters passed to it. - * @param tools is pointer to the tools class. @see abs_eap_am_tools_c. - * @param partner is back pointer to object which created this object. - * @param is_client_when_true indicates whether the network entity should act - * as a client (true) or server (false), in terms of EAP-protocol - * whether this network entity is EAP-supplicant (true) or EAP-authenticator (false). - */ - EAP_FUNC_IMPORT eap_session_core_base_c(); - - /** - * This function must reset the state of object to same as - * state was after the configure() function call. - * If object reset succeeds this function must return eap_status_ok. - * If object reset fails this function must return corresponding error status. - * @return This function returns the status of reset operation. - */ - virtual eap_status_e reset() = 0; - - // This is documented in abs_eap_stack_interface_c::packet_process(). - virtual eap_status_e packet_process( - const eap_am_network_id_c * const receive_network_id, - eap_general_header_base_c * const packet_data, - const u32_t packet_length) = 0; - - /** - * The adaptation module calls the eap_acknowledge() function after - * any Network Protocol packet is received. This is used as a success indication. - * This is described in RFC 2284 "PPP Extensible Authentication Protocol (EAP)". - * @param connection_handle separates the context of the acknowledged session. - * Mostly there is only one session in the client. - * The server does not need eap_acknowledge() function because - * server (EAP-authenticator) sends the EAP-success message. - */ - virtual eap_status_e eap_acknowledge( - const eap_am_network_id_c * const receive_network_id) = 0; - -#if defined(USE_EAP_CORE_SERVER) - /** - * The EAP Core calls the send_eap_identity_request() function - * when EAP-authentication is needed with another peer. - * @param network_id includes the addresses (network identity) and packet type. - */ - virtual eap_status_e send_eap_identity_request( - const eap_am_network_id_c * const network_id) = 0; -#endif //#if defined(USE_EAP_CORE_SERVER) - - // This is documented in abs_eap_stack_interface_c::configure(). - virtual eap_status_e configure() = 0; - - // This is documented in abs_eap_stack_interface_c::shutdown(). - virtual eap_status_e shutdown() = 0; - - // This is documented in abs_eap_stack_interface_c::get_is_valid(). - virtual bool get_is_valid() = 0; - - /** - * This function cancels all EAP-sessions. - * If this succeeds this function must return eap_status_ok. - * If this fails this function must return corresponding error status. - * @return This function returns the status of operation. - */ - virtual eap_status_e cancel_all_eap_sessions() = 0; - - /** - * This function creates EAP session object synchronously. - * @param receive_network_id identifies the removed EAP session. - */ - virtual eap_status_e create_eap_session( - const eap_am_network_id_c * const receive_network_id) = 0; - - /** - * This function removes EAP session object synchronously. - * @param receive_network_id identifies the removed EAP session. - */ - virtual eap_status_e remove_eap_session( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id) = 0; - - virtual eap_status_e get_802_11_authentication_mode( - const eap_am_network_id_c * const receive_network_id, - const eapol_key_authentication_type_e authentication_type, - const eap_variable_data_c * const SSID, - const eap_variable_data_c * const preshared_key) = 0; - - //-------------------------------------------------- - - EAP_FUNC_IMPORT static eap_session_core_base_c * new_eap_session_core_c( - abs_eap_am_tools_c * const tools, - abs_eap_session_core_c * const partner, - const bool is_client_when_true, - const u32_t MTU); - - //-------------------------------------------------- -}; // class eap_session_core_base_c - -eap_session_core_base_c * new_eap_core_client_message_if_c( - abs_eap_am_tools_c * const tools, - abs_eap_session_core_c * const partner, - const bool is_client_when_true, - const u32_t MTU); - -//-------------------------------------------------- - -#endif //#if !defined(_EAP_SESSION_CORE_BASE_H_) - -//-------------------------------------------------- - - - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_sort.h --- a/eapol/eapol_framework/eapol_common/include/eap_sort.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_sort.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ #if !defined(_EAP_SORT_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_state_notification.h --- a/eapol/eapol_framework/eapol_common/include/eap_state_notification.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_state_notification.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_EAP_STATE_NOTIFICATION_H_) @@ -92,6 +92,9 @@ u8_t eap_identifier, bool allow_send_eap_success); + +#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_IMPORT eap_state_notification_c( abs_eap_am_tools_c * const tools, const eap_am_network_id_c * const send_network_id, @@ -104,6 +107,9 @@ u8_t eap_identifier, bool allow_send_eap_success); +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + + EAP_FUNC_IMPORT eap_state_notification_c( abs_eap_am_tools_c * const tools, const eap_am_network_id_c * const send_network_id, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_state_selector.h --- a/eapol/eapol_framework/eapol_common/include/eap_state_selector.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_state_selector.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #if !defined(_EAP_STATE_SELECTOR_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_state_store.h --- a/eapol/eapol_framework/eapol_common/include/eap_state_store.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_state_store.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_EAP_STATE_STORE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_status.h --- a/eapol/eapol_framework/eapol_common/include/eap_status.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_status.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_EAP_STATUS_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_status_string.h --- a/eapol/eapol_framework/eapol_common/include/eap_status_string.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_status_string.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined( _EAP_STATUS_STRING_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_timer_queue.h --- a/eapol/eapol_framework/eapol_common/include/eap_timer_queue.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_timer_queue.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_EAP_TIMER_QUEU_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_tlv_header.h --- a/eapol/eapol_framework/eapol_common/include/eap_tlv_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_tlv_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined(_EAP_TLV_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_tlv_message_data.h --- a/eapol/eapol_framework/eapol_common/include/eap_tlv_message_data.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_tlv_message_data.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 6 % */ #if !defined(_EAP_TLV_MESSAGE_DATA_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_tools.h --- a/eapol/eapol_framework/eapol_common/include/eap_tools.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_tools.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: 8.1.2 % */ #if !defined( _EAP_TOOLS_H_ ) @@ -347,8 +347,6 @@ #define EAP_TRACE_RETURN_STRING(object_name, string) EAP_NULL_FUNCTION - #define EAP_TRACE_RETURN_STRING_FLAGS(object_name, flags, string) EAP_NULL_FUNCTION - #define EAP_TRACE_DATA_ERROR(object_name, flags, _parameter_list_) EAP_NULL_FUNCTION #define EAP_TRACE_DATA_DEBUG(object_name, flags, _parameter_list_) EAP_NULL_FUNCTION @@ -417,12 +415,13 @@ #define EAP_TRACE_DEBUG(object_name, flags, _parameter_list_) \ if (object_name != 0 && ((*(object_name)).get_trace_mask() & ((flags) | eap_am_tools_c::eap_trace_mask_error))) \ { \ - if (((*(object_name)).get_trace_mask() & (flags))) \ + if (((*(object_name)).get_trace_mask() & ((flags) & eap_am_tools_c::eap_trace_mask_error))) \ { \ - if (((*(object_name)).get_trace_mask() & ((flags) & eap_am_tools_c::eap_trace_mask_error))) \ - { \ - (*(object_name)).formatted_print(EAPL("ERROR: source: %s:%d\n"), __FILE__, __LINE__); \ - } \ + (*(object_name)).formatted_print(EAPL("ERROR: source: %s:%d\n"), __FILE__, __LINE__); \ + (*(object_name)).formatted_print _parameter_list_ ; \ + } \ + else if (((*(object_name)).get_trace_mask() & (flags))) \ + { \ (*(object_name)).formatted_print _parameter_list_ ; \ } \ else \ @@ -468,9 +467,6 @@ #define EAP_TRACE_RETURN_STRING(object_name, string) \ eap_automatic_trace_string_c __eap_trace_function_returns__(object_name, string); - #define EAP_TRACE_RETURN_STRING_FLAGS(object_name, flags, string) \ - eap_automatic_trace_string_c __eap_trace_function_returns__(object_name, flags, string); - /** * This flag indicates that the debug traces are active. * Functions can use this flag to deduce whether debug related @@ -488,8 +484,6 @@ #define EAP_TRACE_RETURN_STRING(object_name, string) EAP_NULL_FUNCTION - #define EAP_TRACE_RETURN_STRING_FLAGS(object_name, flags, string) EAP_NULL_FUNCTION - #endif diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_type_all.h --- a/eapol/eapol_framework/eapol_common/include/eap_type_all.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_type_all.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8.1.2 % */ #if !defined(_EAP_TYPE_ALL_H_) @@ -49,11 +49,8 @@ abs_eap_base_type_c * const partner, const eap_type_value_e eap_type, const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id -#if defined(USE_EAP_SIMPLE_CONFIG) - , abs_eap_configuration_if_c * const configuration_if -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - ); + const eap_am_network_id_c * const receive_network_id, + abs_eap_configuration_if_c * const configuration_if); //-------------------------------------------------- diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_type_all_types.h --- a/eapol/eapol_framework/eapol_common/include/eap_type_all_types.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_type_all_types.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_EAP_TYPE_ALL_TYPES_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_type_selection.h --- a/eapol/eapol_framework/eapol_common/include/eap_type_selection.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_type_selection.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_EAP_TYPE_SELECTION_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_variable_data.h --- a/eapol/eapol_framework/eapol_common/include/eap_variable_data.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_variable_data.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_EAP_VARIABLE_DATA_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eap_wimax_authentication.h --- a/eapol/eapol_framework/eapol_common/include/eap_wimax_authentication.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_wimax_authentication.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5.1.2 % */ #if !defined(_EAP_WIMAX_AUTHENTICATION_H_) @@ -31,6 +31,7 @@ #include // FORWARD DECLARATIONS +class abs_eapol_wlan_database_reference_if_c; class eap_session_core_c; class eap_am_tools_symbian_c; class eap_file_config_c; @@ -62,7 +63,8 @@ EAP_FUNC_IMPORT static eap_wimax_authentication_c* new_eap_wimax_authentication_c( abs_eap_am_tools_c* const tools, abs_eap_wimax_authentication_c* const partner, - const bool is_client_when_true); + const bool is_client_when_true, + const abs_eapol_wlan_database_reference_if_c* const wimax_database_reference); EAP_FUNC_IMPORT eap_status_e shutdown(); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_core.h --- a/eapol/eapol_framework/eapol_common/include/eapol_core.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_core.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 47 % +* %version: 28.1.3 % */ #if !defined(_EAPOL_CORE_H_) @@ -24,19 +24,22 @@ #include "eap_tools.h" #include "eap_am_export.h" -#include "abs_eap_session_core.h" +#include "abs_eap_core.h" #include "eap_core.h" #include "abs_eapol_core.h" #include "eap_base_type.h" #include "eap_variable_data.h" #include "abs_eap_am_mutex.h" -#include "eap_session_core_base.h" +#if !defined(NO_EAP_SESSION_CORE) + #include "eap_session_core.h" +#endif #include "abs_eap_stack_interface.h" #include "abs_eapol_key_state.h" #include "eapol_rsna_key_header.h" -#include "eapol_key_state.h" -#include "abs_eapol_key_state_map.h" -#include "eap_database_reference_if.h" +#if defined(USE_EAPOL_KEY_STATE) + #include "eapol_key_state.h" + #include "abs_eapol_key_state_map.h" +#endif //#if defined(USE_EAPOL_KEY_STATE) /** @file */ @@ -71,12 +74,13 @@ /// A eapol_core_c class implements the basic functionality of EAPOL. class EAP_EXPORT eapol_core_c -: public abs_eap_session_core_c +: public abs_eap_core_c , public abs_eap_base_timer_c , public abs_eap_stack_interface_c +#if defined(USE_EAPOL_KEY_STATE) , public abs_eapol_key_state_c , public abs_eapol_key_state_map_c -, public eap_database_reference_if_c +#endif //#if defined(USE_EAPOL_KEY_STATE) { private: @@ -88,11 +92,17 @@ /// This is pointer to the eap_core object. The eapol_core object gives /// the received packets to the eap_core object. The eap_core object sends /// packets through the eapol_core object. - eap_session_core_base_c * m_eap_core; +#if !defined(NO_EAP_SESSION_CORE) + eap_session_core_c * const m_eap_core; +#else + eap_core_c * const m_eap_core; +#endif +#if defined(USE_EAPOL_KEY_STATE) /// This stores eapol_key_state_c objects using eap_variable_data selector. /// Selector data includes send addresses of the Ethernet packet. eap_core_map_c m_eapol_key_state_map; +#endif //#if defined(USE_EAPOL_KEY_STATE) /// This is pointer to the tools class. abs_eap_am_tools_c * const m_am_tools; @@ -131,10 +141,13 @@ bool m_block_state_notifications; +#if defined(USE_EAPOL_KEY_STATE) /// This flag will skip start of 4-Way Handshake with true value. bool m_skip_start_4_way_handshake; +#endif //#if defined(USE_EAPOL_KEY_STATE) +#if defined(USE_EAPOL_KEY_STATE) EAP_FUNC_IMPORT eap_status_e indicate_eapol_key_state_started_eap_authentication( const eap_am_network_id_c * const send_network_id); @@ -142,8 +155,7 @@ const eap_am_network_id_c * const send_network_id); EAP_FUNC_IMPORT eap_status_e remove_eapol_key_state( - const eap_am_network_id_c * const send_network_id, - const bool force_remove); + const eap_am_network_id_c * const send_network_id); eap_status_e copy_eapol_key_state( const eap_am_network_id_c * const old_receive_network_id, ///< source includes remote address, destination includes local address. @@ -155,6 +167,7 @@ const eap_am_network_id_c * const old_receive_network_id, ///< source includes remote address, destination includes local address. const eap_am_network_id_c * const new_receive_network_id ///< source includes remote address, destination includes local address. ); +#endif //#if defined(USE_EAPOL_KEY_STATE) //-------------------------------------------------- protected: @@ -443,17 +456,24 @@ const u32_t p_id); // + EAP_FUNC_IMPORT eap_status_e cancel_all_timers(); + + // EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type); // See abs_eap_core_c::get_eap_type_list(). EAP_FUNC_IMPORT eap_status_e get_eap_type_list( eap_array_c * const eap_type_list); +#if defined(USE_EAPOL_KEY_STATE) // See abs_eapol_key_state_c::get_and_increment_global_key_counter(). EAP_FUNC_IMPORT eap_status_e get_and_increment_global_key_counter( eap_variable_data_c * const key_counter); +#endif //#if defined(USE_EAPOL_KEY_STATE) +#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + /** * Function creates a state for later use. This is for optimazing 4-Way Handshake. * @param receive_network_id carries the MAC addresses. @@ -466,6 +486,11 @@ const eapol_key_authentication_type_e authentication_type ); +#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + + +#if defined(USE_EAPOL_KEY_STATE) + /** * This function need to be called when client STA (re)associates to AP. * @param receive_network_id carries the MAC addresses. @@ -485,25 +510,35 @@ const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e eapol_group_cipher, const eap_variable_data_c * const pre_shared_key); +#endif //#if defined(USE_EAPOL_KEY_STATE) + + +#if defined(USE_EAPOL_KEY_STATE) /** * This function need to be called when client STA disassociates from AP. * @param receive_network_id carries the MAC addresses. * MAC address of Authenticator should be in source address. MAC address of Supplicant should be in destination address. */ EAP_FUNC_IMPORT eap_status_e disassociation( - const bool complete_to_lower_layer, const eap_am_network_id_c * const receive_network_id); +#endif //#if defined(USE_EAPOL_KEY_STATE) +#if defined(USE_EAPOL_KEY_STATE) EAP_FUNC_IMPORT eap_status_e asynchronous_init_remove_eapol_key_state( const eap_am_network_id_c * const send_netword_id); +#endif //#if defined(USE_EAPOL_KEY_STATE) +#if defined(USE_EAPOL_KEY_STATE) EAP_FUNC_IMPORT static eap_status_e shutdown_operation( eapol_key_state_c * const handler, abs_eap_am_tools_c * const m_am_tools); +#endif //#if defined(USE_EAPOL_KEY_STATE) +#if defined(USE_EAPOL_KEY_STATE) EAP_FUNC_IMPORT static eap_status_e cancel_authentication_session( eapol_key_state_c * const handler, abs_eap_am_tools_c * const m_am_tools); +#endif //#if defined(USE_EAPOL_KEY_STATE) /// @see abs_eap_core_c::add_rogue_ap(). EAP_FUNC_IMPORT eap_status_e add_rogue_ap(eap_array_c & rogue_ap_list); @@ -517,37 +552,25 @@ EAP_FUNC_IMPORT eap_status_e set_session_timeout( const u32_t session_timeout_ms); -#if defined(USE_EAP_SIMPLE_CONFIG) - - EAP_FUNC_IMPORT eap_status_e save_simple_config_session( - const simple_config_state_e state, - EAP_TEMPLATE_CONST eap_array_c * const credential_array, - const eap_variable_data_c * const new_password, - const simple_config_Device_Password_ID_e Device_Password_ID, - const simple_config_payloads_c * const other_configuration); - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - - EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values( - const eap_variable_data_c * const reference); - - EAP_FUNC_IMPORT eap_status_e get_802_11_authentication_mode( - const eap_am_network_id_c * const receive_network_id, - const eapol_key_authentication_type_e authentication_type, - const eap_variable_data_c * const SSID, - const eap_variable_data_c * const preshared_key); - - EAP_FUNC_IMPORT eap_status_e complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const receive_network_id, - const eapol_key_802_11_authentication_mode_e mode); - - EAP_FUNC_IMPORT eap_status_e complete_remove_eap_session( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id); - private: + +#if !defined(USE_EAPOL_KEY_STATE) + /** + * The handle_RC4_key_descriptor() function parses the EAPOL-Key frame + * that includes RC4 Key Descriptor. + * This function retrieves the traffic encryption key from it. It forwards the key + * to lower layers. The format of EAPOL-Key frame is described in + * draft-congdon-radius-8021x-23.txt (RFC ????) + * @param eapol is the received packet + * @param packet_length is the length of the packet + */ + eap_status_e handle_RC4_key_descriptor( + const eap_am_network_id_c * const receive_network_id, + eapol_RC4_key_header_c * const eapol, + const u32_t packet_length); +#endif //#if !defined(USE_EAPOL_KEY_STATE) + //-------------------------------------------------- }; // class eapol_core_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_ethernet_address.h --- a/eapol/eapol_framework/eapol_common/include/eapol_ethernet_address.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_ethernet_address.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_EAPOL_ETHERNET_ADDRESS_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_ethernet_header.h --- a/eapol/eapol_framework/eapol_common/include/eapol_ethernet_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_ethernet_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 6 % */ #if !defined(_EAP_ETHERNET_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_handle_tlv_message_data.h --- a/eapol/eapol_framework/eapol_common/include/eapol_handle_tlv_message_data.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_handle_tlv_message_data.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,18 +16,85 @@ */ /* -* %version: % +* %version: 25.1.2 % */ -#if !defined(_EAPOL_HANDLE_TLV_MESSAGE_DATA_H_) -#define _EAPOL_HANDLE_TLV_MESSAGE_DATA_H_ +#if !defined(_EAP_CREATE_TLV_MESSAGE_DATA_H_) +#define _EAP_CREATE_TLV_MESSAGE_DATA_H_ #include "eap_am_types.h" #include "eap_tools.h" #include "eap_array.h" -#include "eap_process_tlv_message_data.h" +#include "eap_tlv_message_data.h" #include "eap_expanded_type.h" + +enum eapol_tlv_message_type_e +{ + eapol_tlv_message_type_none = 0, + eapol_tlv_message_type_array = 1, + eapol_tlv_message_type_boolean = 2, + eapol_tlv_message_type_eap_protocol_layer = 3, + eapol_tlv_message_type_eap_state_notification = 4, + eapol_tlv_message_type_eap_status = 5, + eapol_tlv_message_type_eap_type = 6, + eapol_tlv_message_type_eapol_key_802_11_authentication_mode = 7, + eapol_tlv_message_type_eapol_key_authentication_type = 8, + eapol_tlv_message_type_eapol_key_type = 9, + eapol_tlv_message_type_eapol_tkip_mic_failure_type = 10, + eapol_tlv_message_type_eapol_wlan_authentication_state = 11, + eapol_tlv_message_type_error = 12, + eapol_tlv_message_type_function = 13, + eapol_tlv_message_type_network_id = 14, + eapol_tlv_message_type_network_key = 15, + eapol_tlv_message_type_protected_setup_credential = 16, + eapol_tlv_message_type_RSNA_cipher = 17, + eapol_tlv_message_type_session_key = 18, + eapol_tlv_message_type_u8_t = 19, + eapol_tlv_message_type_u16_t = 20, + eapol_tlv_message_type_u32_t = 21, + eapol_tlv_message_type_u64_t = 22, + eapol_tlv_message_type_variable_data = 23, +}; + + +enum eapol_tlv_message_type_function_e +{ + eapol_tlv_message_type_function_none = 0, + eapol_tlv_message_type_function_check_pmksa_cache = 1, + eapol_tlv_message_type_function_start_authentication = 2, + eapol_tlv_message_type_function_complete_association = 3, + eapol_tlv_message_type_function_disassociation = 4, + eapol_tlv_message_type_function_start_preauthentication = 5, + eapol_tlv_message_type_function_start_reassociation = 6, + eapol_tlv_message_type_function_complete_reassociation = 7, + eapol_tlv_message_type_function_start_WPXM_reassociation = 8, + eapol_tlv_message_type_function_complete_WPXM_reassociation = 9, + eapol_tlv_message_type_function_packet_process = 10, + eapol_tlv_message_type_function_tkip_mic_failure = 11, + eapol_tlv_message_type_function_eap_acknowledge = 12, + eapol_tlv_message_type_function_update_header_offset = 13, + eapol_tlv_message_type_function_complete_check_pmksa_cache = 14, + eapol_tlv_message_type_function_packet_send = 15, + eapol_tlv_message_type_function_associate = 16, + eapol_tlv_message_type_function_disassociate = 17, + eapol_tlv_message_type_function_packet_data_session_key = 18, + eapol_tlv_message_type_function_state_notification = 19, + eapol_tlv_message_type_function_reassociate = 20, + eapol_tlv_message_type_function_update_wlan_database_reference_values = 21, + eapol_tlv_message_type_function_complete_start_WPXM_reassociation = 22, + eapol_tlv_message_type_function_new_protected_setup_credentials = 23, + eapol_tlv_message_type_function_illegal_value, // Keep this the last value. +}; + + +enum eapol_message_payload_index_e +{ + eapol_message_payload_index_function = 0, + eapol_message_payload_index_first_parameter = 1, +}; + + /** @file */ class eap_variable_data_c; @@ -45,7 +112,7 @@ /// This class defines functions to add and parse message data composed /// of Attribute-Value Pairs (See eap_tlv_header_c) to/from eap_tlv_message_data_c object. class EAP_EXPORT eapol_handle_tlv_message_data_c -: public eap_process_tlv_message_data_c +: public eap_tlv_message_data_c { private: //-------------------------------------------------- @@ -74,12 +141,179 @@ abs_eap_am_tools_c * const tools); /** + * This function should increase reference count. + */ + EAP_FUNC_IMPORT void object_increase_reference_count(); + + /** + * This function should first decrease reference count + * and second return the remaining reference count. + * Reference count must not be decreased when it is zero. + */ + EAP_FUNC_IMPORT u32_t object_decrease_reference_count(); + + /** * Object must indicate it's validity. * 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_IMPORT u32_t get_payload_size( + const eap_am_network_id_c * const network_id) const; + + EAP_FUNC_IMPORT u32_t get_payload_size( + const abs_eap_state_notification_c * const state) const; + + EAP_FUNC_IMPORT u32_t get_payload_size( + const eapol_session_key_c * const session_key) const; + +#if defined(USE_EAP_SIMPLE_CONFIG) + + EAP_FUNC_IMPORT u32_t get_payload_size( + network_key_and_index_c * key) const; + + EAP_FUNC_IMPORT u32_t get_payload_size( + EAP_TEMPLATE_CONST eap_array_c * network_keys) const; + + EAP_FUNC_IMPORT u32_t get_payload_size( + simple_config_credential_c * const credential) const; + + EAP_FUNC_IMPORT u32_t get_payload_size( + EAP_TEMPLATE_CONST eap_array_c * const credential_array) const; + +#endif // #if defined(USE_EAP_SIMPLE_CONFIG) + + //- - - - - - - - - - - - - - - - - - - - - - - - - + + EAP_FUNC_IMPORT eap_status_e add_structured_parameter_header( + const eapol_tlv_message_type_e type, + const u32_t length); + + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const eapol_tlv_message_type_e type, + const u32_t integer); + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const u64_t long_integer); + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const u32_t integer); + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const u16_t integer); + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const u8_t byte_integer); + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const bool boolean); + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const eap_status_e status); + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const eapol_tlv_message_type_function_e function); + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const eap_variable_data_c * const variable_data); + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const eap_am_network_id_c * const network_id); + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const eap_buf_chain_wr_c * const packet_buffer); + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const eapol_session_key_c * const session_key); + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const abs_eap_state_notification_c * const state); + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const eap_type_value_e eap_type); + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + const eap_general_header_base_c * const packet_data); + + EAP_FUNC_IMPORT eap_status_e get_parameter_data( + const eap_tlv_header_c * const credential_header, + simple_config_credential_c * const credential); + +#if defined(USE_EAP_SIMPLE_CONFIG) + + EAP_FUNC_IMPORT eap_status_e add_parameter_data( + EAP_TEMPLATE_CONST eap_array_c * const credential_array); + +#endif // #if defined(USE_EAP_SIMPLE_CONFIG) + + //- - - - - - - - - - - - - - - - - - - - - - - - - + + EAP_FUNC_IMPORT eap_status_e get_parameter_data( + const eap_tlv_header_c * const integer_header, + u64_t * const value); + + EAP_FUNC_IMPORT eap_status_e get_parameter_data( + const eap_tlv_header_c * const integer_header, + u32_t * const value); + + EAP_FUNC_IMPORT eap_status_e get_parameter_data( + const eap_tlv_header_c * const integer_header, + u16_t * const value); + + EAP_FUNC_IMPORT eap_status_e get_parameter_data( + const eap_tlv_header_c * const integer_header, + u8_t * const value); + + EAP_FUNC_IMPORT eap_status_e get_parameter_data( + const eap_tlv_header_c * const function_header, + eapol_tlv_message_type_function_e * const function); + + EAP_FUNC_IMPORT eap_status_e get_parameter_data( + const eap_tlv_header_c * const network_id_header, + eap_am_network_id_c * const new_network_id); + + EAP_FUNC_IMPORT eap_status_e get_parameter_data( + const eap_tlv_header_c * const variable_data_header, + eap_variable_data_c * const variable_data); + + EAP_FUNC_IMPORT eap_status_e get_parameter_data( + const eap_tlv_header_c * const session_key_header, + eapol_session_key_c * const session_key); + + EAP_FUNC_IMPORT eap_status_e get_parameter_data( + const eap_tlv_header_c * const state_header, + eap_state_notification_c * * const state); + + EAP_FUNC_IMPORT eap_status_e get_parameter_data( + const eap_tlv_header_c * const eap_type_header, + eap_type_value_e * const eap_type); + +#if defined(USE_EAP_SIMPLE_CONFIG) + + EAP_FUNC_IMPORT eap_status_e get_parameter_data( + const eap_tlv_header_c * const network_key_header, + network_key_and_index_c * const network_key); + + EAP_FUNC_IMPORT eap_status_e get_parameter_data( + const eap_tlv_header_c * const network_keys_array_header, + eap_array_c * const network_keys_array); + + EAP_FUNC_IMPORT eap_status_e get_parameter_data( + const eap_tlv_header_c * const credential_array_header, + eap_array_c * const credential_array); + +#endif // #if defined(USE_EAP_SIMPLE_CONFIG) + + //- - - - - - - - - - - - - - - - - - - - - - - - - + + EAP_FUNC_IMPORT eap_const_string get_type_string(const eapol_tlv_message_type_e type); + + EAP_FUNC_IMPORT eap_const_string get_function_string(const eapol_tlv_message_type_function_e function); + // //-------------------------------------------------- }; // class eapol_handle_tlv_message_data_c @@ -87,7 +321,7 @@ //-------------------------------------------------- -#endif //#if !defined(_EAPOL_HANDLE_TLV_MESSAGE_DATA_H_) +#endif //#if !defined(_EAP_CREATE_TLV_MESSAGE_DATA_H_) // End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_header.h --- a/eapol/eapol_framework/eapol_common/include/eapol_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 6 % */ #if !defined(_EAPOL_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_key_header.h --- a/eapol/eapol_framework/eapol_common/include/eapol_key_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_key_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined(_EAPOL_KEY_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_key_state.h --- a/eapol/eapol_framework/eapol_common/include/eapol_key_state.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_key_state.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 14.1.5 % */ #if !defined(_EAPOL_KEY_STATE_H_) @@ -289,7 +289,9 @@ /// The configuration option is EAPOL_key_state_TEST_group_key_update. bool m_server_TEST_group_key_update; +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) bool m_is_associated; +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) // - - - - - - - - - - - - - - - - - - - - - - - - @@ -438,9 +440,9 @@ EAP_KEY_TEST_PRIVATE_FUNCTION - eap_status_e derive_WPXM_WPXK1_WPXK2(); + EAP_FUNC_IMPORT eap_status_e derive_WPXM_WPXK1_WPXK2(); - eap_status_e derive_WPXM_PTK(const u32_t WPXM_WPXC); + EAP_FUNC_IMPORT eap_status_e derive_WPXM_PTK(const u32_t WPXM_WPXC); EAP_FUNC_IMPORT eap_status_e verify_field_is_zero( const u8_t * const field, @@ -817,16 +819,27 @@ const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e eapol_group_cipher, const eap_variable_data_c * const pre_shared_key); +#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + EAP_FUNC_IMPORT eap_status_e initialize( const eap_am_network_id_c * const receive_network_id, const eapol_key_authentication_type_e authentication_type); +#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + EAP_FUNC_IMPORT eapol_key_state_c *copy(const eap_am_network_id_c * const receive_network_id); EAP_FUNC_IMPORT bool get_is_encryption_on(); + +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + EAP_FUNC_IMPORT bool get_is_associated(); +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + + + // EAP_FUNC_IMPORT eap_status_e started_eap_authentication(); /** diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_key_state_string.h --- a/eapol/eapol_framework/eapol_common/include/eapol_key_state_string.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_key_state_string.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 6 % */ #if !defined(_EAPOL_KEY_STATE_STRING_H_) @@ -69,7 +69,6 @@ */ EAP_FUNC_IMPORT static eap_const_string get_eapol_key_descriptor_type_string( const eapol_key_descriptor_type_e key_descriptor_type); - }; //-------------------------------------------------- diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_key_types.h --- a/eapol/eapol_framework/eapol_common/include/eapol_key_types.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_key_types.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 19.1.2 % */ #if !defined(_EAPOL_KEY_TYPES_H_) @@ -104,7 +104,7 @@ eapol_key_authentication_type_WPA_PSK = 4, ///< Authentication is WPA PSK (pre shared key), 4-Way and Group Key Handshakes. eapol_key_authentication_type_dynamic_WEP = 5, ///< Authentication is dynamic WEP (802.1X). EAP-authentication with simple EAPOL RC4 key message. eapol_key_authentication_type_WPXM = 6, ///< Authentication is WPXM. - eapol_key_authentication_type_WPS = 7, ///< Authentication is Wi-Fi Alliance Protected Setup (Simple Configure). + eapol_key_authentication_type_WFA_SC = 7, ///< Authentication is Wi-Fi Alliance Simple Configure. #if defined(USE_WAPI_CORE) eapol_key_authentication_type_WAI_PSK = 8, ///< Authentication is WAI PSK. eapol_key_authentication_type_WAI_certificate = 9, ///< Authentication is WAI certificate. @@ -332,8 +332,8 @@ #endif //#if defined(EAP_USE_WPXM) EAP_CONFIGURATION_FIELD( - cf_str_EAPOL_key_authentication_type_config_value_WPS, - "WPS", + cf_str_EAPOL_key_authentication_type_config_value_WFA_SC, + "WFA_SC", eap_configure_type_string, false); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_message_wlan_authentication.h --- a/eapol/eapol_framework/eapol_common/include/eapol_message_wlan_authentication.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_message_wlan_authentication.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 32 % +* %version: 25.1.2 % */ #if !defined(EAPOL_MESSAGE_WLAN_AUTHENTICATION_H) @@ -27,7 +27,7 @@ #include "eapol_ethernet_header.h" #include "eap_file_config.h" //#include -#include "abs_eap_database_reference_if.h" +#include "abs_eapol_wlan_database_reference_if.h" #include "abs_eapol_message_wlan_authentication.h" #include "eapol_handle_tlv_message_data.h" @@ -40,6 +40,7 @@ class eapol_message_wlan_authentication_c : public abs_eapol_wlan_authentication_c , public abs_eap_base_timer_c +, public abs_eapol_wlan_database_reference_if_c { private: @@ -61,7 +62,7 @@ wlan_eap_if_send_status_e m_error_code; - eap_tlv_message_type_function_e m_error_function; + eapol_tlv_message_type_function_e m_error_function; bool m_use_asyncronous_test; @@ -113,7 +114,7 @@ EAP_FUNC_IMPORT eap_status_e send_error_message( const eap_status_e status, - const eap_tlv_message_type_function_e function); + const eapol_tlv_message_type_function_e function); EAP_FUNC_IMPORT eap_status_e process_message_type_error( EAP_TEMPLATE_CONST eap_array_c * const parameters); @@ -126,7 +127,7 @@ public: - EAP_FUNC_IMPORT virtual ~eapol_message_wlan_authentication_c(); + EAP_FUNC_IMPORT ~eapol_message_wlan_authentication_c(); EAP_FUNC_IMPORT eapol_message_wlan_authentication_c( abs_eap_am_tools_c * const tools, @@ -214,6 +215,17 @@ // ---------------------------------------------------------------- + // ---------------------------------------------------------------------- + // The following function is from abs_eapol_wlan_database_reference_if_c. + + // Look at abs_eapol_wlan_database_reference_if_c::get_wlan_database_reference_values(). + EAP_FUNC_IMPORT eap_status_e get_wlan_database_reference_values( + eap_variable_data_c * const reference) const; + + // The previous function is from abs_eapol_wlan_database_reference_if_c. + // ---------------------------------------------------------------------- + + /// Function receives the data message from lower layer. /// Data is formatted to Attribute-Value Pairs. /// Look at eap_tlv_header_c and eap_tlv_message_data_c. @@ -232,12 +244,6 @@ #endif // #if defined(USE_EAP_SIMPLE_CONFIG) - EAP_FUNC_IMPORT eap_status_e complete_check_pmksa_cache( - EAP_TEMPLATE_CONST eap_array_c * const bssid_sta_receive_network_ids); - - EAP_FUNC_IMPORT eap_status_e complete_disassociation( - const eap_am_network_id_c * const receive_network_id); - // ---------------------------------------------------------------------- }; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_rc4_key_header.h --- a/eapol/eapol_framework/eapol_common/include/eapol_rc4_key_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_rc4_key_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13 % */ #if !defined(_EAPOL_RC4_KEY_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_gtk_header.h --- a/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_gtk_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_gtk_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #if !defined(_EAPOL_RSNA_KEY_DATA_GTK_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_header.h --- a/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined(_EAPOL_RSNA_KEY_DATA_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_payloads.h --- a/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_payloads.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_payloads.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #if !defined(_EAPOL_RSNA_KEY_DATA_PAYLOADS_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_rsna_key_header.h --- a/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #if !defined(_EAPOL_RSNA_KEY_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_session_key.h --- a/eapol/eapol_framework/eapol_common/include/eapol_session_key.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_session_key.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined(_EAPOL_SESSION_KEY_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_test_stack_if.h --- a/eapol/eapol_framework/eapol_common/include/eapol_test_stack_if.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_test_stack_if.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined(_EAPOL_TEST_STACK_IF_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_wlan_authentication.h --- a/eapol/eapol_framework/eapol_common/include/eapol_wlan_authentication.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_wlan_authentication.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 18 % +* %version: 6.1.2 % */ #if !defined(_EAPOL_WLAN_AUTHENTICATION_H_) @@ -32,8 +32,6 @@ #include "eap_array.h" #include "eapol_key_state.h" #include "eapol_test_stack_if.h" -#include "eap_database_reference_if.h" -#include "abs_eap_configuration_if.h" #if defined(USE_EAP_SIMPLE_CONFIG) #include "abs_eap_configuration_if.h" @@ -53,7 +51,6 @@ #if defined(USE_TEST_EAPOL_WLAN_AUTHENTICATION) , public eapol_test_stack_if_c #endif //#if defined(USE_TEST_EAPOL_WLAN_AUTHENTICATION) -, public eap_database_reference_if_c #if defined(USE_EAP_SIMPLE_CONFIG) , public abs_eap_configuration_if_c #endif // #if defined(USE_EAP_SIMPLE_CONFIG) @@ -63,7 +60,8 @@ EAP_FUNC_IMPORT static eapol_wlan_authentication_c * new_eapol_wlan_authentication( abs_eap_am_tools_c * const tools, abs_eapol_wlan_authentication_c * const partner, - const bool is_client_when_true); + const bool is_client_when_true, + const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference); EAP_FUNC_IMPORT eapol_wlan_authentication_c( abs_eap_am_tools_c * const tools, @@ -99,8 +97,11 @@ const eap_variable_data_c * const SSID, const eapol_key_authentication_type_e selected_eapol_key_authentication_type, const eap_variable_data_c * const wpa_preshared_key, - const bool WPA_override_enabled, + const bool WPA_override_enabled +#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + , const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. +#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) ); EAP_FUNC_IMPORT eap_status_e complete_association( @@ -162,9 +163,6 @@ const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. ); - EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values( - const eap_variable_data_c * const reference); - ///////////////////////////////////////// /* These are called from ethernet_core */ @@ -293,37 +291,22 @@ const simple_config_payloads_c * const other_configuration); #endif // #if defined(USE_EAP_SIMPLE_CONFIG) - EAP_FUNC_IMPORT eap_status_e complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const receive_network_id, - const eapol_key_802_11_authentication_mode_e mode); - - EAP_FUNC_IMPORT eap_status_e complete_disassociation( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id); - private: - eap_status_e eapol_indication( + EAP_FUNC_IMPORT eap_status_e eapol_indication( const eap_am_network_id_c * const receive_network_id, ///< source includes remote address, destination includes local address. const eapol_wlan_authentication_state_e notification); - eap_status_e create_upper_stack(); + EAP_FUNC_IMPORT eap_status_e create_upper_stack(); eap_status_e disassociation_mutex_must_be_reserved( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. - ); - - eap_status_e internal_disassociation( - const bool complete_to_lower_layer, const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. ); eap_status_e cancel_all_authentication_sessions(); - eap_status_e complete_check_pmksa_cache( - EAP_TEMPLATE_CONST eap_array_c * const bssid_sta_receive_network_ids); +private: + eap_status_e cancel_timer_this_ap_failed(); @@ -333,7 +316,7 @@ eap_status_e cancel_timer_authentication_cancelled(); -private: + /// Pointer to the lower layer in the stack abs_eapol_wlan_authentication_c * m_partner; @@ -349,7 +332,7 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //eap_array_c m_selected_eap_types; + eap_array_c m_selected_eap_types; eap_variable_data_c m_wpa_preshared_key_hash; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_wlan_database_reference.h --- a/eapol/eapol_framework/eapol_common/include/eapol_wlan_database_reference.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_wlan_database_reference.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined(_EAPOL_WLAN_DATABASE_REFERENCE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/eapol_wlan_state.h --- a/eapol/eapol_framework/eapol_common/include/eapol_wlan_state.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_wlan_state.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_EAPOL_WLAN_STATE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/ethernet_core.h --- a/eapol/eapol_framework/eapol_common/include/ethernet_core.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/ethernet_core.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 33 % +* %version: 19.1.2 % */ #if !defined(_ETHERNET_CORE_H_) @@ -32,14 +32,12 @@ #include "eap_core_map.h" #include "abs_eap_stack_interface.h" #include "eapol_rsna_key_header.h" -#include "eap_database_reference_if.h" /// This class defines the ethernet protocol layer. class EAP_EXPORT ethernet_core_c : public abs_eapol_core_c , public abs_eap_stack_interface_c -, public eap_database_reference_if_c { private: //-------------------------------------------------- @@ -249,6 +247,7 @@ EAP_FUNC_IMPORT eap_status_e get_eap_type_list( eap_array_c * const eap_type_list); +#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) /** * Function creates a state for later use. This is for optimazing 4-Way Handshake. * @param receive_network_id carries the MAC addresses. @@ -260,8 +259,10 @@ const eap_am_network_id_c * const receive_network_id, const eapol_key_authentication_type_e authentication_type ); +#endif //#if defined(USE_EAPOL_KEY_STATE) && defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) +#if defined(USE_EAPOL_KEY_STATE) /** * This function need to be called when client STA (re)associates to AP. * @param receive_network_id carries the MAC addresses. @@ -279,16 +280,18 @@ const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e eapol_pairwise_cipher, const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e eapol_group_cipher, const eap_variable_data_c * const pre_shared_key); +#endif //#if defined(USE_EAPOL_KEY_STATE) +#if defined(USE_EAPOL_KEY_STATE) /** * This function need to be called when client STA disassociates from AP. * @param receive_network_id carries the MAC addresses. * MAC address of Authenticator should be in source address. MAC address of Supplicant should be in destination address. */ EAP_FUNC_IMPORT eap_status_e disassociation( - const bool complete_to_lower_layer, const eap_am_network_id_c * const receive_network_id ); +#endif //#if defined(USE_EAPOL_KEY_STATE) /// @see abs_eap_core_c::add_rogue_ap(). EAP_FUNC_IMPORT eap_status_e add_rogue_ap(eap_array_c & rogue_ap_list); @@ -298,38 +301,6 @@ const bool fatal_failure_when_true, const eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e tkip_mic_failure_type); - EAP_FUNC_IMPORT eap_status_e complete_check_pmksa_cache( - EAP_TEMPLATE_CONST eap_array_c * const bssid_sta_receive_network_ids); - -#if defined(USE_EAP_SIMPLE_CONFIG) - - EAP_FUNC_IMPORT eap_status_e save_simple_config_session( - const simple_config_state_e state, - EAP_TEMPLATE_CONST eap_array_c * const credential_array, - const eap_variable_data_c * const new_password, - const simple_config_Device_Password_ID_e Device_Password_ID, - const simple_config_payloads_c * const other_configuration); - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - - EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values( - const eap_variable_data_c * const reference); - - EAP_FUNC_IMPORT eap_status_e get_802_11_authentication_mode( - const eap_am_network_id_c * const receive_network_id, - const eapol_key_authentication_type_e authentication_type, - const eap_variable_data_c * const SSID, - const eap_variable_data_c * const preshared_key); - - EAP_FUNC_IMPORT eap_status_e complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const receive_network_id, - const eapol_key_802_11_authentication_mode_e mode); - - EAP_FUNC_IMPORT eap_status_e complete_disassociation( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id); - //-------------------------------------------------- }; // class ethernet_core_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/isakmp_header.h --- a/eapol/eapol_framework/eapol_common/include/isakmp_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/isakmp_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #if !defined(_ISAKMP_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/isakmp_payloads.h --- a/eapol/eapol_framework/eapol_common/include/isakmp_payloads.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/isakmp_payloads.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_ISAKMP_RESULT_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/sae_cookie.h --- a/eapol/eapol_framework/eapol_common/include/sae_cookie.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/sae_cookie.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_SAE_COOKIE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/include/wlan_eap_if_send_status.h --- a/eapol/eapol_framework/eapol_common/include/wlan_eap_if_send_status.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/wlan_eap_if_send_status.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_WLAN_EAP_IF_SEND_STATUS_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka.cpp --- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 41 % +* %version: 31.1.4 % */ // This is enumeration of EAPOL source code. @@ -383,7 +383,7 @@ //----------------------------------------------- // -EAP_FUNC_EXPORT void eap_type_aka_c::initialize_state( +void eap_type_aka_c::initialize_state( const eap_type_aka_state_variable_e state, const bool must_be_initiator, const bool must_be_responder, @@ -950,7 +950,7 @@ // Add padding zero octets if ((data_length % 4u) != 0) { - padding_zero_count = static_cast(4u - (data_length % 4u)); + padding_zero_count = 4u - (data_length % 4u); } if (RES->get_data_length()+padding_zero_count @@ -977,7 +977,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - gp_data.reset_header(static_cast(data_length + padding_zero_count)); + gp_data.reset_header(data_length+padding_zero_count); { u8_t *payload_buffer = gp_data.get_data(data_length+padding_zero_count); @@ -1006,7 +1006,7 @@ // It is always multiple of 8 bits. gp_data.set_reserved(static_cast(data_length*8ul)); - gp_data.set_data_length(static_cast(data_length + padding_zero_count)); + gp_data.set_data_length(data_length+padding_zero_count); status = eap_status_ok; @@ -2036,7 +2036,7 @@ payload->get_payload_length(), payload->get_reserved())); - status = p_aka_payloads->get_counter_too_small()->set_buffer( + status = p_aka_payloads->get_COUNTER_TOO_SMALL()->set_buffer( payload, 0, 0u, false, false); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -2901,6 +2901,8 @@ //-------------------------------------------------- +#if defined(USE_EAP_TRACE) + // EAP_FUNC_EXPORT void eap_type_aka_c::packet_trace( eap_const_string prefix, @@ -3008,7 +3010,7 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } - +#endif //#if defined(USE_EAP_TRACE) //-------------------------------------------------- @@ -5646,6 +5648,7 @@ //---------------------------------------------------------- +#if defined(USE_EAP_EXPANDED_TYPES) { eap_variable_data_c use_eap_expanded_type(m_am_tools); @@ -5679,6 +5682,7 @@ } } } +#endif //#if defined(USE_EAP_EXPANDED_TYPES) //---------------------------------------------------------- @@ -5954,6 +5958,22 @@ //-------------------------------------------------- +// +EAP_FUNC_EXPORT eap_status_e eap_type_aka_c::cancel_all_timers() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); + + const eap_status_e status = get_type_partner()->cancel_all_timers(); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- +//-------------------------------------------------- + EAP_FUNC_EXPORT const eap_type_aka_state_variable_parameters_c * eap_type_aka_c::get_state_variable() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_authentication_vector.cpp --- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_authentication_vector.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_authentication_vector.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_client.cpp --- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_client.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_client.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 29.1.3 % +* %version: 32 % */ // This is enumeration of EAPOL source code. @@ -5325,7 +5325,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_type_aka_c::handle_eap_identity_query( +eap_status_e eap_type_aka_c::handle_eap_identity_query( const eap_am_network_id_c * const send_network_id, eap_variable_data_c * const p_identity, const u8_t eap_identifier, @@ -5734,7 +5734,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_type_aka_c::query_eap_identity( +eap_status_e eap_type_aka_c::query_eap_identity( const bool must_be_synchronous, eap_variable_data_c * const identity, const eap_am_network_id_c * const receive_network_id, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_header.cpp --- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_payloads.cpp --- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_payloads.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 9.1.3 % +* %version: 12 % */ // This is enumeration of EAPOL source code. @@ -307,7 +307,7 @@ && check_one_payload(NEXT_REAUTH_ID, get_NEXT_REAUTH_ID()) == true && check_one_payload(NOTIFICATION, get_NOTIFICATION()) == true && check_one_payload(COUNTER, get_COUNTER()) == true - && check_one_payload(COUNTER_TOO_SMALL, get_counter_too_small()) == true + && check_one_payload(COUNTER_TOO_SMALL, get_COUNTER_TOO_SMALL()) == true && check_one_payload(CLIENT_ERROR_CODE, get_CLIENT_ERROR_CODE()) == true && check_one_payload(RESULT_IND, get_RESULT_IND()) == true && check_one_payload(CHECKCODE, get_CHECKCODE()) == true diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_server.cpp --- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_server.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_server.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 20.1.4 % +* %version: 23 % */ // This is enumeration of EAPOL source code. @@ -2583,7 +2583,7 @@ if (m_authentication_type == AKA_AUTHENTICATION_TYPE_FULL_AUTH - && ((m_identity_type == AKA_IDENTITY_TYPE_IMSI_ID + && (m_identity_type == AKA_IDENTITY_TYPE_IMSI_ID && (get_saved_previous_state() == eap_type_aka_state_waiting_for_identity_response || get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_permanent_identity || get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_full_auth_identity @@ -2593,7 +2593,7 @@ && (get_saved_previous_state() == eap_type_aka_state_waiting_for_identity_response || get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_permanent_identity || get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_any_identity - || get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response))) + || get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response)) ) { eap_type_aka_identity_type local_identity_type = m_identity_type; @@ -4734,7 +4734,7 @@ return EAP_STATUS_RETURN(m_am_tools, status); } - if (l_aka_payloads->get_counter_too_small()->get_payload_included() == true) + if (l_aka_payloads->get_COUNTER_TOO_SMALL()->get_payload_included() == true) { // When the client detects that the // counter value is not fresh, it includes the AT_COUNTER_TOO_SMALL diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_state.cpp --- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_state.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_state.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. @@ -77,8 +77,8 @@ EAP_FUNC_EXPORT bool eap_type_aka_state_variable_parameters_c::check_initiator(const bool is_initiator) const { - if ((m_must_be_initiator == true && is_initiator == false) - || (m_must_be_responder == true && is_initiator == true)) + if (m_must_be_initiator == true && is_initiator == false + || m_must_be_responder == true && is_initiator == true) { return false; } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_state_notification.cpp --- a/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_state_notification.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_state_notification.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. @@ -65,6 +65,8 @@ } +#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_EXPORT eap_type_aka_state_notification_c::eap_type_aka_state_notification_c( abs_eap_am_tools_c * const tools, const eap_am_network_id_c * const send_network_id, @@ -90,6 +92,8 @@ { } +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_EXPORT eap_type_aka_state_notification_c::eap_type_aka_state_notification_c( abs_eap_am_tools_c * const tools, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/include/abs_eap_type_aka_state.h --- a/eapol/eapol_framework/eapol_common/type/aka/include/abs_eap_type_aka_state.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/abs_eap_type_aka_state.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #error Do not use anymore. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka.h --- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 23 % +* %version: 20.1.2 % */ #if !defined(_AKA_CORE_H_) @@ -1294,6 +1294,9 @@ const u32_t identity_length, const u8_t * const at_character); + +#if defined(USE_EAP_TRACE) + /** * This function traces the EAP packet. */ @@ -1303,8 +1306,6 @@ eap_header_wr_c * const received_eap, const u32_t eap_packet_length); -#if defined(USE_EAP_TRACE) - #define EAP_AKA_PACKET_TRACE(prefix, receive_network_id, received_eap, eap_packet_length) \ packet_trace((prefix), (receive_network_id), (received_eap), (eap_packet_length)) @@ -1937,6 +1938,9 @@ abs_eap_base_timer_c * const p_initializer, const u32_t p_id); + // + EAP_FUNC_IMPORT eap_status_e cancel_all_timers(); + EAP_FUNC_IMPORT static eap_const_string get_identity_string(const eap_type_aka_identity_type identity_type); /** diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_authentication_vector.h --- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_authentication_vector.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_authentication_vector.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_EAP_TYPE_AKA_AUTHENTICATION_VECTOR_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_header.h --- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13 % */ #if !defined(_AKA_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_initialized.h --- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_initialized.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_initialized.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_AKA_INITIALIZED_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_payloads.h --- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_payloads.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_payloads.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 10.1.2 % +* %version: 12 % */ #if !defined(_AKA_RESULT_H_) @@ -337,7 +337,7 @@ return static_cast(&m_COUNTER); } - aka_variable_data_c * const get_counter_too_small() + aka_variable_data_c * const get_COUNTER_TOO_SMALL() { return static_cast(&m_COUNTER_TOO_SMALL); } @@ -353,7 +353,7 @@ bool get_includes_other_version_than_1(); - EAP_FUNC_IMPORT bool get_is_valid() const; + bool get_is_valid() const; //-------------------------------------------------- }; // class aka_payloads_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_state.h --- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_state.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_state.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_AKA_STATE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_state_notification.h --- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_state_notification.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_state_notification.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #if !defined(_EAP_AKA_STATE_NOTIFICATION_H_) @@ -64,6 +64,8 @@ u8_t eap_identifier, bool allow_send_eap_success); +#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_IMPORT eap_type_aka_state_notification_c( abs_eap_am_tools_c * const tools, const eap_am_network_id_c * const send_network_id, @@ -76,6 +78,9 @@ u8_t eap_identifier, bool allow_send_eap_success); +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + + EAP_FUNC_IMPORT eap_type_aka_state_notification_c( abs_eap_am_tools_c * const tools, const eap_am_network_id_c * const send_network_id, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_types.h --- a/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_types.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_types.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 24 % */ #if !defined(_AKA_TYPES_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_avp_code.h --- a/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_avp_code.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_avp_code.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_EAP_DIAMETER_AVP_CODE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_avp_header.h --- a/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_avp_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_avp_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_EAP_DIAMETER_AVP_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_payloads.h --- a/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_payloads.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_payloads.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13 % */ #if !defined(_EAP_DIAMETER_RESULT_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_avp_code.cpp --- a/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_avp_code.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_avp_code.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_avp_header.cpp --- a/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_avp_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_avp_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_payloads.cpp --- a/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_payloads.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 18 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/eap_type_all.cpp --- a/eapol/eapol_framework/eapol_common/type/eap_type_all.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/eap_type_all.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 18 % */ // This is enumeration of EAPOL source code. @@ -88,11 +88,8 @@ abs_eap_base_type_c * const partner, const eap_type_value_e eap_type, const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id -#if defined(USE_EAP_SIMPLE_CONFIG) - , abs_eap_configuration_if_c * const configuration_if -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - ) + const eap_am_network_id_c * const receive_network_id, + abs_eap_configuration_if_c * const configuration_if) { EAP_TRACE_BEGIN(tools, TRACE_FLAGS_DEFAULT); eap_base_type_c *type = 0; @@ -534,6 +531,7 @@ } else #endif +#if defined(USE_EAP_EXPANDED_TYPES) #if defined(USE_EAP_SIMPLE_CONFIG) if (eap_type == eap_expanded_type_simple_config.get_type()) { @@ -587,6 +585,7 @@ } else #endif //#if defined(USE_EAP_SIMPLE_CONFIG) +#endif //#if defined(USE_EAP_EXPANDED_TYPES) #if defined(USE_FAST_EAP_TYPE) if (eap_type == eap_type_fast) { @@ -684,10 +683,8 @@ EAP_TRACE_ERROR( tools, TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: new_eap_type(): EAP-type=0xfe%06x%08x=%s not supported in this module.\n"), - eap_type.get_vendor_id(), - eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(eap_type))); + (EAPL("ERROR: new_eap_type(): EAP-type=0x%08x not supported in this module.\n"), + convert_eap_type_to_u32_t(eap_type))); } EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT); return type; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim.cpp --- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 37 % +* %version: 27.1.4 % */ // This is enumeration of EAPOL source code. @@ -344,7 +344,7 @@ #if !defined(NO_EAP_TYPE_GSMSIM_MESSAGE_STATE_CHECK) // -EAP_FUNC_EXPORT void eap_type_gsmsim_c::initialize_state( +void eap_type_gsmsim_c::initialize_state( const eap_type_gsmsim_state_variable_e state, const bool must_be_initiator, const bool must_be_responder, @@ -626,7 +626,7 @@ * This function saves the current m_state to m_saved_previous_state. * The saved state is restored in error case. */ -EAP_FUNC_EXPORT void eap_type_gsmsim_c::save_current_state() +void eap_type_gsmsim_c::save_current_state() { m_saved_previous_state = m_state; } @@ -636,7 +636,7 @@ /** * This function restores the saved state. */ -EAP_FUNC_EXPORT void eap_type_gsmsim_c::restore_saved_previous_state() +void eap_type_gsmsim_c::restore_saved_previous_state() { set_state(m_saved_previous_state); } @@ -2719,7 +2719,7 @@ payload->get_payload_length(), payload->get_reserved())); - status = p_gsmsim_payloads->get_counter_too_small()->set_buffer( + status = p_gsmsim_payloads->get_COUNTER_TOO_SMALL()->set_buffer( payload, 0, 0u, false, false); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -3665,6 +3665,8 @@ //-------------------------------------------------- +#if defined(USE_EAP_TRACE) + // EAP_FUNC_EXPORT void eap_type_gsmsim_c::packet_trace( eap_const_string prefix, @@ -3775,6 +3777,7 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } +#endif //#if defined(USE_EAP_TRACE) //-------------------------------------------------- @@ -4653,8 +4656,8 @@ TRACE_FLAGS_DEFAULT, (EAPL("received: GSMSIM packet"), received_gsmsim->get_header_buffer( - received_gsmsim->get_header_buffer_length()), - received_gsmsim->get_header_buffer_length())); + received_gsmsim->get_header_length()+received_gsmsim->get_data_length()), + received_gsmsim->get_header_length()+received_gsmsim->get_data_length())); if (received_gsmsim->get_type() == eap_type_identity) { @@ -6476,6 +6479,7 @@ //---------------------------------------------------------- +#if defined(USE_EAP_EXPANDED_TYPES) { eap_variable_data_c use_eap_expanded_type(m_am_tools); @@ -6509,6 +6513,7 @@ } } } +#endif //#if defined(USE_EAP_EXPANDED_TYPES) //---------------------------------------------------------- @@ -6789,6 +6794,21 @@ //-------------------------------------------------- +// +EAP_FUNC_EXPORT eap_status_e eap_type_gsmsim_c::cancel_all_timers() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); + + const eap_status_e status = get_type_partner()->cancel_all_timers(); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + void eap_type_gsmsim_c::set_start_response_includes_identity(gsmsim_payload_AT_type_e type) { EAP_TRACE_DEBUG( diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_client.cpp --- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_client.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_client.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 31.1.2 % +* %version: 33 % */ // This is enumeration of EAPOL source code. @@ -5072,7 +5072,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_type_gsmsim_c::handle_eap_identity_query( +eap_status_e eap_type_gsmsim_c::handle_eap_identity_query( const eap_am_network_id_c * const send_network_id, eap_variable_data_c * const p_identity, const u8_t eap_identifier, @@ -5458,7 +5458,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_type_gsmsim_c::query_eap_identity( +eap_status_e eap_type_gsmsim_c::query_eap_identity( const bool must_be_synchronous, eap_variable_data_c * const identity, const eap_am_network_id_c * const receive_network_id, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_header.cpp --- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 10.1.2 % +* %version: 12 % */ // This is enumeration of EAPOL source code. @@ -304,7 +304,7 @@ } } -EAP_FUNC_EXPORT u32_t gsmsim_header_c::get_sub_type_offset() const +u32_t gsmsim_header_c::get_sub_type_offset() const { return eap_header_base_c::get_header_length() + eap_header_base_c::get_type_field_length() + m_subtype_delta_offset; } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_initialized.cpp --- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_initialized.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_initialized.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_mac_attributes.cpp --- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_mac_attributes.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_mac_attributes.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_payloads.cpp --- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_payloads.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 7.1.3 % +* %version: 10 % */ // This is enumeration of EAPOL source code. @@ -269,7 +269,7 @@ && check_one_payload(VERSION_LIST, get_VERSION_LIST()) == true && check_one_payload(SELECTED_VERSION, get_SELECTED_VERSION()) == true && check_one_payload(COUNTER, get_COUNTER()) == true - && check_one_payload(COUNTER_TOO_SMALL, get_counter_too_small()) == true + && check_one_payload(COUNTER_TOO_SMALL, get_COUNTER_TOO_SMALL()) == true && check_one_payload(CLIENT_ERROR_CODE, get_CLIENT_ERROR_CODE()) == true && check_one_payload(RESULT_IND, get_RESULT_IND()) == true ) @@ -378,7 +378,7 @@ return static_cast(&m_COUNTER); } -EAP_FUNC_EXPORT gsmsim_variable_data_c * gsmsim_payloads_c::get_counter_too_small() +EAP_FUNC_EXPORT gsmsim_variable_data_c * gsmsim_payloads_c::get_COUNTER_TOO_SMALL() { return static_cast(&m_COUNTER_TOO_SMALL); } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_server.cpp --- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_server.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_server.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 18.1.2 % +* %version: 20 % */ // This is enumeration of EAPOL source code. @@ -4261,7 +4261,7 @@ return EAP_STATUS_RETURN(m_am_tools, status); } - if (l_gsmsim_payloads->get_counter_too_small()->get_payload_included() == true) + if (l_gsmsim_payloads->get_COUNTER_TOO_SMALL()->get_payload_included() == true) { // When the client detects that the // counter value is not fresh, it includes the AT_COUNTER_TOO_SMALL diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_state.cpp --- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_state.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_state.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. @@ -76,8 +76,8 @@ EAP_FUNC_EXPORT bool eap_type_gsmsim_state_variable_parameters_c::check_initiator(const bool is_initiator) const { - if ((m_must_be_initiator == true && is_initiator == false) - || (m_must_be_responder == true && is_initiator == true)) + if (m_must_be_initiator == true && is_initiator == false + || m_must_be_responder == true && is_initiator == true) { return false; } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_state_notification.cpp --- a/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_state_notification.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_state_notification.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. @@ -65,6 +65,8 @@ } +#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_EXPORT eap_type_gsmsim_state_notification_c::eap_type_gsmsim_state_notification_c( abs_eap_am_tools_c * const tools, const eap_am_network_id_c * const send_network_id, @@ -90,6 +92,8 @@ { } +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_EXPORT eap_type_gsmsim_state_notification_c::eap_type_gsmsim_state_notification_c( abs_eap_am_tools_c * const tools, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/include/abs_eap_type_gsmsim_state.h --- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/abs_eap_type_gsmsim_state.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/abs_eap_type_gsmsim_state.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 2.1.2 % */ #if !defined(_ABS_GSMSIM_STATE_H_) @@ -122,6 +122,17 @@ abs_eap_base_timer_c * const initializer, const u32_t id) = 0; + /** + * The cancel_all_timers() function cancels all timers. + * User should use this in termination of the stack before + * the adaptation module of tools is deleted. + * Preferred mode is to cancel each timer directly + * using cancel_timer() function. + * + * Adaptation module internally implements the timer. + */ + virtual eap_status_e cancel_all_timers() = 0; + //-------------------------------------------------- }; // class abs_eap_type_gsmsim_state_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_gsmsim_state_notification.h --- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_gsmsim_state_notification.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_gsmsim_state_notification.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_EAP_GSMSIM_STATE_NOTIFICATION_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim.h --- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: 5.1.2 % */ #if !defined(_GSMSIM_CORE_H_) @@ -1516,6 +1516,8 @@ #endif //#if defined(USE_EAP_TYPE_SERVER_GSMSIM) +#if defined(USE_EAP_TRACE) + /** * This function traces the EAP packet. */ @@ -1525,8 +1527,6 @@ eap_header_wr_c * const received_eap, const u32_t eap_packet_length); -#if defined(USE_EAP_TRACE) - #define EAP_GSMSIM_PACKET_TRACE(prefix, receive_network_id, received_eap, eap_packet_length) \ packet_trace((prefix), (receive_network_id), (received_eap), (eap_packet_length)) @@ -1859,6 +1859,9 @@ abs_eap_base_timer_c * const p_initializer, const u32_t p_id); + // + EAP_FUNC_IMPORT eap_status_e cancel_all_timers(); + //-------------------------------------------------- }; // class eap_type_gsmsim_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_header.h --- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined(_GSMSIM_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_initialized.h --- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_initialized.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_initialized.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined(_GSMSIM_INITIALIZED_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_mac_attributes.h --- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_mac_attributes.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_mac_attributes.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_EAP_TYPE_GSMSIM_MAC_ATTRIBUTES_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_payloads.h --- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_payloads.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_payloads.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 3.1.2 % +* %version: 5 % */ #if !defined(_GSMSIM_RESULT_H_) @@ -263,7 +263,7 @@ EAP_FUNC_IMPORT gsmsim_variable_data_c * get_COUNTER(); - EAP_FUNC_IMPORT gsmsim_variable_data_c * get_counter_too_small(); + EAP_FUNC_IMPORT gsmsim_variable_data_c * get_COUNTER_TOO_SMALL(); EAP_FUNC_IMPORT void set_includes_unknown_attribute(const gsmsim_payload_AT_type_e unknown_payload); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_state.h --- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_state.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_state.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined(_GSMSIM_STATE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_state_notification.h --- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_state_notification.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_state_notification.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined(_EAP_GSMSIM_STATE_NOTIFICATION_H_) @@ -65,6 +65,8 @@ bool allow_send_eap_success); +#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_IMPORT eap_type_gsmsim_state_notification_c( abs_eap_am_tools_c * const tools, const eap_am_network_id_c * const send_network_id, @@ -77,6 +79,8 @@ u8_t eap_identifier, bool allow_send_eap_success); +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_IMPORT eap_type_gsmsim_state_notification_c( abs_eap_am_tools_c * const tools, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_types.h --- a/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_types.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_types.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined(_GSMSIM_TYPES_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2.cpp --- a/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 46 % +* %version: 40.1.2 % */ // This is enumeration of EAPOL source code. @@ -730,6 +730,7 @@ //---------------------------------------------------------- +#if defined(USE_EAP_EXPANDED_TYPES) { eap_variable_data_c use_eap_expanded_type(m_am_tools); @@ -763,6 +764,7 @@ } } } +#endif //#if defined(USE_EAP_EXPANDED_TYPES) //---------------------------------------------------------- @@ -1010,7 +1012,7 @@ EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_type_mschapv2_c::reset()"); - m_session.reset(); + m_session.set_state(eap_type_mschapv2_state_none); m_username_utf8.reset(); eap_variable_data_c username_uc(m_am_tools); @@ -1044,9 +1046,6 @@ m_is_notification_sent = false; m_is_reauthentication = false; - m_is_pending = false; - m_identity_asked = false; - status = m_am_type_mschapv2->reset(); if (status != eap_status_ok) { @@ -1506,7 +1505,7 @@ if (key[key_byte] & (1 << key_bit_shifting)) // If bit is 1... { - newkey[newkey_byte] = static_cast(newkey[newkey_byte] | (1 << newkey_bit_shifting)); // ...set bit to 1 + newkey[newkey_byte] |= (1 << newkey_bit_shifting); // ...set bit to 1 bit_counter++; } } @@ -1520,7 +1519,7 @@ } // Copy key three times into triple size key because we are internally using 3des instead of des - // des: Ek == 3des: Ek3(Dk2(Ek1)) when k == key1 == key2 == key3 + // des: Ek == 3des: Ek3(Dk2(Ek1)) when k == k1 == k2 == k3 m_am_tools->memmove(newkey + EAP_MSCHAPV2_DES_KEY_SIZE, newkey, EAP_MSCHAPV2_DES_KEY_SIZE); m_am_tools->memmove(newkey + 2 * EAP_MSCHAPV2_DES_KEY_SIZE, newkey, EAP_MSCHAPV2_DES_KEY_SIZE); @@ -1727,7 +1726,7 @@ m_am_tools->memmove(authenticator_response, "S=", 2); u32_t length = EAP_MSCHAPV2_SHA1_DIGEST_SIZE * 2; - (void)m_am_tools->convert_bytes_to_hex_ascii( + m_am_tools->convert_bytes_to_hex_ascii( digest, EAP_MSCHAPV2_SHA1_DIGEST_SIZE, authenticator_response + 2, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_client.cpp --- a/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_client.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_client.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 39.1.3 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_credential_store.cpp --- a/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_credential_store.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_credential_store.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_header.cpp --- a/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 19 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_payloads.cpp --- a/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_payloads.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_server.cpp --- a/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_server.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_server.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 33 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_state.cpp --- a/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_state.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_state.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10.1.3 % */ // This is enumeration of EAPOL source code. @@ -38,20 +38,6 @@ , m_next_state(eap_type_mschapv2_state_none) , m_failure_message_received(false) { - reset(); -} - -EAP_FUNC_EXPORT eap_type_mschapv2_state_c::~eap_type_mschapv2_state_c() -{ -} - -eap_type_mschapv2_state_variable_e eap_type_mschapv2_state_c::get_state() const -{ - return m_state; -} - -void eap_type_mschapv2_state_c::reset() -{ if (m_is_client) { m_state = eap_type_mschapv2_state_none; @@ -66,6 +52,15 @@ } } +EAP_FUNC_EXPORT eap_type_mschapv2_state_c::~eap_type_mschapv2_state_c() +{ +} + +eap_type_mschapv2_state_variable_e eap_type_mschapv2_state_c::get_state() const +{ + return m_state; +} + void eap_type_mschapv2_state_c::set_state(const eap_type_mschapv2_state_variable_e new_state) { set_state(new_state, eap_type_mschapv2_state_none); @@ -79,14 +74,11 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_type_mschapv2_state_c::set_state(): this = 0x%08x, previous state %d=%s, new state %d=%s, new next state %d=%s\n"), - this, - m_prev_state, - get_state_string(m_prev_state), - new_state, - get_state_string(new_state), - new_next_state, - get_state_string(m_next_state))); + (EAPL("eap_type_mschapv2_state_c::set_state(): this = 0x%08x, previous state %d, new state %d, new next state %d\n"), + this, + m_prev_state, + new_state, + new_next_state)); m_prev_state = m_state; m_state = new_state; @@ -98,16 +90,12 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_type_mschapv2_state_c::is_valid_state(): this = 0x%08x, previous state %d=%s, state %d=%s, new state %d=%s, new next state %d\n"), - this, - m_prev_state, - get_state_string(m_prev_state), - m_state, - get_state_string(m_state), - new_state, - get_state_string(new_state), - m_next_state, - get_state_string(m_next_state))); + (EAPL("eap_type_mschapv2_state_c::is_valid_state(): this = 0x%08x, previous state %d, state %d, new state %d, new next state %d\n"), + this, + m_prev_state, + m_state, + new_state, + m_next_state)); if (m_is_client) // Client { @@ -174,16 +162,12 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: eap_type_mschapv2_state_c::is_valid_state(): returns false: this = 0x%08x, previous state %d=%s, state %d=%s, new state %d=%s, new next state %d=%s\n"), - this, - m_prev_state, - get_state_string(m_prev_state), - m_state, - get_state_string(m_state), - new_state, - get_state_string(new_state), - m_next_state, - get_state_string(m_next_state))); + (EAPL("WARNING: eap_type_mschapv2_state_c::is_valid_state(): returns false: this = 0x%08x, previous state %d, state %d, new state %d, new next state %d\n"), + this, + m_prev_state, + m_state, + new_state, + m_next_state)); return false; @@ -231,16 +215,12 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: eap_type_mschapv2_state_c::is_valid_state(): returns false: this = 0x%08x, previous state %d=%s, state %d=%s, new state %d=%s, new next state %d=%s\n"), - this, - m_prev_state, - get_state_string(m_prev_state), - m_state, - get_state_string(m_state), - new_state, - get_state_string(new_state), - m_next_state, - get_state_string(m_next_state))); + (EAPL("WARNING: eap_type_mschapv2_state_c::is_valid_state(): returns false: this = 0x%08x, previous state %d, state %d, new state %d, new next state %d\n"), + this, + m_prev_state, + m_state, + new_state, + m_next_state)); return false; @@ -256,14 +236,11 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_type_mschapv2_state_c::set_failure_message_received(): this = 0x%08x, previous state %d=%s, state %d=%s, new next state %d=%s\n"), - this, - m_prev_state, - get_state_string(m_prev_state), - m_state, - get_state_string(m_state), - m_next_state, - get_state_string(m_next_state))); + (EAPL("eap_type_mschapv2_state_c::set_failure_message_received(): this = 0x%08x, previous state %d, state %d, new next state %d\n"), + this, + m_prev_state, + m_state, + m_next_state)); m_failure_message_received = true; } @@ -273,14 +250,11 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_type_mschapv2_state_c::unset_failure_message_received(): this = 0x%08x, previous state %d=%s, state %d=%s, new next state %d=%s\n"), - this, - m_prev_state, - get_state_string(m_prev_state), - m_state, - get_state_string(m_state), - m_next_state, - get_state_string(m_next_state))); + (EAPL("eap_type_mschapv2_state_c::unset_failure_message_received(): this = 0x%08x, previous state %d, state %d, new next state %d\n"), + this, + m_prev_state, + m_state, + m_next_state)); m_failure_message_received = false; } @@ -288,30 +262,3 @@ void eap_type_mschapv2_state_c::cancel_eap_failure_timer() { } - -eap_const_string eap_type_mschapv2_state_c::get_state_string(const eap_type_mschapv2_state_variable_e state) -{ -#if defined(USE_EAP_TRACE_STRINGS) - EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_none) - else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_success) - else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_failure) - else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_identity_request) - else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_challenge_request) - else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_success_request) - else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_failure_request) - else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_change_password_request) - else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_identity_response) - else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_challenge_response) - else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_success_response) - else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_failure_response) - else EAP_IF_RETURN_STRING(state, eap_type_mschapv2_state_change_password_response) - else -#endif // #if defined(USE_EAP_TRACE_STRINGS) - { - EAP_UNREFERENCED_PARAMETER(state); - return EAPL("Unknown EAP-MsChapv2-state"); - } -} - - -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/mschapv2/include/abs_eap_type_mschapv2_state.h --- a/eapol/eapol_framework/eapol_common/type/mschapv2/include/abs_eap_type_mschapv2_state.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/abs_eap_type_mschapv2_state.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #ifndef _ABS_MSCHAPV2_STATE_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2.h --- a/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 22.1.2 % */ #ifndef _MSCHAPV2_CORE_H_ @@ -138,19 +138,19 @@ #endif //#if defined(USE_FAST_EAP_TYPE) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + void send_error_notification(const eap_status_e error); - EAP_FUNC_IMPORT eap_status_e finish_successful_authentication(); + eap_status_e finish_successful_authentication(); eap_status_e finish_unsuccessful_authentication( const bool authentication_cancelled); - EAP_FUNC_IMPORT eap_status_e complete_eap_identity_query(); + eap_status_e complete_eap_identity_query(); - EAP_FUNC_IMPORT eap_status_e complete_failure_retry_response(); + eap_status_e complete_failure_retry_response(); - EAP_FUNC_IMPORT eap_status_e complete_change_password_query(); + eap_status_e complete_change_password_query(); eap_status_e client_packet_process( eap_header_wr_c * const eap, ///< This is pointer to EAP header and data. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_credential_store.h --- a/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_credential_store.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_credential_store.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #ifndef EAP_TYPE_MSCHAPV2_CREDENTIAL_STORE_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_header.h --- a/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 14 % */ #ifndef _MSCHAPV2_HEADER_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_payloads.h --- a/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_payloads.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_payloads.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ #ifndef _MSCHAPV2_PAYLOADS_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_state.h --- a/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_state.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_state.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10.1.2 % */ #ifndef _MSCHAPV2_STATE_H_ @@ -71,8 +71,6 @@ EAP_FUNC_IMPORT virtual ~eap_type_mschapv2_state_c(); - void reset(); - eap_type_mschapv2_state_variable_e get_state() const; void set_state(const eap_type_mschapv2_state_variable_e new_state); @@ -86,8 +84,6 @@ void unset_failure_message_received(); void cancel_eap_failure_timer(); - - static eap_const_string get_state_string(const eap_type_mschapv2_state_variable_e state); }; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_types.h --- a/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_types.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_types.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 27 % */ #ifndef _MSCHAPV2_TYPES_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/core/eap_radius.cpp --- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 14 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_attribute_header.cpp --- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_attribute_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_attribute_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_client.cpp --- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_client.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_client.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_header.cpp --- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_header_string.cpp --- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_header_string.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_header_string.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_initialized.cpp --- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_initialized.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_initialized.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_mac_attributes.cpp --- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_mac_attributes.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_mac_attributes.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_payloads.cpp --- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_payloads.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 17 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_server.cpp --- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_server.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_server.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_session.cpp --- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_session.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_session.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11.1.2 % */ // This is enumeration of EAPOL source code. @@ -947,8 +947,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_radius_session_c::remove_eap_session( - const bool complete_to_lower_layer, +EAP_FUNC_EXPORT eap_status_e eap_radius_session_c::synchronous_remove_eap_session( const eap_am_network_id_c * const receive_network_id) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1019,7 +1018,7 @@ (EAPL("eap_radius_session_c::asynchronous_init_remove_eap_session(): %s.\n"), (m_is_client == true) ? "client": "server")); - // NOTE: we cannot call directly remove_eap_session(), because we will + // NOTE: we cannot call directly synchronous_remove_eap_session(), because we will // return from here to removed object. eap_status_e status = eap_status_process_general_error; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_state.cpp --- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_state.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_state.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_state_notification.cpp --- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_state_notification.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_state_notification.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. @@ -66,6 +66,8 @@ } +#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_EXPORT eap_radius_state_notification_c::eap_radius_state_notification_c( abs_eap_am_tools_c * const tools, const eap_am_network_id_c * const send_network_id, @@ -92,6 +94,8 @@ { } +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_EXPORT eap_radius_state_notification_c::eap_radius_state_notification_c( abs_eap_am_tools_c * const tools, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_ABS_EAP_RADIUS_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius_session.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius_session.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius_session.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_ABS_EAP_RADIUS_SESSION_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius_state.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius_state.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius_state.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_ABS_RADIUS_STATE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/include/eap_radius.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #if !defined(_RADIUS_CORE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_attribute_header.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_attribute_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_attribute_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_EAP_RADIUS_PAYLOAD_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_header.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_EAP_RADIUS_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_header_string.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_header_string.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_header_string.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined( _EAP_RADIUS_HEADER_STRING_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_initialized.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_initialized.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_initialized.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_RADIUS_INITIALIZED_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_mac_attributes.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_mac_attributes.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_mac_attributes.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_EAP_TYPE_RADIUS_MAC_ATTRIBUTES_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_payloads.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_payloads.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_payloads.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ #if !defined(_EAP_RADIUS_RESULT_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_session.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_session.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_session.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11.1.2 % */ #if !defined(_EAP_RADIUS_SESSION_H_) @@ -342,8 +342,7 @@ * This function removes EAP session object synchronously. * @param receive_network_id identifies the removed EAP session. */ - EAP_FUNC_IMPORT eap_status_e remove_eap_session( - const bool complete_to_lower_layer, + EAP_FUNC_IMPORT eap_status_e synchronous_remove_eap_session( const eap_am_network_id_c * const receive_network_id); /** diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_state.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_state.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_state.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_RADIUS_STATE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_state_notification.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_state_notification.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_state_notification.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_EAP_RADIUS_STATE_NOTIFICATION_H_) @@ -91,6 +91,8 @@ bool allow_send_eap_success); +#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_IMPORT eap_radius_state_notification_c( abs_eap_am_tools_c * const tools, const eap_am_network_id_c * const send_network_id, @@ -103,6 +105,8 @@ u8_t eap_identifier, bool allow_send_eap_success); +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_IMPORT eap_radius_state_notification_c( abs_eap_am_tools_c * const tools, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_types.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_types.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_types.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_RADIUS_TYPES_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid.cpp --- a/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 25 % */ // This is enumeration of EAPOL source code. @@ -636,6 +636,7 @@ //---------------------------------------------------------- +#if defined(USE_EAP_EXPANDED_TYPES) { eap_variable_data_c use_eap_expanded_type(m_am_tools); eap_status_e status(eap_status_process_general_error); @@ -679,6 +680,7 @@ } } } +#endif //#if defined(USE_EAP_EXPANDED_TYPES) //---------------------------------------------------------- diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_client.cpp --- a/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_client.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_client.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 16 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_server.cpp --- a/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_server.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_server.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 14 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_state.cpp --- a/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_state.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_state.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/securid/include/abs_eap_type_securid_state.h --- a/eapol/eapol_framework/eapol_common/type/securid/include/abs_eap_type_securid_state.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/include/abs_eap_type_securid_state.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #ifndef _ABS_MSCHAPV2_STATE_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid.h --- a/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ #ifndef EAP_TYPE_SECURID_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid_state.h --- a/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid_state.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid_state.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #ifndef EAP_TYPE_SECURID_STATE_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid_types.h --- a/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid_types.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid_types.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13 % */ #ifndef SECURID_TYPES_H @@ -47,6 +47,7 @@ eap_configure_type_hex_data, true); + EAP_CONFIGURATION_FIELD( cf_str_EAP_GTC_identity, "EAP_GTC_identity", @@ -60,11 +61,6 @@ eap_configure_type_hex_data, false); -EAP_CONFIGURATION_FIELD( - cf_str_EAP_GTC_passcode_prompt, - "EAP_SECURID_passcode_prompt", - eap_configure_type_boolean, - false); EAP_CONFIGURATION_FIELD( cf_str_EAP_SECURID_use_eap_expanded_type, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 21.1.2 % */ #if !defined(_EAP_TYPE_SIMPLE_CONFIG_H_) @@ -614,6 +614,9 @@ abs_eap_base_timer_c * const p_initializer, const u32_t p_id); + /// @see abs_simple_config_base_record_c::cancel_all_timers(). + EAP_FUNC_IMPORT eap_status_e cancel_all_timers(); + /// @see abs_simple_config_base_record_c::load_module(). EAP_FUNC_IMPORT eap_status_e load_module( const eap_type_value_e type, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_header.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #if !defined(_EAP_SIMPLE_CONFIG_HEADER_H_) @@ -32,6 +32,9 @@ const u8_t SIMPLE_CONFIG_NAI_AT_BYTE = '@'; +#if !defined(USE_EAP_EXPANDED_TYPES) + #error You MUST define USE_EAP_EXPANDED_TYPES compiler flag. WFA Simple Config uses that. +#endif //#if !defined(USE_EAP_EXPANDED_TYPES) //---------------------------------------------------------------------------- diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_state_notification.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_state_notification.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_state_notification.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #if !defined(_EAP_SIMPLE_CONFIG_STATE_NOTIFICATION_H_) @@ -65,6 +65,8 @@ bool allow_send_eap_success); +#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_IMPORT eap_type_simple_config_state_notification_c( abs_eap_am_tools_c * const tools, const eap_am_network_id_c * const send_network_id, @@ -77,6 +79,8 @@ u8_t eap_identifier, bool allow_send_eap_success); +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_IMPORT eap_type_simple_config_state_notification_c( abs_eap_am_tools_c * const tools, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_types.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_types.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_types.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 21 % */ #if !defined(_EAP_TYPE_SIMPLE_CONFIG_TYPES_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config.cpp --- a/eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 26.1.2 % */ // This is enumeration of EAPOL source code. @@ -3627,6 +3627,19 @@ //-------------------------------------------------- +// +EAP_FUNC_EXPORT eap_status_e eap_type_simple_config_c::cancel_all_timers() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + eap_status_e status = get_type_partner()->cancel_all_timers(); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + // This is commented in abs_simple_config_base_application_c. EAP_FUNC_EXPORT eap_status_e eap_type_simple_config_c::load_module( const eap_type_value_e type, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config_header.cpp --- a/eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 20 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config_state_notification.cpp --- a/eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config_state_notification.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config_state_notification.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. @@ -64,6 +64,8 @@ } +#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_EXPORT eap_type_simple_config_state_notification_c::eap_type_simple_config_state_notification_c( abs_eap_am_tools_c * const tools, const eap_am_network_id_c * const send_network_id, @@ -89,6 +91,8 @@ { } +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_EXPORT eap_type_simple_config_state_notification_c::eap_type_simple_config_state_notification_c( abs_eap_am_tools_c * const tools, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_apply_cipher_spec.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_apply_cipher_spec.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_apply_cipher_spec.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #if !defined(_ABS_SIMPLE_CONFIG_MESSAGE_RECORD_PROCESS_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_base_record.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_base_record.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_base_record.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8.1.2 % */ #if !defined(_ABS_SIMPLE_CONFIG_BASE_RECORD_H_) @@ -202,6 +202,17 @@ const u32_t id) = 0; /** + * The cancel_all_timers() function cancels all timers. + * User should use this in termination of the stack before + * the adaptation module of tools is deleted. + * Preferred mode is to cancel each timer directly + * using cancel_timer() function. + * + * Adaptation module internally implements the timer. + */ + virtual eap_status_e cancel_all_timers() = 0; + + /** * This is needed by PEAP type. * The load_module() function function indicates the lower level to * load new module of EAP-type. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_message_hash.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_message_hash.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/abs_simple_config_message_hash.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_ABS_SIMPLE_CONFIG_MESSAGE_HASH_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_attribute_type.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_attribute_type.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_attribute_type.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #if !defined(_SIMPLE_CONFIG_ATTRIBUTE_TYPE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_base_record.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_base_record.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_base_record.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_SIMPLE_CONFIG_BASE_RECORD_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_completion.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_completion.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_completion.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ #if !defined(_SIMPLE_CONFIG_COMPLETION_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_credential.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_credential.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_credential.h Wed Sep 01 12:23:57 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,12 +11,12 @@ * * Contributors: * -* Description: This class defines Credential attributes for protected setup (previously known as simple config). +* Description: EAP and WLAN authentication protocols. * */ /* -* %version: 9 % +* %version: 4.1.2 % */ #if !defined(_SIMPLE_CONFIG_CREDENTIAL_H_) @@ -33,7 +33,7 @@ //---------------------------------------------------------------------------- -/// This class defines Credential attributes for protected setup (previously known as simple config). +/// This class defines Credential attributes. class EAP_EXPORT simple_config_credential_c { private: @@ -73,12 +73,10 @@ EAP_FUNC_IMPORT void set_network_index(const u8_t index); - EAP_FUNC_IMPORT u8_t get_network_index() const; + EAP_FUNC_IMPORT u8_t get_network_index(); EAP_FUNC_IMPORT eap_variable_data_c * get_SSID(); - EAP_FUNC_IMPORT const eap_variable_data_c * get_SSID_const() const; - EAP_FUNC_IMPORT simple_config_Authentication_Type_e get_Authentication_Type(); EAP_FUNC_IMPORT void set_Authentication_Type(const simple_config_Authentication_Type_e Authentication_Type); @@ -89,12 +87,8 @@ EAP_FUNC_IMPORT eap_array_c * get_network_keys(); - EAP_FUNC_IMPORT const eap_array_c * get_network_keys_const() const; - EAP_FUNC_IMPORT eap_variable_data_c * get_MAC_address(); - EAP_FUNC_IMPORT const eap_variable_data_c * get_MAC_address_const() const; - EAP_FUNC_IMPORT bool get_is_valid(); // diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_message.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_message.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_message.h Wed Sep 01 12:23:57 2010 +0100 @@ -11,12 +11,12 @@ * * Contributors: * -* Description: This class defines one SIMPLE_CONFIG-message. +* Description: EAP and WLAN authentication protocols. * */ /* -* %version: 12.1.2 % +* %version: 14 % */ #if !defined(_SIMPLE_CONFIG_MESSAGE_H_) @@ -32,10 +32,16 @@ //---------------------------------------------------------------------------- -/// This class defines one SIMPLE_CONFIG-message. +/// This class defines one SIMPLE_CONFIG-message. One SIMPLE_CONFIG message could include many SIMPLE_CONFIG-records. /** * This class defined one SIMPLE_CONFIG-message. * Parse and analyse of SIMPLE_CONFIG-message is asyncronous. + * m_analyse_index tells the index of message where asyncronous + * analyse of SIMPLE_CONFIG-message must continue. + * Analysed messages are skipped during the asyncronous + * analyse of messages. Asyncronous analyse is needed + * because of the PKI functions are asyncronous in + * Symbian. */ class EAP_EXPORT simple_config_message_c { @@ -48,9 +54,10 @@ /// This buffer includes copy of the whole received SIMPLE_CONFIG-message data. eap_variable_data_c m_simple_config_message_data; - /// This is EAP-identifier of the EAP-packet that includes SIMPLE_CONFIG-message. + /// This is EAP-identifier of the EAP-packet that includes SIMPLE_CONFIG-message. This is needed in XP-PEAP. u8_t m_received_eap_identifier; + /// This indicates whether this object is client (true) or server (false). This is mostly for traces. const bool m_is_client; @@ -81,7 +88,7 @@ /** * This function copies the received SIMPLE_CONFIG-message data and EAP-identifier. - * EAP-identifier is needed in PEAPv0. That PEAP version uses + * EAP-identifier is needed in XP PEAPv0. That stupid version uses * same EAP-identifier with PEAP header and tunneled EAP-header. */ EAP_FUNC_IMPORT eap_status_e set_simple_config_message_data( diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_payloads.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_payloads.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_payloads.h Wed Sep 01 12:23:57 2010 +0100 @@ -11,12 +11,12 @@ * * Contributors: * -* Description: Defines payloads of protected setup message. +* Description: EAP and WLAN authentication protocols. * */ /* -* %version: 24.1.3 % +* %version: 26 % */ #if !defined(_SIMPLE_CONFIG_PAYLOADS_H_) @@ -79,7 +79,7 @@ EAP_FUNC_IMPORT u8_t * get_data(const u32_t data_length) const; - EAP_FUNC_IMPORT simple_config_tlv_header_c * get_header(); + simple_config_tlv_header_c * get_header(); EAP_FUNC_IMPORT eap_variable_data_c * get_full_attribute_buffer(); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_record.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_record.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_record.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 41 % */ #if !defined(_SIMPLE_CONFIG_RECORD_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_tlv_header.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_tlv_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_tlv_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,12 +11,12 @@ * * Contributors: * -* Description: defines header of Attribute-Value Pairs used in protected setup. +* Description: EAP and WLAN authentication protocols. * */ /* -* %version: 9.1.2 % +* %version: 11 % */ #if !defined(_SIMPLE_CONFIG_TLV_HEADER_H_) @@ -69,9 +69,9 @@ /// This is enumeration of offsets to data fields. enum offsets { - m_tlv_type_offset = 0ul, ///< This is offset to tlv type 16-bit field. + m_tlv_type_offset = 0ul, ///< This is offset to fags and tlv type 16-bit field. m_length_offset = m_tlv_type_offset+sizeof(u16_t), ///< This is offset to length 16-bit field. - m_data_offset = m_length_offset+sizeof(u16_t), ///< This is offset to data field. + m_data_offset = m_length_offset+sizeof(u16_t), ///< This is offset to data field. }; //-------------------------------------------------- @@ -115,7 +115,7 @@ /** * This function returns the header length of TLV. */ - EAP_FUNC_IMPORT static u32_t get_header_length(); + static u32_t get_header_length(); /** * This function returns pointer to the offset of data of TLV. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_types.h --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_types.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_types.h Wed Sep 01 12:23:57 2010 +0100 @@ -11,12 +11,12 @@ * * Contributors: * -* Description: This file defines the constants of the protected setup protocol. +* Description: EAP and WLAN authentication protocols. * */ /* -* %version: 35 % +* %version: 32.1.2 % */ #if !defined(_SIMPLE_CONFIG_TYPES_H_) @@ -30,7 +30,7 @@ #include "simple_config_attribute_type.h" /** @file simple_config_types.h - * @brief This file defines the constants of the protected setup protocol. + * @brief This file defines the constants of the SIMPLE_CONFIG. */ //-------------------------------------------------- @@ -325,14 +325,12 @@ EAP_FUNC_IMPORT network_key_and_index_c( abs_eap_am_tools_c * const m_am_tools); - EAP_FUNC_IMPORT u8_t get_network_key_index() const; + EAP_FUNC_IMPORT u8_t get_network_key_index(); EAP_FUNC_IMPORT void set_network_key_index(u8_t index); EAP_FUNC_IMPORT eap_variable_data_c * get_network_key(); - EAP_FUNC_IMPORT const eap_variable_data_c * get_network_key_const() const; - EAP_FUNC_IMPORT network_key_and_index_c * copy(); EAP_FUNC_IMPORT bool get_is_valid(); @@ -436,4 +434,7 @@ #endif //#if !defined(_SIMPLE_CONFIG_TYPES_H_) //-------------------------------------------------- + + + // End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_base_record.cpp --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_base_record.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_base_record.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_completion.cpp --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_completion.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_completion.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_credential.cpp --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_credential.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_credential.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -11,22 +11,14 @@ * * Contributors: * -* Description: This class defines Credential attributes for protected setup (previously known as simple config). +* Description: EAP and WLAN authentication protocols. * */ /* -* %version: 8 % +* %version: 5.1.2 % */ -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 763 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #include "eap_tools.h" #include "simple_config_credential.h" @@ -74,7 +66,7 @@ //---------------------------------------------------------------------------- -EAP_FUNC_EXPORT u8_t simple_config_credential_c::get_network_index() const +EAP_FUNC_EXPORT u8_t simple_config_credential_c::get_network_index() { return m_network_index; } @@ -88,13 +80,6 @@ //---------------------------------------------------------------------------- -EAP_FUNC_EXPORT const eap_variable_data_c * simple_config_credential_c::get_SSID_const() const -{ - return &m_SSID; -} - -//---------------------------------------------------------------------------- - EAP_FUNC_EXPORT simple_config_Authentication_Type_e simple_config_credential_c::get_Authentication_Type() { return m_Authentication_Type; @@ -130,13 +115,6 @@ //---------------------------------------------------------------------------- -EAP_FUNC_EXPORT const eap_array_c * simple_config_credential_c::get_network_keys_const() const -{ - return &m_network_keys; -} - -//---------------------------------------------------------------------------- - EAP_FUNC_EXPORT eap_variable_data_c * simple_config_credential_c::get_MAC_address() { return &m_MAC_address; @@ -144,13 +122,6 @@ //---------------------------------------------------------------------------- -EAP_FUNC_EXPORT const eap_variable_data_c * simple_config_credential_c::get_MAC_address_const() const -{ - return &m_MAC_address; -} - -//---------------------------------------------------------------------------- - EAP_FUNC_EXPORT bool simple_config_credential_c::get_is_valid() { return m_is_valid; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_message.cpp --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_message.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_message.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -11,12 +11,12 @@ * * Contributors: * -* Description: This class defines one SIMPLE_CONFIG-message. +* Description: EAP and WLAN authentication protocols. * */ /* -* %version: 18.1.2 % +* %version: 20 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_payloads.cpp --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_payloads.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2001-2007 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" @@ -11,12 +11,12 @@ * * Contributors: * -* Description: Defines payloads of protected setup message. +* Description: EAP and WLAN authentication protocols. * */ /* -* %version: 33.1.3 % +* %version: 35 % */ // This is enumeration of EAPOL source code. @@ -474,7 +474,7 @@ used_payloads, &attribute_type, m_am_tools); - if (index < 0) + if (index < 0ul) { // ERROR: not used mandatory TLV. EAP_TRACE_ERROR( @@ -515,6 +515,11 @@ eap_status_e status = add_attribute( payload->copy()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); @@ -1294,14 +1299,19 @@ } status = m_read_payloads.reset(); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } //-------------------------------------------------- -EAP_FUNC_EXPORT simple_config_payloads_c * simple_config_payloads_c::copy() const +simple_config_payloads_c * simple_config_payloads_c::copy() const { EAP_TRACE_DEBUG( m_am_tools, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_record.cpp --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_record.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_record.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 73 % */ // This is enumeration of EAPOL source code. @@ -47,9 +47,6 @@ #include "abs_eap_am_mutex.h" #include "simple_config_credential.h" #include "eapol_key_types.h" -#include "eap_config.h" -#include "eap_network_id_selector.h" -#include "eap_tlv_message_data.h" //-------------------------------------------------- @@ -417,7 +414,6 @@ //---------------------------------------------------------- -#if 0 { status = get_type_partner()->read_configure( cf_str_EAP_SIMPLE_CONFIG_device_password.get_field(), @@ -435,26 +431,9 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_password); } } -#endif if (m_is_client == false) { - status = get_type_partner()->read_configure( - cf_str_EAP_SIMPLE_CONFIG_device_password.get_field(), - &m_device_password); - if (status != eap_status_ok - || m_device_password.get_is_valid_data() == false) - { - // This is mandatory value. - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: SIMPLE_CONFIG: %s: simple_config_record_c::configure(): Missing device password.\n"), - (m_is_client == true ? "client": "server"))); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_password); - } - (void) get_type_partner()->read_configure( cf_str_EAP_SIMPLE_CONFIG_server_device_password.get_field(), &m_device_password); @@ -4482,18 +4461,6 @@ // Compare RHash1. if (local_RHash1.compare(&m_RHash1) != 0) { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("local_RHash1"), - local_RHash1.get_data(), - local_RHash1.get_data_length())); - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("m_RHash1"), - m_RHash1.get_data(), - m_RHash1.get_data_length())); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_device_password_authentication_failure); } @@ -6519,12 +6486,6 @@ eap_variable_data_c * const ER_S2, eap_variable_data_c * const ER_Hash2) { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: generate_er_hashs(): device_password"), - device_password->get_data(), - device_password->get_data_length())); eap_variable_data_c first_half_of_device_password(m_am_tools); @@ -8199,118 +8160,6 @@ return EAP_STATUS_RETURN(m_am_tools, status); } } - else if (m_local_Device_Password_ID == simple_config_Device_Password_ID_Default_PIN - && m_is_client == true) - { - // Read PIN from memory store. - - eap_variable_data_c memory_store_key(m_am_tools); - - eap_status_e status = memory_store_key.set_copy_of_buffer( - EAP_WPS_CONFIGURATION_MEMORY_STORE_KEY, - sizeof(EAP_WPS_CONFIGURATION_MEMORY_STORE_KEY)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = memory_store_key.add_data( - &m_is_client, - sizeof(m_is_client)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_am_network_id_c receive_network_id(m_am_tools, - m_send_network_id.get_destination_id(), - m_send_network_id.get_source_id(), - m_send_network_id.get_type()); - - eap_network_id_selector_c state_selector( - m_am_tools, - &receive_network_id); - - status = memory_store_key.add_data( - &state_selector); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_tlv_message_data_c tlv_data(m_am_tools); - - status = m_am_tools->memory_store_get_data( - &memory_store_key, - &tlv_data); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("simple_config_record_c::complete_query_network_and_device_parameters(): cannot get WPS credentials\n"))); - } - else - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("simple_config_record_c::complete_query_network_and_device_parameters(): WPS credentials found\n"))); - - // Parse read data. - eap_array_c tlv_blocks(m_am_tools); - - status = tlv_data.parse_message_data(&tlv_blocks); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - for (u32_t ind = 0ul; ind < tlv_blocks.get_object_count(); ind++) - { - eap_tlv_header_c * const tlv = tlv_blocks.get_object(ind); - if (tlv != 0) - { - if (tlv->get_type() == eap_type_protected_setup_stored_preshared_key) - { - status = m_device_password.set_copy_of_buffer( - tlv->get_value(tlv->get_value_length()), - tlv->get_value_length()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - else if (tlv->get_type() == eap_type_protected_setup_stored_ssid) - { - status = m_SSID.set_copy_of_buffer( - tlv->get_value(tlv->get_value_length()), - tlv->get_value_length()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } - } // for() - - if (m_device_password.get_is_valid_data() == false) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("simple_config_record_c::complete_query_network_and_device_parameters(): cannot get WPS PIN\n"))); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - } - } if (local_completion_status == eap_status_ok) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_tlv_header.cpp --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_tlv_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_tlv_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,12 +11,12 @@ * * Contributors: * -* Description: defines header of Attribute-Value Pairs used in protected setup. +* Description: EAP and WLAN authentication protocols. * */ /* -* %version: 11.1.2 % +* %version: 13 % */ // This is enumeration of EAPOL source code. @@ -125,7 +125,7 @@ { EAP_UNREFERENCED_PARAMETER(m_am_tools); - u32_t data_length = get_data_length(); + u32_t data_length = get_data_length(); // Here is removed optional SIMPLE_CONFIG message length. if (data_length >= offset+contignuous_bytes) { @@ -153,7 +153,7 @@ */ u8_t * simple_config_tlv_header_c::get_data(const u32_t contignuous_bytes) const { - return get_data_offset(0ul, contignuous_bytes); + return get_data_offset(0u, contignuous_bytes); } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_types.cpp --- a/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_types.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_types.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -11,12 +11,12 @@ * * Contributors: * -* Description: This file defines the constants and types of the protected setup protocol. +* Description: EAP and WLAN authentication protocols. * */ /* -* %version: 26 % +* %version: 22.1.3 % */ // This is enumeration of EAPOL source code. @@ -61,7 +61,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT u8_t network_key_and_index_c::get_network_key_index() const +EAP_FUNC_EXPORT u8_t network_key_and_index_c::get_network_key_index() { return m_network_key_index; } @@ -82,13 +82,6 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT const eap_variable_data_c * network_key_and_index_c::get_network_key_const() const -{ - return &m_network_key; -} - -//-------------------------------------------------- - EAP_FUNC_EXPORT network_key_and_index_c * network_key_and_index_c::copy() { network_key_and_index_c * const copy_object = new network_key_and_index_c(m_am_tools); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_tls_peap_state_notification.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_tls_peap_state_notification.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_tls_peap_state_notification.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_EAP_TLS_PEAP_STATE_NOTIFICATION_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 23.1.2 % */ #if !defined(_EAP_TYPE_TLS_PEAP_H_) @@ -773,6 +773,9 @@ abs_eap_base_timer_c * const p_initializer, const u32_t p_id); + /// @see abs_tls_base_record_c::cancel_all_timers(). + EAP_FUNC_IMPORT eap_status_e cancel_all_timers(); + /// @see abs_tls_base_record_c::load_module(). EAP_FUNC_IMPORT eap_status_e load_module( const eap_type_value_e type, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_header.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_EAP_TLS_PEAP_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_state_notification.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_state_notification.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_state_notification.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #if !defined(_EAP_TLS_PEAP_STATE_NOTIFICATION_H_) @@ -65,6 +65,8 @@ bool allow_send_eap_success); +#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_IMPORT eap_type_tls_peap_state_notification_c( abs_eap_am_tools_c * const tools, const eap_am_network_id_c * const send_network_id, @@ -77,6 +79,8 @@ u8_t eap_identifier, bool allow_send_eap_success); +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_IMPORT eap_type_tls_peap_state_notification_c( abs_eap_am_tools_c * const tools, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_types.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_types.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_types.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 62 % */ #if !defined(_EAP_TYPE_TLS_PEAP_TYPES_H_) @@ -132,12 +132,6 @@ */ EAP_CONFIGURATION_FIELD( - cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate, - "EAP_TLS_PEAP_use_automatic_ca_certificate", - eap_configure_type_boolean, - false); - -EAP_CONFIGURATION_FIELD( cf_str_EAP_TLS_PEAP_use_manual_username, "EAP_TLS_PEAP_use_manual_username", eap_configure_type_boolean, @@ -812,6 +806,26 @@ false); /** + * This boolean data configuration option activate prompt to warn for ADHP auto-provisioning when + * there is no PAC that matches the A-ID sent by server. EAP-FAST specific. + */ +EAP_CONFIGURATION_FIELD( + cf_str_EAP_FAST_warn_ADHP_no_matching_PAC, + "EAP_FAST_warn_ADHP_no_matching_PAC", + eap_configure_type_boolean, + false); + +/** + * This boolean data configuration option activate prompt to warn for ADHP (Authenticated Diffie-Hellman Protocol) + * auto-provisioning when there is no PAC at all. EAP-FAST specific. + */ +EAP_CONFIGURATION_FIELD( + cf_str_EAP_FAST_warn_ADHP_no_PAC, + "EAP_FAST_warn_ADHP_no_PAC", + eap_configure_type_boolean, + false); + +/** * This boolean data configuration option activate prompt to warn when client encouters a server that has provisioned * the client with a PAC before but is not currently selected as the default server. EAP-FAST specific. */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_tls_peap_state_notification.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_tls_peap_state_notification.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_tls_peap_state_notification.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 82.1.3 % */ // This is enumeration of EAPOL source code. @@ -1629,7 +1629,7 @@ } if (user_certificate_identity != 0 - && user_certificate_identity->get_is_valid_data() == true) + && user_certificate_identity->get_is_valid() == true) { eap_variable_data_c username(m_am_tools); eap_variable_data_c realm(m_am_tools); @@ -1710,7 +1710,7 @@ else #endif //#if defined(USE_EAP_TLS_IDENTITY_PRIVACY) if (user_certificate_identity != 0 - && user_certificate_identity->get_is_valid_data() == true) + && user_certificate_identity->get_is_valid() == true) { EAP_TRACE_DEBUG( m_am_tools, @@ -1795,7 +1795,7 @@ } } else if (user_certificate_identity != 0 - && user_certificate_identity->get_is_valid_data() == true) + && user_certificate_identity->get_is_valid() == true) { EAP_TRACE_DEBUG( m_am_tools, @@ -1813,19 +1813,14 @@ } else { - EAP_TRACE_DEBUG( + EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: EAP_type_TLS_PEAP: %s: eap_type_tls_peap_c::handle_eap_identity_query(): no identity configured, creates random identity.\n"), + (EAPL("EAP_type_TLS_PEAP: %s: eap_type_tls_peap_c::handle_eap_identity_query(): no identity.\n"), (m_is_client == true ? "client": "server"))); - // Last possibility is random username. - status = create_random_eap_identity(&local_identity); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_eap_identity); } status = m_current_identity.set_copy_of_buffer(&local_identity); @@ -1947,13 +1942,11 @@ m_am_tools, TRACE_FLAGS_TLS_PEAP_ERROR, (EAPL("ERROR: eap_type_tls_peap_c::check_received_eap_identifier() failed,") - EAPL("status %d=%s, received EAP-type 0xfe%06x%08x=%s, received EAP-code %d, ") + EAPL("status %d=%s, received EAP-type 0x%08x, received EAP-code %d, ") EAPL("received EAP-identifier %d, current EAP-identifier %d, state %s\n"), status, status_string.get_status_string(status), - eap_header->get_type().get_vendor_id(), - eap_header->get_type().get_vendor_type(), - eap_header_string_c::get_eap_type_string(eap_header->get_type()), + convert_eap_type_to_u32_t(eap_header->get_type()), eap_header->get_code(), eap_header->get_identifier(), get_last_eap_identifier(), @@ -1977,13 +1970,11 @@ m_am_tools, TRACE_FLAGS_TLS_PEAP_ERROR, (EAPL("ERROR: eap_type_tls_peap_c::check_received_eap_identifier() failed,") - EAPL("status %d=%s, received EAP-type 0xfe%06x%08x=%s, received EAP-code %d, ") + EAPL("status %d=%s, received EAP-type 0x%08x, received EAP-code %d, ") EAPL("received EAP-identifier %d, current EAP-identifier %d, state %s\n"), status, status_string.get_status_string(status), - eap_header->get_type().get_vendor_id(), - eap_header->get_type().get_vendor_type(), - eap_header_string_c::get_eap_type_string(eap_header->get_type()), + convert_eap_type_to_u32_t(eap_header->get_type()), eap_header->get_code(), eap_header->get_identifier(), get_last_eap_identifier(), @@ -2142,13 +2133,11 @@ m_am_tools, TRACE_FLAGS_TLS_PEAP_ERROR, (EAPL("ERROR: eap_type_tls_peap_c::packet_process() failed,") - EAPL("status %d=%s, received EAP-type 0xfe%06x%08x=%s, received EAP-code %d, ") + EAPL("status %d=%s, received EAP-type 0x%08x, received EAP-code %d, ") EAPL("received EAP-identifier %d, current EAP-identifier %d, state %s\n"), status, status_string.get_status_string(status), - eap_header->get_type().get_vendor_id(), - eap_header->get_type().get_vendor_type(), - eap_header_string_c::get_eap_type_string(eap_header->get_type()), + convert_eap_type_to_u32_t(eap_header->get_type()), eap_header->get_code(), eap_header->get_identifier(), get_last_eap_identifier(), @@ -4003,11 +3992,9 @@ EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT|TRACE_TEST_VECTORS, - (EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0xfe%06x%08x=%s\n"), + (EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0x%08x\n"), (m_is_client == true) ? "client": "server", - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); restore_saved_reassembly_state(); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -4845,6 +4832,7 @@ //---------------------------------------------------------- +#if defined(USE_EAP_EXPANDED_TYPES) { eap_variable_data_c use_eap_expanded_type(m_am_tools); @@ -4878,6 +4866,7 @@ } } } +#endif //#if defined(USE_EAP_EXPANDED_TYPES) //---------------------------------------------------------- @@ -5153,11 +5142,9 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: %s: eap_type_tls_peap_c::state_notification(): ") - EAPL("authentication failed: EAP-type 0xfe%06x%08x=%s\n"), + EAPL("authentication failed: EAP-type 0x%08x\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); m_tunneled_eap_type_authentication_state = eap_state_authentication_terminated_unsuccessfully; @@ -5198,11 +5185,9 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("PEAPv1 authentication tunneled EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s\n"), + EAPL("PEAPv1 authentication tunneled EAP-SUCCESS: EAP-type 0x%08x\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); m_tunneled_eap_type_authentication_state = static_cast(state->get_current_state()); @@ -5220,11 +5205,9 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("authentication EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s\n"), + EAPL("authentication EAP-SUCCESS: EAP-type 0x%08x\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); m_tunneled_eap_type_authentication_state = eap_state_authentication_finished_successfully; @@ -5406,11 +5389,9 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): TLS tunneled ") - EAPL("authentication failed: EAP-type 0xfe%06x%08x=%s, tunnel type %s\n"), + EAPL("authentication failed: EAP-type 0x%08x, tunnel type %s\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type), + convert_eap_type_to_u32_t(m_current_eap_type), tls_trace.get_peap_version_string(m_current_peap_version))); set_state(eap_type_tls_peap_state_failure); @@ -5430,11 +5411,9 @@ TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") EAPL("TLS tunneled authentication ") - EAPL("EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s, tunnel type %s, style %d\n"), + EAPL("EAP-SUCCESS: EAP-type 0x%08x, tunnel type %s, style %d\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type), + convert_eap_type_to_u32_t(m_current_eap_type), tls_trace.get_peap_version_string(m_current_peap_version), m_use_tppd_tls_peap)); @@ -5477,11 +5456,9 @@ TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") EAPL("TLS resumed session authentication ") - EAPL("EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s, m_tls_session_type=%d=%s, tunnel type %s\n"), + EAPL("EAP-SUCCESS: EAP-type 0x%08x, m_tls_session_type=%d=%s, tunnel type %s\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type), + convert_eap_type_to_u32_t(m_current_eap_type), get_tls_session_type(), eap_tls_trace_string_c::get_tls_session_type_string(get_tls_session_type()), tls_trace.get_peap_version_string(m_current_peap_version))); @@ -5513,11 +5490,9 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("plain TLS authentication EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s, tunnel type %s\n"), + EAPL("plain TLS authentication EAP-SUCCESS: EAP-type 0x%08x, tunnel type %s\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type), + convert_eap_type_to_u32_t(m_current_eap_type), tls_trace.get_peap_version_string(m_current_peap_version))); // Plain TLS. @@ -5560,11 +5535,9 @@ EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT|TRACE_TEST_VECTORS, - (EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0xfe%06x%08x=%s\n"), + (EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0x%08x\n"), (m_is_client == true) ? "client": "server", - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); set_state(eap_type_tls_peap_state_failure); @@ -5599,11 +5572,9 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("full TLS authentication: EAP-type 0xfe%06x%08x=%s\n"), + EAPL("full TLS authentication: EAP-type 0x%08x\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); } else if (state->get_current_state() == tls_peap_state_original_session_resumption) { @@ -5611,11 +5582,9 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("TLS session resumption: EAP-type 0xfe%06x%08x=%s\n"), + EAPL("TLS session resumption: EAP-type 0x%08x\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); } #if defined(USE_EAP_TLS_SESSION_TICKET) else if (state->get_current_state() == tls_peap_state_stateless_session_resumption) @@ -5624,11 +5593,9 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("TLS stateless session resumption: EAP-type 0xfe%06x%08x=%s\n"), + EAPL("TLS stateless session resumption: EAP-type 0x%08x\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); } #endif // #if defined(USE_EAP_TLS_SESSION_TICKET) #if defined(USE_EAP_TLS_PEAP_TPPD_PEAP_V1_NEW_FIXES) @@ -5639,11 +5606,9 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("PEAPv1 waits EAP-Success or tunneled packet: EAP-type 0xfe%06x%08x=%s\n"), + EAPL("PEAPv1 waits EAP-Success or tunneled packet: EAP-type 0x%08x\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); set_state(eap_type_tls_peap_state_tppd_peapv1_waits_eap_success_or_tunneled_packet); } @@ -5655,11 +5620,9 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("sends TTLS/plain MsChapv2 empty Ack: EAP-type 0xfe%06x%08x=%s\n"), + EAPL("sends TTLS/plain MsChapv2 empty Ack: EAP-type 0x%08x\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); // Send empty acknowledge message. eap_status_e status = send_empty_eap_ack(); @@ -5679,11 +5642,9 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("waits TTLS/plain MsChapv2 empty Ack: EAP-type 0xfe%06x%08x=%s\n"), + EAPL("waits TTLS/plain MsChapv2 empty Ack: EAP-type 0x%08x\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); set_state(eap_type_tls_peap_state_server_waits_ttls_plain_ms_chap_v2_empty_ack); } @@ -5694,11 +5655,9 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("TLS tunnel ready: EAP-type 0xfe%06x%08x=%s\n"), + EAPL("TLS tunnel ready: EAP-type 0x%08x\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); if (m_is_client == true) { @@ -5810,11 +5769,9 @@ EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT|TRACE_TEST_VECTORS, - (EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0xfe%06x%08x=%s\n"), + (EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0x%08x\n"), (m_is_client == true) ? "client": "server", - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); set_state(eap_type_tls_peap_state_failure); @@ -5851,11 +5808,9 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("TLS tunnel ready: EAP-type 0xfe%06x%08x=%s\n"), + EAPL("TLS tunnel ready: EAP-type 0x%08x\n"), (m_is_client == true ? "client": "server"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_current_eap_type))); + convert_eap_type_to_u32_t(m_current_eap_type))); if (m_is_client == true) { @@ -6246,6 +6201,19 @@ //-------------------------------------------------- +// +EAP_FUNC_EXPORT eap_status_e eap_type_tls_peap_c::cancel_all_timers() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + eap_status_e status = get_type_partner()->cancel_all_timers(); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + // This is commented in abs_tls_base_application_c. EAP_FUNC_EXPORT eap_status_e eap_type_tls_peap_c::load_module( const eap_type_value_e type, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap_header.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 14 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap_state_notification.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap_state_notification.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap_state_notification.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. @@ -64,6 +64,8 @@ } +#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_EXPORT eap_type_tls_peap_state_notification_c::eap_type_tls_peap_state_notification_c( abs_eap_am_tools_c * const tools, const eap_am_network_id_c * const send_network_id, @@ -89,6 +91,8 @@ { } +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + EAP_FUNC_EXPORT eap_type_tls_peap_state_notification_c::eap_type_tls_peap_state_notification_c( abs_eap_am_tools_c * const tools, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_apply_cipher_spec.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_apply_cipher_spec.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_apply_cipher_spec.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #if !defined(_ABS_TLS_MESSAGE_RECORD_PROCESS_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_base_application.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_base_application.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_base_application.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 19.1.2 % */ #if !defined(_ABS_TLS_BASE_APPLICATION_H_) @@ -210,6 +210,17 @@ const u32_t id) = 0; /** + * The cancel_all_timers() function cancels all timers. + * User should use this in termination of the stack before + * the adaptation module of tools is deleted. + * Preferred mode is to cancel each timer directly + * using cancel_timer() function. + * + * Adaptation module internally implements the timer. + */ + virtual eap_status_e cancel_all_timers() = 0; + + /** * This is needed by PEAP type. * The load_module() function function indicates the lower level to * load new module of EAP-type. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_base_record.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_base_record.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_base_record.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8.1.2 % */ #if !defined(_ABS_TLS_BASE_RECORD_H_) @@ -215,6 +215,17 @@ const u32_t id) = 0; /** + * The cancel_all_timers() function cancels all timers. + * User should use this in termination of the stack before + * the adaptation module of tools is deleted. + * Preferred mode is to cancel each timer directly + * using cancel_timer() function. + * + * Adaptation module internally implements the timer. + */ + virtual eap_status_e cancel_all_timers() = 0; + + /** * This is needed by PEAP type. * The load_module() function function indicates the lower level to * load new module of EAP-type. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_change_cipher_spec.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_change_cipher_spec.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_change_cipher_spec.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #if !defined(_ABS_TLS_CHANGE_CIPHER_SPEC_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_message_hash.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_message_hash.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_message_hash.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #if !defined(_ABS_TLS_MESSAGE_HASH_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_alert_message.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_alert_message.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_alert_message.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #if !defined(_TLS_ALERT_MESSAGE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_application_data_message.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_application_data_message.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_application_data_message.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #if !defined(_TLS_APPLICATION_DATA_MESSAGE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_application_eap_core.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_application_eap_core.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_application_eap_core.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 36.1.2 % */ #if !defined(_TLS_APPLICATION_EAP_CORE_H_) @@ -599,6 +599,9 @@ abs_eap_base_timer_c * const initializer, const u32_t id); + /// @see abs_eap_core_c::cancel_all_timers(). + EAP_FUNC_IMPORT eap_status_e cancel_all_timers(); + /// @see abs_eap_core_c::check_is_valid_eap_type(). EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_base_application.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_base_application.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_base_application.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 23.1.2 % +* %version: 25 % */ #if !defined(_TLS_BASE_APPLICATION_H_) @@ -59,7 +59,7 @@ /** * Destructor does nothing special. */ - EAP_FUNC_IMPORT virtual ~tls_base_application_c(); + virtual ~tls_base_application_c(); /** * Application partner is object below the tls_base_application_c object. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_base_record.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_base_record.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_base_record.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 18 % */ #if !defined(_TLS_BASE_RECORD_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_change_cipher_spec_message.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_change_cipher_spec_message.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_change_cipher_spec_message.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #if !defined(_TLS_CHANGE_CIPHER_SPEC_MESSAGE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_completion.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_completion.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_completion.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 14 % */ #if !defined(_TLS_COMPLETION_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_extension.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_extension.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_extension.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #if !defined(_TLS_EXTENSION_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_handshake_header.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_handshake_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_handshake_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_TLS_HANDSHAKE_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_handshake_message.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_handshake_message.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_handshake_message.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ #if !defined(_TLS_HANDSHAKE_MESSAGE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_message.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_message.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_message.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_TLS_MESSAGE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_tlv_header.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_tlv_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_tlv_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ #if !defined(_TLS_PEAP_TLV_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_tlv_payloads.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_tlv_payloads.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_tlv_payloads.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 7.1.2 % +* %version: 9 % */ #if !defined(_PEAP_TLV_PAYLOADS_H_) @@ -129,19 +129,19 @@ const peap_tlv_payload_status_e intermediate_result_tlv ); - EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_result_tlv(); + peap_tlv_variable_data_c * get_result_tlv(); - EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_nak_tlv(); + peap_tlv_variable_data_c * get_nak_tlv(); - EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_crypto_binding_tlv(); + peap_tlv_variable_data_c * get_crypto_binding_tlv(); - EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_eap_payload_tlv(); + peap_tlv_variable_data_c * get_eap_payload_tlv(); - EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_intermediate_result_tlv(); + peap_tlv_variable_data_c * get_intermediate_result_tlv(); - EAP_FUNC_IMPORT void reset(); + void reset(); - EAP_FUNC_IMPORT bool get_is_valid() const; + bool get_is_valid() const; //-------------------------------------------------- }; // class peap_tlv_payloads_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_types.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_types.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_types.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 45.1.2 % +* %version: 47 % */ #if !defined(_TLS_PEAP_TYPES_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 66.1.2 % */ #if !defined(_TLS_RECORD_H_) @@ -1431,6 +1431,9 @@ const u32_t id); // This is commented in abs_tls_base_application_c. + EAP_FUNC_IMPORT eap_status_e cancel_all_timers(); + + // This is commented in abs_tls_base_application_c. EAP_FUNC_IMPORT eap_status_e load_module( const eap_type_value_e type, const eap_type_value_e /* tunneling_type */, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record_header.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record_header.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record_header.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_TLS_RECORD_HEADER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record_message.h --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record_message.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record_message.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #if !defined(_TLS_RECORD_MESSAGE_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_alert_message.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_alert_message.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_alert_message.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_data_message.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_data_message.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_data_message.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_eap_core.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_eap_core.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_eap_core.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 99 % +* %version: 92.1.4 % */ // This is enumeration of EAPOL source code. @@ -329,6 +329,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_field); } } +//#if defined(USE_EAP_EXPANDED_TYPES) else if (tunneled_eap_type.get_data_length() == eap_expanded_type_c::get_eap_expanded_type_size() && tunneled_eap_type.get_data(tunneled_eap_type.get_data_length()) != 0) @@ -353,6 +354,7 @@ return EAP_STATUS_RETURN(m_am_tools, status); } } +//#endif //#if defined(USE_EAP_EXPANDED_TYPES) else { EAP_TRACE_DEBUG( @@ -368,7 +370,13 @@ #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) - if (m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type()) + if ( +#if defined(USE_EAP_EXPANDED_TYPES) + m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type() +#else + m_peap_tunneled_eap_type == eap_type_plain_mschapv2 +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + ) { // This is special case. // We must tell to inner EAP-stack to use EAP-MsChapv2. @@ -675,9 +683,47 @@ //---------------------------------------------------------- +#if defined(USE_EAP_EXPANDED_TYPES) && 0 + { + eap_variable_data_c use_eap_expanded_type(m_am_tools); + + eap_status_e status = read_configure( + cf_str_EAP_TLS_PEAP_use_eap_expanded_type.get_field(), + &use_eap_expanded_type); + + if (status != eap_status_ok) + { + status = read_configure( + cf_str_EAP_CORE_use_eap_expanded_type.get_field(), + &use_eap_expanded_type); + } + + if (status == eap_status_ok + && use_eap_expanded_type.get_data_length() == sizeof(u32_t) + && use_eap_expanded_type.get_data() != 0) + { + u32_t *flag = reinterpret_cast(use_eap_expanded_type.get_data(use_eap_expanded_type.get_data_length())); + + if (flag != 0) + { + if ((*flag) != 0ul) + { + m_use_eap_expanded_type = true; + } + else + { + m_use_eap_expanded_type = false; + } + } + } + } +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + + //---------------------------------------------------------- + status = m_eap_core->configure(); - if (m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_pap.get_type()) + if (m_peap_tunneled_eap_type == eap_type_ttls_plain_pap) { if (m_free_eap_core == true) { @@ -1313,7 +1359,13 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_pap.get_type()) + if ( +#if defined(USE_EAP_EXPANDED_TYPES) + m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_pap.get_type() +#else + m_peap_tunneled_eap_type == eap_type_ttls_plain_pap +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + ) { // Query PAP username and password. status = m_application_partner->query_ttls_pap_username_and_password(0); @@ -1416,7 +1468,12 @@ #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) if (m_eap_type == eap_type_ttls - && m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type()) +#if defined(USE_EAP_EXPANDED_TYPES) + && m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type() +#else + && m_peap_tunneled_eap_type == eap_type_plain_mschapv2 +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + ) { eap_header_wr_c sent_eap_packet( m_am_tools, @@ -1450,7 +1507,12 @@ #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) if (m_eap_type == eap_type_ttls - && m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type()) +#if defined(USE_EAP_EXPANDED_TYPES) + && m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type() +#else + && m_peap_tunneled_eap_type == eap_type_plain_mschapv2 +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + ) { eap_header_wr_c sent_eap_packet( m_am_tools, @@ -6366,7 +6428,13 @@ #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) if (m_tunneled_eap_in_ttls == false - && m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type()) + && ( +#if defined(USE_EAP_EXPANDED_TYPES) + m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type() +#else + m_peap_tunneled_eap_type == eap_type_plain_mschapv2 +#endif //#if defined(USE_EAP_EXPANDED_TYPES) + )) { tunneled_type = eap_type_mschapv2; } @@ -6872,18 +6940,35 @@ //-------------------------------------------------- +EAP_FUNC_EXPORT eap_status_e tls_application_eap_core_c::cancel_all_timers() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + eap_status_e status = eap_status_process_general_error; + abs_tls_base_application_c * partner = get_application_partner(); + if (partner != 0) + { + status = partner->cancel_all_timers(); + } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + EAP_FUNC_EXPORT eap_status_e tls_application_eap_core_c::check_is_valid_eap_type( const eap_type_value_e eap_type) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + eap_header_string_c eap_string; + EAP_UNREFERENCED_PARAMETER(eap_string); + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("tls_application_eap_core_c::check_is_valid_eap_type(): EAP-type=0xfe%06x%08x=%s\n"), - eap_type.get_vendor_id(), - eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(eap_type))); + (EAPL("tls_application_eap_core_c::check_is_valid_eap_type(): EAP-type=0x%08x=%s\n"), + convert_eap_type_to_u32_t(eap_type), + eap_string.get_eap_type_string(eap_type))); EAP_TRACE_RETURN_STRING(m_am_tools, "returns: tls_application_eap_core_c::check_is_valid_eap_type()"); @@ -6921,10 +7006,9 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: tls_application_eap_core_c::check_is_valid_eap_type(): No allowed EAP-type=0xfe%06x%08x=%s\n"), - eap_type.get_vendor_id(), - eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(eap_type))); + (EAPL("ERROR: tls_application_eap_core_c::check_is_valid_eap_type(): No allowed EAP-type=0x%08x=%s\n"), + convert_eap_type_to_u32_t(eap_type), + eap_string.get_eap_type_string(eap_type))); return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_eap_type); } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_ttls_plain_mschapv2.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_ttls_plain_mschapv2.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_ttls_plain_mschapv2.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,13 +16,13 @@ */ /* -* %version: 5.1.3 % +* %version: 8 % */ // This is enumeration of EAPOL source code. #if defined(USE_EAP_MINIMUM_RELEASE_TRACES) #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 713 + #define EAP_FILE_NUMBER_ENUM 124 #undef EAP_FILE_NUMBER_DATE #define EAP_FILE_NUMBER_DATE 1127594498 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_base_application.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_base_application.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_base_application.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_base_record.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_base_record.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_base_record.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_change_cipher_spec_message.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_change_cipher_spec_message.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_change_cipher_spec_message.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_completion.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_completion.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_completion.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_extension.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_extension.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_extension.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,19 +16,11 @@ */ /* -* %version: % +* %version: 13 % */ #if defined(USE_EAP_TLS_SESSION_TICKET) -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 762 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #include "tls_extension.h" /** @file */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_handshake_header.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_handshake_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_handshake_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_handshake_message.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_handshake_message.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_handshake_message.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 23 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_message.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_message.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_message.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_tlv_header.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_tlv_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_tlv_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. @@ -239,9 +239,8 @@ EAP_ASSERT(flag_tlv_type_data != 0); flag_tlv_type_data[0] = static_cast( - (flag_tlv_type_data[0] & (m_flag_mask_mandatory_tlv|m_flag_mask_reserved)) - | (((type & 0xff00) >> 8) & ~(m_flag_mask_mandatory_tlv|m_flag_mask_reserved))); - + flag_tlv_type_data[0] & (m_flag_mask_mandatory_tlv|m_flag_mask_reserved) + | ((type & 0xff00) >> 8) & ~(m_flag_mask_mandatory_tlv|m_flag_mask_reserved)); flag_tlv_type_data[1] = static_cast(type & 0x00ff); } @@ -255,11 +254,11 @@ if (reserved == true) { - flag_tlv_type_data[0] = static_cast(flag_tlv_type_data[0] | m_flag_mask_reserved); + flag_tlv_type_data[0] |= m_flag_mask_reserved; } else { - flag_tlv_type_data[0] = static_cast(flag_tlv_type_data[0] & ~m_flag_mask_reserved); + flag_tlv_type_data[0] &= ~m_flag_mask_reserved; } } @@ -273,11 +272,11 @@ if (mandatory_when_true == true) { - flag_tlv_type_data[0] = static_cast(flag_tlv_type_data[0] | m_flag_mask_mandatory_tlv); + flag_tlv_type_data[0] |= m_flag_mask_mandatory_tlv; } else { - flag_tlv_type_data[0] = static_cast(flag_tlv_type_data[0] & ~m_flag_mask_mandatory_tlv); + flag_tlv_type_data[0] &= ~m_flag_mask_mandatory_tlv; } } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_tlv_payloads.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_tlv_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_tlv_payloads.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_types.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_types.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_types.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 24 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 197 % +* %version: 177.1.9 % */ // This is enumeration of EAPOL source code. @@ -60,7 +60,7 @@ EAP_STATUS_RETURN(tools, eap_status_return_and_create_tls_protocol_alert((status))) -EAP_FUNC_EXPORT eap_status_e tls_record_c::eap_status_return_and_create_tls_protocol_alert( +eap_status_e tls_record_c::eap_status_return_and_create_tls_protocol_alert( const eap_status_e status) { if (status != eap_status_ok @@ -273,18 +273,6 @@ EAP_TRACE_RETURN_STRING(m_am_tools, "returns: tls_record_c::tls_record_c()"); -#if defined(USE_FAST_EAP_TYPE) - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("TLS: tls_record_c::tls_record_c(): EAP-FAST enabled."))); -#else - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("TLS: tls_record_c::tls_record_c(): EAP-FAST disabled."))); -#endif //#if defined(USE_FAST_EAP_TYPE) - if (receive_network_id == 0 || receive_network_id->get_is_valid_data() == false) { @@ -1202,7 +1190,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT void tls_record_c::send_error_notification(const eap_status_e error) +void tls_record_c::send_error_notification(const eap_status_e error) { // Notifies the lower level of an authentication error. @@ -1944,8 +1932,8 @@ } case tls_completion_action_complete_create_handshake_type_client_key_exchange: { - if ((cipher_suite_is_TLS_RSA() == true - && m_own_encrypted_premaster_secret.get_is_valid_data() == true) + if (cipher_suite_is_TLS_RSA() == true + && m_own_encrypted_premaster_secret.get_is_valid_data() == true || ((cipher_suite_is_TLS_DHE_DSS() == true || cipher_suite_is_TLS_DHE_RSA() == true #if defined(USE_FAST_EAP_TYPE) @@ -3430,12 +3418,10 @@ EAP_TRACE_ALWAYS( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("this = 0x%08x, %s: starts: tls_record_c::state_notification(): EAP-type 0xfe%06x%08x=%s: m_tls_session_type=%d=%s, tls_state=%d=%s, notification state=%s\n"), + (EAPL("this = 0x%08x, %s: starts: tls_record_c::state_notification(): EAP-type 0x%08x: m_tls_session_type=%d=%s, tls_state=%d=%s, notification state=%s\n"), this, (m_is_client == true ? "client": "server"), - m_eap_type.get_vendor_id(), - m_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_eap_type), + convert_eap_type_to_u32_t(m_eap_type), m_tls_session_type, eap_tls_trace_string_c::get_tls_session_type_string(m_tls_session_type), m_tls_peap_state, @@ -3580,11 +3566,9 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: tls_record_c::state_notification(): ") - EAPL("waits TTLS/plain MsChapv2 empty Ack: EAP-type 0xfe%06x%08x=%s\n"), + EAPL("waits TTLS/plain MsChapv2 empty Ack: EAP-type 0x%08x\n"), (m_is_client == true ? "client": "server"), - m_eap_type.get_vendor_id(), - m_eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(m_eap_type))); + convert_eap_type_to_u32_t(m_eap_type))); } #endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) @@ -3643,6 +3627,23 @@ //-------------------------------------------------- // This is commented in abs_tls_base_application_c. +EAP_FUNC_EXPORT eap_status_e tls_record_c::cancel_all_timers() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + if (get_type_partner() == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return get_type_partner()->cancel_all_timers(); +} + +//-------------------------------------------------- + +// This is commented in abs_tls_base_application_c. EAP_FUNC_EXPORT eap_status_e tls_record_c::load_module( const eap_type_value_e type, const eap_type_value_e tunneling_type, @@ -8863,22 +8864,6 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); } - - { - for (u32_t ind = 0ul; ind < m_peer_certificate_types.get_object_count(); ++ind) - { - const u8_t * const certificate_type = m_peer_certificate_types.get_object(ind); - if (certificate_type != 0) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("peer certificate type %d=0x%02x\n"), - *certificate_type, - *certificate_type)); - } - } - } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -8904,22 +8889,6 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_payload); } - - { - for (u32_t ind = 0ul; ind < m_peer_certificate_authorities.get_object_count(); ++ind) - { - const eap_variable_data_c * const ca_authority = m_peer_certificate_authorities.get_object(ind); - if (ca_authority != 0) - { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("peer CA-authority"), - ca_authority->get_data(), - ca_authority->get_data_length())); - } - } - } } m_tls_peap_server_requested_client_certificate = true; @@ -12349,9 +12318,6 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - // After this point *member_cbc_crypto_block_algorithm will delete crypto_block_algorithm. - block_algorithm_remove.do_not_free_variable(); - *member_cbc_crypto_block_algorithm = new crypto_cbc_c( m_am_tools, crypto_block_algorithm, @@ -12364,6 +12330,15 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } + // After this point *member_cbc_crypto_block_algorithm will delete crypto_block_algorithm. + block_algorithm_remove.do_not_free_variable(); + + if ((*member_cbc_crypto_block_algorithm)->get_is_valid() == false) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + eap_status_e status = eap_status_process_general_error; @@ -16672,12 +16647,6 @@ && m_eap_type == eap_type_fast && m_tls_session_type == tls_session_type_eap_fast_pac_session_resumption) { - if (m_application == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - // This is server. // EAP-FAST is using Tunnel PAC. // Here we cannot start tunneled authentication immediately @@ -16769,10 +16738,7 @@ } } else if (tmp_identity_privacy_handshake_state == tls_identity_privacy_handshake_state_none -#if defined(USE_EAP_TLS_IDENTITY_PRIVACY) - || tmp_identity_privacy_handshake_state == tls_identity_privacy_handshake_state_runs -#endif - ) + || tmp_identity_privacy_handshake_state == tls_identity_privacy_handshake_state_runs) { if ((m_eap_type == eap_type_peap && m_peap_version >= peap_version_0_xp @@ -19074,12 +19040,7 @@ { if (completion_status != eap_status_ok) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: TLS: this = 0x%08x, %s: message_function: starts: tls_record_c::complete_query_certificate_chain(): No certificate chain configured.\n"), - this, - (m_is_client == true ? "client": "server"))); + (void)EAP_STATUS_RETURN(m_am_tools, completion_status); } if (m_is_client == false) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record_header.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record_header.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record_header.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. @@ -131,7 +131,6 @@ /// This function returns debug strings of the TLS-protocol values. eap_const_string tls_record_header_c::get_tls_protocol_string(const tls_record_protocol_e protocol) { - #if defined(USE_EAP_TRACE_STRINGS) EAP_IF_RETURN_STRING(protocol, tls_record_protocol_none) else EAP_IF_RETURN_STRING(protocol, tls_record_protocol_change_cipher_spec) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record_message.cpp --- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record_message.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record_message.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/wpxstub/eapol_core_wpxm_stub.cpp --- a/eapol/eapol_framework/eapol_common/wpxstub/eapol_core_wpxm_stub.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/wpxstub/eapol_core_wpxm_stub.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 6.1.4 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/wpxstub/eapol_key_state_common_wpxm_stub.cpp --- a/eapol/eapol_framework/eapol_common/wpxstub/eapol_key_state_common_wpxm_stub.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/wpxstub/eapol_key_state_common_wpxm_stub.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ // This is enumeration of EAPOL source code. @@ -86,7 +86,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::derive_WPXM_WPXK1_WPXK2() +EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::derive_WPXM_WPXK1_WPXK2() { return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); } @@ -106,7 +106,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::derive_WPXM_PTK(const u32_t /* WPXM_WPXC */) +EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::derive_WPXM_PTK(const u32_t /* WPXM_WPXC */) { return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_common/wpxstub/ethernet_core_wpxm_stub.cpp --- a/eapol/eapol_framework/eapol_common/wpxstub/ethernet_core_wpxm_stub.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/wpxstub/ethernet_core_wpxm_stub.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 6.1.3 % */ // This is enumeration of EAPOL source code. @@ -42,10 +42,15 @@ // EAP_FUNC_EXPORT eap_status_e ethernet_core_c::start_WPXM_reassociation( - const eap_am_network_id_c * const /* receive_network_id */, - const eapol_key_authentication_type_e /* authentication_type */, - eap_variable_data_c * const /* send_reassociation_request_ie */) + const eap_am_network_id_c * const receive_network_id, + const eapol_key_authentication_type_e authentication_type, + eap_variable_data_c * const send_reassociation_request_ie) { + eap_status_e status = m_eapol_core->start_WPXM_reassociation( + receive_network_id, + authentication_type, + send_reassociation_request_ie); + return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); } @@ -53,11 +58,17 @@ // EAP_FUNC_EXPORT eap_status_e ethernet_core_c::complete_WPXM_reassociation( - const eapol_wlan_authentication_state_e /* reassociation_result */, - const eap_am_network_id_c * const /* receive_network_id */, - const eapol_key_authentication_type_e /* authentication_type */, - const eap_variable_data_c * const /* received_reassociation_ie */) + const eapol_wlan_authentication_state_e reassociation_result, + const eap_am_network_id_c * const receive_network_id, + const eapol_key_authentication_type_e authentication_type, + const eap_variable_data_c * const received_reassociation_ie) { + eap_status_e status = m_eapol_core->complete_WPXM_reassociation( + reassociation_result, + receive_network_id, + authentication_type, + received_reassociation_ie); + return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/DSS_random/dss_random_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/DSS_random/dss_random_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/DSS_random/dss_random_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 10.1.4 % +* %version: 12 % */ // This is enumeration of EAPOL source code. @@ -77,7 +77,7 @@ * X= 47c27eb6 16dba413 91e5165b e9c5e397 7e39a15d * @endcode */ -eap_status_e dss_random_G(abs_eap_am_tools_c * const m_am_tools, u8_t *out, u32_t out_length, const u8_t *c, u32_t c_length) +void dss_random_G(abs_eap_am_tools_c * const m_am_tools, u8_t *out, u32_t out_length, const u8_t *c, u32_t c_length) { u32_t *out_array = reinterpret_cast(out); @@ -92,15 +92,13 @@ ); if (status != eap_status_ok) { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("ERROR: eap_sha1_dss_G_function(): status = %d"), + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("eap_sha1_dss_G_function(): status = %d"), status)); - return status; } EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("dss_random_G(): out_array"), out_array, sizeof(out_array)*5)); - return status; } /** @@ -116,7 +114,7 @@ * d. XKEY = (1 + XKEY + xj) mod 2^b. * @endcode */ -EAP_FUNC_EXPORT eap_status_e dss_pseudo_random(abs_eap_am_tools_c * const m_am_tools, u8_t *out, u32_t out_length, u8_t *xkey, u32_t xkey_length) +eap_status_e dss_pseudo_random(abs_eap_am_tools_c * const m_am_tools, u8_t *out, u32_t out_length, u8_t *xkey, u32_t xkey_length) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); eap_status_e status = eap_status_ok; @@ -183,13 +181,7 @@ for (u32_t ind = 0; ind < block_count; ind++) { - eap_status_e status = dss_random_G(m_am_tools, &(out[ind*BLOCK_SIZE]), BLOCK_SIZE, tmp_xkey.Ptr(), BLOCK_SIZE); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("ERROR: dss_random_G(): status = %d"), - status)); - User::Leave(KErrGeneral); - } + dss_random_G(m_am_tools, &(out[ind*BLOCK_SIZE]), BLOCK_SIZE, tmp_xkey.Ptr(), BLOCK_SIZE); EAP_TRACE_DATA_DEBUG( m_am_tools, diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/file_io/symbian/eap_am_file_input_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/file_io/symbian/eap_am_file_input_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/file_io/symbian/eap_am_file_input_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 11.1.3 % +* %version: 14 % */ // This is enumeration of EAPOL source code. @@ -518,7 +518,7 @@ /** * This function reads word from file. */ -EAP_FUNC_EXPORT eap_status_e eap_am_file_input_symbian_c::file_read_word(eap_variable_data_c * const word) +eap_status_e eap_am_file_input_symbian_c::file_read_word(eap_variable_data_c * const word) { if (word == 0 || word->get_is_valid() == false) @@ -626,14 +626,14 @@ * If object initialization fails this function must return false. * @return This function returns the validity of this object. */ -EAP_FUNC_EXPORT bool eap_am_file_input_symbian_c::get_is_valid() +bool eap_am_file_input_symbian_c::get_is_valid() { return m_is_valid; } //---------------------------------------------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_file_input_symbian_c::directory_open( +eap_status_e eap_am_file_input_symbian_c::directory_open( const eap_variable_data_c * const /* directory_name */) { return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); @@ -641,7 +641,7 @@ //---------------------------------------------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_file_input_symbian_c::directory_read( +eap_status_e eap_am_file_input_symbian_c::directory_read( eap_array_c * const /* directory_list */) { return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); @@ -652,7 +652,7 @@ /** * This function closes the directory. */ -EAP_FUNC_EXPORT eap_status_e eap_am_file_input_symbian_c::directory_close() +eap_status_e eap_am_file_input_symbian_c::directory_close() { return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/symbian/EapConfigToolsSymbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapConfigToolsSymbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,281 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Some tools used in Symbian. -* -*/ - -/* -* %version: 6 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 725 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - -#include "eap_config.h" -#include "eap_file_config.h" -#include "eap_am_file_input_symbian.h" -#include "eap_automatic_variable.h" -#include "EapConfigToolsSymbian.h" - -#include "EapConversion.h" - -#include "EapPluginTools.h" - -//-------------------------------------------------- - -eap_status_e EapConfigToolsSymbian::EapReadDefaultConfigFileSymbian( - abs_eap_am_tools_c * const aAmTools, - eap_file_config_c ** const aFileconfig) -{ - EAP_TRACE_BEGIN(aAmTools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - aAmTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_read_default_config_file_symbian()\n"))); - EAP_TRACE_RETURN_STRING(aAmTools, "returns: eapol_read_default_config_file_symbian()"); - - TInt error(KErrNone); - eap_status_e status(eap_status_ok); - - (*aFileconfig) = 0; - -#if defined(USE_EAP_FILECONFIG) - { - eap_am_file_input_symbian_c * const fileio = new eap_am_file_input_symbian_c(aAmTools); - - eap_automatic_variable_c automatic_fileio(aAmTools, fileio); - - if (fileio != 0 - && fileio->get_is_valid() == true) - { - EAP_TRACE_DEBUG( - aAmTools, - TRACE_FLAGS_DEFAULT, - (EAPL("Initialize file configuration.\n"))); - - eap_variable_data_c config_file_name(aAmTools); - - { - TFileName aPrivateDatabasePathName; - - TRAP(error, EapPluginTools::GetPrivatePathL( - aPrivateDatabasePathName)); - if (error != KErrNone) - { - eap_status_e status(aAmTools->convert_am_error_to_eapol_error(error)); - - EAP_TRACE_DEBUG( - aAmTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: EapPluginTools::GetPrivatePathL(): failed %d=%s.\n"), - status, - eap_status_string_c::get_status_string(status))); - EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(aAmTools, status); - } - - _LIT(FILECONFIG_FILENAME, "eap.conf"); - - aPrivateDatabasePathName.Append(FILECONFIG_FILENAME); - - error = CEapConversion::ConvertFromTDesCToInternal( - aAmTools, - aPrivateDatabasePathName, - &config_file_name); - if (error != KErrNone) - { - eap_status_e status(aAmTools->convert_am_error_to_eapol_error(error)); - - EAP_TRACE_DEBUG( - aAmTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapConversion::ConvertFromTDesCToInternal(): failed %d=%s.\n"), - status, - eap_status_string_c::get_status_string(status))); - EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(aAmTools, status); - } - } - - eap_variable_data_c file_name_c_data(aAmTools); - - { - eap_const_string const FILECONFIG_DRIVE_C = "c:"; - - status = file_name_c_data.set_copy_of_buffer( - FILECONFIG_DRIVE_C, - aAmTools->strlen(FILECONFIG_DRIVE_C)); - if (status != eap_status_ok) - { - EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(aAmTools, status); - } - - status = file_name_c_data.add_data(&config_file_name); - if (status != eap_status_ok) - { - EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(aAmTools, status); - } - - status = file_name_c_data.add_end_null(); - if (status != eap_status_ok) - { - EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(aAmTools, status); - } - } - - eap_variable_data_c file_name_z_data(aAmTools); - - { - eap_const_string const FILECONFIG_DRIVE_Z = "z:"; - - status = file_name_z_data.set_copy_of_buffer( - FILECONFIG_DRIVE_Z, - aAmTools->strlen(FILECONFIG_DRIVE_Z)); - if (status != eap_status_ok) - { - EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(aAmTools, status); - } - - status = file_name_z_data.add_data(&config_file_name); - if (status != eap_status_ok) - { - EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(aAmTools, status); - } - - status = file_name_z_data.add_end_null(); - if (status != eap_status_ok) - { - EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(aAmTools, status); - } - } - - - - if (status == eap_status_ok) - { - // Disable traces because this could fail. In most cases there are no configuration file on C: disk, - u32_t saved_trace_mask = aAmTools->get_trace_mask(); - aAmTools->set_trace_mask(eap_am_tools_c::eap_trace_mask_none); - - // First try open from C: disk. - status = fileio->file_open( - &file_name_c_data, - eap_file_io_direction_read); - - // Enable traces because the next should not fail. Always there are configuration file on Z: disk, - aAmTools->set_trace_mask(saved_trace_mask); - - if (status == eap_status_ok) - { - EAP_TRACE_DEBUG( - aAmTools, - TRACE_FLAGS_DEFAULT, - (EAPL("Opens configure file %s\n"), - file_name_c_data.get_data(file_name_c_data.get_data_length()))); - } - else - { - // Second try open from Z: disk. - status = fileio->file_open( - &file_name_z_data, - eap_file_io_direction_read); - if (status == eap_status_ok) - { - EAP_TRACE_DEBUG( - aAmTools, - TRACE_FLAGS_DEFAULT, - (EAPL("Opens configure file %s\n"), - file_name_z_data.get_data(file_name_z_data.get_data_length()))); - } - } - - if (status == eap_status_ok) - { - // Some of the files were opened. - - (*aFileconfig) = new eap_file_config_c(aAmTools); - if ((*aFileconfig) != 0 - && (*aFileconfig)->get_is_valid() == true) - { - status = (*aFileconfig)->configure(fileio); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG( - aAmTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Configure read from %s failed.\n"), - file_name_c_data.get_data(file_name_c_data.get_data_length()))); - } - else - { - EAP_TRACE_DEBUG( - aAmTools, - TRACE_FLAGS_DEFAULT, - (EAPL("Configure read from %s\n"), - file_name_c_data.get_data(file_name_c_data.get_data_length()))); - } - } - else - { - // No file configuration. - delete (*aFileconfig); - (*aFileconfig) = 0; - - EAP_TRACE_DEBUG( - aAmTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Cannot create configure object for file %s\n"), - file_name_c_data.get_data(file_name_c_data.get_data_length()))); - } - } - else - { - EAP_TRACE_DEBUG( - aAmTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Cannot open configure file neither %s nor %s\n"), - file_name_c_data.get_data(file_name_c_data.get_data_length()), - file_name_z_data.get_data(file_name_z_data.get_data_length()))); - } - } - } - else - { - EAP_TRACE_DEBUG( - aAmTools, - TRACE_FLAGS_DEFAULT, - (EAPL("Skips file configuration.\n"))); - } - } -#endif //#if defined(USE_EAP_FILECONFIG) - - - EAP_TRACE_END(aAmTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(aAmTools, status); -} - -//-------------------------------------------------- -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/symbian/EapConversion.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapConversion.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1860 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Conversion functions between common code and Symbian code. -* -*/ - -/* -* %version: 50 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 738 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - - -// INCLUDE FILES - -#include "EapConversion.h" -#include "eap_am_assert.h" -#include -#include "abs_eap_am_tools.h" -#include "eap_automatic_variable.h" -#include // for CnvUtfConverter -#include "abs_eap_plugin_message.h" -#include "eap_plugin_message_base.h" -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_automatic_variable.h" -#include "eap_plugin_client_message_if.h" -#include "eap_am_message_if_symbian.h" -#include "EapTraceSymbian.h" - -// LOCAL CONSTANTS - - -// ================= MEMBER FUNCTIONS ======================= - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertFromTDesCToInternal( - abs_eap_am_tools_c * const tools, - const TDesC & input16, - eap_variable_data_c * const target8) -{ - HBufC16* buf16 = HBufC16::New(input16.Length()); - if (buf16 == 0) - { - return KErrNoMemory; - } - - buf16->Des().Copy(input16); - - TPtr16 inBufPtr16 = buf16->Des(); - - TInt error = ConvertFromBuf16ToInternal( - tools, - &inBufPtr16, - target8); - - delete buf16; - - return error; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertCipherSuitesToInternalType( - abs_eap_am_tools_c * const tools, - const RArray * const aCipherSuites, - eap_array_c * const internal_cipher_suites) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertCipherSuitesToInternalType()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertCipherSuitesToInternalType()"); - - eap_status_e status(eap_status_ok); - - if (aCipherSuites == 0 - || internal_cipher_suites == 0) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - for (TInt ind = 0; ind < aCipherSuites->Count(); ind++) - { - u16_t * const tmp_object = new u16_t; - if (tmp_object == 0) - { - EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT); - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_allocation_error))); - } - *tmp_object = static_cast((*aCipherSuites)[ind]); - status = internal_cipher_suites->add_object(tmp_object, true); - if (status != eap_status_ok) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, status))); - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - return KErrNone; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertInternalTypeToCipherSuites( - abs_eap_am_tools_c * const tools, - const eap_array_c * const internal_cipher_suites, - RArray * const aCipherSuites) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertInternalTypeToCipherSuites()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertInternalTypeToCipherSuites()"); - - if (aCipherSuites == 0 - || internal_cipher_suites == 0) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - for (TInt ind = 0; ind < internal_cipher_suites->get_object_count(); ind++) - { - const u16_t * const tmp_object = internal_cipher_suites->get_object(ind); - if (tmp_object == 0) - { - EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT); - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_allocation_error))); - } - - TInt error = aCipherSuites->Append(static_cast(*tmp_object)); - if (error != KErrNone) - { - return (error); - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - return KErrNone; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertFromInternalToBuf16( - abs_eap_am_tools_c * const tools, - const eap_variable_data_c * const input8, - TDes * const target16) -{ - EAP_TRACE_DATA_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertFromInternalToBuf16(): input8"), - input8->get_data(), - input8->get_data_length())); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertFromInternalToBuf16()"); - - TPtrC8 inBufPtrC8(input8->get_data(), input8->get_data_length()); - - // convert utf8 -> unicode, - // aInBuf8 is UTF8 string, unicode max length is - // then the length of UTF8 string. - // NOTE, HBufC16 length means count of 16-bit objects. - HBufC16 * outBuf16 = HBufC16::New(inBufPtrC8.Size()); - if (outBuf16 == 0) - { - EAP_UNREFERENCED_PARAMETER(tools); - return KErrNoMemory; - } - - TPtr16 outBufPtr16 = outBuf16->Des(); - - CnvUtfConverter::ConvertToUnicodeFromUtf8(outBufPtr16, inBufPtrC8); - - target16->Copy(outBufPtr16); - - EAP_TRACE_DATA_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertFromInternalToBuf16(): outBufPtr16"), - outBufPtr16.Ptr(), - outBufPtr16.Size())); - - delete outBuf16; - outBuf16 = NULL; - - return KErrNone; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertFromBuf16ToInternal( - abs_eap_am_tools_c * const tools, - const TDes * const input16, - eap_variable_data_c * const target8) -{ - EAP_TRACE_DATA_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertFromBuf16ToInternal(): input16"), - input16->Ptr(), - input16->Size())); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertFromBuf16ToInternal()"); - - if (tools == 0) - { - return KErrArgument; - } - - // "In UTF-8, characters are encoded using sequences of 1 to 6 octets." - // RFC2279 - UTF-8 - const TUint KMaxNumberOfOctetsPerUtf8Char = 6; - // Convert unicode -> utf8. - // Note, HBufC16 length means the number of 16-bit values or - // data items represented by the descriptor. - // Multiply number of charachters by max number of octets for char. - HBufC8 * aOutBuf8 = HBufC8::New(input16->Length() * KMaxNumberOfOctetsPerUtf8Char); - if (aOutBuf8 == 0) - { - return KErrNoMemory; - } - - TPtr8 outBufPtr8(aOutBuf8->Des()); - - CnvUtfConverter::ConvertFromUnicodeToUtf8(outBufPtr8, *input16); - - eap_status_e status = target8->set_copy_of_buffer(aOutBuf8->Ptr(), aOutBuf8->Length()); - - delete aOutBuf8; - aOutBuf8 = NULL; - - EAP_TRACE_DATA_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertFromBuf16ToInternal(): target8"), - target8->get_data(), - target8->get_data_length())); - - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, status))); -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertEAPTypesToInternalTypes( - abs_eap_am_tools_c * const tools, - const RArray * const EncapsulatedEAPTypes, - eap_array_c * const target) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertEAPTypesToInternalTypes()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertEAPTypesToInternalTypes()"); - - eap_status_e status(eap_status_ok); - - if (tools == 0) - { - return KErrGeneral; - } - if (EncapsulatedEAPTypes == 0 - || target == 0) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - for (TInt ind = 0; ind < EncapsulatedEAPTypes->Count(); ind++) - { - eap_type_value_e * const tmp_object = new eap_type_value_e( - static_cast((*EncapsulatedEAPTypes)[ind])); - if (tmp_object == 0) - { - EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT); - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_allocation_error))); - } - status = target->add_object(tmp_object, true); - if (status != eap_status_ok) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, status))); - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - return KErrNone; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertInternalTypesToEAPTypes( - abs_eap_am_tools_c * const tools, - const eap_array_c * const internal_eap_types, - RArray * const target) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertInternalTypesToEAPTypes()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertInternalTypesToEAPTypes()"); - - if (internal_eap_types == 0 - || target == 0) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - for (TInt ind = 0; ind < internal_eap_types->get_object_count(); ind++) - { - const eap_type_value_e * const tmp_object = internal_eap_types->get_object(ind); - if (tmp_object == 0) - { - EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT); - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_allocation_error))); - } - - TInt error = target->Append(static_cast(tmp_object->get_vendor_type())); - if (error != KErrNone) - { - return (error); - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - return KErrNone; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertExpandedEAPTypeToInternalType( - const TEapExpandedType * const EncapsulatedExpandedEAPType, - eap_type_value_e * const target) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapConversion::ConvertExpandedEAPTypeToInternalType()\n"))); - - EAP_TRACE_RETURN_STRING_SYMBIAN((_L("returns: CEapConversion::ConvertExpandedEAPTypeToInternalType()\n"))); - - eap_status_e status = target->set_expanded_type_data( - 0, // NOTE, we do not have abs_eap_am_tools_c object here. - EncapsulatedExpandedEAPType->GetValue().Ptr(), - EncapsulatedExpandedEAPType->GetValue().Length()); - if (status != eap_status_ok) - { - return KErrGeneral; - } - - return KErrNone; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertInternalTypeToExpandedEAPType( - const eap_type_value_e * const source, - TEapExpandedType * const EncapsulatedExpandedEAPType) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapConversion::ConvertInternalTypeToExpandedEAPType()\n"))); - - EAP_TRACE_RETURN_STRING_SYMBIAN((_L("returns: CEapConversion::ConvertInternalTypeToExpandedEAPType()\n"))); - - TInt error = EncapsulatedExpandedEAPType->SetValue( - source->get_vendor_id(), - source->get_vendor_type()); - - return error; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertExpandedEAPTypesToInternalTypes( - abs_eap_am_tools_c * const tools, - const RArray * const EncapsulatedExpandedEAPTypes, - eap_array_c * const target) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertExpandedEAPTypesToInternalTypes()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertExpandedEAPTypesToInternalTypes()"); - - eap_status_e status(eap_status_ok); - - if (EncapsulatedExpandedEAPTypes == 0 - || target == 0) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - for (TInt ind = 0; ind < EncapsulatedExpandedEAPTypes->Count(); ind++) - { - TEapExpandedType ExpandedEAPType = (*EncapsulatedExpandedEAPTypes)[ind]; - - eap_type_value_e * const new_object = new eap_type_value_e(); - if (new_object == 0) - { - EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT); - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_allocation_error))); - } - - TInt error = ConvertExpandedEAPTypeToInternalType( - &ExpandedEAPType, - new_object); - if (error != KErrNone) - { - delete new_object; - (void) EAP_STATUS_RETURN(tools, tools->convert_am_error_to_eapol_error(error)); - return error; - } - - status = target->add_object(new_object, true); - if (status != eap_status_ok) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, status))); - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - return KErrNone; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertInternalTypesToExpandedEAPTypes( - abs_eap_am_tools_c * const tools, - const eap_array_c * const source, - RArray * const EncapsulatedExpandedEAPTypes) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertInternalTypesToExpandedEAPTypes()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertInternalTypesToExpandedEAPTypes()"); - - if (source == 0 - || EncapsulatedExpandedEAPTypes == 0) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TEapExpandedType EapType; - - for (TInt ind = 0; ind < source->get_object_count(); ind++) - { - const eap_type_value_e * const tmp_object = source->get_object(ind); - if (tmp_object == 0) - { - EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT); - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_allocation_error))); - } - - TInt error = ConvertInternalTypeToExpandedEAPType( - tmp_object, - &EapType); - if (error != KErrNone) - { - (void) EAP_STATUS_RETURN(tools, tools->convert_am_error_to_eapol_error(error)); - return (error); - } - - error = EncapsulatedExpandedEAPTypes->Append(EapType); - if (error != KErrNone) - { - (void) EAP_STATUS_RETURN(tools, tools->convert_am_error_to_eapol_error(error)); - return (error); - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - return KErrNone; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertInternalTypesToHBufC8( - abs_eap_am_tools_c * const tools, - const eap_array_c * const source, - HBufC8 ** const EncapsulatedExpandedEAPTypesData) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertInternalTypesToHBufC8(): EncapsulatedExpandedEAPTypesData=0x%08x, source=0x%08x\n"), - EncapsulatedExpandedEAPTypesData, - source)); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertInternalTypesToHBufC8()"); - - if (EncapsulatedExpandedEAPTypesData == 0 - || source == 0) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - *EncapsulatedExpandedEAPTypesData = HBufC8::New(source->get_object_count()*KEapExpandedTypeLength); - - eap_automatic_variable_c automatic_EncapsulatedExpandedEAPTypesData( - tools, - *EncapsulatedExpandedEAPTypesData); - - TPtr8 aDbBinaryColumnValuePtr = (*EncapsulatedExpandedEAPTypesData)->Des(); - - TEapExpandedType EapType; - - for (u32_t ind = 0; ind < source->get_object_count(); ind++) - { - const eap_type_value_e * const tmp_object = source->get_object(ind); - if (tmp_object == 0) - { - EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT); - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_allocation_error))); - } - - TInt error = ConvertInternalTypeToExpandedEAPType( - tmp_object, - &EapType); - if (error != KErrNone) - { - (void) EAP_STATUS_RETURN(tools, tools->convert_am_error_to_eapol_error(error)); - return (error); - } - - aDbBinaryColumnValuePtr.Append(EapType.GetValue()); - } - - - automatic_EncapsulatedExpandedEAPTypesData.do_not_free_variable(); - - return KErrNone; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertHBufC8ToInternalTypes( - abs_eap_am_tools_c * const tools, - const HBufC8 * const EncapsulatedExpandedEAPTypesData, - eap_array_c * const target) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertHBufC8ToInternalTypes(): EncapsulatedExpandedEAPTypesData=0x%08x, target=0x%08x\n"), - EncapsulatedExpandedEAPTypesData, - target)); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertHBufC8ToInternalTypes()"); - - if (EncapsulatedExpandedEAPTypesData == 0 - || target == 0) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - u32_t eap_type_count = EncapsulatedExpandedEAPTypesData->Length() / KEapExpandedTypeLength; - - target->reset(); - - const TUint8 * const data = EncapsulatedExpandedEAPTypesData->Ptr(); - u32_t offset = 0ul; - - for (u32_t ind = 0; ind < eap_type_count; ind++) - { - eap_type_value_e * const new_object = new eap_type_value_e(); - - eap_automatic_variable_c automatic_new_object( - tools, - new_object); - - if (new_object == 0) - { - EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT); - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_allocation_error))); - } - - eap_status_e status = new_object->set_expanded_type_data( - tools, - &(data[offset]), - KEapExpandedTypeLength); - if (status != eap_status_ok) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, status))); - } - - offset += KEapExpandedTypeLength; - - automatic_new_object.do_not_free_variable(); - - status = target->add_object(new_object, true); - if (status != eap_status_ok) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, status))); - } - } - - return KErrNone; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertCertificatesToInternalType( - abs_eap_am_tools_c * const tools, - const RPointerArray * const aCertificates, - eap_array_c * const internal_certificates) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertCertificatesToInternalType()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertCertificatesToInternalType()"); - - eap_status_e status(eap_status_ok); - - if (aCertificates == 0 - || internal_certificates == 0) - { - EAP_STATIC_ASSERT(eap_certificate_entry_c::eap_certificate_type_CA == static_cast(EapCertificateEntry::ECA)); - EAP_STATIC_ASSERT(eap_certificate_entry_c::eap_certificate_type_user == static_cast(EapCertificateEntry::EUser)); - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - for( TInt count=0; count < aCertificates->Count(); count++ ) - { - const EapCertificateEntry * const cert = (*aCertificates)[count]; - if (cert == 0) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_allocation_error))); - } - - eap_certificate_entry_c * const int_entry = new eap_certificate_entry_c(tools); - - eap_automatic_variable_c automatic_certificate_entry( - tools, - int_entry); - - if (int_entry == 0) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (cert->GetCertType() != EapCertificateEntry::EUser - && cert->GetCertType() != EapCertificateEntry::ECA) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - int_entry->m_CertType = static_cast(cert->GetCertType()); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (cert->GetSubjectNamePresent()) - { - ConvertFromBuf16ToInternal(tools, cert->GetSubjectName(), &(int_entry->m_SubjectName)); - - int_entry->m_SubjectNamePresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (cert->GetIssuerNamePresent()) - { - ConvertFromBuf16ToInternal(tools, cert->GetIssuerName(), &(int_entry->m_IssuerName)); - - int_entry->m_IssuerNamePresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (cert->GetSerialNumberPresent()) - { - ConvertFromBuf16ToInternal(tools, cert->GetSerialNumber(), &(int_entry->m_SerialNumber)); - - int_entry->m_SerialNumberPresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (cert->GetSubjectKeyIdPresent()) - { - status = int_entry->m_SubjectKeyID.set_copy_of_buffer(cert->GetSubjectKeyId().Ptr(), cert->GetSubjectKeyId().Length()); - if (status != eap_status_ok) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, status))); - } - - int_entry->m_SubjectKeyIDPresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (cert->GetThumbprintPresent()) - { - ConvertFromBuf16ToInternal(tools, cert->GetThumbprint(), &(int_entry->m_Thumbprint)); - - int_entry->m_ThumbprintPresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (cert->GetLabelPresent()) - { - ConvertFromBuf16ToInternal(tools, cert->GetLabel(), &(int_entry->m_Label)); - - int_entry->m_LabelPresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (cert->GetPrimaryNamePresent()) - { - ConvertFromBuf16ToInternal(tools, cert->GetPrimaryName(), &(int_entry->m_PrimaryName)); - - int_entry->m_PrimaryNamePresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (cert->GetSecondaryNamePresent()) - { - ConvertFromBuf16ToInternal(tools, cert->GetSecondaryName(), &(int_entry->m_SecondaryName)); - - int_entry->m_SecondaryNamePresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (cert->GetIsEnabledPresent()) - { - if (cert->GetIsEnabled()) - { - int_entry->m_iIsEnabled = true; - } - else - { - int_entry->m_iIsEnabled = false; - } - - int_entry->m_iIsEnabledPresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - automatic_certificate_entry.do_not_free_variable(); - - status = internal_certificates->add_object(int_entry, true); - if (status != eap_status_ok) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, status))); - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - return KErrNone; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertInternalTypeToCertificates( - abs_eap_am_tools_c * const tools, - const eap_certificate_entry_c::eap_certificate_type_e select_certificate_type, - const eap_array_c * const internal_certificates, - RPointerArray * const aCertificates) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertInternalTypeToCertificates()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertInternalTypeToCertificates()"); - - if (aCertificates == 0 - || internal_certificates == 0) - { - EAP_STATIC_ASSERT(eap_certificate_entry_c::eap_certificate_type_CA == static_cast(EapCertificateEntry::ECA)); - EAP_STATIC_ASSERT(eap_certificate_entry_c::eap_certificate_type_user == static_cast(EapCertificateEntry::EUser)); - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - for( u32_t count=0; count < internal_certificates->get_object_count(); count++ ) - { - const eap_certificate_entry_c * const int_entry = internal_certificates->get_object(count); - if (int_entry == 0) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - if (int_entry->m_CertType == select_certificate_type) - { - EapCertificateEntry * cert = new EapCertificateEntry; - - eap_automatic_variable_c automatic_cert( - tools, - cert); - - if (cert == 0) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_allocation_error))); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - cert->SetCertType(static_cast(int_entry->m_CertType)); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (int_entry->m_SubjectNamePresent == true) - { - ConvertFromInternalToBuf16(tools, &(int_entry->m_SubjectName), cert->GetSubjectNameWritable()); - - cert->SetSubjectNamePresent(); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (int_entry->m_IssuerNamePresent == true) - { - ConvertFromInternalToBuf16(tools, &(int_entry->m_IssuerName), cert->GetIssuerNameWritable()); - - cert->SetIssuerNamePresent(); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (int_entry->m_SerialNumberPresent == true) - { - ConvertFromInternalToBuf16(tools, &(int_entry->m_SerialNumber), cert->GetSerialNumberWritable()); - - cert->SetSerialNumberPresent(); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (int_entry->m_SubjectKeyIDPresent == true) - { - cert->GetSubjectKeyIdWritable()->Copy(int_entry->m_SubjectKeyID.get_data(), int_entry->m_SubjectKeyID.get_data_length()); - - cert->SetSubjectKeyIdPresent(); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (int_entry->m_ThumbprintPresent == true) - { - ConvertFromInternalToBuf16(tools, &(int_entry->m_Thumbprint), cert->GetThumbprintWritable()); - - cert->SetThumbprintPresent(); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (int_entry->m_LabelPresent == true) - { - ConvertFromInternalToBuf16(tools, &(int_entry->m_Label), cert->GetLabelWritable()); - - cert->SetLabelPresent(); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (int_entry->m_PrimaryNamePresent == true) - { - ConvertFromInternalToBuf16(tools, &(int_entry->m_PrimaryName), cert->GetPrimaryNameWritable()); - - cert->SetPrimaryNamePresent(); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (int_entry->m_SecondaryNamePresent == true) - { - ConvertFromInternalToBuf16(tools, &(int_entry->m_SecondaryName), cert->GetSecondaryNameWritable()); - - cert->SetSecondaryNamePresent(); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (int_entry->m_iIsEnabledPresent == true) - { - if (int_entry->m_iIsEnabled == true) - { - cert->SetIsEnabled(ETrue); - } - - cert->SetIsEnabledPresent(); - } - - EAP_TRACE_SETTINGS(cert); - - TInt error = aCertificates->Append(cert); - if (error != KErrNone) - { - aCertificates->ResetAndDestroy(); // ResetAndDestroy() function must be called because the objects represented by the array need to be deleted before the array object is destroyed. - aCertificates->Close(); // The Close() function must be called before RPointerArray object is destroyed. - - (void) EAP_STATUS_RETURN(tools, tools->convert_am_error_to_eapol_error(error)); - return (error); - } - - automatic_cert.do_not_free_variable(); - } - } // for() - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - return KErrNone; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertEAPSettingsToInternalType( - abs_eap_am_tools_c * const tools, - const EAPSettings * const aSettings, - eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertEAPSettingsToInternalType()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertEAPSettingsToInternalType()"); - - if (aSettings == 0 - || internal_settings == 0) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - EAP_TRACE_SETTINGS(aSettings); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iEAPExpandedType != (*EapExpandedTypeNone.GetType())) - { - eap_status_e status = internal_settings->m_EAPType.set_expanded_type_data( - tools, - aSettings->iEAPExpandedType.GetValue().Ptr(), - aSettings->iEAPExpandedType.GetValue().Length()); - if (status != eap_status_ok) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, status))); - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iUseAutomaticCACertificatePresent) - { - internal_settings->m_UseAutomaticCACertificatePresent = true; - - if (aSettings->iUseAutomaticCACertificate) - { - internal_settings->m_UseAutomaticCACertificate = true; - } - else - { - internal_settings->m_UseAutomaticCACertificate = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iUseAutomaticUsernamePresent) - { - internal_settings->m_UseAutomaticUsernamePresent = true; - - if (aSettings->iUseAutomaticUsername) - { - internal_settings->m_UseAutomaticUsername = true; - } - else - { - internal_settings->m_UseAutomaticUsername = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iUseAutomaticRealmPresent) - { - internal_settings->m_UseAutomaticRealmPresent = true; - - if (aSettings->iUseAutomaticRealm) - { - internal_settings->m_UseAutomaticRealm = true; - } - else - { - internal_settings->m_UseAutomaticRealm = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iUsernamePresent) - { - TInt error = ConvertFromBuf16ToInternal(tools, &(aSettings->iUsername), &(internal_settings->m_Username_fix)); - if (error) - { - return error; - } - - internal_settings->m_UsernamePresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iPasswordExistPresent) - { - internal_settings->m_PasswordExistPresent = true; - - if (aSettings->iPasswordExist) - { - internal_settings->m_PasswordExist = true; - } - else - { - internal_settings->m_PasswordExist = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iPasswordPresent) - { - TInt error = ConvertFromBuf16ToInternal(tools, &(aSettings->iPassword), &(internal_settings->m_Password)); - if (error) - { - return error; - } - - internal_settings->m_PasswordPresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iRealmPresent) - { - TInt error = ConvertFromBuf16ToInternal(tools, &(aSettings->iRealm), &(internal_settings->m_Realm)); - if (error) - { - return error; - } - - internal_settings->m_RealmPresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iUsePseudonymsPresent) - { - internal_settings->m_UsePseudonymsPresent = true; - - if (aSettings->iUsePseudonyms) - { - internal_settings->m_UsePseudonyms = true; - } - else - { - internal_settings->m_UsePseudonyms = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iVerifyServerRealmPresent) - { - internal_settings->m_VerifyServerRealmPresent = true; - - if (aSettings->iVerifyServerRealm) - { - internal_settings->m_VerifyServerRealm = true; - } - else - { - internal_settings->m_VerifyServerRealm = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iRequireClientAuthenticationPresent) - { - internal_settings->m_RequireClientAuthenticationPresent = true; - - if (aSettings->iRequireClientAuthentication) - { - internal_settings->m_RequireClientAuthentication = true; - } - else - { - internal_settings->m_RequireClientAuthentication = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iSessionValidityTimePresent) - { - internal_settings->m_SessionValidityTimePresent = true; - - internal_settings->m_SessionValidityTime = static_cast(aSettings->iSessionValidityTime); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iCipherSuitesPresent) - { - TInt error = ConvertCipherSuitesToInternalType( - tools, - &(aSettings->iCipherSuites), - &(internal_settings->m_CipherSuites)); - if (error) - { - return error; - } - - internal_settings->m_CipherSuitesPresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iPEAPVersionsPresent) - { - internal_settings->m_PEAPVersionsPresent = true; - - if (aSettings->iPEAPv0Allowed) - { - internal_settings->m_PEAPv0Allowed = true; - } - else - { - internal_settings->m_PEAPv0Allowed = false; - } - - if (aSettings->iPEAPv1Allowed) - { - internal_settings->m_PEAPv1Allowed = true; - } - else - { - internal_settings->m_PEAPv1Allowed = false; - } - - if (aSettings->iPEAPv2Allowed) - { - internal_settings->m_PEAPv2Allowed = true; - } - else - { - internal_settings->m_PEAPv2Allowed = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iCertificatesPresent) - { - TInt error = ConvertCertificatesToInternalType( - tools, - &(aSettings->iCertificates), - &(internal_settings->m_Certificates)); - if (error) - { - return error; - } - - internal_settings->m_CertificatesPresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iEnabledEncapsulatedEAPExpandedTypesPresent) - { - TInt error = ConvertExpandedEAPTypesToInternalTypes( - tools, - &(aSettings->iEnabledEncapsulatedEAPExpandedTypes), - &(internal_settings->m_EnabledEncapsulatedEAPTypes)); - if (error) - { - return error; - } - - internal_settings->m_EnabledEncapsulatedEAPTypesPresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iDisabledEncapsulatedEAPExpandedTypesPresent) - { - TInt error = ConvertExpandedEAPTypesToInternalTypes( - tools, - &(aSettings->iDisabledEncapsulatedEAPExpandedTypes), - &(internal_settings->m_DisabledEncapsulatedEAPTypes)); - if (error) - { - return error; - } - - internal_settings->m_DisabledEncapsulatedEAPTypesPresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iAuthProvModeAllowedPresent) - { - internal_settings->m_AuthProvModeAllowedPresent = true; - - if (aSettings->iAuthProvModeAllowed) - { - internal_settings->m_AuthProvModeAllowed = true; - } - else - { - internal_settings->m_AuthProvModeAllowed = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iUnauthProvModeAllowedPresent) - { - internal_settings->m_UnauthProvModeAllowedPresent = true; - - if (aSettings->iUnauthProvModeAllowed) - { - internal_settings->m_UnauthProvModeAllowed = true; - } - else - { - internal_settings->m_UnauthProvModeAllowed = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iPACGroupReferencePresent) - { - TInt error = ConvertFromBuf16ToInternal(tools, &(aSettings->iPACGroupReference), &(internal_settings->m_PACGroupReference)); - if (error) - { - return error; - } - - internal_settings->m_RealmPresent = true; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iWarnADHPNoPACPresent) - { - internal_settings->m_WarnADHPNoPACPresent = true; - - if (aSettings->iWarnADHPNoPAC) - { - internal_settings->m_WarnADHPNoPAC = true; - } - else - { - internal_settings->m_WarnADHPNoPAC = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iWarnADHPNoMatchingPACPresent) - { - internal_settings->m_WarnADHPNoMatchingPACPresent = true; - - if (aSettings->iWarnADHPNoMatchingPAC) - { - internal_settings->m_WarnADHPNoMatchingPAC = true; - } - else - { - internal_settings->m_WarnADHPNoMatchingPAC = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iWarnNotDefaultServerPresent) - { - internal_settings->m_WarnNotDefaultServerPresent = true; - - if (aSettings->iWarnNotDefaultServer) - { - internal_settings->m_WarnNotDefaultServer = true; - } - else - { - internal_settings->m_WarnNotDefaultServer = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iShowPassWordPromptPresent) - { - internal_settings->m_ShowPassWordPromptPresent = true; - - if (aSettings->iShowPassWordPrompt) - { - internal_settings->m_ShowPassWordPrompt = true; - } - else - { - internal_settings->m_ShowPassWordPrompt = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (aSettings->iUseIdentityPrivacyPresent) - { - internal_settings->m_UseIdentityPrivacyPresent = true; - - if (aSettings->iUseIdentityPrivacy) - { - internal_settings->m_UseIdentityPrivacy = true; - } - else - { - internal_settings->m_UseIdentityPrivacy = false; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_METHOD_SETTINGS(internal_settings); - - return KErrNone; -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT TInt CEapConversion::ConvertInternalTypeToEAPSettings( - abs_eap_am_tools_c * const tools, - const eap_method_settings_c * const internal_settings, - EAPSettings * const aSettings) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapConversion::ConvertInternalTypeToEAPSettings()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapConversion::ConvertInternalTypeToEAPSettings()"); - - if (aSettings == 0 - || internal_settings == 0) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, eap_status_illegal_parameter))); - } - - EAP_TRACE_METHOD_SETTINGS(internal_settings); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { - eap_variable_data_c eap_data(tools); - - eap_status_e status = internal_settings->m_EAPType.get_expanded_type_data( - tools, - &eap_data); - if (status != eap_status_ok) - { - return (tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(tools, status))); - } - - TInt error = aSettings->iEAPExpandedType.SetValue( - eap_data.get_data(), - eap_data.get_data_length()); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_UseAutomaticCACertificatePresent == true) - { - aSettings->iUseAutomaticCACertificatePresent = ETrue; - - if (internal_settings->m_UseAutomaticCACertificate == true) - { - aSettings->iUseAutomaticCACertificate = ETrue; - } - else - { - aSettings->iUseAutomaticCACertificate = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_UseAutomaticUsernamePresent == true) - { - aSettings->iUseAutomaticUsernamePresent = ETrue; - - if (internal_settings->m_UseAutomaticUsername == true) - { - aSettings->iUseAutomaticUsername = ETrue; - } - else - { - aSettings->iUseAutomaticUsername = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_UseAutomaticRealmPresent == true) - { - aSettings->iUseAutomaticRealmPresent = ETrue; - - if (internal_settings->m_UseAutomaticRealm == true) - { - aSettings->iUseAutomaticRealm = ETrue; - } - else - { - aSettings->iUseAutomaticRealm = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_UsernamePresent == true) - { - TInt error = ConvertFromInternalToBuf16(tools, &(internal_settings->m_Username_fix), &(aSettings->iUsername)); - if (error) - { - return error; - } - - aSettings->iUsernamePresent = ETrue; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_PasswordExistPresent == true) - { - aSettings->iPasswordExistPresent = ETrue; - - if (internal_settings->m_PasswordExist == true) - { - aSettings->iPasswordExist = ETrue; - } - else - { - aSettings->iPasswordExist = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_PasswordPresent == true) - { - TInt error = ConvertFromInternalToBuf16(tools, &(internal_settings->m_Password), &(aSettings->iPassword)); - if (error) - { - return error; - } - - aSettings->iPasswordPresent = ETrue; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_RealmPresent == true) - { - TInt error = ConvertFromInternalToBuf16(tools, &(internal_settings->m_Realm), &(aSettings->iRealm)); - if (error) - { - return error; - } - - aSettings->iRealmPresent = ETrue; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_UsePseudonymsPresent == true) - { - aSettings->iUsePseudonymsPresent = ETrue; - - if (internal_settings->m_UsePseudonyms == true) - { - aSettings->iUsePseudonyms = ETrue; - } - else - { - aSettings->iUsePseudonyms = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_VerifyServerRealmPresent == true) - { - aSettings->iVerifyServerRealmPresent = ETrue; - - if (internal_settings->m_VerifyServerRealm == true) - { - aSettings->iVerifyServerRealm = ETrue; - } - else - { - aSettings->iVerifyServerRealm = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_RequireClientAuthenticationPresent == true) - { - aSettings->iRequireClientAuthenticationPresent = ETrue; - - if (internal_settings->m_RequireClientAuthentication == true) - { - aSettings->iRequireClientAuthentication = ETrue; - } - else - { - aSettings->iRequireClientAuthentication = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_SessionValidityTimePresent == true) - { - aSettings->iSessionValidityTimePresent = ETrue; - - aSettings->iSessionValidityTime = static_cast(internal_settings->m_SessionValidityTime); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_CipherSuitesPresent == true) - { - TInt error = ConvertInternalTypeToCipherSuites( - tools, - &(internal_settings->m_CipherSuites), - &(aSettings->iCipherSuites)); - if (error) - { - return error; - } - - aSettings->iCipherSuitesPresent = ETrue; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_PEAPVersionsPresent == true) - { - aSettings->iPEAPVersionsPresent = ETrue; - - if (internal_settings->m_PEAPv0Allowed == true) - { - aSettings->iPEAPv0Allowed = ETrue; - } - else - { - aSettings->iPEAPv0Allowed = EFalse; - } - - if (internal_settings->m_PEAPv1Allowed == true) - { - aSettings->iPEAPv1Allowed = ETrue; - } - else - { - aSettings->iPEAPv1Allowed = EFalse; - } - - if (internal_settings->m_PEAPv2Allowed == true) - { - aSettings->iPEAPv2Allowed = ETrue; - } - else - { - aSettings->iPEAPv2Allowed = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_CertificatesPresent == true) - { - TInt error = KErrNone; - - error = ConvertInternalTypeToCertificates( - tools, - eap_certificate_entry_c::eap_certificate_type_user, - &(internal_settings->m_Certificates), - &(aSettings->iCertificates)); - - if (error) - { - return error; - } - - error = ConvertInternalTypeToCertificates( - tools, - eap_certificate_entry_c::eap_certificate_type_CA, - &(internal_settings->m_Certificates), - &(aSettings->iCertificates)); - - if (error) - { - return error; - } - - aSettings->iCertificatesPresent = ETrue; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_EnabledEncapsulatedEAPTypesPresent == true) - { - TInt error = ConvertInternalTypesToExpandedEAPTypes( - tools, - &(internal_settings->m_EnabledEncapsulatedEAPTypes), - &(aSettings->iEnabledEncapsulatedEAPExpandedTypes)); - if (error) - { - return error; - } - - aSettings->iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_DisabledEncapsulatedEAPTypesPresent == true) - { - TInt error = ConvertInternalTypesToExpandedEAPTypes( - tools, - &(internal_settings->m_DisabledEncapsulatedEAPTypes), - &(aSettings->iDisabledEncapsulatedEAPExpandedTypes)); - if (error) - { - return error; - } - - aSettings->iDisabledEncapsulatedEAPExpandedTypesPresent = ETrue; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_AuthProvModeAllowedPresent == true) - { - aSettings->iAuthProvModeAllowedPresent = ETrue; - - if (internal_settings->m_AuthProvModeAllowed == true) - { - aSettings->iAuthProvModeAllowed = ETrue; - } - else - { - aSettings->iAuthProvModeAllowed = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_UnauthProvModeAllowedPresent == true) - { - aSettings->iUnauthProvModeAllowedPresent = ETrue; - - if (internal_settings->m_UnauthProvModeAllowed == true) - { - aSettings->iUnauthProvModeAllowed = ETrue; - } - else - { - aSettings->iUnauthProvModeAllowed = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_PACGroupReferencePresent == true) - { - TInt error = ConvertFromInternalToBuf16(tools, &(internal_settings->m_PACGroupReference), &(aSettings->iPACGroupReference)); - if (error) - { - return error; - } - - aSettings->iPACGroupReferencePresent = ETrue; - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_WarnADHPNoPACPresent == true) - { - aSettings->iWarnADHPNoPACPresent = ETrue; - - if (internal_settings->m_WarnADHPNoPAC == true) - { - aSettings->iWarnADHPNoPAC = ETrue; - } - else - { - aSettings->iWarnADHPNoPAC = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_WarnADHPNoMatchingPACPresent == true) - { - aSettings->iWarnADHPNoMatchingPACPresent = ETrue; - - if (internal_settings->m_WarnADHPNoMatchingPAC == true) - { - aSettings->iWarnADHPNoMatchingPAC = ETrue; - } - else - { - aSettings->iWarnADHPNoMatchingPAC = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_WarnNotDefaultServerPresent == true) - { - aSettings->iWarnNotDefaultServerPresent = ETrue; - - if (internal_settings->m_WarnNotDefaultServer == true) - { - aSettings->iWarnNotDefaultServer = ETrue; - } - else - { - aSettings->iWarnNotDefaultServer = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_ShowPassWordPromptPresent == true) - { - aSettings->iShowPassWordPromptPresent = ETrue; - - if (internal_settings->m_ShowPassWordPrompt == true) - { - aSettings->iShowPassWordPrompt = ETrue; - } - else - { - aSettings->iShowPassWordPrompt = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (internal_settings->m_UseIdentityPrivacyPresent == true) - { - aSettings->iUseIdentityPrivacyPresent = ETrue; - - if (internal_settings->m_UseIdentityPrivacy == true) - { - aSettings->iUseIdentityPrivacy = ETrue; - } - else - { - aSettings->iUseIdentityPrivacy = EFalse; - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_SETTINGS(aSettings); - - return KErrNone; -} - -// ---------------------------------------------------------- -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/symbian/EapExpandedType.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapExpandedType.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,306 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Expanded EAP-type on Symbian. -* -*/ - -/* -* %version: 16 % -*/ - -#include -#include "EapTraceSymbian.h" -#include "eap_expanded_type.h" - -//-------------------------------------------------- - -#if defined(USE_EAP_EXPANDED_TYPE_TRACES) - - #define EXPANDED_TYPE_EAP_TRACE EAP_TRACE_DEBUG_SYMBIAN - - #define EXPANDED_TYPE_EAP_TRACE_DATA EAP_TRACE_DATA_DEBUG_SYMBIAN - - #define EXPANDED_TYPE_EAP_TRACE_RETURN_STRING EAP_TRACE_RETURN_STRING_SYMBIAN - -#else - - #define EXPANDED_TYPE_EAP_TRACE(_parameter_list_) - - #define EXPANDED_TYPE_EAP_TRACE_DATA(_parameter_list_) - - #define EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_parameter_list_) - -#endif //#if defined(USE_EAP_EXPANDED_TYPE_TRACES) - -//-------------------------------------------------- - -EAP_FUNC_EXPORT TEapExpandedType::TEapExpandedType() -{ - EXPANDED_TYPE_EAP_TRACE_DATA( - (EAPL("TEapExpandedType::TEapExpandedType(): EapExpandedTypeNone"), - &EapExpandedTypeNone, - sizeof(EapExpandedTypeNone))); - - EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_L("returns: TEapExpandedType::TEapExpandedType()\n")); - - EXPANDED_TYPE_EAP_TRACE_DATA( - (EAPL("TEapExpandedType::TEapExpandedType(): EapExpandedTypeNone.GetType()"), - EapExpandedTypeNone.GetType(), - sizeof(*(EapExpandedTypeNone.GetType())))); - - iValue.Copy(*(EapExpandedTypeNone.GetType())); - - EXPANDED_TYPE_EAP_TRACE_DATA( - (EAPL("TEapExpandedType::TEapExpandedType()"), - iValue.Ptr(), - iValue.Length())); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT TEapExpandedType::~TEapExpandedType() -{ - EAP_STATIC_ASSERT(sizeof(TConstEapExpandedTypeTemplate) == sizeof(TBufC8)); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT TEapExpandedType::TEapExpandedType(const TEapExpandedType * const init) -{ - EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_L("returns: TEapExpandedType::TEapExpandedType(const TEapExpandedType * const init)\n")); - - iValue.Copy(init->GetValue()); - - EXPANDED_TYPE_EAP_TRACE_DATA( - (EAPL("TEapExpandedType::TEapExpandedType()"), - iValue.Ptr(), - iValue.Length())); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT TEapExpandedType::TEapExpandedType(const TEapExpandedType & init) -{ - EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_L("returns: TEapExpandedType::TEapExpandedType(const TEapExpandedType & init)\n")); - - iValue.Copy(init.GetValue()); - - EXPANDED_TYPE_EAP_TRACE_DATA( - (EAPL("TEapExpandedType::TEapExpandedType()"), - iValue.Ptr(), - iValue.Length())); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT TEapExpandedType::TEapExpandedType(const TBufC8 & init) -{ - EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_L("returns: TEapExpandedType::TEapExpandedType(const TBufC8 & init)\n")); - - iValue.Copy(init); - - EXPANDED_TYPE_EAP_TRACE_DATA( - (EAPL("TEapExpandedType::TEapExpandedType()"), - iValue.Ptr(), - iValue.Length())); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT TEapExpandedType::TEapExpandedType(const TDesC8 & init) -{ - EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_L("returns: TEapExpandedType::TEapExpandedType(const TDesC8 & init)\n")); - - iValue.Copy(init); - - EXPANDED_TYPE_EAP_TRACE_DATA( - (EAPL("TEapExpandedType::TEapExpandedType()"), - iValue.Ptr(), - iValue.Length())); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT const TBuf8 & TEapExpandedType::GetValue() const -{ - return iValue; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT TInt TEapExpandedType::SetValue( - const void * const data, - const TUint data_length) -{ - EXPANDED_TYPE_EAP_TRACE_DATA( - (EAPL("TEapExpandedType::SetValue(const void * const data, const TUint data_length)"), - data, - data_length)); - - EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_L("returns: TEapExpandedType::SetValue()\n")); - - if (data == 0 - || data_length > iValue.MaxSize()) - { - return KErrArgument; - } - - iValue.Copy(reinterpret_cast (data), static_cast(data_length)); - - EXPANDED_TYPE_EAP_TRACE_DATA( - (EAPL("TEapExpandedType::SetValue(const void * const data, const TUint data_length)"), - iValue.Ptr(), - iValue.Length())); - - return KErrNone; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT TInt TEapExpandedType::SetValue( - const TUint vendor_id, - const TUint vendor_type) -{ - const u32_t expanded_vendor = (0xfe000000 | static_cast(vendor_id)); - const TUint net_ord_vendor = eap_htonl(expanded_vendor); - const TUint net_ord_type = eap_htonl(vendor_type); - - EXPANDED_TYPE_EAP_TRACE((_L("TEapExpandedType::SetValue(): vendor_id=0x%08x, vendor_type=0x%08x, expanded_vendor=0x%08x, net_ord_vendor=0x%08x, net_ord_type=0x%08x\n"), - vendor_id, - vendor_type, - expanded_vendor, - net_ord_vendor, - net_ord_type)); - - EXPANDED_TYPE_EAP_TRACE_RETURN_STRING(_L("returns: TEapExpandedType::SetValue()\n")); - - if ((sizeof(vendor_id)+sizeof(vendor_type)) > iValue.MaxSize()) - { - return KErrArgument; - } - - iValue.Copy(reinterpret_cast(&net_ord_vendor), sizeof(net_ord_vendor)); - iValue.Append(reinterpret_cast(&net_ord_type), sizeof(net_ord_type)); - - EXPANDED_TYPE_EAP_TRACE_DATA( - (EAPL("TEapExpandedType::SetValue()"), - iValue.Ptr(), - iValue.Length())); - - return KErrNone; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT TUint TEapExpandedType::GetVendorId() const -{ - const TUint * const aHostOrderVendorId = reinterpret_cast(iValue.Ptr()); - - // Masks off the leading octet 0xfe. - const u32_t VENDOR_ID_MASK = 0x00ffffff; - return eap_ntohl(*aHostOrderVendorId) & VENDOR_ID_MASK; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT TUint TEapExpandedType::GetVendorType() const -{ - const TUint * const aHostOrderVendorType = reinterpret_cast(iValue.Ptr() + sizeof(TUint)); - - return eap_ntohl(*aHostOrderVendorType); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT TEapExpandedType &TEapExpandedType::operator = (const TEapExpandedType &right_type_value) -{ - if (this == &right_type_value) - { - return *this; - } - - iValue.Copy(right_type_value.GetValue()); - - EXPANDED_TYPE_EAP_TRACE_DATA( - (EAPL("TEapExpandedType::operator ="), - iValue.Ptr(), - iValue.Length())); - - return *this; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT TEapExpandedType &TEapExpandedType::operator = (const TBufC8 &right_type_value) -{ - iValue.Copy(right_type_value); - - EXPANDED_TYPE_EAP_TRACE_DATA( - (EAPL("TEapExpandedType::operator ="), - iValue.Ptr(), - iValue.Length())); - - return *this; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT TEapExpandedType &TEapExpandedType::operator = (const TDesC8 &right_type_value) -{ - ASSERT(right_type_value.Length() == KEapExpandedTypeLength); - - iValue.Copy(right_type_value); - - EXPANDED_TYPE_EAP_TRACE_DATA( - (EAPL("TEapExpandedType::operator ="), - iValue.Ptr(), - iValue.Length())); - - return *this; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT TInt TEapExpandedType::Compare(const TEapExpandedType &right_type_value) const -{ - for (TUint ind = 0ul; ind < KEapExpandedTypeLength; ++ind) - { - const TUint8 left = iValue[ind]; - const TUint8 right = right_type_value.GetValue()[ind]; - - if (left != right) - { - return iValue[ind] - right_type_value.GetValue()[ind]; - } - } - - return 0; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT bool TEapExpandedType::operator == (const TEapExpandedType &right_type_value) const -{ - return Compare(right_type_value) == 0; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT bool TEapExpandedType::operator != (const TEapExpandedType &right_type_value) const -{ - return Compare(right_type_value) != 0; -} - -//-------------------------------------------------- -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/symbian/EapMessageQueue.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapMessageQueue.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,335 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Message queue for EAP-server and -clients. -* -*/ - -/* -* %version: 14 % -*/ - - -#include "EapMessageQueue.h" -#include "eap_am_tools.h" -#include "EapServerStrings.h" -#include "eap_automatic_variable.h" - -//---------------------------------------------------------------------------- - -EAP_FUNC_EXPORT EapMessageBuffer::EapMessageBuffer(abs_eap_am_tools_c * const tools) - : iTools(tools) - , iRequestType(EEapNone) - , iData(0) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageBuffer::EapMessageBuffer(): this=0x%08x\n"), - this)); - - EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageBuffer::EapMessageBuffer()"); -} - -//---------------------------------------------------------------------------- - -EAP_FUNC_EXPORT EapMessageBuffer::~EapMessageBuffer() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageBuffer::~EapMessageBuffer(): this=0x%08x, iData=0x%08x\n"), - this, - iData)); - - EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageBuffer::~EapMessageBuffer()"); - - iRequestType = EEapNone; - delete iData; - iData = 0; -} - -//---------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TInt EapMessageBuffer::CopyData(TEapRequests message, const void * const data, const TUint length) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageBuffer::CopyData(): this=0x%08x, iData=0x%08x, message=%d, data=0x%08x, length=%d\n"), - this, - iData, - message, - data, - length)); - - EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageBuffer::CopyData()"); - - iRequestType = message; - - TUint buffer_size = length; - if (buffer_size == 0) - { - // Allocate at least one byte. - ++buffer_size; - } - - delete iData; - iData = HBufC8::New(buffer_size); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageBuffer::CopyData(): this=0x%08x, iData=0x%08x\n"), - this, - iData)); - - if (iData == 0) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: EapMessageBuffer::CopyData(): iData == 0\n"))); - - return KErrNoMemory; - } - else - { - if (data != 0 - && length > 0ul) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageBuffer::CopyData(): copies data\n"))); - - TPtr8 aDataPtr = iData->Des(); - aDataPtr.Copy(reinterpret_cast(data), length); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageBuffer::CopyData(): set length zero\n"))); - - iData->Des().SetLength(0ul); - } - } - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageBuffer::CopyData(): ends\n"))); - - return KErrNone; -} - -//---------------------------------------------------------------------------- - -EAP_FUNC_EXPORT HBufC8 * EapMessageBuffer::GetData() const -{ - return iData; -} - -//---------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TEapRequests EapMessageBuffer::GetRequestType() const -{ - return iRequestType; -} - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -EAP_FUNC_EXPORT EapMessageQueue::EapMessageQueue(abs_eap_am_tools_c * const tools) - : iTools(tools) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageQueue::EapMessageQueue(): this=0x%08x, iEapMessageQueue.Count()=%d\n"), - this, - iEapMessageQueue.Count())); - - EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::EapMessageQueue()"); - -} - -//---------------------------------------------------------------------------- - -EAP_FUNC_EXPORT EapMessageQueue::~EapMessageQueue() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageQueue::~EapMessageQueue(): this=0x%08x, iEapMessageQueue.Count()=%d\n"), - this, - iEapMessageQueue.Count())); - - EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::~EapMessageQueue()"); - - TInt aCount = iEapMessageQueue.Count(); - - while (aCount > 0) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageQueue::~EapMessageQueue(): Removes iEapMessageQueue[0].iRequestType=%d=%s, iEapMessageQueue.Count()=%d\n"), - iEapMessageQueue[0]->GetRequestType(), - EapServerStrings::GetEapRequestsString(iEapMessageQueue[0]->GetRequestType()), - iEapMessageQueue.Count())); - - delete iEapMessageQueue[0]; - iEapMessageQueue.Remove(0); - - aCount = iEapMessageQueue.Count(); - } - - iEapMessageQueue.Close(); -} - -//---------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TInt EapMessageQueue::AddMessage(TEapRequests message, const void * const data, const TUint length) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageQueue::AddMessage(): this=0x%08x, message=%d, data=0x%08x, length=%d, iEapMessageQueue.Count()=%d\n"), - this, - message, - data, - length, - iEapMessageQueue.Count())); - - EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::AddMessage()"); - - EapMessageBuffer * const buffer = new EapMessageBuffer(iTools); - - if (buffer == 0) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: EapMessageQueue::AddMessage(): buffer == 0\n"))); - - return KErrNoMemory; - } - - TInt error = buffer->CopyData(message, data, length); - if (error != KErrNone) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: EapMessageQueue::AddMessage(): buffer->CopyData() failed = %d\n"), - error)); - - delete buffer; - - return error; - } - - error = iEapMessageQueue.Append(buffer); - if (error != KErrNone) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: EapMessageQueue::AddMessage(): iEapMessageQueue.Append() failed = %d\n"), - error)); - - delete buffer; - } - - return error; -} - -//---------------------------------------------------------------------------- - -EAP_FUNC_EXPORT EapMessageBuffer * EapMessageQueue::GetFirstMessage() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageQueue::GetFirstMessage(): this=0x%08x\n"), - this)); - - EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::GetFirstMessage()"); - - TInt aCount = iEapMessageQueue.Count(); - if (aCount > 0) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageQueue::GetFirstMessage(): iEapMessageQueue[0].iRequestType=%d=%s, iEapMessageQueue.Count()=%d\n"), - iEapMessageQueue[0]->GetRequestType(), - EapServerStrings::GetEapRequestsString(iEapMessageQueue[0]->GetRequestType()), - iEapMessageQueue.Count())); - - return iEapMessageQueue[0]; - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageQueue::GetFirstMessage(): Empty array\n"))); - return 0; - } -} - -//---------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TInt EapMessageQueue::DeleteFirstMessage() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageQueue::DeleteFirstMessage(): this=0x%08x\n"), - this)); - - EAP_TRACE_RETURN_STRING(iTools, "returns: EapMessageQueue::DeleteFirstMessage()"); - - TInt aCount = iEapMessageQueue.Count(); - if (aCount > 0) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageQueue::DeleteFirstMessage(): iEapMessageQueue[0].iRequestType=%d=%s, iEapMessageQueue.Count()=%d\n"), - iEapMessageQueue[0]->GetRequestType(), - EapServerStrings::GetEapRequestsString(iEapMessageQueue[0]->GetRequestType()), - iEapMessageQueue.Count())); - - delete iEapMessageQueue[0]; - iEapMessageQueue.Remove(0); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EapMessageQueue::DeleteFirstMessage(): Empty array\n"))); - } - - return KErrNone; -} - -//---------------------------------------------------------------------------- -// end - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/symbian/EapPluginTools.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapPluginTools.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,264 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Tools for plugin handling on Symbian. -* -*/ - -/* -* %version: 19 % -*/ - -#include -#include -#include - -#include "EapPluginTools.h" -#include "EapAutomatic.h" - -/** @file */ - -// ---------------------------------------------------------------------- - -EXPORT_C EapPluginTools::EapPluginTools() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::EapPluginTools(): this=0x%08x.\n"), - this)); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapPluginTools::EapPluginTools()")); -} - -// ---------------------------------------------------------------------- - -EXPORT_C EapPluginTools::~EapPluginTools() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::~EapPluginTools(): this=0x%08x.\n"), - this)); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapPluginTools::~EapPluginTools()")); -} - -// ---------------------------------------------------------------------- - -EXPORT_C void EapPluginTools::CleanupImplArray( TAny* aAny ) -{ - RImplInfoPtrArray* implArray = - reinterpret_cast( aAny ); - - implArray->ResetAndDestroy(); - implArray->Close(); -} - -// ---------------------------------------------------------------------- - -EXPORT_C void EapPluginTools::ListAllEapPluginsL(const TIndexType aIndexType, const TEapExpandedType & aTunnelingEapType, RPointerArray & aPlugins) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): this=0x%08x, aTunnelingEapType=0xfe%06x%08x.\n"), - this, - aTunnelingEapType.GetVendorId(), - aTunnelingEapType.GetVendorType())); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapPluginTools::ListAllEapPluginsL()")); - - aPlugins.Reset(); // Reset this first - - RImplInfoPtrArray aEapArray; - - CleanupStack::PushL( TCleanupItem( CleanupImplArray, &aEapArray ) ); - - REComSession::ListImplementationsL( KEapTypeInterfaceUid, aEapArray ); - - // Checks which plugins are allowed inside the tunneling EAP-methods and which are allowed outer most EAP-methods. - for( TInt counter = 0; counter < aEapArray.Count(); counter++ ) - { - TEapExpandedType plugin_type(aEapArray[counter]->DataType()); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x\n"), - counter, - plugin_type.GetVendorId(), - plugin_type.GetVendorType())); - - TBool aNotAllowed(EFalse); - - if (aIndexType == ELan - && aTunnelingEapType == (*EapExpandedTypeNone.GetType())) - { - // Filter out the EAP types which are NOT allowed outside PEAP, TTLS or FAST on WLAN. - if( CEapTypePlugin::IsDisallowedOutsidePEAP( *aEapArray[counter] ) ) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x, IsDisallowedOutsidePEAP()\n"), - counter, - plugin_type.GetVendorId(), - plugin_type.GetVendorType())); - - aNotAllowed = ETrue; - } - } - else if (aTunnelingEapType == (*EapExpandedTypePeap.GetType()) - || aTunnelingEapType == (*EapExpandedTypeFast.GetType())) - { - // Filter out the EAP types which are NOT allowed inside PEAP or FAST. - if( CEapTypePlugin::IsDisallowedInsidePEAP( *aEapArray[counter] ) ) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x, IsDisallowedInsidePEAP()\n"), - counter, - plugin_type.GetVendorId(), - plugin_type.GetVendorType())); - - aNotAllowed = ETrue; - } - } - else if (aTunnelingEapType == (*EapExpandedTypeTtls.GetType())) - { - // Filter out the EAP types which are NOT allowed inside TTLS. - if( CEapTypePlugin::IsDisallowedInsideTTLS( *aEapArray[counter] ) ) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x, IsDisallowedInsideTTLS()\n"), - counter, - plugin_type.GetVendorId(), - plugin_type.GetVendorType())); - - aNotAllowed = ETrue; - } - } - - if (aNotAllowed) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): Removes EAP-plugin aEapArray[%d] EAP-type=0xfe%06x%08x\n"), - counter, - plugin_type.GetVendorId(), - plugin_type.GetVendorType())); - - // Delete the EAP type, which isn't allowed here from the array. - delete aEapArray[counter]; - aEapArray.Remove( counter ); - - // One item removed from the array. So reduce the item counter. - counter--; - } - } - - // Adds allowed EAP-methods to an array. - for (TInt ind = 0; ind < aEapArray.Count(); ind++ ) - { - TEapExpandedType * eap_type = new TEapExpandedType; - if (eap_type != 0) - { - *eap_type = aEapArray[ind]->DataType(); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x\n"), - ind, - eap_type->GetVendorId(), - eap_type->GetVendorType())); - - User::LeaveIfError( aPlugins.Append( eap_type ) ); - } - } - - CleanupStack::PopAndDestroy(&aEapArray); -} - -// ---------------------------------------------------------------------- - -EXPORT_C void EapPluginTools::GetPrivatePathL( - RFs& aFileServerSession, - TFileName& aPrivateDatabasePathName) -{ - // Reads the private folder. Caller must connect file server before calling this function. - - CleanupClosePushL(aFileServerSession); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::GetPrivatePathL(): - calls aFileServerSession.PrivatePath()\n"))); - - aPrivateDatabasePathName.SetLength(0); - - TInt error = aFileServerSession.PrivatePath(aPrivateDatabasePathName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::GetPrivatePathL(): - aFileServerSession.PrivatePath(), error=%d\n"), error)); - - User::LeaveIfError(error); - - EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName", - aPrivateDatabasePathName.Ptr(), - aPrivateDatabasePathName.Size())); - - CleanupStack::Pop(&aFileServerSession); -} - -// ---------------------------------------------------------------------- - -EXPORT_C void EapPluginTools::GetPrivatePathL( - TFileName& aPrivateDatabasePathName) -{ - // Reads the private folder. - - RFs aFileServerSession; - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::GetPrivatePathL(): - calls aFileServerSession.Connect()\n"))); - - TInt error = aFileServerSession.Connect(); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::GetPrivatePathL(): - aFileServerSession.Connect(), error=%d\n"), error)); - - User::LeaveIfError(error); - - EapPluginTools::GetPrivatePathL( - aFileServerSession, - aPrivateDatabasePathName); - - aFileServerSession.Close(); -} - -// ---------------------------------------------------------------------- - -EXPORT_C void EapPluginTools::CreateDatabaseLC( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - TInt& error, - const TDesC& aDatabaseName, - TFileName& aPrivateDatabasePathName) -{ - // Caller must connect file server before calling this function. - - // aDatabase is pushed to the cleanup stack even though they may be member - // variables of the calling class and would be closed in the destructor anyway. This ensures - // that if they are not member variables they will be closed. Closing the handle twice - // does no harm. - CleanupClosePushL(aFileServerSession); - CleanupClosePushL(aDatabase); - - // Create the private database in the private folder of EAP-server. - - EapPluginTools::GetPrivatePathL( - aFileServerSession, - aPrivateDatabasePathName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::CreateDatabaseLC(): - calls aPrivateDatabasePathName.Append()\n"))); - - aPrivateDatabasePathName.Append(aDatabaseName); - - EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName", - aPrivateDatabasePathName.Ptr(), - aPrivateDatabasePathName.Size())); - - User::LeaveIfError(error); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::CreateDatabaseLC(): - calls aDatabase.Create()\n"))); - - error = aDatabase.Create(aFileServerSession, aPrivateDatabasePathName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::CreateDatabaseLC(): - Created private DB for %S. error=%d, (%d is KErrAlreadyExists)\n"), - &aDatabaseName, - error, - KErrAlreadyExists)); -} - -// ---------------------------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/symbian/EapSettings.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapSettings.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1005 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Data type for EAP-settings configuration on Symbian. -* -*/ - -/* -* %version: 44 % -*/ - -#include -#include - -#include "EapTraceSymbian.h" -#include "eap_am_export.h" - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT EapCertificateEntry::EapCertificateEntry() -: iCertType(ENone) -, iSubjectNamePresent(EFalse) -, iIssuerNamePresent(EFalse) -, iSerialNumberPresent(EFalse) -, iThumbprintPresent(EFalse) -, iLabelPresent(EFalse) -, iPrimaryNamePresent(EFalse) -, iSecondaryNamePresent(EFalse) -, iIsEnabledPresent(EFalse) -, iSubjectKeyIdPresent(EFalse) -, iIsValid(EFalse) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::EapCertificateEntry(): this=0x%08x"), - this)); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapCertificateEntry::EapCertificateEntry()")); -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT EapCertificateEntry::~EapCertificateEntry() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::~EapCertificateEntry(): this=0x%08x"), - this)); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapCertificateEntry::~EapCertificateEntry()")); -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT void EapCertificateEntry::trace() const -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iCertType=%d"), - iCertType)); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iSubjectNamePresent=%d"), - iSubjectNamePresent)); - if (iSubjectNamePresent) - { - EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iSubjectName", - iSubjectName.Ptr(), - iSubjectName.Size())); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iIssuerNamePresent=%d"), - iIssuerNamePresent)); - if (iIssuerNamePresent) - { - EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iIssuerName", - iIssuerName.Ptr(), - iIssuerName.Size())); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iSerialNumberPresent=%d"), - iSerialNumberPresent)); - if (iSerialNumberPresent) - { - EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iSerialNumber", - iSerialNumber.Ptr(), - iSerialNumber.Size())); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iThumbprintPresent=%d"), - iThumbprintPresent)); - if (iThumbprintPresent) - { - EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iThumbprint", - iThumbprint.Ptr(), - iThumbprint.Size())); - } - - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iLabelPresent=%d"), - iLabelPresent)); - if (iLabelPresent) - { - EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iLabel", - iLabel.Ptr(), - iLabel.Size())); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iPrimaryNamePresent=%d"), - iPrimaryNamePresent)); - if (iPrimaryNamePresent) - { - EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iPrimaryName", - iPrimaryName.Ptr(), - iPrimaryName.Size())); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iSecondaryNamePresent=%d"), - iSecondaryNamePresent)); - if (iSecondaryNamePresent) - { - EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iSecondaryName", - iSecondaryName.Ptr(), - iSecondaryName.Size())); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iIsEnabledPresent=%d"), - iIsEnabledPresent)); - if (iIsEnabledPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iIsEnabled=%d"), - iIsEnabled)); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iSubjectKeyIdPresent=%d"), - iSubjectKeyIdPresent)); - if (iSubjectKeyIdPresent) - { - EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapCertificateEntry::trace(): iSubjectKeyId", - iSubjectKeyId.Ptr(), - iSubjectKeyId.Size())); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapCertificateEntry::trace(): iIsValid=%d"), - iIsValid)); -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT EapCertificateEntry * EapCertificateEntry::Copy() -{ - EapCertificateEntry * const entry = new EapCertificateEntry; - if (entry == 0) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::Copy(): No memory.\n"))); - return 0; - } - - *entry = *this; - - if (entry->iIsValid == EFalse) - { - delete entry; - - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::Copy(): No memory.\n"))); - return 0; - } - - return entry; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT EapCertificateEntry &EapCertificateEntry::operator = (const EapCertificateEntry &right_type_value) -{ - if (this == &right_type_value) - { - return *this; - } - - iIsValid = EFalse; - - - SetCertType(right_type_value.GetCertType()); - - if (right_type_value.GetSubjectNamePresent()) - { - if (SetSubjectName(*right_type_value.GetSubjectName()) != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetSubjectName(): No memory.\n"))); - return *this; - } - } - - if (right_type_value.GetIssuerNamePresent()) - { - if (SetIssuerName(*right_type_value.GetIssuerName()) != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetIssuerName(): No memory.\n"))); - return *this; - } - } - - if (right_type_value.GetSerialNumberPresent()) - { - if (SetSerialNumber(*right_type_value.GetSerialNumber()) != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetSerialNumber(): No memory.\n"))); - return *this; - } - } - - if (right_type_value.GetThumbprintPresent()) - { - if (SetThumbprint(*right_type_value.GetThumbprint()) != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetThumbprint(): No memory.\n"))); - return *this; - } - } - - - if (right_type_value.GetLabelPresent()) - { - if (SetLabel(*right_type_value.GetLabel()) != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetLabel(): No memory.\n"))); - return *this; - } - } - - if (right_type_value.GetPrimaryNamePresent()) - { - if (SetPrimaryName(*right_type_value.GetPrimaryName()) != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetPrimaryName(): No memory.\n"))); - return *this; - } - } - - if (right_type_value.GetSecondaryNamePresent()) - { - if (SetSecondaryName(*right_type_value.GetSecondaryName()) != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetSecondaryName(): No memory.\n"))); - return *this; - } - } - - if (right_type_value.GetIsEnabledPresent()) - { - if (SetIsEnabled(right_type_value.GetIsEnabled()) != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetIsEnabled(): No memory.\n"))); - return *this; - } - } - - if (right_type_value.GetSubjectKeyIdPresent()) - { - if (SetSubjectKeyId(right_type_value.GetSubjectKeyId()) != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::operator = (): SetSubjectKeyId(): No memory.\n"))); - return *this; - } - } - - iIsValid = ETrue; - - return *this; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TBool EapCertificateEntry::GetSubjectNamePresent() const -{ - return iSubjectNamePresent; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TBool EapCertificateEntry::GetIssuerNamePresent() const -{ - return iIssuerNamePresent; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TBool EapCertificateEntry::GetSerialNumberPresent() const -{ - return iSerialNumberPresent; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TBool EapCertificateEntry::GetThumbprintPresent() const -{ - return iThumbprintPresent; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TBool EapCertificateEntry::GetLabelPresent() const -{ - return iLabelPresent; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TBool EapCertificateEntry::GetPrimaryNamePresent() const -{ - return iPrimaryNamePresent; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TBool EapCertificateEntry::GetSecondaryNamePresent() const -{ - return iSecondaryNamePresent; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TBool EapCertificateEntry::GetIsEnabledPresent() const -{ - return iIsEnabledPresent; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TBool EapCertificateEntry::GetSubjectKeyIdPresent() const -{ - return iSubjectKeyIdPresent; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT void EapCertificateEntry::SetSubjectNamePresent() -{ - iSubjectNamePresent = ETrue; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT void EapCertificateEntry::SetIssuerNamePresent() -{ - iIssuerNamePresent = ETrue; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT void EapCertificateEntry::SetSerialNumberPresent() -{ - iSerialNumberPresent = ETrue; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT void EapCertificateEntry::SetThumbprintPresent() -{ - iThumbprintPresent = ETrue; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT void EapCertificateEntry::SetLabelPresent() -{ - iLabelPresent = ETrue; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT void EapCertificateEntry::SetPrimaryNamePresent() -{ - iPrimaryNamePresent = ETrue; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT void EapCertificateEntry::SetSecondaryNamePresent() -{ - iSecondaryNamePresent = ETrue; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT void EapCertificateEntry::SetIsEnabledPresent() -{ - iIsEnabledPresent = ETrue; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT void EapCertificateEntry::SetSubjectKeyIdPresent() -{ - iSubjectKeyIdPresent = ETrue; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT EapCertificateEntry::TCertType EapCertificateEntry::GetCertType() const -{ - return iCertType; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT const TDes * EapCertificateEntry::GetSubjectName() const -{ - return &iSubjectName; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT const TDes * EapCertificateEntry::GetIssuerName() const -{ - return &iIssuerName; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT const TDes * EapCertificateEntry::GetSerialNumber() const -{ - return &iSerialNumber; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT const TDes * EapCertificateEntry::GetThumbprint() const -{ - return &iThumbprint; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TInt EapCertificateEntry::SetCertType(const TCertType & aType) -{ - iCertType = aType; - - return KErrNone; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TInt EapCertificateEntry::SetSubjectName(const TBuf & aSubjectName) -{ - iSubjectName.Copy(aSubjectName); - if (iSubjectName.Length() != aSubjectName.Length()) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetSubjectName(): iSubjectName.Copy(): No memory.\n"))); - return KErrNoMemory; - } - - iSubjectNamePresent = ETrue; - - return KErrNone; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TInt EapCertificateEntry::SetIssuerName(const TBuf & aIssuerName) -{ - iIssuerName.Copy(aIssuerName); - if (iIssuerName.Length() != aIssuerName.Length()) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetIssuerName(): iIssuerName.Copy(): No memory.\n"))); - return KErrNoMemory; - } - - iIssuerNamePresent = ETrue; - - return KErrNone; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TInt EapCertificateEntry::SetSerialNumber(const TBuf & aSerialNumber) -{ - iSerialNumber.Copy(aSerialNumber); - if (iSerialNumber.Length() != aSerialNumber.Length()) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetSerialNumber(): iSerialNumber.Copy(): No memory.\n"))); - return KErrNoMemory; - } - - iSerialNumberPresent = ETrue; - - return KErrNone; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TInt EapCertificateEntry::SetThumbprint(const TBuf & aThumbprint) -{ - iThumbprint.Copy(aThumbprint); - if (iThumbprint.Length() != aThumbprint.Length()) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetThumbprint(): iThumbprint.Copy(): No memory.\n"))); - return KErrNoMemory; - } - - iThumbprintPresent = ETrue; - - return KErrNone; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT const TDes * EapCertificateEntry::GetLabel() const -{ - return &iLabel; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT const TKeyIdentifier & EapCertificateEntry::GetSubjectKeyId() const -{ - return iSubjectKeyId; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT const TDes * EapCertificateEntry::GetPrimaryName() const -{ - return &iPrimaryName; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT const TDes * EapCertificateEntry::GetSecondaryName() const -{ - return &iSecondaryName; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TDes * EapCertificateEntry::GetLabelWritable() -{ - return &iLabel; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TKeyIdentifier * EapCertificateEntry::GetSubjectKeyIdWritable() -{ - return &iSubjectKeyId; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TDes * EapCertificateEntry::GetPrimaryNameWritable() -{ - return &iPrimaryName; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TDes * EapCertificateEntry::GetSecondaryNameWritable() -{ - return &iSecondaryName; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TDes * EapCertificateEntry::GetSubjectNameWritable() -{ - return &iSubjectName; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TDes * EapCertificateEntry::GetIssuerNameWritable() -{ - return &iIssuerName; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TDes * EapCertificateEntry::GetSerialNumberWritable() -{ - return &iSerialNumber; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TDes * EapCertificateEntry::GetThumbprintWritable() -{ - return &iThumbprint; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TBool EapCertificateEntry::GetIsEnabled() const -{ - return iIsEnabled; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TBool EapCertificateEntry::GetIsValid() const -{ - return iIsValid; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TInt EapCertificateEntry::SetLabel(const TCertLabel & aLabel) -{ - iLabel.Copy(aLabel); - if (iLabel.Length() != aLabel.Length()) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetLabel(): iLabel.Copy(): No memory.\n"))); - return KErrNoMemory; - } - - iLabelPresent = ETrue; - - return KErrNone; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TInt EapCertificateEntry::SetPrimaryName(const TBuf & aPrimaryName) -{ - iPrimaryName.Copy(aPrimaryName); - if (iPrimaryName.Length() != aPrimaryName.Length()) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetPrimaryName(): iPrimaryName.Copy(): No memory.\n"))); - return KErrNoMemory; - } - - iPrimaryNamePresent = ETrue; - - return KErrNone; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TInt EapCertificateEntry::SetSecondaryName(const TBuf & aSecondaryName) -{ - iSecondaryName.Copy(aSecondaryName); - if (iSecondaryName.Length() != aSecondaryName.Length()) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetSecondaryName(): iSecondaryName.Copy(): No memory.\n"))); - return KErrNoMemory; - } - - iSecondaryNamePresent = ETrue; - - return KErrNone; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TInt EapCertificateEntry::SetSubjectKeyId(const TKeyIdentifier & aSubjectKeyId) -{ - iSubjectKeyId.Copy(aSubjectKeyId); - if (iSubjectKeyId.Length() != aSubjectKeyId.Length()) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapCertificateEntry::SetSubjectKeyId(): iSubjectKeyId.Copy(): No memory.\n"))); - return KErrNoMemory; - } - - iSubjectKeyIdPresent = ETrue; - - return KErrNone; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TInt EapCertificateEntry::SetIsEnabled(const TBool aIsEnabled) -{ - iIsEnabled = aIsEnabled; - iIsEnabledPresent = ETrue; - - return KErrNone; -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT TInt EapCertificateEntry::SetIsValid(const TBool aIsValid) -{ - iIsValid = aIsValid; - - return KErrNone; -} - -//------------------------------------------------------------------------------------- -//------------------------------------------------------------------------------------- -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT EAPSettings::EAPSettings() -: iEAPExpandedType(*(EapExpandedTypeNone.GetType())) -, iUseAutomaticCACertificatePresent(EFalse) -, iUseAutomaticCACertificate(EFalse) -, iUseAutomaticUsernamePresent(EFalse) -, iUseAutomaticUsername(EFalse) -, iUseAutomaticRealmPresent(EFalse) -, iUsernamePresent(EFalse) -, iPasswordExistPresent(EFalse) -, iPasswordExist(EFalse) -, iPasswordPresent(EFalse) -, iRealmPresent(EFalse) -, iUsePseudonymsPresent(EFalse) -, iUsePseudonyms(EFalse) -, iVerifyServerRealmPresent(EFalse) -, iVerifyServerRealm(EFalse) -, iRequireClientAuthenticationPresent(EFalse) -, iRequireClientAuthentication(EFalse) -, iSessionValidityTimePresent(EFalse) -, iSessionValidityTime(0ul) -, iCipherSuitesPresent(EFalse) -, iCipherSuites(1) -, iPEAPVersionsPresent(EFalse) -, iPEAPv0Allowed(EFalse) -, iPEAPv1Allowed(EFalse) -, iPEAPv2Allowed(EFalse) -, iCertificatesPresent(EFalse) -, iCertificates(1) -, iEnabledEncapsulatedEAPExpandedTypesPresent(EFalse) -, iEnabledEncapsulatedEAPExpandedTypes(1) -, iDisabledEncapsulatedEAPExpandedTypesPresent(EFalse) -, iDisabledEncapsulatedEAPExpandedTypes(1) -, iAuthProvModeAllowedPresent(EFalse) -, iAuthProvModeAllowed(EFalse) -, iUnauthProvModeAllowedPresent(EFalse) -, iUnauthProvModeAllowed(EFalse) -, iPACGroupReferencePresent(EFalse) -, iWarnADHPNoPACPresent(EFalse) -, iWarnADHPNoPAC(EFalse) -, iWarnADHPNoMatchingPACPresent(EFalse) -, iWarnADHPNoMatchingPAC(EFalse) -, iWarnNotDefaultServerPresent(EFalse) -, iWarnNotDefaultServer(EFalse) -, iShowPassWordPromptPresent(EFalse) -, iShowPassWordPrompt(EFalse) -, iUseIdentityPrivacyPresent(EFalse) -, iUseIdentityPrivacy(EFalse) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::EAPSettings(): this=0x%08x"), - this)); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EAPSettings::EAPSettings()")); -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT EAPSettings::~EAPSettings() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::~EAPSettings(): this=0x%08x"), - this)); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EAPSettings::~EAPSettings()")); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::~EAPSettings(): calls iCipherSuites.Close()"))); - iCipherSuites.Close(); // The Close() function must be called before RArray object is destroyed. - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::~EAPSettings(): calls iCertificates.ResetAndDestroy()"))); - iCertificates.ResetAndDestroy(); // ResetAndDestroy() function must be called because the objects represented by the array need to be deleted before the array object is destroyed. - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::~EAPSettings(): calls iCertificates.Close()"))); - iCertificates.Close(); // The Close() function must be called before RPointerArray object is destroyed. - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::~EAPSettings(): calls iEnabledEncapsulatedEAPExpandedTypes.Close()"))); - iEnabledEncapsulatedEAPExpandedTypes.Close(); // The Close() function must be called before RArray object is destroyed. - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::~EAPSettings(): calls iDisabledEncapsulatedEAPExpandedTypes.Close()"))); - iDisabledEncapsulatedEAPExpandedTypes.Close(); // The Close() function must be called before RArray object is destroyed. -} - -//------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT void EAPSettings::trace() const -{ - TUint ind = 0ul; - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iEAPExpandedType=0xfe%06x%08x"), - iEAPExpandedType.GetVendorId(), - iEAPExpandedType.GetVendorType())); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUseAutomaticCACertificatePresent=%d"), - iUseAutomaticCACertificatePresent)); - if (iUseAutomaticCACertificatePresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUseAutomaticCACertificate=%d"), - iUseAutomaticCACertificate) ); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUseAutomaticUsernamePresent=%d"), - iUseAutomaticUsernamePresent)); - if (iUseAutomaticUsernamePresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUseAutomaticUsername=%d"), - iUseAutomaticUsername) ); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUseAutomaticRealmPresent=%d"), - iUseAutomaticRealmPresent)); - if (iUseAutomaticRealmPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUseAutomaticRealm=%d"), - iUseAutomaticRealm) ); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUsernamePresent=%d"), - iUsernamePresent)); - if (iUsernamePresent) - { - EAP_TRACE_DATA_DEBUG_SYMBIAN(("EAPSettings::trace(): iUsername", - iUsername.Ptr(), - iUsername.Size())); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iPasswordExistPresent=%d"), - iPasswordExistPresent)); - if (iPasswordExistPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iPasswordExist=%d"), - iPasswordExist) ); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iPasswordPresent=%d"), - iPasswordPresent)); - if (iPasswordPresent) - { - EAP_TRACE_DATA_DEBUG_SYMBIAN(("EAPSettings::trace(): iPassword", - iPassword.Ptr(), - iPassword.Size())); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iRealmPresent=%d"), - iRealmPresent)); - if (iRealmPresent) - { - EAP_TRACE_DATA_DEBUG_SYMBIAN(("EAPSettings::trace(): iRealm", - iRealm.Ptr(), - iRealm.Size())); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUsePseudonymsPresent=%d"), - iUsePseudonymsPresent)); - if (iUsePseudonymsPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUsePseudonyms=%d"), - iUsePseudonyms) ); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iVerifyServerRealmPresent=%d"), - iVerifyServerRealmPresent)); - if (iVerifyServerRealmPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iVerifyServerRealm=%d"), - iVerifyServerRealm)); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iRequireClientAuthenticationPresent=%d"), - iRequireClientAuthenticationPresent)); - if (iRequireClientAuthenticationPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iRequireClientAuthentication=%d"), - iRequireClientAuthentication)); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iSessionValidityTimePresent=%d"), - iSessionValidityTimePresent)); - if (iSessionValidityTimePresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iSessionValidityTime=%d"), - iSessionValidityTime)); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iCipherSuitesPresent=%d"), - iCipherSuitesPresent)); - if (iCipherSuitesPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iCipherSuites=%d"), - iCipherSuites.Count())); - for (ind = 0ul; ind < iCipherSuites.Count(); ++ind) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iCipherSuites[%d]=%d"), - ind, - iCipherSuites[ind])); - } - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iPEAPVersionsPresent=%d"), - iPEAPVersionsPresent)); - if (iPEAPVersionsPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iPEAPv0Allowed=%d"), - iPEAPv0Allowed)); - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iPEAPv1Allowed=%d"), - iPEAPv1Allowed)); - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iPEAPv2Allowed=%d"), - iPEAPv2Allowed)); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iCertificatesPresent=%d"), - iCertificatesPresent)); - if (iCertificatesPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iCertificates=%d"), - iCertificates.Count())); - for (ind = 0ul; ind < iCertificates.Count(); ++ind) - { - iCertificates[ind]->trace(); - } - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iEnabledEncapsulatedEAPExpandedTypesPresent=%d"), - iEnabledEncapsulatedEAPExpandedTypesPresent)); - if (iEnabledEncapsulatedEAPExpandedTypesPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iEnabledEncapsulatedEAPExpandedTypes=%d"), - iEnabledEncapsulatedEAPExpandedTypes.Count())); - for (ind = 0ul; ind < iEnabledEncapsulatedEAPExpandedTypes.Count(); ++ind) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iEnabledEncapsulatedEAPExpandedTypes[%d]=0xfe%06x%08x"), - ind, - iEnabledEncapsulatedEAPExpandedTypes[ind].GetVendorId(), - iEnabledEncapsulatedEAPExpandedTypes[ind].GetVendorType())); - } - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iDisabledEncapsulatedEAPExpandedTypesPresent=%d"), - iDisabledEncapsulatedEAPExpandedTypesPresent)); - if (iDisabledEncapsulatedEAPExpandedTypesPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iDisabledEncapsulatedEAPExpandedTypes=%d"), - iDisabledEncapsulatedEAPExpandedTypes.Count())); - for (ind = 0ul; ind < iDisabledEncapsulatedEAPExpandedTypes.Count(); ++ind) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iDisabledEncapsulatedEAPExpandedTypes[%d]=0xfe%06x%08x"), - ind, - iDisabledEncapsulatedEAPExpandedTypes[ind].GetVendorId(), - iDisabledEncapsulatedEAPExpandedTypes[ind].GetVendorType())); - } - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iAuthProvModeAllowedPresent=%d"), - iAuthProvModeAllowedPresent)); - if (iAuthProvModeAllowedPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iAuthProvModeAllowed=%d"), - iAuthProvModeAllowed)); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUnauthProvModeAllowedPresent=%d"), - iUnauthProvModeAllowedPresent)); - if (iUnauthProvModeAllowedPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUnauthProvModeAllowed=%d"), - iUnauthProvModeAllowed)); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iPACGroupReferencePresent=%d"), - iPACGroupReferencePresent)); - if (iPACGroupReferencePresent) - { - EAP_TRACE_DATA_DEBUG_SYMBIAN(("EAPSettings::trace(): iPACGroupReference", - iPACGroupReference.Ptr(), - iPACGroupReference.Size())); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iWarnADHPNoPACPresent=%d"), - iWarnADHPNoPACPresent)); - if (iWarnADHPNoPACPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iWarnADHPNoPAC=%d"), - iWarnADHPNoPAC)); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iWarnADHPNoMatchingPACPresent=%d"), - iWarnADHPNoMatchingPACPresent)); - if (iWarnADHPNoMatchingPACPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iWarnADHPNoMatchingPAC=%d"), - iWarnADHPNoMatchingPAC)); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iWarnNotDefaultServerPresent=%d"), - iWarnNotDefaultServerPresent)); - if (iWarnNotDefaultServerPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iWarnNotDefaultServer=%d"), - iWarnNotDefaultServer)); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iShowPassWordPromptPresent=%d"), - iShowPassWordPromptPresent)); - if (iShowPassWordPromptPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iShowPassWordPrompt=%d"), - iShowPassWordPrompt)); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUseIdentityPrivacyPresent=%d"), - iUseIdentityPrivacyPresent)); - if (iUseIdentityPrivacyPresent) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EAPSettings::trace(): iUseIdentityPrivacy=%d"), - iUseIdentityPrivacy)); - } -} - -//------------------------------------------------------------------------------------- -// end of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/symbian/dll_entry.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/dll_entry.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/dll_entry.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_async_wait_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_async_wait_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_async_wait_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ // INCLUDE FILES diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_crypto_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_crypto_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_crypto_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 20 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_mutex_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_mutex_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_mutex_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_semaphore_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_semaphore_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_semaphore_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4.1.2 % */ // This is enumeration of EAPOL source code. @@ -31,7 +31,7 @@ // INCLUDES #include "eap_am_memory.h" -#include "EapTraceSymbian.h" +#include "eap_am_trace_symbian.h" #include "eap_am_semaphore_symbian.h" diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_tools_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_tools_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_tools_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,12 +11,12 @@ * * Contributors: * -* Description: Tools for common code to run on Symbian. +* Description: EAP and WLAN authentication protocols. * */ /* -* %version: 36 % +* %version: 22.1.3 % */ // This is enumeration of EAPOL source code. @@ -28,13 +28,11 @@ #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) -#include -#include #include "eap_am_tools_symbian.h" #include "eap_am_types.h" -#include "eap_automatic_variable.h" -#include "EapTraceSymbian.h" +#include +#include const TUint MAX_DB_TRANSACTION_RETRY_COUNT = 10; const u32_t EAP_TIMER_MAX_AFTER_TIME_MILLISECONDS_SYMBIAN = 2100000ul; @@ -49,11 +47,6 @@ EAP_FUNC_EXPORT eap_am_tools_symbian_c::~eap_am_tools_symbian_c() { - EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_tools_symbian_c::~eap_am_tools_symbian_c(): this=0x%08x"), - this)); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: eap_am_tools_symbian_c::~eap_am_tools_symbian_c()")); - // If multithreading is used the log file is not kept open all the time // so no need to close the handles here. #if defined(USE_EAP_FILE_TRACE) @@ -70,7 +63,6 @@ EAP_FUNC_EXPORT eap_am_tools_symbian_c::eap_am_tools_symbian_c(eap_const_string /*pfilename*/) : eap_am_tools_c() , CTimer(CTimer::EPriorityStandard) - , m_prefix_string(this) , m_start_ticks(0) , m_directory_exists(false) , m_crypto(this) @@ -87,40 +79,16 @@ #if defined(USE_EAP_HARDWARE_TRACE) set_trace_mask( - TRACE_FLAGS_ALWAYS - | TRACE_FLAGS_ERROR + eap_am_tools_c::eap_trace_mask_always + | eap_am_tools_c::eap_trace_mask_error | eap_am_tools_c::eap_trace_mask_debug - | EAP_TRACE_FLAGS_MESSAGE_DATA - | TRACE_FLAGS_TIMER - | TRACE_FLAGS_TIMER_QUEUE); + | eap_am_tools_c::eap_trace_mask_message_data); #endif //#if defined(USE_EAP_HARDWARE_TRACE) - const u8_t DEFAULT_PREFIX[] = "EAPOL"; - - eap_status_e status = m_prefix_string.set_copy_of_buffer(DEFAULT_PREFIX, sizeof(DEFAULT_PREFIX)-1ul);; - if (status != eap_status_ok) - { - EAP_TRACE_END(this, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(this, status); - return; - } - - status = m_prefix_string.add_end_null(); - if (status != eap_status_ok) - { - EAP_TRACE_END(this, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(this, status); - return; - } - EAP_TRACE_DEBUG( this, TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_tools_symbian_c::eap_am_tools_symbian_c(): this = 0x%08x => 0x%08x\n"), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING(this, "returns: eap_am_tools_symbian_c::eap_am_tools_symbian_c()"); + (EAPL("eap_am_tools_symbian_c::eap_am_tools_symbian_c()\n"))); if (m_crypto.get_is_valid() == false) { @@ -192,8 +160,6 @@ TRACE_FLAGS_DEFAULT, (EAPL("eap_am_tools_symbian_c::configure()\n"))); - EAP_TRACE_RETURN_STRING(this, "returns: eap_am_tools_symbian_c::configure()"); - if (m_configure_called == true) { return EAP_STATUS_RETURN(this, eap_status_ok); @@ -201,12 +167,10 @@ #if defined(USE_EAP_HARDWARE_TRACE) set_trace_mask( - TRACE_FLAGS_ALWAYS - | TRACE_FLAGS_ERROR + eap_am_tools_c::eap_trace_mask_always + | eap_am_tools_c::eap_trace_mask_error | eap_am_tools_c::eap_trace_mask_debug - | EAP_TRACE_FLAGS_MESSAGE_DATA - | TRACE_FLAGS_TIMER - | TRACE_FLAGS_TIMER_QUEUE); + | eap_am_tools_c::eap_trace_mask_message_data); #endif //#if defined(USE_EAP_HARDWARE_TRACE) m_start_ticks = get_clock_ticks(); @@ -415,28 +379,23 @@ TInt64 _hours = _minutes / _div_60; _minutes = _minutes - _hours* _div_60; - _LIT8(KFormat1, "%02d:%02d:%02d.%06d:%s:"); + _LIT8(KFormat1, "%02d:%02d:%02d.%06d:EAPOL:"); m_trace_buf.Format( KFormat1, static_cast(_hours), static_cast(_minutes), static_cast(_seconds), - static_cast(_micro_seconds), - m_prefix_string.get_data()); + static_cast(_micro_seconds)); } } else { - _LIT8(KFormat2, "%08x%08x:%s:"); + _LIT8(KFormat2, "%08x%08x:EAPOL:"); u32_t *time_stamp_u32_t = reinterpret_cast(&time_stamp); - m_trace_buf.Format( - KFormat2, - time_stamp_u32_t[1], - time_stamp_u32_t[0], - m_prefix_string.get_data()); + m_trace_buf.Format(KFormat2, time_stamp_u32_t[1], time_stamp_u32_t[0]); } VA_LIST args = {0,}; @@ -485,10 +444,10 @@ #if defined(USE_EAP_FILE_TRACE) #if defined (USE_MULTITHREADING) - RFs session; - if (m_filename.Length() > 0ul) { + RFs session; + TInt result = session.Connect(); if (result != KErrNone) { @@ -558,35 +517,6 @@ return m_run_thread; } -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e eap_am_tools_symbian_c::set_trace_prefix( - const eap_variable_data_c * const prefix8bit) -{ - EAP_TRACE_BEGIN(this, TRACE_FLAGS_DEFAULT); - - enter_trace_mutex(); - - eap_status_e status = m_prefix_string.set_copy_of_buffer(prefix8bit); - if (status != eap_status_ok) - { - EAP_TRACE_END(this, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(this, status); - } - - status = m_prefix_string.add_end_null(); - if (status != eap_status_ok) - { - EAP_TRACE_END(this, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(this, status); - } - - leave_trace_mutex(); - - EAP_TRACE_END(this, TRACE_FLAGS_DEFAULT); - return eap_status_ok; -} //-------------------------------------------------- @@ -594,23 +524,14 @@ EAP_FUNC_EXPORT eap_status_e eap_am_tools_symbian_c::set_trace_file_name( const eap_variable_data_c * const trace_output_file) { - EAP_TRACE_DEBUG( - this, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_tools_symbian_c::set_trace_file_name()"))); - - EAP_TRACE_RETURN_STRING(this, "returns: eap_am_tools_symbian_c::set_trace_file_name()"); - EAP_TRACE_BEGIN(this, TRACE_FLAGS_DEFAULT); EAP_UNREFERENCED_PARAMETER(trace_output_file); #if defined(USE_EAP_FILE_TRACE) #if defined(USE_EAP_TRACE) || defined(USE_EAP_TRACE_ALWAYS) - TBuf8<64> tmpFilename((TUint8 *)trace_output_file->get_data(trace_output_file->get_data_length())); tmpFilename.SetLength(trace_output_file->get_data_length()); - enter_trace_mutex(); m_filename.Copy(tmpFilename); @@ -843,8 +764,7 @@ // EAP_FUNC_EXPORT u64_t eap_am_tools_symbian_c::get_clock_ticks_of_second() { - const u64_t COUNT_OF_CLOCK_TICS_IN_ONE_SECOND = 1000000ul; - return COUNT_OF_CLOCK_TICS_IN_ONE_SECOND; + return 1000000u; } //-------------------------------------------------- @@ -985,8 +905,6 @@ } -//-------------------------------------------------- - EAP_FUNC_EXPORT void eap_am_tools_symbian_c::leave_crypto_cs() { @@ -1003,11 +921,10 @@ EAP_FUNC_EXPORT void eap_am_tools_symbian_c::sleep(u32_t milli_seconds) { - After(limit_microsecond_timeout(milli_seconds)); + User::After(limit_microsecond_timeout(milli_seconds)); } //-------------------------------------------------- - EAP_FUNC_EXPORT u32_t eap_am_tools_symbian_c::get_gmt_unix_time() { _LIT(KStart, "19700000:000000.000000"); @@ -1018,7 +935,6 @@ now.SecondsFrom(start, interval); return interval.Int(); } - //-------------------------------------------------- EAP_FUNC_EXPORT bool eap_am_tools_symbian_c::get_is_valid() const @@ -1033,7 +949,7 @@ EAP_TRACE_DEBUG( this, TRACE_FLAGS_DEFAULT, - (EAPL("eap_status_e eap_am_tools_symbian_c::convert_am_error_to_eapol_error(): error=%d\n"), + (EAPL("eap_am_tools_symbian_c::convert_am_error_to_eapol_error: error=%d\n"), aErr)); eap_status_e status; @@ -1109,14 +1025,12 @@ return status; } -//-------------------------------------------------- - EAP_FUNC_EXPORT i32_t eap_am_tools_symbian_c::convert_eapol_error_to_am_error(eap_status_e aErr) { EAP_TRACE_DEBUG( this, TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_tools_symbian_c::convert_eapol_error_to_am_error(): error=%d\n"), + (EAPL("eap_am_tools_symbian_c::convert_am_error_to_eapol_error: error=%d\n"), aErr)); TInt status; @@ -1144,7 +1058,6 @@ status = KErrCompletion; break; - case eap_status_not_found: case eap_status_illegal_configure_field: status = KErrNotFound; break; @@ -1244,7 +1157,7 @@ // Wait 0 - 524287 microseconds randomWait = randomWait & 0x7ffff; - After(randomWait); + User::After(randomWait); } return EAP_STATUS_RETURN(this, status); } @@ -1279,7 +1192,7 @@ // Wait 0 - 524287 microseconds randomWait = randomWait & 0x7ffff; - After(randomWait); + User::After(randomWait); } return EAP_STATUS_RETURN(this, status); } @@ -1314,7 +1227,7 @@ // Wait 0 - 524287 microseconds randomWait = randomWait & 0x7ffff; - After(randomWait); + User::After(randomWait); } return EAP_STATUS_RETURN(this, status); } @@ -1331,9 +1244,6 @@ this, dynamic_cast(this))); - // Note, tools cannot be used to trace on return. - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: eap_am_tools_symbian_c::shutdown()")); - StopTimer(); return eap_am_tools_c::shutdown_am_tools(); @@ -1583,10 +1493,6 @@ EAP_FUNC_EXPORT_INTERFACE abs_eap_am_tools_c * abs_eap_am_tools_c::new_abs_eap_am_tools_c() { - EAP_TRACE_DEBUG_SYMBIAN((_L("abs_eap_am_tools_c::new_abs_eap_am_tools_c()"))); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: abs_eap_am_tools_c::new_abs_eap_am_tools_c()")); - abs_eap_am_tools_c *am_tools = new eap_am_tools_symbian_c(EAP_DEFAULT_TRACE_FILE); if (am_tools != 0) @@ -1603,7 +1509,7 @@ EAP_TRACE_DEBUG( am_tools, TRACE_FLAGS_TIMER, - (EAPL("abs_eap_am_tools_c::new_abs_eap_am_tools_c(0x%08x): success\n"), + (EAPL("abs_eap_am_tools_c::new_abs_eap_am_tools_c() => 0x%08x success\n"), am_tools)); } } @@ -1615,22 +1521,15 @@ EAP_FUNC_EXPORT_INTERFACE void abs_eap_am_tools_c::delete_abs_eap_am_tools_c(abs_eap_am_tools_c * const am_tools) { - EAP_TRACE_DEBUG_SYMBIAN((_L("abs_eap_am_tools_c::delete_abs_eap_am_tools_c()"))); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: abs_eap_am_tools_c::delete_abs_eap_am_tools_c()")); + EAP_TRACE_DEBUG( + am_tools, + TRACE_FLAGS_TIMER, + (EAPL("abs_eap_am_tools_c::delete_abs_eap_am_tools_c(0x%08x)\n"), + am_tools)); - if (am_tools != 0) - { - EAP_TRACE_DEBUG( - am_tools, - TRACE_FLAGS_TIMER, - (EAPL("abs_eap_am_tools_c::delete_abs_eap_am_tools_c(0x%08x)\n"), - am_tools)); - - (void)am_tools->shutdown(); - - delete am_tools; - } + (void)am_tools->shutdown(); + + delete am_tools; } //-------------------------------------------------- diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_trace_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_trace_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_trace_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2001-2005 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" @@ -11,30 +11,29 @@ * * Contributors: * -* Description: Trace functions on Symbian. +* Description: EAP and WLAN authentication protocols. * */ /* -* %version: 16 % +* %version: 7.1.3 % */ -#include "EapTraceSymbian.h" -#include "eap_tools.h" +#if defined(_DEBUG) || defined(DEBUG) + +#include "eap_am_trace_symbian.h" -const TInt KMaxBufferSize = 512; +const TInt KMaxBufferSize = 256; -//------------------------------------------------------------------------- - -TUint8 octet_to_ascii(i32_t octet) +u8_t octet_to_ascii(i32_t octet) { if (0 <= octet && octet <= 9) { - return static_cast('0' + octet); + return static_cast('0' + octet); } else if (10 <= octet && octet <= 16) { - return static_cast('a' + (octet-10u)); + return static_cast('a' + (octet-10u)); } else { @@ -42,9 +41,7 @@ } } -//------------------------------------------------------------------------- - -void formatted_print(const char * const format, ...) +void formatted_print(eap_format_string format, ...) { EAP_UNREFERENCED_PARAMETER(format); @@ -79,7 +76,7 @@ TPtr8 m_trace_buf = trace_buf->Des(); TPtr16 m_trace_buf_16 = trace_buf_16->Des(); - VA_LIST args = {0, }; + VA_LIST args; VA_START(args, format); m_format_buf.Copy((const TUint8 *)format); @@ -114,7 +111,7 @@ #if defined(USE_EAP_HARDWARE_TRACE_RAW_PRINT) RDebug::RawPrint(m_trace_buf_16); #else - RDebug::Print(_L("%S"), &m_trace_buf_16); + formatted_print(_L("%S"), &m_trace_buf_16); #endif //#if defined(USE_EAP_HARDWARE_TRACE_RAW_PRINT) } @@ -129,19 +126,18 @@ } -//------------------------------------------------------------------------- -EXPORT_C void eap_trace_data_symbian( - const char * const prefix, +void trace_data( + eap_const_string prefix, const void * const p_data, - const TUint data_length) + const u32_t data_length) { - TUint8* m_tmp_buffer = NULL; - TUint8* m_tmp_ascii_buffer = NULL; + u8_t* m_tmp_buffer = NULL; + u8_t* m_tmp_ascii_buffer = NULL; - m_tmp_buffer = new TUint8[KMaxBufferSize]; - m_tmp_ascii_buffer = new TUint8[KMaxBufferSize]; + m_tmp_buffer = new u8_t[KMaxBufferSize]; + m_tmp_ascii_buffer = new u8_t[KMaxBufferSize]; if( m_tmp_buffer == NULL || m_tmp_ascii_buffer == NULL) { @@ -154,16 +150,16 @@ return; } - TUint8 *cursor = m_tmp_buffer; - TUint8 *cursor_ascii = m_tmp_ascii_buffer; + u8_t *cursor = m_tmp_buffer; + u8_t *cursor_ascii = m_tmp_ascii_buffer; - const TUint8 *data = reinterpret_cast(p_data); - TUint ind; + const u8_t *data = reinterpret_cast(p_data); + u32_t ind; bool must_print = false; - TUint data_start = 0u; + u32_t data_start = 0u; - const TUint EAP_DATA_TRACE_BYTE_GROUP_SIZE = 1; - TUint byte_group_size = EAP_DATA_TRACE_BYTE_GROUP_SIZE; + const u32_t EAP_DATA_TRACE_BYTE_GROUP_SIZE = 1; + u32_t byte_group_size = EAP_DATA_TRACE_BYTE_GROUP_SIZE; #if !defined(USE_EAP_DEBUG_TRACE) // This does not trace the pointer of the data. @@ -250,24 +246,8 @@ delete [] m_tmp_buffer; delete [] m_tmp_ascii_buffer; +} -#if !defined(USE_EAP_DEBUG_TRACE) - // This does not trace the pointer of the data. - formatted_print( - "%s: data ends: %d (0x%x) bytes\n", - prefix, - data_length, - data_length); -#else - formatted_print( - "%s: data ends 0x%08x: %d (0x%x) bytes\n", - prefix, - p_data, - data_length, - data_length); #endif -} - -//------------------------------------------------------------------------- // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/core/symbian/Eapol.cpp --- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/Eapol.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/Eapol.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/core/symbian/EapolTimer.cpp --- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/EapolTimer.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/EapolTimer.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,3981 @@ +/* +* 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. +* +*/ + +/* +* %version: 17.1.2.1.1 % +*/ + +// This is enumeration of EAPOL source code. +#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + #undef EAP_FILE_NUMBER_ENUM + #define EAP_FILE_NUMBER_ENUM 148 + #undef EAP_FILE_NUMBER_DATE + #define EAP_FILE_NUMBER_DATE 1127594498 +#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + + +// INCLUDE FILES + +#include "eap_am_memory.h" + +#include "eap_variable_data.h" +#include "eap_tools.h" +#include "eap_type_all.h" + +#include "eapol_am_core_symbian.h" +#include "eapol_ethernet_header.h" +#include "ethernet_core.h" +#include "eap_am_tools_symbian.h" +#include +#include "EapolDbDefaults.h" +#include "EapolDbParameterNames.h" +#include "eap_crypto_api.h" +#include "eap_header_string.h" +#include "eap_am_file_input_symbian.h" +#include "eap_rogue_ap_entry.h" +#include "abs_eap_state_notification.h" +#include "eapol_session_key.h" +#include "eap_buffer.h" +#include "eap_config.h" + +#if defined(USE_EAP_FILECONFIG) + #include "eap_file_config.h" +#endif //#if defined(USE_EAP_FILECONFIG) + +#if defined (USE_EAPOL_KEY_STATE) + #include "eapol_key_state.h" +#endif + +// LOCAL CONSTANTS +const TUint KMaxSqlQueryLength = 2048; +const TUint KMaxConfigStringLength = 256; +const u32_t KMTU = 1500u; +const u32_t KTrailerLength = 0; +const u32_t KHeaderOffset = 0; +const TUint KMaxEapCueLength = 3; + +enum eapol_am_core_timer_id_e +{ + EAPOL_AM_CORE_TIMER_RESTART_AUTHENTICATION_ID, + EAPOL_AM_CORE_TIMER_DELETE_STACK_ID, + EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID, +}; + + +const TUint8 TEST_RSN_IE[] = +{ + 0xdd, // information element id, 221 expressed as Hex value + 0x14, // length in octets, 20 expressed as Hex value + 0x01, 0x00, // Version 1 + 0x00, 0x0f, 0xac, 0x04, // CCMP as group key cipher suite + 0x01, 0x00, // pairwise key cipher suite count + 0x00, 0x0f, 0xac, 0x04, // CCMP as pairwise key cipher suite + 0x01, 0x00, // authentication count + 0x00, 0x0f, 0xac, 0x01, // 802.1X authentication + 0x01, 0x00, // Pre-authentication capabilities +}; + +// ================= MEMBER FUNCTIONS ======================= + +eapol_am_core_symbian_c::eapol_am_core_symbian_c(MEapolToWlmIf * const aPartner, + const bool is_client_when_true, + const TUint aServerIndex) +: CActive(CActive::EPriorityStandard) +, m_partner(aPartner) +, m_ethernet_core(0) +, m_am_tools(0) +, m_enable_random_errors(false) +, m_error_probability(0u) +, m_generate_multiple_error_packets(0u) +, m_authentication_counter(0u) +, m_successful_authentications(0u) +, m_failed_authentications(0u) +, m_is_valid(false) +, m_is_client(is_client_when_true) +, m_eap_index(0u) +, m_index_type(ELan) +, m_index(aServerIndex) +//, m_timer(0) +, m_packet_index(0) +, m_manipulate_ethernet_header(false) +, m_send_original_packet_first(false) +, m_authentication_indication_sent(false) +, m_unicast_wep_key_received(false) +, m_broadcast_wep_key_received(false) +, m_block_packet_sends_and_notifications(false) +, m_success_indication_sent(false) +, m_first_authentication(true) +, m_self_disassociated(false) +, m_802_11_authentication_mode(EAuthModeOpen) +, m_receive_network_id(0) +, m_wpa_override_enabled(false) +, m_wpa_psk_mode_allowed(false) +, m_wpa_psk_mode_active(false) +, m_stack_marked_to_be_deleted(false) +, m_active_type_is_leap(false) +, m_fileconfig(0) +{ +} + +//-------------------------------------------------- + +void eapol_am_core_symbian_c::ConstructL() +{ + if (m_partner == 0) + { + User::Leave(KErrGeneral); + } + + // Create tools class + m_am_tools = new(ELeave) eap_am_tools_symbian_c(EAP_DEFAULT_TRACE_FILE); + if (m_am_tools->get_is_valid() != true) + { + // The real reason most likely is KErrNoMemory but since that is not sure we'll use KErrGeneral + User::Leave(KErrGeneral); + } + if (m_am_tools->configure() != eap_status_ok) + { + User::Leave(KErrGeneral); + } + + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAPOL INITIALISATION\n"))); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("====================\n"))); + + m_wpa_preshared_key = new (ELeave) eap_variable_data_c(m_am_tools); + + m_ssid = new (ELeave) eap_variable_data_c(m_am_tools); + + m_wpa_psk_password_override = new (ELeave) eap_variable_data_c(m_am_tools); + + // Create/initialise the database + OpenDatabaseL(m_database, m_session); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Database initialized...\n"))); + +#if defined(USE_EAP_FILECONFIG) + + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Initialize file configuration.\n"))); + eap_am_file_input_symbian_c fileio(m_am_tools); + + eap_variable_data_c file_name_c_data(m_am_tools); + + eap_status_e status(eap_status_process_general_error); + + { + eap_const_string const FILECONFIG_FILENAME_C + = "c:\\system\\data\\eap.conf"; + + status = file_name_c_data.set_copy_of_buffer( + FILECONFIG_FILENAME_C, + m_am_tools->strlen(FILECONFIG_FILENAME_C)); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + + status = file_name_c_data.add_end_null(); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + } + + eap_variable_data_c file_name_z_data(m_am_tools); + + { + eap_const_string const FILECONFIG_FILENAME_Z + = "z:\\private\\101F8EC5\\eap.conf"; + + status = file_name_z_data.set_copy_of_buffer( + FILECONFIG_FILENAME_Z, + m_am_tools->strlen(FILECONFIG_FILENAME_Z)); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + + status = file_name_z_data.add_end_null(); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + } + + if (status == eap_status_ok) + { + // First try open from C: disk. + status = fileio.file_open( + &file_name_c_data, + eap_file_io_direction_read); + if (status == eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Opens configure file %s\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()))); + } + else if (status != eap_status_ok) + { + // Second try open from Z: disk. + status = fileio.file_open( + &file_name_z_data, + eap_file_io_direction_read); + if (status == eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Opens configure file %s\n"), + file_name_z_data.get_data(file_name_z_data.get_data_length()))); + } + } + + if (status == eap_status_ok) + { + // Some of the files were opened. + + m_fileconfig = new eap_file_config_c(m_am_tools); + if (m_fileconfig != 0 + && m_fileconfig->get_is_valid() == true) + { + status = m_fileconfig->configure(&fileio); + if (status != eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: Configure read from %s failed.\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()))); + } + else + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Configure read from %s\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()))); + } + } + else + { + // No file configuration. + delete m_fileconfig; + m_fileconfig = 0; + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: Cannot create configure object for file %s\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()))); + } + } + else + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: Cannot open configure file neither %s nor %s\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()), + file_name_z_data.get_data(file_name_z_data.get_data_length()))); + } + } + } + +#endif //#if defined(USE_EAP_FILECONFIG) + +#if !defined(USE_EAP_HARDWARE_TRACE) + { + // Disable traces. + m_am_tools->set_trace_mask(eap_am_tools_c::eap_trace_mask_none); + + eap_variable_data_c trace_output_file(m_am_tools); + + eap_status_e status = read_configure( + cf_str_EAP_TRACE_output_file_name.get_field(), + &trace_output_file); + if (status == eap_status_ok + && trace_output_file.get_is_valid_data() == true) + { + status = m_am_tools->set_trace_file_name(&trace_output_file); + if (status == eap_status_ok) + { + // OK, set the default trace mask. + m_am_tools->set_trace_mask( + eap_am_tools_c::eap_trace_mask_debug + | eap_am_tools_c::eap_trace_mask_always + | eap_am_tools_c::eap_trace_mask_error); + } + } + } +#endif //#if defined(USE_EAP_HARDWARE_TRACE) + + + { + eap_status_e status = configure(); + if (status != eap_status_ok) + { + User::Leave(KErrGeneral); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Configured EAPOL AM...\n"))); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Created timer...\n"))); + + // SERVER TEST CODE + if (m_is_client == false) + { + TRAPD(err, ReadEAPSettingsL()); + if (err != KErrNone) + { + // Setting reading from CommDB failed. Use default values instead (only EAP-SIM). + + // SIM + _LIT(KSIM, "18"); + TEap* sim = new(ELeave) TEap; + CleanupStack::PushL(sim); + sim->Enabled = ETrue; + sim->UID.Copy(KSIM); + User::LeaveIfError(m_iap_eap_array.Append(sim)); + CleanupStack::Pop(sim); + } + + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("========================\n"))); + + set_is_valid(); + +} + + +//-------------------------------------------------- + +eapol_am_core_symbian_c* eapol_am_core_symbian_c::NewL(MEapolToWlmIf * const aPartner, + const bool aIsClient, + const TUint aServerIndex) +{ + eapol_am_core_symbian_c* self = new(ELeave) eapol_am_core_symbian_c(aPartner, aIsClient, aServerIndex); + CleanupStack::PushL(self); + self->ConstructL(); + + if (self->get_is_valid() != true) + { + User::Leave(KErrGeneral); + } + + CleanupStack::Pop(); + return self; +} + +//-------------------------------------------------- + +eapol_am_core_symbian_c::~eapol_am_core_symbian_c() +{ + +#if defined(USE_EAP_FILECONFIG) + delete m_fileconfig; + m_fileconfig = 0; +#endif //#if defined(USE_EAP_FILECONFIG) + + shutdown(); +} + +//-------------------------------------------------- + +// +eap_status_e eapol_am_core_symbian_c::shutdown() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::shutdown()\n"))); + + // Cancel timer + cancel_all_timers(); + + // Delete upper stack if it still exists + if (m_ethernet_core != 0) + { + m_ethernet_core->shutdown(); + delete m_ethernet_core; + } + + delete m_wpa_preshared_key; + + delete m_ssid; + + delete m_wpa_psk_password_override; + + delete m_receive_network_id; + + m_database.Close(); + m_session.Close(); + + // Print some statistics + if (m_is_client) + { + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_TEST_VECTORS, + (EAPL("client authentication SUCCESS %d, FAILED %d, count %d\n"), + m_successful_authentications, + m_failed_authentications, + m_authentication_counter)); + } + else + { + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_TEST_VECTORS, + (EAPL("server authentication SUCCESS %d, FAILED %d, count %d\n"), + m_successful_authentications, + m_failed_authentications, + m_authentication_counter)); + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAPOL EXITING.\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + + // Finally delete tools. No logging is allowed after this. + if (m_am_tools != 0) + { + m_am_tools->shutdown(); + delete m_am_tools; + } + + + // Unload all loaded plugins + // NOTE this must be after the m_am_tools->shutdown() call. + // m_am_tools->shutdown() will run virtual functions of some plugins. + for(int i = 0; i < m_plugin_if_array.Count(); i++) + { + delete m_plugin_if_array[i]; + } + + m_plugin_if_array.Close(); + m_eap_type_array.Close(); + + // Delete the IAP EAP type info array + m_iap_eap_array.ResetAndDestroy(); + + + return eap_status_ok; +} + +//-------------------------------------------------- + +// +void eapol_am_core_symbian_c::RunL() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::RunL(): iStatus.Int() = %d\n"), + iStatus.Int())); + + if (iStatus.Int() != KErrNone) + { + return; + } + + // Authentication cancelled. + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Authentication cancelled.\n"))); + + // Set block on. + m_block_packet_sends_and_notifications = true; + + // Reset flags + m_success_indication_sent = false; + m_unicast_wep_key_received = false; + m_broadcast_wep_key_received = false; + m_authentication_indication_sent = false; + + m_stack_marked_to_be_deleted = true; + set_timer(this, EAPOL_AM_CORE_TIMER_DELETE_STACK_ID, 0, 0); + + // reset index + m_eap_index = 0; + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EFailedCompletely.\n"))); + + m_partner->EapIndication(EFailedCompletely); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); +} + +//-------------------------------------------------- + +// +void eapol_am_core_symbian_c::DoCancel() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::DoCancel()\n"))); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); +} + +//-------------------------------------------------- + +// +TInt eapol_am_core_symbian_c::Start(const TIndexType aIndexType, + const TUint aIndex, + const TSSID& aSSID, + const TBool aWPAOverrideEnabled, + const TUint8* aWPAPSK, + const TUint aWPAPSKLength) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::Start()\n"))); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("STARTING AUTHENTICATION.\n"))); + + eap_status_e status(eap_status_ok); + + if (m_ethernet_core != 0) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Deleting previously used stack.\n"))); + + // It is an error to call start without calling disassociated + if (m_stack_marked_to_be_deleted == false) + { + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::Start called twice!\n"))); + return KErrAlreadyExists; + } + + // The previously used stack is perhaps still waiting for deletion. + cancel_timer(this, EAPOL_AM_CORE_TIMER_DELETE_STACK_ID); + + // Delete stack + m_ethernet_core->shutdown(); + delete m_ethernet_core; + m_ethernet_core = 0; + + m_stack_marked_to_be_deleted = false; + } + + // Clear packet send and notification blocking. + m_block_packet_sends_and_notifications = false; + + // Store SSID. This is needed for WPA PSK calculation. + if (aSSID.ssidLength > 0) + { + status = m_ssid->set_copy_of_buffer(aSSID.ssid, aSSID.ssidLength); + if (status != eap_status_ok) + { + return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)); + } + } + + // Store WPAPSK. This is needed for WPA PSK mode in Easy WLAN. + if (aWPAPSKLength > 0 + && aWPAPSK != 0) + { + status = m_wpa_psk_password_override->set_copy_of_buffer(aWPAPSK, aWPAPSKLength); + if (status != eap_status_ok) + { + return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)); + } + } + + if (aWPAOverrideEnabled) + { + m_wpa_override_enabled = true; + } + else + { + m_wpa_override_enabled = false; + } + + /////////////////////////////////// + // Get EAP parameters from CommDbIf + /////////////////////////////////// + m_index_type = aIndexType; + m_index = aIndex; + + TRAPD(err, ReadEAPSettingsL()); + if (err != KErrNone) + { + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAP settings reading from CommDb failed or cancelled(err %d).\n"), err)); + m_partner->EapIndication(EFailedCompletely); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return err; + } + + // Start new authentication from scratch. + m_unicast_wep_key_received = false; + m_broadcast_wep_key_received = false; + m_wpa_psk_mode_active = false; + + if (m_wpa_psk_mode_allowed == false + || m_wpa_preshared_key->get_data_length() == 0) + { + // Check the first enabled type + TEap* eapType = 0; + TInt i(0); + for (i = 0; i < m_iap_eap_array.Count(); i++) + { + // Check if type is enabled + eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + break; + } + } + if (i >= m_iap_eap_array.Count()) + { + // No enabled EAP types. + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("No enabled EAP types.\n"))); + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EFailedCompletely.\n"))); + + m_partner->EapIndication(EFailedCompletely); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return KErrNone; + } + + // reset index (start from the first enabled EAP type) + m_eap_index = i; + + // Check if the first enabled type is LEAP. + TLex8 tmp(eapType->UID); + TInt type(0); + tmp.Val(type); + + switch (type) + { + case eap_type_leap: + if (m_security_mode != Wpa + && m_security_mode != Wpa2Only) + { + m_802_11_authentication_mode = EAuthModeLeap; + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Start: Trying auth mode LEAP.\n"))); + } + else + { + // If security mode is WPA or WPA2 then even LEAP uses open authentication! + m_802_11_authentication_mode = EAuthModeOpen; + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Start: Trying auth mode OPEN (LEAP in WPA mode).\n"))); + } + + m_active_type_is_leap = true; + break; + default: + m_802_11_authentication_mode = EAuthModeOpen; + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Start: Trying auth mode OPEN.\n"))); + + m_active_type_is_leap = false; + break; + } + } + else + { + // WPA Pre-shared key mode + m_active_type_is_leap = false; + m_wpa_psk_mode_active = true; + m_802_11_authentication_mode = EAuthModeOpen; + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Start: Trying auth mode OPEN.\n"))); + } + + // Ignore return value. Result comes with CompleteAssociation call. + m_partner->Associate(m_802_11_authentication_mode); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)); +} + +//-------------------------------------------------- + +// +TInt eapol_am_core_symbian_c::CompleteAssociation( + const TInt aResult, + const TMacAddress& aLocalAddress, + const TMacAddress& aRemoteAddress, + const TUint8* const aReceivedWPAIE, // WLM must give only the WPA IE to EAPOL + const TUint aReceivedWPAIELength, + const TUint8* const aSentWPAIE, + const TUint aSentWPAIELength, + const TWPACipherSuite aGroupKeyCipherSuite, + const TWPACipherSuite aPairwiseKeyCipherSuite + ) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::CompleteAssociation(): aResult %d\n"), + aResult)); + + eap_status_e status(eap_status_ok); + + // ASSOCIATION UNSUCCESSFUL + if (aResult != KErrNone) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CompleteAssociation: Unsuccessful.\n"))); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Got AP MAC address"), + aRemoteAddress.iMacAddress, + KMacAddressLength)); + + // Report rogue AP if we tried LEAP and it failed + if (m_802_11_authentication_mode == EAuthModeLeap) + { + // Only add rogue AP if the error code is correct + if (aResult == E802Dot11StatusAuthAlgorithmNotSupported) + { + eap_rogue_ap_entry_c rogue_entry(m_am_tools); + + rogue_entry.set_mac_address(static_cast(aRemoteAddress.iMacAddress)); + rogue_entry.set_rogue_reason(rogue_ap_association_failed); + + eap_array_c rogue_list(m_am_tools); + status = rogue_list.add_object(&rogue_entry, false); + if (status == eap_status_ok) + { + status = add_rogue_ap(rogue_list); + // Ignore return value on purpose - it's not fatal if this fails + } + } + } + + if (m_wpa_psk_mode_active == false) + { + if (aResult == E802Dot11StatusAuthAlgorithmNotSupported + && m_security_mode != Wpa + && m_security_mode != Wpa2Only) // If security mode is WPA or WPA2 then only OPEN auth should be used + { + // Association failed because we had wrong authentication type. + // Try to find next allowed type that uses different authentication type + m_eap_index++; + + TEap* eapType; + TBool found(EFalse); + TInt i(0); + for (i = m_eap_index; i < m_iap_eap_array.Count(); i++) + { + // Check if type is enabled + eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + TLex8 tmp(eapType->UID); + TInt type(0); + tmp.Val(type); + + switch (type) + { + case eap_type_leap: + if (m_802_11_authentication_mode != EAuthModeLeap) + { + // This type will do; it uses different authentication mode. + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("CompleteAssociation: Changed auth mode to LEAP.\n"))); + + m_802_11_authentication_mode = EAuthModeLeap; + m_active_type_is_leap = true; + found = ETrue; + } + break; + default: + if (m_802_11_authentication_mode != EAuthModeOpen) + { + // This type will do; it uses different authentication mode. + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("CompleteAssociation: Changed auth mode to OPEN.\n"))); + + m_802_11_authentication_mode = EAuthModeOpen; + m_active_type_is_leap = false; + found = ETrue; + } + break; + } + if (found) + { + break; + } + } + } + + m_eap_index = i; + + if (i >= m_iap_eap_array.Count()) + { + // All the remaining allowed types had the same authentication mode. + // Give up this AP. + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Could not associate to the AP. Tried all types.\n"))); + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EThisAPFailed.\n"))); + + m_partner->EapIndication(EThisAPFailed); + return KErrNone; + + } + + // We found a type with different authentication mode. Try it. + + // Ignore return value. Result comes with CompleteAssociation call. + m_partner->Associate(m_802_11_authentication_mode); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return KErrNone; + } + else + { + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Could not associate to the AP (error %d).\n"), aResult)); + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EThisAPFailed.\n"))); + + m_partner->EapIndication(EThisAPFailed); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return KErrNone; + } + } + else + { + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Could not associate to the AP with WPA pre-shared-key.\n"))); + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EThisAPFailed.\n"))); + + m_partner->EapIndication(EThisAPFailed); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return KErrNone; + } + } + + // ASSOCIATION SUCCESSFUL + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("CompleteAssociation: Successful.\n"))); + + // Store parameters + m_local_address = aLocalAddress; + + m_remote_address = aRemoteAddress; + + m_received_wpa_ie = aReceivedWPAIE; + + m_received_wpa_ie_length = aReceivedWPAIELength; + + m_sent_wpa_ie = aSentWPAIE; + + m_sent_wpa_ie_length = aSentWPAIELength; + + m_group_key_cipher_suite = aGroupKeyCipherSuite; + + m_pairwise_key_cipher_suite = aPairwiseKeyCipherSuite; + + // Create stack if it does not already exist. + status = create_upper_stack(); + if (status != eap_status_ok + && status != eap_status_already_exists) + { + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EFailedCompletely.\n"))); + + m_partner->EapIndication(EFailedCompletely); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return KErrNone; + } + + // First create stack object and then copy it to heap object. This is because + // eap_am_network_id_c does not have a constructor that copies the buffers. + eap_am_network_id_c receive_network_id( + m_am_tools, + &aRemoteAddress, + sizeof(TMacAddress), + &aLocalAddress, + sizeof(TMacAddress), + eapol_ethernet_type_pae, + false, + false); + + delete m_receive_network_id; + m_receive_network_id = new eap_am_network_id_c( + m_am_tools); + + if (m_receive_network_id == 0) + { + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EFailedCompletely.\n"))); + + m_partner->EapIndication(EFailedCompletely); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return KErrNone; + } + + status = m_receive_network_id->set_copy_of_network_id(&receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EFailedCompletely.\n"))); + + m_partner->EapIndication(EFailedCompletely); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return KErrNone; + } + + +#if defined (USE_EAPOL_KEY_STATE) + + // Initialise EAPOL key state + + eapol_key_authentication_type_e authentication_type(eapol_key_authentication_type_dynamic_WEP); + + if (aReceivedWPAIE !=0 + && aSentWPAIE != 0) + { + // WPA (in wpa or 802.1x security mode) + if (m_wpa_psk_mode_allowed == false) + { + authentication_type = eapol_key_authentication_type_WPA_EAP; + } + else + { + m_wpa_psk_mode_active = true; + authentication_type = eapol_key_authentication_type_WPA_PSK; + } + + } + else + { + // Non-wpa mode + authentication_type = eapol_key_authentication_type_dynamic_WEP; + } + + eap_variable_data_c authenticator_RSNA_IE(m_am_tools); + eap_variable_data_c supplicant_RSNA_IE(m_am_tools); + + // Note: the default values here are only for 802.1x mode. In that mode + // we don't know the WEP key length beforehand so we will have to guess. + // It does not matter in this case if we guess wrong - only thing that matters + // is that it is WEP. + eapol_RSNA_key_header_c::eapol_RSNA_cipher_e + eapol_pairwise_cipher(eapol_RSNA_key_header_c::eapol_RSNA_cipher_WEP_40); + eapol_RSNA_key_header_c::eapol_RSNA_cipher_e + eapol_group_cipher(eapol_RSNA_key_header_c::eapol_RSNA_cipher_WEP_40); + + // WPA mode is active if information elements are valid + if (aReceivedWPAIE != 0 + && aSentWPAIE != 0) + { + status = authenticator_RSNA_IE.set_copy_of_buffer(aReceivedWPAIE, aReceivedWPAIELength); + if (status != eap_status_ok) + { + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EFailedCompletely.\n"))); + + m_partner->EapIndication(EFailedCompletely); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return KErrNoMemory; + } + status = supplicant_RSNA_IE.set_copy_of_buffer(aSentWPAIE, aSentWPAIELength); + if (status != eap_status_ok) + { + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EFailedCompletely.\n"))); + + m_partner->EapIndication(EFailedCompletely); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return KErrNoMemory; + } + + switch (aGroupKeyCipherSuite) + { + case ENoCipherSuite: + eapol_group_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_none; + break; + case EWEP40: + eapol_group_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_WEP_40; + break; + case EWEP104: + eapol_group_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_WEP_104; + break; + case ETKIP: + eapol_group_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_TKIP; + break; + case ECCMP: + eapol_group_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_CCMP; + break; + case EWRAP: + default: + User::Panic(_L("EAPOL"), KErrNotSupported); + } + + switch (aPairwiseKeyCipherSuite) + { + case ENoCipherSuite: + eapol_pairwise_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_none; + break; + case EWEP40: + eapol_pairwise_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_WEP_40; + break; + case EWEP104: + eapol_pairwise_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_WEP_104; + break; + case ETKIP: + eapol_pairwise_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_TKIP; + break; + case ECCMP: + eapol_pairwise_cipher = eapol_RSNA_key_header_c::eapol_RSNA_cipher_CCMP; + break; + case EWRAP: + default: + User::Panic(_L("EAPOL"), KErrNotSupported); + } + } + + if (authentication_type == eapol_key_authentication_type_WPA_PSK) + { + status = m_ethernet_core->association( + m_receive_network_id, + authentication_type, + &authenticator_RSNA_IE, + &supplicant_RSNA_IE, + eapol_pairwise_cipher, + eapol_group_cipher, + m_wpa_preshared_key); + } + else + { + status = m_ethernet_core->association( + m_receive_network_id, + authentication_type, + &authenticator_RSNA_IE, + &supplicant_RSNA_IE, + eapol_pairwise_cipher, + eapol_group_cipher, + 0); + } + if (status != eap_status_ok) + { + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("m_ethernet_core->association call failed.\n"))); + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EFailedCompletely.\n"))); + + m_partner->EapIndication(EFailedCompletely); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return KErrGeneral; + } + +#endif // USE_EAPOL_KEY_STATE + + if (m_wpa_psk_mode_active == false) + { + // Start authentication if mode is not pre-shared key. If mode is pre-shared key then + // just wait for EAPOL-Key frames. + status = m_ethernet_core->start_authentication(m_receive_network_id, m_is_client); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)); +} + +//-------------------------------------------------- + +// +TInt eapol_am_core_symbian_c::ReceivePacket(const TUint aLength, const TUint8* const aPacket) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::ReceivePacket()\n"))); + + if (aLength < eapol_ethernet_header_wr_c::get_header_length()) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, eap_status_too_short_message)); + } + + eapol_ethernet_header_wr_c eth_header(m_am_tools, aPacket, aLength); + eap_am_network_id_c receive_network_id( + m_am_tools, + eth_header.get_source(), + eth_header.get_source_length(), + eth_header.get_destination(), + eth_header.get_destination_length(), + eth_header.get_type(), + false, + false); + eap_status_e status(eap_status_process_general_error); + if (eth_header.get_type() == eapol_ethernet_type_pae) + { + status = create_upper_stack(); + if (status != eap_status_ok + && status != eap_status_already_exists) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EFailedCompletely.\n"))); + m_partner->EapIndication(EFailedCompletely); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return KErrNone; + } + +#if defined (USE_EAPOL_KEY_STATE) + if (m_is_client == false + && status != eap_status_already_exists) + { + // If we are server we need to do associate here. + eapol_key_authentication_type_e authentication_type( + eapol_key_authentication_type_WPA_EAP); + + eap_variable_data_c authenticator_RSNA_IE(m_am_tools); + eap_variable_data_c supplicant_RSNA_IE(m_am_tools); + + status = authenticator_RSNA_IE.set_buffer(TEST_RSN_IE, sizeof(TEST_RSN_IE), false, false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + + status = supplicant_RSNA_IE.set_buffer(TEST_RSN_IE, sizeof(TEST_RSN_IE), false, false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + + eapol_RSNA_key_header_c::eapol_RSNA_cipher_e + eapol_pairwise_cipher(eapol_RSNA_key_header_c::eapol_RSNA_cipher_TKIP); + eapol_RSNA_key_header_c::eapol_RSNA_cipher_e + eapol_group_cipher(eapol_RSNA_key_header_c::eapol_RSNA_cipher_TKIP); + + + if (authentication_type == eapol_key_authentication_type_WPA_PSK) + { + status = m_ethernet_core->association( + &receive_network_id, + authentication_type, + &authenticator_RSNA_IE, + &supplicant_RSNA_IE, + eapol_pairwise_cipher, + eapol_group_cipher, + m_wpa_preshared_key); + } + else + { + status = m_ethernet_core->association( + &receive_network_id, + authentication_type, + &authenticator_RSNA_IE, + &supplicant_RSNA_IE, + eapol_pairwise_cipher, + eapol_group_cipher, + 0); + } + + } +#endif // USE_EAPOL_KEY_STATE + + // Forward the packet to the Ethernet layer of the EAPOL stack. Ignore return value. Failure is signalled using state_notification. + status = m_ethernet_core->packet_process( + &receive_network_id, + ð_header, + aLength); + + } + else + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Not supported ethernet type 0x%04x\n"), eth_header.get_type())); + status = eap_status_ethernet_type_not_supported; + } + + status = eap_status_ok; + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)); +} + +//-------------------------------------------------- + +void eapol_am_core_symbian_c::set_is_valid() +{ + m_is_valid = true; +} + +bool eapol_am_core_symbian_c::get_is_valid() +{ + return m_is_valid; +} + +void eapol_am_core_symbian_c::increment_authentication_counter() +{ + ++m_authentication_counter; +} + +u32_t eapol_am_core_symbian_c::get_authentication_counter() +{ + return m_authentication_counter; +} + +bool eapol_am_core_symbian_c::get_is_client() +{ + return m_is_client; +} + + +//-------------------------------------------------- + +// +eap_status_e eapol_am_core_symbian_c::packet_data_crypto_keys( + const eap_am_network_id_c * const /*send_network_id*/, + const eap_variable_data_c * const /*master_session_key*/) +{ + // Not needed in Symbian version + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_ok; +} + +//-------------------------------------------------- + +eap_status_e eapol_am_core_symbian_c::packet_data_session_key( + const eap_am_network_id_c * const /*send_network_id*/, + const eapol_session_key_c * const key) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + TInt status(KErrNone); + + const eap_variable_data_c * const key_data = key->get_key(); + if (key_data == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_key_error; + } + + EAP_TRACE_DEBUG(m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("packet_data_session_key: index: %d, type %d\n"), + key->get_key_index(), + key->get_key_type())); + + EAP_TRACE_DATA_DEBUG(m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("packet_data_session_key:"), + key_data->get_data(key_data->get_data_length()), + key_data->get_data_length())); + + switch (key->get_key_type()) + { + case eapol_key_type_broadcast: + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::packet_data_session_key: Got rc4_broadcast key.\n"))); + + status = m_partner->SetCipherKey( + ERC4Broadcast, + static_cast (key->get_key_index()), + key_data->get_data(key_data->get_data_length()), + key_data->get_data_length()); + m_broadcast_wep_key_received = true; + break; + case eapol_key_type_unicast: + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::packet_data_session_key: Got rc4_unicast key.\n"))); + + status = m_partner->SetCipherKey( + ERC4Unicast, + static_cast (key->get_key_index()), + key_data->get_data(key_data->get_data_length()), + key_data->get_data_length()); + m_unicast_wep_key_received = true; + break; + default: + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::packet_data_session_key: Got unsupported key, type %d.\n"), + key->get_key_type())); + status = KErrNotSupported; + break; + } + + if (m_unicast_wep_key_received == true + && m_broadcast_wep_key_received == true + && m_success_indication_sent == false) + { + // Signal success because we have received one unicast (pairwise) key and one broadcast (group) key. + // If there are more keys coming later they are saved also. + if (m_active_type_is_leap == true) + { + // Leap was successful + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: ELeapSuccess.\n"))); + m_partner->EapIndication(ELeapSuccess); + } + else + { + // some other type was successful + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: ESuccess.\n"))); + m_partner->EapIndication(ESuccess); + } + + m_success_indication_sent = true; + m_first_authentication = false; + } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(status)); +} + +//-------------------------------------------------- + +// + +eap_status_e eapol_am_core_symbian_c::packet_send( + const eap_am_network_id_c * const /*send_network_id*/, + eap_buf_chain_wr_c * const sent_packet, + const u32_t header_offset, + const u32_t data_length, + const u32_t /*buffer_length*/) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::packet_send(data_length=%d).\n"), + data_length)); + + if (header_offset != 0u) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("packet_send: packet buffer corrupted.\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_process_general_error; + } + else if (header_offset+data_length != sent_packet->get_data_length()) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: packet_send: packet buffer corrupted (data_length != sent_packet->get_data_length()).\n"))); + EAP_ASSERT(data_length == sent_packet->get_buffer_length()); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_process_general_error; + } + + if (m_block_packet_sends_and_notifications == true) + { + // Packet sending block is active. This happens when disassociated has been called. + // start_authentication clears the block. + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("packet_send: packet ignored because Disassociated() was called.\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_ok; + } + + TInt status(KErrNone); + if (m_send_original_packet_first == true) + { + if (m_enable_random_errors == true) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("TEST: random_error(): packet_index 0x%08x:%lu, Send original packet\n"), + this, + m_packet_index)); + } + + u8_t * const packet_data = sent_packet->get_data_offset(header_offset, data_length); + if (packet_data == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_buffer_too_short; + } + + // Here we send the original packet. + status = m_partner->EapPacketSend( + data_length, + static_cast(packet_data)); + ++m_packet_index; + } + + if (m_enable_random_errors == true + && status == KErrNone) + { + if (m_generate_multiple_error_packets > 0ul) + { + // First create a copy of sent packet. Original correct packet will will be sent last. + for (u32_t ind = 0ul; ind < m_generate_multiple_error_packets; ind++) + { + eap_buf_chain_wr_c *copy_packet = sent_packet->copy(); + + if (copy_packet != 0 + && copy_packet->get_is_valid_data() == true) + { + // Make a random error to the copy message. + random_error(copy_packet, true, m_packet_index); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("TEST: random_error(): packet_index 0x%08x:%lu, Send error packet\n"), + this, + m_packet_index)); + + u8_t * const packet_data = copy_packet->get_data_offset(header_offset, data_length); + if (packet_data == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_buffer_too_short; + } + + // Here we send the copied and manipulated packet. + status = m_partner->EapPacketSend( + data_length, + static_cast(packet_data)); + + ++m_packet_index; + } + delete copy_packet; + } + } + else + { + // Make a random error to the original message. + random_error(sent_packet, false, m_packet_index); + + if (sent_packet->get_is_manipulated() == true) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("TEST: random_error(): packet_index 0x%08x:%lu, Send error packet\n"), + this, + m_packet_index)); + } + } + } + + + if (m_send_original_packet_first == false + && status == KErrNone) + { + if (m_enable_random_errors == true) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("TEST: random_error(): packet_index 0x%08x:%lu, Send original packet\n"), + this, + m_packet_index)); + } + + u8_t * const packet_data = sent_packet->get_data_offset(header_offset, data_length); + if (packet_data == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_buffer_too_short; + } + + // Here we send the original packet. + status = m_partner->EapPacketSend( + data_length, + static_cast(packet_data)); + ++m_packet_index; + } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + + return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(status)); +} + +//-------------------------------------------------- + +// +eap_status_e eapol_am_core_symbian_c::reassociate( + const eap_am_network_id_c * const /* send_network_id */, + const eapol_key_authentication_type_e /* authentication_type */, + const eap_variable_data_c * const /* PMKID */, + const eap_variable_data_c * const /* WPXM_WPXK1 */, + const eap_variable_data_c * const /* WPXM_WPXK2 */) +{ + return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); +} + +//-------------------------------------------------- + +// +void eapol_am_core_symbian_c::state_notification(const abs_eap_state_notification_c * const state) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + if(state->get_protocol_layer() == eap_protocol_layer_general) + { + if (state->get_current_state() == eap_general_state_authentication_cancelled) + { + // Authentication was cancelled. Cannot continue. + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Authentication was cancelled. Sets timer EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID.\n"))); + + set_timer(this, EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID, 0, 0); + } + else if (state->get_current_state() == eap_general_state_configuration_error) + { + // Configuration error. Cannot continue. + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Configuration error. Sets timer EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID.\n"))); + + set_timer(this, EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID, 0, 0); + } + } + + + if (m_block_packet_sends_and_notifications == true) + { + // Notification block is active. + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("state_notification: notification ignored because Disassociated() was called.\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; + } + + + // Check if this is EAP layer notification + if(state->get_protocol_layer() == eap_protocol_layer_eap) + { + switch (state->get_current_state()) + { + case eap_state_none: + break; + case eap_state_identity_request_sent: + // This is for server only so no need to notify WLM. + break; + case eap_state_identity_request_received: + if (m_authentication_indication_sent == false) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EAuthenticating.\n"))); + m_partner->EapIndication(EAuthenticating); + m_authentication_indication_sent = true; + } + break; + case eap_state_identity_response_received: + // This is for server only so no need to notify WLM. + break; + case eap_state_authentication_finished_successfully: + { + + increment_authentication_counter(); + m_successful_authentications++; + + if (m_wpa_psk_mode_active == false) + { + TEap eap; + eap.Enabled = ETrue; + eap.UID.Num(static_cast(state->get_eap_type())); + + // This moves the successful type to be the top priority type in IAP settings. + TRAPD(err, SetToTopPriorityL(&eap)); + if (err != KErrNone) + { + // Just log the error. + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("state_notification: SetToTopPriorityL leaved!\n"))); + } + + // Move the active eap type index to the first type + m_eap_index = 0; + } + + + } + break; + case eap_state_authentication_terminated_unsuccessfully: + { + if (m_wpa_psk_mode_active == false) + { + // Set index to next type. + m_eap_index++; + } + + increment_authentication_counter(); + m_failed_authentications++; + + // Restart authentication + eap_am_network_id_c* send_network_id = new eap_am_network_id_c(m_am_tools, state->get_send_network_id()); + if (send_network_id == 0 + || send_network_id->get_is_valid_data() == false) + { + delete send_network_id; + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EFailedCompletely.\n"))); + m_partner->EapIndication(EFailedCompletely); + break; + } + set_timer(this, EAPOL_AM_CORE_TIMER_RESTART_AUTHENTICATION_ID, send_network_id, 0); + + } + break; + default: + break; + } + } + else + { + if(state->get_protocol_layer() == eap_protocol_layer_eapol) + { + switch (state->get_current_state()) + { + case eapol_state_no_start_response: + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: ENoResponse.\n"))); + m_partner->EapIndication(ENoResponse); + break; + default: + break; + } + } + else if(state->get_protocol_layer() == eap_protocol_layer_eapol_key) + { + switch (state->get_current_state()) + { + case eapol_key_state_802_11i_authentication_terminated_unsuccessfull: + { + increment_authentication_counter(); + m_failed_authentications++; + + // Consider EAPOL layer failures fatal. + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: Unsuccessful authentication on EAPOL level.\n"))); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EThisAPFailed.\n"))); + m_partner->EapIndication(EThisAPFailed); + } + break; + case eapol_key_state_802_11i_authentication_finished_successfull: + { + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("EAPOL_KEY: %s: Authentication SUCCESS\n"), + (m_is_client == true ? "client": "server"))); + } + break; + default: + break; + } + } + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); +} + +//-------------------------------------------------- + +// + +eap_status_e eapol_am_core_symbian_c::timer_expired( + const u32_t id, void * /* data */) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::TimerExpired id = %d.\n"), + id)); + + switch (id) + { + case EAPOL_AM_CORE_TIMER_RESTART_AUTHENTICATION_ID: + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAPOL_AM_CORE_TIMER_RESTART_AUTHENTICATION_ID elapsed: Stopping stack.\n"))); + + // Stop stack. Do this only if Ethernet core still exists. + if (m_ethernet_core != 0) + { + m_ethernet_core->shutdown(); + delete m_ethernet_core; + m_ethernet_core = 0; + } + if (m_wpa_psk_mode_active == true) + { + // PSK mode active - cannot restart. Just fail. + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("WPA PSK mode failed.\n"))); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EThisAPFailed.\n"))); + m_partner->EapIndication(EThisAPFailed); + break; + + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Checking if more types.\n"))); + + TInt i; + TEap *eapType = 0; + // Search for more EAP types to try + for (i = m_eap_index; i < m_iap_eap_array.Count(); i++) + { + // Find the next enabled EAP type (highest priority) + eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + break; + } + } + // Update index to point to next type to be tried + m_eap_index = i; + + if (i >= m_iap_eap_array.Count()) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("No more configured EAP types to try.\n"))); + + // No point in trying to restart authentication because there isn't any more + // EAP types left to try... + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EThisAPFailed.\n"))); + m_partner->EapIndication(EThisAPFailed); + break; + } + + // Check if authentication mode must be changed + TLex8 tmp(eapType->UID); + TInt type(0); + tmp.Val(type); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Found new type to try: %d.\n"), type)); + + switch (type) + { + case eap_type_leap: + m_active_type_is_leap = true; + if (m_802_11_authentication_mode != EAuthModeLeap + && m_security_mode != Wpa + && m_security_mode != Wpa2Only) // In WPA or WPA2 even LEAP uses open authentication + { + // New type is LEAP and the old was something else: + // must reassociate with correct authentication mode. + m_self_disassociated = true; + TInt result = m_partner->Disassociate(); + if (result != KErrNone) + { + // Probably unrecoverable error + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EFailedCompletely.\n"))); + m_partner->EapIndication(EFailedCompletely); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_ok; + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("TimerExpired: Changing auth type to LEAP.\n"))); + + m_802_11_authentication_mode = EAuthModeLeap; + + m_partner->Associate(EAuthModeLeap); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_ok; + } + break; + default: + m_active_type_is_leap = false; + if (m_802_11_authentication_mode != EAuthModeOpen + && m_security_mode != Wpa + && m_security_mode != Wpa2Only) // In WPA or WPA2 even LEAP uses open authentication) + { + // New type is non-LEAP and the old was LEAP: + // must reassociate with correct authentication mode + m_self_disassociated = true; + TInt result = m_partner->Disassociate(); + if (result != KErrNone) + { + // Probably unrecoverable error + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EFailedCompletely.\n"))); + + m_partner->EapIndication(EFailedCompletely); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_ok; + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("TimerExpired: Changing auth type to OPEN.\n"))); + + m_802_11_authentication_mode = EAuthModeOpen; + + m_partner->Associate(EAuthModeOpen); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_ok; + } + break; + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("TimerExpired: No need to change auth type.\n"))); + + if (CompleteAssociation( + KErrNone, + m_local_address, + m_remote_address, + m_received_wpa_ie, + m_received_wpa_ie_length, + m_sent_wpa_ie, + m_sent_wpa_ie_length, + m_group_key_cipher_suite, + m_pairwise_key_cipher_suite) != KErrNone) + { + // Probably unrecoverable error + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EFailedCompletely.\n"))); + m_partner->EapIndication(EFailedCompletely); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_ok; + } + } + break; + + case EAPOL_AM_CORE_TIMER_DELETE_STACK_ID: + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAPOL_AM_CORE_TIMER_DELETE_STACK_ID elapsed: Delete stack.\n"))); + + cancel_all_timers(); + + // Delete stack + if (m_ethernet_core != 0) + { + m_ethernet_core->shutdown(); + delete m_ethernet_core; + m_ethernet_core = 0; + } + m_stack_marked_to_be_deleted = false; + + // Re-activates timer queue. + eap_status_e status = m_am_tools->re_activate_timer_queue(); + if (status != eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: re_activate_timer_queue() failed, status = %d\n"))); + } + } + break; + + case EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID: + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID elapsed: Indication sent to WLM: EFailedCompletely.\n"))); + + m_partner->EapIndication(EFailedCompletely); + } + break; + + default: + break; + } + return eap_status_ok; +} + +eap_status_e eapol_am_core_symbian_c::timer_delete_data( + const u32_t id, void *data) +{ + switch (id) + { + case EAPOL_AM_CORE_TIMER_RESTART_AUTHENTICATION_ID: + { + eap_am_network_id_c* tmp = static_cast(data); + delete tmp; + } + break; + case EAPOL_AM_CORE_TIMER_DELETE_STACK_ID: + break; + case EAPOL_AM_CORE_TIMER_FAILED_COMPLETELY_ID: + break; + + default: + { + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::timer_delete_data: deleted unknown timer.\n"))); + (void)EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); + } + } + return eap_status_ok; +} +//-------------------------------------------------- + +// +u32_t eapol_am_core_symbian_c::get_header_offset( + u32_t * const MTU, + u32_t * const trailer_length) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + *MTU = KMTU; + *trailer_length = KTrailerLength; + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return KHeaderOffset; +} + +//-------------------------------------------------- + +// +eap_status_e eapol_am_core_symbian_c::unload_module(const eap_type_value_e type) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + eap_status_e status(eap_status_type_does_not_exists_error); + TInt index = m_eap_type_array.Find(type); + if (index != KErrNotFound) + { + delete m_plugin_if_array[index]; + m_plugin_if_array.Remove(index); + m_eap_type_array.Remove(index); + status = eap_status_ok; + } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +// +eap_status_e eapol_am_core_symbian_c::eap_acknowledge(const eap_am_network_id_c * const receive_network_id) +{ + // Any Network Protocol packet is accepted as a success indication. + // This is described in RFC 2284 "PPP Extensible Authentication Protocol (EAP)". + + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + eap_status_e status = m_ethernet_core->eap_acknowledge(receive_network_id); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +// +eap_status_e eapol_am_core_symbian_c::load_module( + const eap_type_value_e type, + const eap_type_value_e tunneling_type, + abs_eap_base_type_c * const partner, + eap_base_type_c ** const eap_type_if, + const bool is_client_when_true, + const eap_am_network_id_c * const receive_network_id) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::load_module(type %d=%s, tunneling_type %d=%s)\n"), + static_cast(type), + eap_header_string_c::get_eap_type_string(type), + static_cast(tunneling_type), + eap_header_string_c::get_eap_type_string(tunneling_type))); + + eap_status_e status = eap_status_process_general_error; + TBuf8 cue; + cue.Num(static_cast(convert_eap_type_to_u32_t(type))); + CEapType* eapType = 0; + TInt error(KErrNone); + + // Check if this EAP type has already been loaded + TInt eapArrayIndex = m_eap_type_array.Find(type); + if (eapArrayIndex != KErrNotFound) + { + // Yep. It was loaded already. + eapType = m_plugin_if_array[eapArrayIndex]; + } + else + { + // We must have a trap here since the EAPOL core knows nothing about Symbian. + TRAP(error, (eapType = CEapType::NewL(cue, m_index_type, m_index))); + if (error != KErrNone + || eapType == 0) + { + // Interface not found or implementation creation function failed + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ECom could not find/initiate implementation.\n"))); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + } + // Set the tunneling type + eapType->SetTunnelingType(convert_eap_type_to_u32_t(tunneling_type)); + + // Create the EAP protocol interface implementation. + TRAP(error, (*eap_type_if = eapType->GetStackInterfaceL(m_am_tools, partner, is_client_when_true, receive_network_id))); + + if (error != KErrNone + || *eap_type_if == 0 + || (*eap_type_if)->get_is_valid() == false) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Could not create EAP type interface instance. Error: %d\n"), error)); + + status = eap_status_allocation_error; + // Unload DLL (two ways, depending whether this type was already loaded...) + if (eapArrayIndex == KErrNotFound) + { + // No need to call shutdown here because GetStackInterfaceL has done it. + delete eapType; + } + else + { + unload_module(type); + } + // Note: even in error cases eap_core_c deletes eap_type_if + } + else + { + status = eap_status_ok; + if (eapArrayIndex == KErrNotFound) + { + // Add plugin information to the member arrays. There is no need to store eap_type pointer because + // the stack takes care of its deletion. + if (m_plugin_if_array.Append(eapType) != KErrNone) + { + delete eapType; + status = eap_status_allocation_error; + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + if (m_eap_type_array.Append(type) != KErrNone) + { + // Remove the eap type added just previously + m_plugin_if_array.Remove(m_plugin_if_array.Count() - 1); + delete eapType; + status = eap_status_allocation_error; + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +// +TInt eapol_am_core_symbian_c::Disassociated() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::Disassociated()\n"))); + + if (m_self_disassociated == true) + { + // We were expecting this. No need to reset state. + m_self_disassociated = false; + return KErrNone; + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::Disassociated.\n"))); + + eap_status_e status(eap_status_ok); + + // Set block on. + m_block_packet_sends_and_notifications = true; + + // Reset flags + m_success_indication_sent = false; + m_unicast_wep_key_received = false; + m_broadcast_wep_key_received = false; + m_authentication_indication_sent = false; + + if (m_ethernet_core != 0) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Stack exists. Set EAPOL_AM_CORE_TIMER_DELETE_STACK_ID timer.\n"))); + + m_stack_marked_to_be_deleted = true; + set_timer(this, EAPOL_AM_CORE_TIMER_DELETE_STACK_ID, 0, 0); + } + else + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Stack did not exists. EAPOL_AM_CORE_TIMER_DELETE_STACK_ID timer not set.\n"))); + } + + // reset index + m_eap_index = 0; + + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)); +} + +//-------------------------------------------------- + +// +TInt eapol_am_core_symbian_c::SendWPAMICFailureReport( + TBool aFatalMICFailure, + const TMICFailureType aMICFailureType) +{ + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::SendWPAMICFailureReport(%d, %d).\n"), + aFatalMICFailure, + aMICFailureType)); + + bool fatal_failure_when_true = true; + + if (!aFatalMICFailure) + { + fatal_failure_when_true = false; + } + + eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e tkip_mic_failure_type + = eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_pairwise_key; + + if (aMICFailureType == EGroupKey) + { + tkip_mic_failure_type + = eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_group_key; + } + + const eap_status_e status = m_ethernet_core->tkip_mic_failure( + m_receive_network_id, + fatal_failure_when_true, + tkip_mic_failure_type); + + return m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status)); +} + + +//-------------------------------------------------- + +// +void eapol_am_core_symbian_c::ReadEAPSettingsL() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::ReadEAPSettingsL()\n"))); + + eap_status_e status(eap_status_ok); + + // Delete old IAP settings + m_iap_eap_array.ResetAndDestroy(); + if (m_index_type == ELan) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Beginning to read IAP settings - Type: %d, Index: %d.\n"), m_index_type, m_index)); + + CWLanSettings* wlan = new(ELeave) CWLanSettings; + CleanupStack::PushL(wlan); + SWLANSettings wlanSettings; + if (wlan->Connect() != KErrNone) + { + // Could not connect to CommDB + User::Leave(KErrCouldNotConnect); + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, (EAPL("Connected to CommDbIf.\n"))); + + if (wlan->GetWlanSettingsForService(m_index, wlanSettings) != KErrNone) + { + wlan->Disconnect(); + User::Leave(KErrUnknown); + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Got WLAN settings.\n"))); + + wlan->GetEapDataL(m_iap_eap_array); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Got EAP data:\n"))); + + for (TInt i = 0; i < m_iap_eap_array.Count(); i++) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAP type %d\n"), + i)); + + TLex8 tmp(m_iap_eap_array[i]->UID); + TInt val(0); + tmp.Val(val); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL(" UID: %d\n"), val)); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL(" Enabled: %d\n"), + m_iap_eap_array[i]->Enabled)); + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("End EAP data:\n"))); + + if (m_iap_eap_array.Count() == 0) + { + // The EAP field was empty. Allow all types. + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Empty EAP field -> enable all types.\n"))); + + RImplInfoPtrArray eapArray; + + REComSession::ListImplementationsL(KEapTypeInterfaceUid, eapArray); + + TEap *eap; + for (TInt i = 0; i < eapArray.Count(); i++) + { + eap = new(ELeave) TEap; + eap->UID.Copy(eapArray[i]->DataType()); + eap->Enabled = ETrue; + m_iap_eap_array.Append(eap); + } + + eapArray.ResetAndDestroy(); + } + + // Get security mode + if (m_wpa_override_enabled == false) + { + m_security_mode = static_cast(wlanSettings.SecurityMode); + + if (wlanSettings.EnableWpaPsk) + { + m_wpa_psk_mode_allowed = true; + } + else + { + m_wpa_psk_mode_allowed = false; + } + } + else + { + // WPA override is enabled + m_security_mode = Wpa; + if (m_wpa_psk_password_override->get_is_valid_data() == true + && m_wpa_psk_password_override->get_data_length() > 0) + { + m_wpa_psk_mode_allowed = true; + } + else + { + m_wpa_psk_mode_allowed = false; + } + } + + + // Get WPA or WPA2 pre shared key & SSID + if ((m_security_mode == Wlan8021x + || m_security_mode == Wpa + || m_security_mode == Wpa2Only) + && m_wpa_psk_mode_allowed == true + && m_is_client == true) + { + eap_variable_data_c * password = new eap_variable_data_c(m_am_tools); + if (password == 0) + { + wlan->Disconnect(); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(KErrNoMemory); + } + eap_variable_data_c * ssid = new eap_variable_data_c(m_am_tools); + if (ssid == 0) + { + delete password; + wlan->Disconnect(); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(KErrNoMemory); + } + + // When using easy WLAN there might be WPA PSK override + if (m_wpa_psk_password_override->get_is_valid_data() == true + && m_wpa_psk_password_override->get_data_length() > 0) + { + // Use WPA PSK override + status = password->set_copy_of_buffer( + m_wpa_psk_password_override->get_data(m_wpa_psk_password_override->get_data_length()), + m_wpa_psk_password_override->get_data_length()); + if (status != eap_status_ok) + { + delete password; + delete ssid; + wlan->Disconnect(); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + } + else + { + status = password->set_copy_of_buffer(wlanSettings.WPAPreSharedKey.Ptr(), wlanSettings.WPAPreSharedKey.Size()); + if (status != eap_status_ok) + { + delete password; + delete ssid; + wlan->Disconnect(); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + } + + TBuf8 tmp; + tmp.Copy(wlanSettings.SSID); + status = ssid->set_copy_of_buffer(tmp.Ptr(), tmp.Size()); + if (status != eap_status_ok) + { + delete password; + delete ssid; + wlan->Disconnect(); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + + crypto_wpa_psk_password_hash_c password_hash(m_am_tools); + + if (ssid->get_data_length() == 0) + { + status = ssid->set_copy_of_buffer(m_ssid); + if (status != eap_status_ok) + { + delete password; + delete ssid; + wlan->Disconnect(); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + } + + TPSKEntry pskEntry; + + pskEntry.indexType = m_index_type; + pskEntry.index = m_index; + + TPtr8 ssidPtr( + ssid->get_data(ssid->get_data_length()), + ssid->get_data_length(), + ssid->get_data_length() + ); + + TInt err(KErrNone); + + if (m_wpa_psk_password_override->get_is_valid_data() == false + || m_wpa_psk_password_override->get_data_length() == 0) + { + // Retrieve saved PSK only when override is not in effect + TRAP(err, RetrievePSKL(pskEntry)); + } + + if (err != KErrNone + || pskEntry.ssid.Compare(ssidPtr) != 0 + || pskEntry.password.Compare(wlanSettings.WPAPreSharedKey) != 0) + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("No previous PSK found...\n"))); + // No previous PSK or parameters were changed. We need to calculate + // PSK again + + status = password_hash.password_hash( + password, + ssid, + m_wpa_preshared_key, + 0, + 0); + + if (status != eap_status_ok) + { + delete password; + delete ssid; + wlan->Disconnect(); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + // return; + } + + if (m_wpa_psk_password_override->get_is_valid_data() == false + || m_wpa_psk_password_override->get_data_length() == 0) + { + // Save new PSK (only if psk override is not in effect) + pskEntry.ssid.Copy(ssidPtr); + + pskEntry.password.Copy(wlanSettings.WPAPreSharedKey); + + pskEntry.psk.Copy( + m_wpa_preshared_key->get_data(m_wpa_preshared_key->get_data_length()), + m_wpa_preshared_key->get_data_length() + ); + + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Saving PSK.\n"))); + SavePSKL(pskEntry); + } + } + else + { + // Copy retrieved psk to member variable + status = m_wpa_preshared_key->set_copy_of_buffer(pskEntry.psk.Ptr(), pskEntry.psk.Size()); + if (status != eap_status_ok) + { + delete password; + delete ssid; + wlan->Disconnect(); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + } + delete password; + delete ssid; + } + + wlan->Disconnect(); + CleanupStack::PopAndDestroy(wlan); + if (m_security_mode != Wlan8021x + && m_security_mode != Wpa + && m_security_mode != Wpa2Only) + { + // Unsupported mode + User::Leave(KErrNotSupported); + } + } + else + { + // At the moment only LAN bearer is supported. + User::Leave(KErrNotSupported); + } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); +} + +//-------------------------------------------------- + +void eapol_am_core_symbian_c::SetToTopPriorityL(const TEap* const aEapType) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::SetToTopPriorityL()\n"))); + + if (m_index_type == ELan) + { + TInt i(0); + TBuf8<3> uid; + for (i = 0; i < m_iap_eap_array.Count(); i++) + { + TEap* eap = m_iap_eap_array[i]; + if (eap->UID[0] == '0') + { + // Cut the leading zero + uid.Copy(eap->UID.Right(eap->UID.Length()-1)); + } + else + { + uid.Copy(eap->UID); + } + if (eap->Enabled == aEapType->Enabled + && uid.Compare(aEapType->UID) == 0) + { + // Found + break; + } + } + if (i >= m_iap_eap_array.Count()) + { + // This should never happen + User::Leave(KErrNotFound); + } + + TLex8 tmp(aEapType->UID); + TInt val(0); + tmp.Val(val); + + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Setting to top priority:\n"))); + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Old index: %d\n"), i)); + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL(" UID: %d\n"), val)); + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL(" Enabled: %d\n"), aEapType->Enabled)); + + if (i == 0) + { + // Already at the highest priority + return; + } + + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Beginning to write IAP EAP settings - Type: %d, Index: %d.\n"), m_index_type, m_index)); + + CWLanSettings* wlan = new(ELeave) CWLanSettings; + CleanupStack::PushL(wlan); + SWLANSettings wlanSettings; + if (wlan->Connect() != KErrNone) + { + // Could not connect to CommDB + User::Leave(KErrCouldNotConnect); + } + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Connected to CommDbIf.\n"))); + if (wlan->GetWlanSettingsForService(m_index, wlanSettings) != KErrNone) + { + wlan->Disconnect(); + User::Leave(KErrUnknown); + } + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Got WLAN settings.\n"))); + + // Change the order + TEap* eap = m_iap_eap_array[i]; + + m_iap_eap_array.Remove(i); // This does not delete the object + + m_iap_eap_array.Insert(eap, 0); + + wlan->SetEapDataL(m_iap_eap_array); + + wlan->Disconnect(); + + CleanupStack::PopAndDestroy(wlan); + } + else + { + // At the moment only LAN bearer is supported. + User::Leave(KErrNotSupported); + } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); +} + +//-------------------------------------------------- + +eap_status_e eapol_am_core_symbian_c::configure() +{ + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::configure()\n"))); + + + //---------------------------------------------------------- + +#if defined(USE_EAP_ERROR_TESTS) + + { + eap_variable_data_c EAP_ERROR_TEST_enable_random_errors(m_am_tools); + + eap_status_e status = read_configure( + cf_str_EAP_ERROR_TEST_enable_random_errors.get_field(), + &EAP_ERROR_TEST_enable_random_errors); + if (status == eap_status_ok + && EAP_ERROR_TEST_enable_random_errors.get_is_valid_data() == true) + { + u32_t *enable_random_errors = reinterpret_cast( + EAP_ERROR_TEST_enable_random_errors.get_data(sizeof(u32_t)); + if (enable_random_errors != 0 + && *enable_random_errors != 0) + { + m_enable_random_errors = true; + } + } + } + + { + eap_variable_data_c EAP_ERROR_TEST_send_original_packet_first(m_am_tools); + + eap_status_e status = read_configure( + cf_str_EAP_ERROR_TEST_send_original_packet_first.get_field(), + &EAP_ERROR_TEST_send_original_packet_first); + if (status == eap_status_ok + && EAP_ERROR_TEST_send_original_packet_first.get_is_valid_data() == true) + { + u32_t *send_original_packet_first = reinterpret_cast( + EAP_ERROR_TEST_send_original_packet_first.get_data(sizeof(u32_t)); + if (send_original_packet_first != 0 + && *send_original_packet_first != 0) + { + m_send_original_packet_first = true; + } + } + } + + { + eap_variable_data_c EAP_ERROR_TEST_generate_multiple_error_packets(m_am_tools); + + eap_status_e status = read_configure( + cf_str_EAP_ERROR_TEST_generate_multiple_error_packets.get_field(), + &EAP_ERROR_TEST_generate_multiple_error_packets); + if (status == eap_status_ok + && EAP_ERROR_TEST_generate_multiple_error_packets.get_is_valid_data() == true) + { + u32_t *generate_multiple_error_packets = reinterpret_cast( + EAP_ERROR_TEST_generate_multiple_error_packets.get_data(sizeof(u32_t)); + if (generate_multiple_error_packets != 0 + && *generate_multiple_error_packets != 0) + { + m_generate_multiple_error_packets = *generate_multiple_error_packets; + } + } + } + + + { + eap_variable_data_c EAP_ERROR_TEST_manipulate_ethernet_header(m_am_tools); + + eap_status_e status = read_configure( + cf_str_EAP_ERROR_TEST_manipulate_ethernet_header.get_field(), + &EAP_ERROR_TEST_manipulate_ethernet_header); + if (status == eap_status_ok + && EAP_ERROR_TEST_manipulate_ethernet_header.get_is_valid_data() == true) + { + u32_t *manipulate_ethernet_header = reinterpret_cast( + EAP_ERROR_TEST_manipulate_ethernet_header.get_data(sizeof(u32_t)); + if (manipulate_ethernet_header != 0 + && *manipulate_ethernet_header != 0) + { + m_manipulate_ethernet_header = true; + } + } + } + + { + eap_variable_data_c EAP_ERROR_TEST_error_probability(m_am_tools); + + eap_status_e status = read_configure( + cf_str_EAP_ERROR_TEST_error_probability.get_field(), + &EAP_ERROR_TEST_error_probability); + if (status == eap_status_ok + && EAP_ERROR_TEST_error_probability.get_is_valid_data() == true) + { + u32_t *error_probability = reinterpret_cast( + EAP_ERROR_TEST_error_probability.get_data(sizeof(u32_t)); + if (error_probability != 0) + { + m_error_probability = *error_probability; + } + } + } + + { + eap_variable_data_c EAP_disable_function_traces(m_am_tools); + + eap_status_e status = read_configure( + cf_str_EAP_TRACE_enable_function_traces.get_field(), + &EAP_disable_function_traces); + if (status == eap_status_ok + && EAP_disable_function_traces.get_is_valid_data() == true) + { + u32_t *disable_function_traces = reinterpret_cast( + EAP_disable_function_traces.get_data(sizeof(u32_t)); + if (disable_function_traces != 0 + && *disable_function_traces != 0) + { + m_am_tools->set_trace_mask( + m_am_tools->get_trace_mask() + | eap_am_tools_c::eap_trace_mask_functions + ); + } + } + } + +#endif //#if defined(USE_EAP_ERROR_TESTS) + + + //---------------------------------------------------------- + + { + eap_variable_data_c EAP_TRACE_disable_traces(m_am_tools); + + eap_status_e status = read_configure( + cf_str_EAP_TRACE_disable_traces.get_field(), + &EAP_TRACE_disable_traces); + if (status == eap_status_ok + && EAP_TRACE_disable_traces.get_is_valid_data() == true) + { + u32_t *disable_traces = reinterpret_cast( + EAP_TRACE_disable_traces.get_data(sizeof(u32_t))); + if (disable_traces != 0 + && *disable_traces != 0) + { + m_am_tools->set_trace_mask(eap_am_tools_c::eap_trace_mask_none); + } + else + { + // OK, set the default trace mask. + m_am_tools->set_trace_mask( + eap_am_tools_c::eap_trace_mask_debug + | eap_am_tools_c::eap_trace_mask_always + | eap_am_tools_c::eap_trace_mask_error); + } + } + } + + //---------------------------------------------------------- + + { + eap_variable_data_c EAP_TRACE_activate_only_trace_masks_always_and_error(m_am_tools); + + eap_status_e status = read_configure( + cf_str_EAP_TRACE_activate_only_trace_masks_always_and_error.get_field(), + &EAP_TRACE_activate_only_trace_masks_always_and_error); + if (status == eap_status_ok + && EAP_TRACE_activate_only_trace_masks_always_and_error.get_is_valid_data() == true) + { + u32_t *activate_trace_mask_always + = reinterpret_cast( + EAP_TRACE_activate_only_trace_masks_always_and_error.get_data( + sizeof(u32_t))); + if (activate_trace_mask_always != 0 + && *activate_trace_mask_always != 0) + { + m_am_tools->set_trace_mask( + eap_am_tools_c::eap_trace_mask_always + | eap_am_tools_c::eap_trace_mask_error + ); + } + } + } + + //---------------------------------------------------------- + + { + eap_variable_data_c EAP_TRACE_activate_trace_on_error(m_am_tools); + + eap_status_e status = read_configure( + cf_str_EAP_TRACE_activate_trace_on_error.get_field(), + &EAP_TRACE_activate_trace_on_error); + if (status == eap_status_ok + && EAP_TRACE_activate_trace_on_error.get_is_valid_data() == true) + { + u32_t *activate_trace_on_error = reinterpret_cast( + EAP_TRACE_activate_trace_on_error.get_data(sizeof(u32_t))); + if (activate_trace_on_error != 0 + && *activate_trace_on_error != 0) + { + m_am_tools->set_activate_trace_on_error(); + } + } + } + + //---------------------------------------------------------- + + // All of the configuration options are optional. + // So we return OK. + return eap_status_ok; +} + +//-------------------------------------------------- + +eap_status_e eapol_am_core_symbian_c::read_configure( + const eap_configuration_field_c * const field, + eap_variable_data_c * const data) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + EAP_ASSERT_ALWAYS(data != NULL); + + // To remove compilation warning in UREL due to KMaxConfigStringLength. + if(field->get_field_length() > KMaxConfigStringLength) + { + return eap_status_process_general_error; + } + + // Trap must be set here because the OS independent portion of EAPOL + // that calls this function does not know anything about Symbian. + eap_status_e status(eap_status_ok); + + // Check if the wanted parameter is default type + + eap_variable_data_c wanted_field(m_am_tools); + eap_variable_data_c type_field(m_am_tools); + eap_variable_data_c type_field_server(m_am_tools); + + status = wanted_field.set_buffer( + field->get_field(), + field->get_field_length(), + false, + false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return status; + } + + status = type_field.set_buffer( + cf_str_EAP_default_type_u32_t.get_field()->get_field(), + cf_str_EAP_default_type_u32_t.get_field()->get_field_length(), + false, + false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return status; + } + + status = type_field_server.set_buffer( + cf_str_EAP_server_default_type_u32_t.get_field()->get_field(), + cf_str_EAP_server_default_type_u32_t.get_field()->get_field_length(), + false, + false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return status; + } + + if (!wanted_field.compare(&type_field) + || !wanted_field.compare(&type_field_server)) + { + TInt i; + // We need to return here the next EAP type we should try + for (i = m_eap_index; i < m_iap_eap_array.Count(); i++) + { + // Find the first enabled EAP type (highest priority) + TEap *eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + // Convert the string to integer + TLex8 tmp(eapType->UID); + TInt val(0); + tmp.Val(val); + status = data->set_copy_of_buffer(reinterpret_cast(&val), sizeof(TUint)); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAPOL: Trying EAP type: %d.\n"), val)); + break; + } + } + m_eap_index = i; + if (i >= m_iap_eap_array.Count()) + { + // Not found + // Send WLM notification because there is no way that the authentication + // can be successful if we don't have any EAP types to use... + if (m_is_client) + { + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: No configured EAP types or all tried unsuccessfully.\n"))); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_field); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + // It was something else than EAP type. Read it from DB. + TRAPD(err, read_configureL( + field->get_field(), + field->get_field_length(), + data)); + if (err != KErrNone) + { + status = m_am_tools->convert_am_error_to_eapol_error(err); + +#if defined(USE_EAP_FILECONFIG) + if (m_fileconfig != 0 + && m_fileconfig->get_is_valid() == true) + { + // Here we could try the final configuration option. + status = m_fileconfig->read_configure( + field, + data); + } +#endif //#if defined(USE_EAP_FILECONFIG) + } + + m_am_tools->trace_configuration( + status, + field, + data); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +void eapol_am_core_symbian_c::read_configureL( + eap_config_string field, + const u32_t /*field_length*/, + eap_variable_data_c * const data) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + // Create a buffer for the ascii strings - initialised with the argument + HBufC8* asciibuf = HBufC8::NewLC(128); + TPtr8 asciiString = asciibuf->Des(); + asciiString.Copy(reinterpret_cast(field)); + + // Buffer for unicode parameter + HBufC* unicodebuf = HBufC::NewLC(128); + TPtr unicodeString = unicodebuf->Des(); + + // Convert to unicode + unicodeString.Copy(asciiString); + + // Now do the database query + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = buf->Des(); + _LIT(KSQLQueryRow, "SELECT %S FROM eapol"); + sqlStatement.Format(KSQLQueryRow, &unicodeString); + + RDbView view; + User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + CleanupClosePushL(view); + User::LeaveIfError(view.EvaluateAll()); + if (view.FirstL()) + { + eap_status_e status(eap_status_process_general_error); + view.GetL(); + switch (view.ColType(1)) + { + case EDbColText: + { + unicodeString = view.ColDes(1); + // Convert to 8-bit + asciiString.Copy(unicodeString); + if (asciiString.Size() > 0) + { + status = data->set_copy_of_buffer(asciiString.Ptr(), asciiString.Size()); + if (status != eap_status_ok) + { + User::Leave(KErrNoMemory); + } + } + else + { + // Empty field. Do nothing...data remains invalid + // and the stack knows what to do hopefully. + break; + } + } + break; + case EDbColUint32: + { + TUint value; + value = view.ColUint32(1); + status = data->set_copy_of_buffer((const unsigned char *) &value, sizeof(value)); + if (status != eap_status_ok) + { + User::Leave(KErrNoMemory); + } + } + break; + default: + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("read_configureL: Unexpected column type.\n"))); + User::Panic(_L("EAPOL"), 1); + } + } + else + { + // Could not find parameter + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("read_configureL: Could not find configuration parameter.\n"))); + User::Leave(KErrNotFound); + } + + // Close database + CleanupStack::PopAndDestroy(4); // session & 3 buffers + + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); +} + +//-------------------------------------------------- + +eap_status_e eapol_am_core_symbian_c::write_configure( + const eap_configuration_field_c * const /*field*/, + eap_variable_data_c * const /*data*/) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_not_supported; +} + +//-------------------------------------------------- + +// +eap_status_e eapol_am_core_symbian_c::set_timer( + abs_eap_base_timer_c * const p_initializer, + const u32_t p_id, + void * const p_data, + const u32_t p_time_ms) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + const eap_status_e status = m_am_tools->am_set_timer( + p_initializer, + p_id, + p_data, + p_time_ms); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return status; +} + +//-------------------------------------------------- + +// +eap_status_e eapol_am_core_symbian_c::cancel_timer( + abs_eap_base_timer_c * const p_initializer, + const u32_t p_id) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + const eap_status_e status = m_am_tools->am_cancel_timer( + p_initializer, + p_id); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return status; +} + +//-------------------------------------------------- + +// +eap_status_e eapol_am_core_symbian_c::cancel_all_timers() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + const eap_status_e status = m_am_tools->am_cancel_all_timers(); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return status; +} + +//-------------------------------------------------- + +eap_status_e eapol_am_core_symbian_c::check_is_valid_eap_type(const eap_type_value_e eap_type) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + TEap *eapType = 0; + + eap_status_e status(eap_status_illegal_eap_type); + + for (int i = 0; i < m_iap_eap_array.Count(); i++) + { + // Try next EAP type + eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + // Convert the string to integer + TLex8 tmp(eapType->UID); + TInt val(0); + tmp.Val(val); + if (eap_type == static_cast(val)) + { + // Allowed + status = eap_status_ok; + break; + } + } + } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +eap_status_e eapol_am_core_symbian_c::get_eap_type_list( + eap_array_c * const eap_type_list) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + TEap *eapType = 0; + + eap_status_e status(eap_status_illegal_eap_type); + + status = eap_type_list->reset(); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + for (TInt i = 0; i < m_iap_eap_array.Count(); i++) + { + // Check if type is enabled + eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + TLex8 tmp(eapType->UID); + TInt val(0); + tmp.Val(val); + + eap_type_value_e * const eap_type = new eap_type_value_e( + static_cast(val)); + if (eap_type == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = eap_type_list->add_object(eap_type, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return eap_status_ok; +} + +//-------------------------------------------------- + +void eapol_am_core_symbian_c::TryOpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession) +{ + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::TryOpenDatabaseL()\n"))); + + // 1. Open/create a database + + // Connect to the DBMS server. + User::LeaveIfError(aSession.Connect()); + CleanupClosePushL(aSession); + // aSession and aDatabase are pushed to the cleanup stack even though they may be member + // variables of the calling class and would be closed in the destructor anyway. This ensures + // that if they are not member variables they will be closed. Closing the handle twice + // does no harm. + +#ifdef SYMBIAN_SECURE_DBMS + + // Create the secure shared database (if necessary) with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = aDatabase.Create(aSession, KDatabaseName, KSecureUIDFormat); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("TryOpenDatabaseL() - Created Secure DB for eapol.dat. err=%d\n"), err )); + + if(err == KErrNone) + { + aDatabase.Close(); + + } else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + + User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName, KSecureUIDFormat)); + CleanupClosePushL(aDatabase); + +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + + // Create the database (if necessary) + TInt err = aDatabase.Create(fsSession, KDatabaseName); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("TryOpenDatabaseL() - Created Non-Secure DB for eapol.dat. err=%d\n"), err )); + + if(err == KErrNone) + { + aDatabase.Close(); + + } else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + CleanupStack::PopAndDestroy(); // close fsSession + + User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName)); + CleanupClosePushL(aDatabase); + +#endif // #ifdef SYMBIAN_SECURE_DBMS + + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = buf->Des(); + + // 2. Create the table for pre-shared keys in database (ignore error if exists) + +//// NAME /////////////////////////////////////////////////// TYPE ////////////// Constant /////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| SSID | VARBINARY(255) | KSSID |// +//| Password | VARBINARY(255) | KPassword |// +//| PSK | VARBINARY(255) | KPSK |// +////////////////////////////////////////////////////////////////////////////////////////////////// + + _LIT(KSQLCreateTable2, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARBINARY(255), \ + %S VARBINARY(255), \ + %S VARBINARY(255))"); + + sqlStatement.Format(KSQLCreateTable2, &KEapolPSKTableName, + &KServiceType, &KServiceIndex, &KSSID, &KPassword, &KPSK); + + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) + { + User::Leave(err); + } + + CleanupStack::PopAndDestroy(); // buf + CleanupStack::Pop(2); // database, session + + // If compacting is not done the database will start growing + aDatabase.Compact(); +} + +//-------------------------------------------------- + +void eapol_am_core_symbian_c::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession) +{ + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::OpenDatabaseL()\n"))); + + // Create the database (if necessary) + TRAPD(err, TryOpenDatabaseL(aDatabase, aSession)); + if (err != KErrNone) + { + // Because of error remove the database file. + RFs fsDataBaseFile; + User::LeaveIfError(fsDataBaseFile.Connect()); + CleanupClosePushL(fsDataBaseFile); + err = fsDataBaseFile.Delete(KDatabaseName); + if(err != KErrNone) + { + User::Leave(KErrCorrupt); + } + CleanupStack::PopAndDestroy(); // close fsDataBaseFile + + // Try open database again. This will leave if fails second time. + TryOpenDatabaseL(aDatabase, aSession); + } +} + +//-------------------------------------------------- + +eap_status_e eapol_am_core_symbian_c::random_error( + eap_buf_chain_wr_c * const sent_packet, + const bool forse_error, + const u32_t packet_index) +{ + EAP_UNREFERENCED_PARAMETER(packet_index); + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::random_error()\n"))); + + eap_status_e status(eap_status_ok); + u8_t *data = sent_packet->get_data(sent_packet->get_data_length()); + + crypto_random_c rand(m_am_tools); + u32_t random_guard(0); + bool error_generated(false); + u32_t minimum_index(0); + + if (m_manipulate_ethernet_header == false) + { + minimum_index = eapol_ethernet_header_wr_c::get_header_length(); + } + + for (u32_t ind = minimum_index; ind < sent_packet->get_data_length(); ind++) + { + status = rand.get_rand_bytes( + reinterpret_cast(&random_guard), + sizeof(random_guard)); + if (status != eap_status_ok) + { + return EAP_STATUS_RETURN(m_am_tools, status); + } + + // This is simple limiter to the probability of an error. + // probability = m_error_probability / (2^32) + if (random_guard < m_error_probability) + { + u8_t rnd(0); + u8_t previous_data(0); + // Create an error. + status = rand.get_rand_bytes( + &rnd, + sizeof(rnd)); + if (status != eap_status_ok) + { + return EAP_STATUS_RETURN(m_am_tools, status); + } + + previous_data = data[ind]; + data[ind] ^= rnd; + + if (previous_data != data[ind]) + { + error_generated = true; + sent_packet->set_random_error_type(eap_random_error_type_manipulate_byte); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("TEST: random_error(): packet_index 0x%08x:%lu, data[0x%04x] changed from 0x%02x to 0x%02x.\n"), + this, + packet_index, + ind, + previous_data, + data[ind])); + } + } + } + + if (error_generated == false + && forse_error == true + && sent_packet->get_data_length() > 0ul) + { + // Generate one error. + + // Random error type. + eap_random_error_type error_type = eap_random_error_type_none_keep_this_last_case; + status = rand.get_rand_bytes( + reinterpret_cast(&error_type), + sizeof(error_type)); + if (status != eap_status_ok) + { + return EAP_STATUS_RETURN(m_am_tools, status); + } + + error_type = static_cast( + static_cast(error_type % static_cast( + eap_random_error_type_none_keep_this_last_case))); + + sent_packet->set_random_error_type(error_type); + + switch(error_type) + { + case eap_random_error_type_manipulate_byte: + { + u32_t rnd_index(0); + u8_t previous_data(0); + u32_t index(0); + + do + { + do + { + // Create an error index. + status = rand.get_rand_bytes( + reinterpret_cast(&rnd_index), + sizeof(rnd_index)); + if (status != eap_status_ok) + { + return EAP_STATUS_RETURN(m_am_tools, status); + } + + index = (rnd_index % (sent_packet->get_data_length() - minimum_index)) + + minimum_index; + } + while(index < minimum_index + || index > sent_packet->get_buffer_length()); + + u8_t rnd(0); + // Create an error. + status = rand.get_rand_bytes( + &rnd, + sizeof(rnd)); + if (status != eap_status_ok) + { + return EAP_STATUS_RETURN(m_am_tools, status); + } + + previous_data = data[index]; + data[index] ^= rnd; + } + while(previous_data == data[index]); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("TEST: random_error(): packet_index 0x%08x:%lu, data[0x%04x] changed from 0x%02x to 0x%02x.\n"), + this, + packet_index, + index, + previous_data, + data[index])); + + error_generated = true; + } + break; + case eap_random_error_type_change_packet_length_longer: + { + u8_t delta_length(0); + i32_t new_length(0); + + do + { + status = rand.get_rand_bytes( + reinterpret_cast(&delta_length), + sizeof(delta_length)); + if (status != eap_status_ok) + { + return EAP_STATUS_RETURN(m_am_tools, status); + } + + new_length = static_cast(sent_packet->get_data_length() + + static_cast(delta_length)); + } + while (new_length < static_cast( + eapol_ethernet_header_wr_c::get_header_length()) + || new_length > static_cast(sent_packet->get_buffer_length())); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("TEST: random_error(): packet_index 0x%08x:%lu, packet length changed from %lu to %lu.\n"), + this, + packet_index, + sent_packet->get_data_length(), + new_length)); + + sent_packet->set_data_length(new_length); + + error_generated = true; + } + break; + case eap_random_error_type_change_packet_length_shorter: + { + u8_t delta_length(0); + i32_t new_length(0); + + do + { + status = rand.get_rand_bytes( + reinterpret_cast(&delta_length), + sizeof(delta_length)); + if (status != eap_status_ok) + { + return EAP_STATUS_RETURN(m_am_tools, status); + } + + delta_length %= static_cast( + sent_packet->get_data_length() + - static_cast(eapol_ethernet_header_wr_c::get_header_length())); + + if (delta_length == 0) + { + continue; + } + + new_length = static_cast( + sent_packet->get_data_length() - static_cast(delta_length)); + } + while (new_length < static_cast( + eapol_ethernet_header_wr_c::get_header_length()) + || new_length > static_cast(sent_packet->get_buffer_length())); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("TEST: random_error(): packet_index 0x%08x:%lu, packet length changed from %lu to %lu.\n"), + this, + packet_index, + sent_packet->get_data_length(), + new_length)); + + sent_packet->set_data_length(new_length); + + error_generated = true; + } + break; + default: + User::Panic(_L("EAPOL"), 1); + break; + } + } + + if (error_generated == true) + { + sent_packet->set_is_manipulated(); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return status; +} + +//-------------------------------------------------- + +eap_status_e eapol_am_core_symbian_c::create_upper_stack() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::create_upper_stack()\n"))); + + eap_status_e status(eap_status_ok); + + if (m_ethernet_core == 0) + { + m_ethernet_core = new ethernet_core_c(m_am_tools, this, m_is_client); + if (m_ethernet_core == 0 + || m_ethernet_core->get_is_valid() != true) + { + if (m_ethernet_core != 0) + { + m_ethernet_core->shutdown(); + delete m_ethernet_core; + m_ethernet_core = 0; + } + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Stack creation failed.\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); + } + + // Initialise upper stack + status = m_ethernet_core->configure(); + + if (status != eap_status_ok) + { + m_ethernet_core->shutdown(); + delete m_ethernet_core; + m_ethernet_core = 0; + + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Stack creation failed.\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); + } + } + else + { + status = eap_status_already_exists; + } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return status; +} + +//-------------------------------------------------- + +eap_status_e eapol_am_core_symbian_c::add_rogue_ap( + eap_array_c & rogue_ap_list) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_core_symbian_c::add_rogue_ap()\n"))); + + TInt err(KErrNone); + eap_rogue_ap_entry_c* entry = 0; + + TMacAddress mac; + + TRogueType type; + + for (u32_t i = 0; i < rogue_ap_list.get_object_count(); i++) + { + entry = rogue_ap_list.get_object(i); + + entry->get_mac_address(mac.iMacAddress); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Adding rogue AP - type: %d\n"), + entry->get_rogue_reason())); + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Rogue MAC address"), + mac.iMacAddress, + KMacAddressLength)); + + switch (entry->get_rogue_reason()) + { + case rogue_ap_none: + // Ignore this + continue; + case rogue_ap_association_failed: + type = EInvalidAuthenticationType; + break; + case rogue_ap_timeout: + type = EAuthenticationTimeout; + break; + case rogue_ap_challenge_to_client_failed: + type = EChallengeFromAPFailed; + break; + case rogue_ap_challenge_to_ap_failed: + type = EChallengeToAPFailed; + break; + default: + // ignore others + continue; + } + + err = m_partner->AddRogueAP(mac, type); + if (err != KErrNone) + { + break; + } + } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err)); +} + +//-------------------------------------------------- + +void eapol_am_core_symbian_c::RetrievePSKL(TPSKEntry& entry) +{ + HBufC* sqlbuf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = sqlbuf->Des(); + + RDbView view; + + _LIT(KSQL, "SELECT %S, %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d"); + + sqlStatement.Format(KSQL, &KServiceType, &KServiceIndex, &KSSID, &KPassword, &KPSK, + &KEapolPSKTableName, &KServiceType, entry.indexType, &KServiceIndex, entry.index); + + User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + CleanupClosePushL(view); + User::LeaveIfError(view.EvaluateAll()); + + TInt rows = view.CountL(); + + if (rows == 0) + { + // No saved PSK + User::Leave(KErrNotFound); + } + view.FirstL(); + view.GetL(); + + entry.ssid.Copy(view.ColDes8(3)); + entry.password.Copy(view.ColDes8(4)); + entry.psk.Copy(view.ColDes8(5)); + + CleanupStack::PopAndDestroy(2); // view, buf +} + +//-------------------------------------------------- + +void eapol_am_core_symbian_c::SavePSKL(TPSKEntry& entry) +{ + // Connect to CommDBif so that we can delete PSK entries that have no IAP associated anymore. + CWLanSettings* wlan = new(ELeave) CWLanSettings; + CleanupStack::PushL(wlan); + + SWLANSettings wlanSettings; + + if (wlan->Connect() != KErrNone) + { + // Could not connect to CommDB + User::Leave(KErrCouldNotConnect); + } + + HBufC* sqlbuf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = sqlbuf->Des(); + + RDbView view; + + _LIT(KSQL, "SELECT %S, %S, %S, %S, %S FROM %S"); + + sqlStatement.Format(KSQL, &KServiceType, &KServiceIndex, &KSSID, &KPassword, &KPSK, + &KEapolPSKTableName); + + User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + CleanupClosePushL(view); + User::LeaveIfError(view.EvaluateAll()); + + // Get column set so we get the correct column numbers + CDbColSet* colSet = view.ColSetL(); + CleanupStack::PushL(colSet); + + // Delete old row and also rows that have no associated IAP settings. + if (view.FirstL()) + { + do { + view.GetL(); + + if ((wlan->GetWlanSettingsForService(view.ColUint32(colSet->ColNo(KServiceIndex)), wlanSettings) != KErrNone) + || (view.ColUint32(colSet->ColNo(KServiceType)) == static_cast(entry.indexType) + && view.ColUint32(colSet->ColNo(KServiceIndex)) == static_cast(entry.index))) + { + // Not found or current IAP + view.DeleteL(); + } + + } while (view.NextL() != EFalse); + } + + wlan->Disconnect(); + + view.InsertL(); + + view.SetColL(colSet->ColNo(KServiceType), (TUint)entry.indexType); + view.SetColL(colSet->ColNo(KServiceIndex), (TUint)entry.index); + view.SetColL(colSet->ColNo(KSSID), entry.ssid); + view.SetColL(colSet->ColNo(KPassword), entry.password); + view.SetColL(colSet->ColNo(KPSK), entry.psk); + + view.PutL(); + + CleanupStack::PopAndDestroy( colSet ); // Delete colSet. + + CleanupStack::PopAndDestroy(3); // CWLanSettings, session, database + +} + + +//-------------------------------------------------- + + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian_simulator.cpp --- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian_simulator.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian_simulator.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian_wlm.cpp --- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian_wlm.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian_wlm.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_wlan_authentication_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_wlan_authentication_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_wlan_authentication_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 94 % +* %version: 59.1.4 % */ // This is enumeration of EAPOL source code. @@ -39,25 +39,27 @@ #include "eapol_key_types.h" #include "eap_timer_queue.h" #include "eap_crypto_api.h" -#include "abs_eap_database_reference_if.h" +#include "abs_eapol_wlan_database_reference_if.h" #include "abs_eap_state_notification.h" #include "eap_state_notification.h" #include "eap_automatic_variable.h" #include "eap_base_type.h" -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_core_client_message_if.h" #include "EapolDbDefaults.h" #include "EapolDbParameterNames.h" -#include "EapConversion.h" -#include "EapConfigToolsSymbian.h" -#include "EapPluginTools.h" - -#include const TUint KMaxSqlQueryLength = 2048; +#ifdef USE_EAP_EXPANDED_TYPES + +const TUint KExpandedEAPSize = 8; + +#else + +const TUint KMaxEapCueLength = 3; + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + //-------------------------------------------------- // @@ -68,7 +70,6 @@ TRACE_FLAGS_DEFAULT, (EAPL("eapol_am_wlan_authentication_symbian_c::~eapol_am_wlan_authentication_symbian_c(): this = 0x%08x\n"), this)); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::~eapol_am_wlan_authentication_symbian_c()"); } //-------------------------------------------------- @@ -76,8 +77,10 @@ // EAP_FUNC_EXPORT eapol_am_wlan_authentication_symbian_c::eapol_am_wlan_authentication_symbian_c( abs_eap_am_tools_c * const tools, - const bool is_client_when_true) -: m_am_partner(0) + const bool is_client_when_true, + const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference) +: CActive(CActive::EPriorityStandard) +, m_am_partner(0) #if defined(USE_EAP_SIMPLE_CONFIG) , m_configuration_if(0) #endif // #if defined(USE_EAP_SIMPLE_CONFIG) @@ -86,8 +89,12 @@ , m_SSID(tools) , m_wpa_preshared_key(tools) , m_wpa_preshared_key_hash(tools) -, m_database_reference(tools) +, m_wlan_database_reference(wlan_database_reference) +#ifdef USE_EAP_EXPANDED_TYPES +, m_eap_type_array(tools) +#endif , m_receive_network_id(tools) +, m_security_mode(Wpa) , m_selected_eapol_key_authentication_type(eapol_key_authentication_type_none) , m_WPA_override_enabled(false) , m_is_client(is_client_when_true) @@ -96,13 +103,6 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::eapol_am_wlan_authentication_symbian_c(): this = 0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::eapol_am_wlan_authentication_symbian_c()"); - m_is_valid = true; EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -114,13 +114,6 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::get_is_valid(): this = 0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::get_is_valid()"); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return m_is_valid; } @@ -133,44 +126,57 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eapol_am_wlan_authentication_symbian_c::TryOpenDatabaseL()\n"))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::TryInitDatabaseL()"); // 1. Open/create a database RDbNamedDatabase db; +#ifdef SYMBIAN_SECURE_DBMS + // Create the secure shared database (if necessary) with the specified secure policy. // Database will be created in the data caging path for DBMS (C:\private\100012a5). - - TFileName aPrivateDatabasePathName; - - EapPluginTools::GetPrivatePathL( - m_session, - aPrivateDatabasePathName); - - aPrivateDatabasePathName.Append(KEapolDatabaseName); - - EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName", - aPrivateDatabasePathName.Ptr(), - aPrivateDatabasePathName.Size())); - - TInt error = db.Create(m_session, aPrivateDatabasePathName); + + TInt err = db.Create(m_session, KDatabaseName, KSecureUIDFormat); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("TryOpenDatabaseL() - Created Secure DB for eapol.dat. error=%d\n"), error )); + (EAPL("TryOpenDatabaseL() - Created Secure DB for eapol.dat. err=%d\n"), err )); - if(error == KErrNone) + if(err == KErrNone) { db.Close(); - } else if (error != KErrAlreadyExists) + } else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - User::LeaveIfError(db.Open(m_session, aPrivateDatabasePathName)); + User::LeaveIfError(db.Open(m_session, KDatabaseName, KSecureUIDFormat)); +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + // Create the database (if necessary) + TInt err = db.Create(m_fs, KDatabaseName); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("TryOpenDatabaseL() - Created Non-Secure DB for eapol.dat. err=%d\n"), err )); + + if(err == KErrNone) + { + db.Close(); + + } else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + + User::LeaveIfError(db.Open(m_session, KDatabaseName)); + +#endif // #ifdef SYMBIAN_SECURE_DBMS + CleanupClosePushL(db); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); @@ -192,18 +198,18 @@ %S VARBINARY(255))"); sqlStatement.Format(KSQLCreateTable2, &KEapolPSKTableName, &KServiceType, &KServiceIndex, &KSSID, &KPassword, &KPSK); - error = db.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = db.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(); // buf // If compacting is not done the database will start growing db.Compact(); - CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(); // Close database } //-------------------------------------------------- @@ -213,28 +219,15 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::InitDatabaseL()\n"))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::InitDatabaseL()"); + (EAPL("eapol_am_wlan_authentication_symbian_c::OpenDatabaseL()\n"))); // Create the database (if necessary) - TRAPD(error, TryInitDatabaseL()); - if (error != KErrNone) + TRAPD(err, TryInitDatabaseL()); + if (err != KErrNone) { // Because of error remove the database file. - TFileName aPrivateDatabasePathName; - - EapPluginTools::GetPrivatePathL( - m_session, - aPrivateDatabasePathName); - - aPrivateDatabasePathName.Append(KEapolDatabaseName); - - EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName", - aPrivateDatabasePathName.Ptr(), - aPrivateDatabasePathName.Size())); - - error = m_session.Delete(aPrivateDatabasePathName); - if(error != KErrNone) + err = m_fs.Delete(KDatabaseName); + if(err != KErrNone) { User::Leave(KErrCorrupt); } @@ -257,10 +250,8 @@ (m_is_client == true) ? "client": "server", this, dynamic_cast(this))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::configure()"); TInt error(KErrNone); - eap_status_e status(eap_status_process_general_error); // Open the database session error = m_session.Connect(); @@ -271,9 +262,8 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: RDbs::Connect() failed %d=%s.\n"), - status, - eap_status_string_c::get_status_string(status))); + (EAPL("RDbs::Connect() failed %d.\n"), + status)); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -283,8 +273,8 @@ TRACE_FLAGS_DEFAULT, (EAPL("Database session initialized...\n"))); - // Initialize database - TRAP(error, InitDatabaseL()); + // Connect to FS + error = m_fs.Connect(); if (error != KErrNone) { eap_status_e status(m_am_tools->convert_am_error_to_eapol_error(error)); @@ -292,9 +282,28 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: InitDatabaseL failed %d=%s.\n"), - status, - eap_status_string_c::get_status_string(status))); + (EAPL("RFs::Connect() failed %d.\n"), + status)); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Fileserver session initialized...\n"))); + + // Initialize database + TRAPD(err, InitDatabaseL()); + if (err != KErrNone) + { + eap_status_e status(m_am_tools->convert_am_error_to_eapol_error(error)); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("InitDatabaseL failed %d.\n"), + status)); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -306,14 +315,169 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = EapConfigToolsSymbian::EapReadDefaultConfigFileSymbian( - m_am_tools, - &m_fileconfig); - if (status != eap_status_ok) +#if defined(USE_EAP_FILECONFIG) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + eap_am_file_input_symbian_c * const fileio = new eap_am_file_input_symbian_c(m_am_tools); + + eap_automatic_variable_c automatic_fileio(m_am_tools, fileio); + + if (fileio != 0 + && fileio->get_is_valid() == true) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Initialize file configuration.\n"))); + + eap_variable_data_c file_name_c_data(m_am_tools); + + eap_status_e status(eap_status_process_general_error); + + { + #if defined(EAPOL_SYMBIAN_VERSION_7_0_s) + eap_const_string const FILECONFIG_FILENAME_C + = "c:\\system\\data\\eap.conf"; + #else + eap_const_string const FILECONFIG_FILENAME_C + = "c:\\private\\101F8EC5\\eap.conf"; + #endif + + status = file_name_c_data.set_copy_of_buffer( + FILECONFIG_FILENAME_C, + m_am_tools->strlen(FILECONFIG_FILENAME_C)); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = file_name_c_data.add_end_null(); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + eap_variable_data_c file_name_z_data(m_am_tools); + + { + #if defined(EAPOL_SYMBIAN_VERSION_7_0_s) + eap_const_string const FILECONFIG_FILENAME_Z + = "z:\\system\\data\\eap.conf"; + #else + eap_const_string const FILECONFIG_FILENAME_Z + = "z:\\private\\101F8EC5\\eap.conf"; + #endif + + status = file_name_z_data.set_copy_of_buffer( + FILECONFIG_FILENAME_Z, + m_am_tools->strlen(FILECONFIG_FILENAME_Z)); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = file_name_z_data.add_end_null(); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + + + if (status == eap_status_ok) + { + // First try open from C: disk. + status = fileio->file_open( + &file_name_c_data, + eap_file_io_direction_read); + if (status == eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Opens configure file %s\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()))); + } + else if (status != eap_status_ok) + { + // Second try open from Z: disk. + status = fileio->file_open( + &file_name_z_data, + eap_file_io_direction_read); + if (status == eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Opens configure file %s\n"), + file_name_z_data.get_data(file_name_z_data.get_data_length()))); + } + } + + if (status == eap_status_ok) + { + // Some of the files were opened. + + m_fileconfig = new eap_file_config_c(m_am_tools); + if (m_fileconfig != 0 + && m_fileconfig->get_is_valid() == true) + { + status = m_fileconfig->configure(fileio); + if (status != eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: Configure read from %s failed.\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()))); + } + else + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Configure read from %s\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()))); + } + } + else + { + // No file configuration. + delete m_fileconfig; + m_fileconfig = 0; + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: Cannot create configure object for file %s\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()))); + } + } + else + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: Cannot open configure file neither %s nor %s\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()), + file_name_z_data.get_data(file_name_z_data.get_data_length()))); + } + } + } + else + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Skips file configuration.\n"))); + } } +#endif //#if defined(USE_EAP_FILECONFIG) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -321,7 +485,7 @@ { eap_variable_data_c trace_output_file(m_am_tools); - status = read_configure( + eap_status_e status = read_configure( cf_str_EAP_TRACE_output_file_name.get_field(), &trace_output_file); if (status == eap_status_ok @@ -345,33 +509,9 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - { - eap_variable_data_c EAP_TRACE_enable_timer_traces(m_am_tools); - - status = read_configure( - cf_str_EAP_TRACE_enable_timer_traces.get_field(), - &EAP_TRACE_enable_timer_traces); - if (status == eap_status_ok - && EAP_TRACE_enable_timer_traces.get_is_valid_data() == true) - { - u32_t *enable_timer_traces = reinterpret_cast( - EAP_TRACE_enable_timer_traces.get_data(sizeof(u32_t))); - if (enable_timer_traces != 0 - && *enable_timer_traces != 0) - { - m_am_tools->set_trace_mask( - m_am_tools->get_trace_mask() - | TRACE_FLAGS_TIMER - ); - } - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { eap_variable_data_c EAP_TRACE_enable_timer_queue_traces(m_am_tools); - status = read_configure( + eap_status_e status = read_configure( cf_str_EAP_TRACE_enable_timer_queue_traces.get_field(), &EAP_TRACE_enable_timer_queue_traces); if (status == eap_status_ok @@ -384,18 +524,16 @@ { m_am_tools->set_trace_mask( m_am_tools->get_trace_mask() - | TRACE_FLAGS_TIMER_QUEUE + | eap_am_tools_c::eap_trace_mask_timer_queue ); } } } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { eap_variable_data_c EAP_TRACE_enable_function_traces(m_am_tools); - status = read_configure( + eap_status_e status = read_configure( cf_str_EAP_TRACE_enable_function_traces.get_field(), &EAP_TRACE_enable_function_traces); if (status == eap_status_ok @@ -427,6 +565,50 @@ //-------------------------------------------------- +eap_status_e eapol_am_wlan_authentication_symbian_c::reset_eap_plugins() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::reset_eap_plugins(): %s, this = 0x%08x => 0x%08x\n"), + (m_is_client == true) ? "client": "server", + this, + dynamic_cast(this))); + + // Unload all loaded plugins + for(int ind = 0; ind < m_plugin_if_array.Count(); ind++) + { + delete m_plugin_if_array[ind]; + } + + m_plugin_if_array.Close(); + +#ifdef USE_EAP_EXPANDED_TYPES + + m_enabled_expanded_eap_array.ResetAndDestroy(); + + m_disabled_expanded_eap_array.ResetAndDestroy(); + + m_eap_type_array.reset(); + +#else + + // Delete the IAP EAP type info array + m_iap_eap_array.ResetAndDestroy(); + + m_eap_type_array.Close(); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + + +//-------------------------------------------------- + EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::shutdown() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -438,13 +620,15 @@ (m_is_client == true) ? "client": "server", this, dynamic_cast(this))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::shutdown()"); m_session.Close(); + m_fs.Close(); delete m_fileconfig; m_fileconfig = 0; + (void) reset_eap_plugins(); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } @@ -466,7 +650,6 @@ (EAPL("eapol_am_wlan_authentication_simulator_c::set_am_partner(): %s, this = 0x%08x\n"), (m_is_client == true) ? "client": "server", this)); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::set_am_partner()"); m_am_partner = am_partner; @@ -480,25 +663,24 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::reset_wpa_configuration() +EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::reset_eap_configuration() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::reset_wpa_configuration(): %s, this = 0x%08x\n"), + (EAPL("eapol_am_wlan_authentication_symbian_c::reset_eap_configuration(): %s, this = 0x%08x\n"), (m_is_client == true) ? "client": "server", this)); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::reset_wpa_configuration()"); - - TRAPD(error, ReadWPASettingsL()); + + TRAPD(error, ReadEAPSettingsL()); if (error != KErrNone) { EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("EAP settings reading from CommDb failed or cancelled(error %d).\n"), error)); + (EAPL("EAP settings reading from CommDb failed or cancelled(err %d).\n"), error)); eap_status_e status(m_am_tools->convert_am_error_to_eapol_error(error)); @@ -518,7 +700,6 @@ TRACE_FLAGS_DEFAULT, (EAPL("eapol_am_wlan_authentication_symbian_c::send_error_notification, error=%d\n"), error)); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::send_error_notification()"); eap_general_state_variable_e general_state_variable(eap_general_state_authentication_error); @@ -567,7 +748,6 @@ (m_is_client == true) ? "client": "server", this, dynamic_cast(this))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::set_wlan_parameters()"); m_WPA_override_enabled = WPA_override_enabled; @@ -595,18 +775,11 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT void eapol_am_wlan_authentication_symbian_c::state_notification( +void eapol_am_wlan_authentication_symbian_c::state_notification( const abs_eap_state_notification_c * const state) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::state_notification(): this = 0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::state_notification()"); - EAP_UNREFERENCED_PARAMETER(state); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -626,7 +799,6 @@ (m_is_client == true) ? "client": "server", this, dynamic_cast(this))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::association()"); eap_status_e status = m_receive_network_id.set_copy_of_network_id(receive_network_id); @@ -650,7 +822,6 @@ (m_is_client == true) ? "client": "server", this, dynamic_cast(this))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::disassociation()"); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); @@ -658,6 +829,181 @@ //-------------------------------------------------- +#ifdef USE_EAP_EXPANDED_TYPES + +EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::get_selected_eap_types( + eap_array_c * const selected_eap_types) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::get_selected_eap_types(): %s, this = 0x%08x => 0x%08x\n"), + (m_is_client == true) ? "client": "server", + this, + dynamic_cast(this))); + + eap_status_e status = selected_eap_types->reset(); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + eap_header_string_c eap_string; + EAP_UNREFERENCED_PARAMETER(eap_string); + + // We need to return only the EAP types available as enabled types. + // It means only the ones available in m_enabled_expanded_eap_array. + + for (TInt i = 0; i < m_enabled_expanded_eap_array.Count(); i++) + { + TBuf8 tmpExpEAP(m_enabled_expanded_eap_array[i]->EapExpandedType); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::get_selected_eap_types:Enabled expanded EAP type at index=%d\n"), + i)); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Enabled expanded EAP type"), + tmpExpEAP.Ptr(), + tmpExpEAP.Size())); + + // This is for one expanded EAP type (for the above one). + eap_expanded_type_c expandedEAPType; + + // Read the expanded EAP type details from an item in m_enabled_expanded_eap_array. + status = eap_expanded_type_c::read_type(m_am_tools, + 0, + tmpExpEAP.Ptr(), + tmpExpEAP.Size(), + &expandedEAPType); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + // Add EAP-type to list. + eap_type_selection_c * selection = new eap_type_selection_c( + m_am_tools, + expandedEAPType, + true); + if (selection != 0) + { + status = selected_eap_types->add_object(selection, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("get_selected_eap_types(): added EAP-type=0x%08x=%s\n"), + expandedEAPType.get_vendor_type(), + eap_string.get_eap_type_string(expandedEAPType))); + } + else + { + // On error we ignore this EAP-type. + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Some problem with EAP type at index %d in m_enabled_expanded_eap_array\n"), + i)); + } + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +//-------------------------------------------------- + +#else // for non-expanded (normal EAP types) + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::get_selected_eap_types( + eap_array_c * const selected_eap_types) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::get_selected_eap_types(): %s, this = 0x%08x => 0x%08x\n"), + (m_is_client == true) ? "client": "server", + this, + dynamic_cast(this))); + + eap_status_e status = selected_eap_types->reset(); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + eap_header_string_c eap_string; + EAP_UNREFERENCED_PARAMETER(eap_string); + + TEap *eapType = 0; + + for (TInt i = 0; i < m_iap_eap_array.Count(); i++) + { + // Check if type is enabled + eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + TLex8 tmp(eapType->UID); + TInt val(0); + tmp.Val(val); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("get_selected_eap_types(): adds EAP-type=0x%08x=%s\n"), + static_cast(val), + eap_string.get_eap_type_string( + static_cast( + static_cast(val))))); + + // Add EAP-type to list. + eap_type_selection_c * selection = new eap_type_selection_c( + m_am_tools, + static_cast(static_cast(val)), + true); + if (selection != 0) + { + status = selected_eap_types->add_object(selection, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + else + { + // On error we ignore this EAP-type. + } + } + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); +} + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + +//-------------------------------------------------- + EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::get_wlan_configuration( eap_variable_data_c * const wpa_preshared_key_hash) { @@ -670,7 +1016,6 @@ (m_is_client == true) ? "client": "server", this, dynamic_cast(this))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::get_wlan_configuration()"); eap_status_e status = wpa_preshared_key_hash->set_copy_of_buffer(&m_wpa_preshared_key_hash); @@ -682,7 +1027,7 @@ EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::authentication_finished( const bool when_true_successfull, - const eap_type_value_e /* eap_type */, + const eap_type_value_e eap_type, const eapol_key_authentication_type_e authentication_type) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -694,13 +1039,46 @@ (m_is_client == true) ? "client": "server", this, dynamic_cast(this))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::authentication_finished()"); if (when_true_successfull == true) { if (authentication_type != eapol_key_authentication_type_RSNA_PSK && authentication_type != eapol_key_authentication_type_WPA_PSK) { + +#ifdef USE_EAP_EXPANDED_TYPES + + // This moves the successful type to be the top priority type in IAP settings. + TRAPD(err, SetToTopPriorityL(eap_type)); + if (err != KErrNone) + { + // Just log the error. + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("state_notification: SetToTopPriorityL() Expanded EAP type - leave with error=%d!\n"), + err)); + } + +#else // For normal EAP types + + TEap eap; + eap.Enabled = ETrue; + eap.UID.Num(static_cast(convert_eap_type_to_u32_t(eap_type))); + + // This moves the successful type to be the top priority type in IAP settings. + TRAPD(err, SetToTopPriorityL(&eap)); + if (err != KErrNone) + { + // Just log the error. + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("state_notification: SetToTopPriorityL leaved!\n"))); + } + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + // Move the active eap type index to the first type m_am_partner->set_current_eap_index(0ul); } @@ -725,11 +1103,19 @@ (m_is_client == true) ? "client": "server", this, dynamic_cast(this))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::read_database_reference_values()"); + + eap_variable_data_c database_reference(m_am_tools); + + eap_status_e status = m_wlan_database_reference->get_wlan_database_reference_values(&database_reference); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } const eapol_wlan_database_reference_values_s * const database_reference_values = reinterpret_cast( - m_database_reference.get_data(sizeof(eapol_wlan_database_reference_values_s))); + database_reference.get_data(sizeof(eapol_wlan_database_reference_values_s))); if (database_reference_values == 0) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -752,6 +1138,351 @@ //-------------------------------------------------- +EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::load_module( + const eap_type_value_e type, + const eap_type_value_e tunneling_type, + abs_eap_base_type_c * const partner, + eap_base_type_c ** const eap_type_if, + const bool is_client_when_true, + const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. + ) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::load_module(type %d=%s, tunneling_type %d=%s)\n"), + convert_eap_type_to_u32_t(type), + eap_header_string_c::get_eap_type_string(type), + convert_eap_type_to_u32_t(tunneling_type), + eap_header_string_c::get_eap_type_string(tunneling_type))); + + eap_status_e status(eap_status_process_general_error); + +#ifdef USE_EAP_EXPANDED_TYPES + + CEapType* eapType = 0; + TInt error(KErrNone); + + // Check if this EAP type has already been loaded + TInt eapArrayIndex = find( + &m_eap_type_array, + &type, + m_am_tools); + + if (eapArrayIndex >= 0) + { + // We found the entry in the array. + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::load_module(type %d=%s, tunneling_type %d=%s) already loaded.\n"), + convert_eap_type_to_u32_t(type), + eap_header_string_c::get_eap_type_string(type), + convert_eap_type_to_u32_t(tunneling_type), + eap_header_string_c::get_eap_type_string(tunneling_type))); + + // Yep. It was loaded already. + eapType = m_plugin_if_array[eapArrayIndex]; + } + else + { + TIndexType index_type(ELan); + TUint index(0UL); + + status = read_database_reference_values( + &index_type, + &index); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::load_module(type %d=%s, tunneling_type %d=%s) load new, index type=%d, index=%d.\n"), + convert_eap_type_to_u32_t(type), + eap_header_string_c::get_eap_type_string(type), + convert_eap_type_to_u32_t(tunneling_type), + eap_header_string_c::get_eap_type_string(tunneling_type), + index_type, + index)); + + TBuf8 ExpandedCue; + + // Some indirect way of forming the 8 byte string of an EAP type for the cue is needed here. + TUint8 tmpExpCue[KExpandedEAPSize]; + + // This is to make the tmpExpCue in 8 byte string with correct vendor type and vendor id details. + status = eap_expanded_type_c::write_type(m_am_tools, + 0, // index should be zero here. + tmpExpCue, + KExpandedEAPSize, + true, + type); + if (status != eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("load_module: eap_expanded_type_c::write_type failed \n"))); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + // Now copy the 8 byte string to the real expanded cue. + ExpandedCue.Copy(tmpExpCue, KExpandedEAPSize); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAPOL:eapol_am_wlan_authentication_symbian_c::load_module: Expanded CUE:"), + ExpandedCue.Ptr(), + ExpandedCue.Size())); + + + // We must have a trap here since the EAPOL core knows nothing about Symbian. + TRAP(error, (eapType = CEapType::NewL( + ExpandedCue, + index_type, + index))); + if (error != KErrNone + || eapType == 0) + { + // Interface not found or implementation creation function failed + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ECom could not find/initiate implementation.\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + } + +#else // For normal EAP types + + TBuf8 cue; + cue.Num(static_cast(convert_eap_type_to_u32_t(type))); + CEapType* eapType = 0; + TInt error(KErrNone); + + // Check if this EAP type has already been loaded + TInt eapArrayIndex = m_eap_type_array.Find(type); + if (eapArrayIndex != KErrNotFound) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::load_module(type %d=%s, tunneling_type %d=%s) already loaded.\n"), + convert_eap_type_to_u32_t(type), + eap_header_string_c::get_eap_type_string(type), + convert_eap_type_to_u32_t(tunneling_type), + eap_header_string_c::get_eap_type_string(tunneling_type))); + + // Yep. It was loaded already. + eapType = m_plugin_if_array[eapArrayIndex]; + } + else + { + TIndexType index_type(ELan); + TUint index(0UL); + + status = read_database_reference_values( + &index_type, + &index); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::load_module(type %d=%s, tunneling_type %d=%s) load new, index type=%d, index=%d.\n"), + convert_eap_type_to_u32_t(type), + eap_header_string_c::get_eap_type_string(type), + convert_eap_type_to_u32_t(tunneling_type), + eap_header_string_c::get_eap_type_string(tunneling_type), + index_type, + index)); + + // We must have a trap here since the EAPOL core knows nothing about Symbian. + TRAP(error, (eapType = CEapType::NewL( + cue, + index_type, + index))); + if (error != KErrNone + || eapType == 0) + { + // Interface not found or implementation creation function failed + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ECom could not find/initiate implementation.\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + } + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + // Set the tunneling type + eapType->SetTunnelingType(convert_eap_type_to_u32_t(tunneling_type)); + + // Create the EAP protocol interface implementation. + +#ifdef USE_EAP_SIMPLE_CONFIG + + TRAP(error, (*eap_type_if = eapType->GetStackInterfaceL(m_am_tools, + partner, + is_client_when_true, + receive_network_id, + this))); + +#else + + TRAP(error, (*eap_type_if = eapType->GetStackInterfaceL(m_am_tools, + partner, + is_client_when_true, + receive_network_id))); + +#endif // #ifdef USE_EAP_SIMPLE_CONFIG + + + if (error != KErrNone + || *eap_type_if == 0 + || (*eap_type_if)->get_is_valid() == false) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Could not create EAP type interface instance. Error: %d\n"), error)); + + status = eap_status_allocation_error; + // Unload DLL (two ways, depending whether this type was already loaded...) + if (eapArrayIndex == KErrNotFound) + { + // No need to call shutdown here because GetStackInterfaceL has done it. + delete eapType; + } + else + { + unload_module(type); + } + // Note: even in error cases eap_core_c deletes eap_type_if + } + else + { + status = eap_status_ok; + if (eapArrayIndex == KErrNotFound) + { + // Add plugin information to the member arrays. There is no need to store eap_type pointer because + // the stack takes care of its deletion. + if (m_plugin_if_array.Append(eapType) != KErrNone) + { + delete eapType; + status = eap_status_allocation_error; + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + +#ifdef USE_EAP_EXPANDED_TYPES + + eap_type_value_e * tmpEAPType = new eap_type_value_e(); + if(tmpEAPType == NULL) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::load_module() eap_type_value_e creation failed\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + *tmpEAPType = type; + + status = m_eap_type_array.add_object(tmpEAPType, true); + + if (status != eap_status_ok) + +#else // For normal EAP type. + + if (m_eap_type_array.Append(type) != KErrNone) + +#endif // #ifdef USE_EAP_EXPANDED_TYPES + { + // Remove the eap type added just previously + m_plugin_if_array.Remove(m_plugin_if_array.Count() - 1); + delete eapType; + status = eap_status_allocation_error; + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::unload_module( + const eap_type_value_e type) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::unload_module(): %s, this = 0x%08x => 0x%08x\n"), + (m_is_client == true) ? "client": "server", + this, + dynamic_cast(this))); + + eap_status_e status(eap_status_type_does_not_exists_error); + +#ifdef USE_EAP_EXPANDED_TYPES + + // Check if this EAP type has already been loaded + TInt index = find( + &m_eap_type_array, + &type, + m_am_tools); + + if (index >= 0) + { + // EAP was loaded before. + + delete m_plugin_if_array[index]; + m_plugin_if_array.Remove(index); + + status = m_eap_type_array.remove_object(index); + } + +#else // For normal EAP types. + + TInt index = m_eap_type_array.Find(type); + if (index != KErrNotFound) + { + delete m_plugin_if_array[index]; + m_plugin_if_array.Remove(index); + m_eap_type_array.Remove(index); + status = eap_status_ok; + } + +#endif // #ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::read_configure( const eap_configuration_field_c * const field, eap_variable_data_c * const data) @@ -766,8 +1497,7 @@ (m_is_client == true) ? "client": "server", this, dynamic_cast(this))); - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, TRACE_FLAGS_DEFAULT, "returns: eapol_am_wlan_authentication_symbian_c::read_configure()"); - + // Trap must be set here because the OS independent portion of EAPOL // that calls this function does not know anything about Symbian. eap_status_e status(eap_status_ok); @@ -785,7 +1515,7 @@ if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + return status; } status = type_field.set_buffer( @@ -796,55 +1526,220 @@ if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + return status; } + eap_type_value_e aSelectedEapType; + +#ifdef USE_EAP_EXPANDED_TYPES + + if (!wanted_field.compare(&type_field)) + { + TInt ind; + + // First check do we have read configuration from databases. + if (m_enabled_expanded_eap_array.Count() == 0) + { + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAP settings not read from CommsDat\n"))); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); + } + + // Now we need to return here the next EAP type we should try + for (ind = m_am_partner->get_current_eap_index(); ind < m_enabled_expanded_eap_array.Count(); ind++) + { + // Find the highest priority EAP with index "ind". + + TBuf8 tmpExpEAP(m_enabled_expanded_eap_array[ind]->EapExpandedType); + + status = data->set_copy_of_buffer(tmpExpEAP.Ptr(), tmpExpEAP.Size()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAPOL:eapol_am_wlan_authentication_symbian_c::read_configure: Trying EAP type:"), + tmpExpEAP.Ptr(), + tmpExpEAP.Size())); + status = eap_expanded_type_c::read_type(m_am_tools, + 0, + tmpExpEAP.Ptr(), + tmpExpEAP.Size(), + &aSelectedEapType); + if (status == eap_status_ok) + { + break; + } + } + + // Set the index of new EAP type we are trying now. + m_am_partner->set_current_eap_index(ind); + + if (ind >= m_enabled_expanded_eap_array.Count()) + { + // Not found any other EAP type as enabled. + // Send WLM notification because there is no way that the authentication + // can be successful if we don't have any EAP types to use... + if (m_is_client) + { + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: read_configure: No configured EAP types or all tried unsuccessfully.\n"))); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_field); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + +#else // For normal non-expanded EAP + + if (!wanted_field.compare(&type_field)) + { + TInt ind; + + // First check do we have read configuration from databases. + if (m_iap_eap_array.Count() == 0) + { + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAP settings not read from CommDb\n"))); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); + } + + // We need to return here the next EAP type we should try + for (ind = m_am_partner->get_current_eap_index(); ind < m_iap_eap_array.Count(); ind++) + { + // Find the first enabled EAP type (highest priority) + TEap *eapType = m_iap_eap_array[ind]; + if (eapType->Enabled == 1) + { + // Convert the string to integer + TLex8 tmp(eapType->UID); + TInt val(0); + tmp.Val(val); + status = data->set_copy_of_buffer(reinterpret_cast(&val), sizeof(TUint)); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAPOL: Trying EAP type: %d.\n"), val)); + aSelectedEapType = val; + break; + } + } + + m_am_partner->set_current_eap_index(ind); + if (ind >= m_iap_eap_array.Count()) + { + // Not found + // Send WLM notification because there is no way that the authentication + // can be successful if we don't have any EAP types to use... + if (m_is_client) + { + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: No configured EAP types or all tried unsuccessfully.\n"))); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_field); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + // It was something else than EAP type. Read it from eapol DB. _LIT( KEapolTableName, "eapol" ); - - TFileName aPrivateDatabasePathName; - - TRAPD(err, EapPluginTools::GetPrivatePathL( - m_session, - aPrivateDatabasePathName)); - - if (err) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err)); - } - - aPrivateDatabasePathName.Append(KEapolDatabaseName); - - EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName", - aPrivateDatabasePathName.Ptr(), - aPrivateDatabasePathName.Size())); - - TRAPD( error, read_configureL( - aPrivateDatabasePathName, + TRAPD( err, read_configureL( + KDatabaseName, KEapolTableName, field->get_field(), field->get_field_length(), data) ); - // Try to read it for eap fast DB - HBufC8* fieldBuf = HBufC8::New( field->get_field_length() ); - - eap_automatic_variable_c automatic_fieldBuf( - m_am_tools, - fieldBuf); - - if (fieldBuf == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } + HBufC8* fieldBuf = HBufC8::NewLC( field->get_field_length() ); TPtr8 fieldPtr = fieldBuf->Des(); fieldPtr.Copy( reinterpret_cast ( field->get_field() )); - if (error != KErrNone) + _LIT8(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal, "EAP_TLS_PEAP_use_identity_privacy"); + + if ( err != KErrNone && + fieldPtr.Compare( cf_str_EAP_TLS_PEAP_use_identity_privacy_literal() ) == 0 ) + { + if (aSelectedEapType == eap_type_tls) + { + _LIT(KGeneralSettingsDBTableName, "KTlsDatabaseTableName"); + TRAP( err, read_configureL( + KDatabaseName, + KGeneralSettingsDBTableName, + field->get_field(), + field->get_field_length(), + data) ); + + } + if (aSelectedEapType == eap_type_peap) + { + _LIT(KGeneralSettingsDBTableName, "KPeapDatabaseTableName"); + TRAP( err, read_configureL( + KDatabaseName, + KGeneralSettingsDBTableName, + field->get_field(), + field->get_field_length(), + data) ); + } + if (aSelectedEapType == eap_type_ttls) + { + _LIT(KGeneralSettingsDBTableName, "KTtlsDatabaseTableName"); + TRAP( err, read_configureL( + KDatabaseName, + KGeneralSettingsDBTableName, + field->get_field(), + field->get_field_length(), + data) ); + } +#if defined (USE_FAST_EAP_TYPE) + if ( aSelectedEapType == eap_type_fast) + { + _LIT(KFastGeneralSettingsDBTableName, "eapfast_general_settings"); + TRAP( err, read_configureL( + KFastDatabaseName, + KFastGeneralSettingsDBTableName, + field->get_field(), + field->get_field_length(), + data) ); + } +#endif + } + CleanupStack::PopAndDestroy( fieldBuf ); + + if (err != KErrNone) { - status = m_am_tools->convert_am_error_to_eapol_error(error); + status = m_am_tools->convert_am_error_to_eapol_error(err); #if defined(USE_EAP_FILECONFIG) if (m_fileconfig != 0 @@ -857,7 +1752,6 @@ } #endif //#if defined(USE_EAP_FILECONFIG) } - m_am_tools->trace_configuration( status, field, @@ -877,27 +1771,15 @@ eap_variable_data_c * const data) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::read_configureL(): %s, this = 0x%08x => 0x%08x\n"), - (m_is_client == true) ? "client": "server", - this, - dynamic_cast(this))); - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, TRACE_FLAGS_DEFAULT, "returns: eapol_am_wlan_authentication_symbian_c::read_configureL()"); - + // Open database RDbNamedDatabase db; - TInt error = db.Open(m_session, aDbName); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::read_configureL(): db.Open(), error = %d\n"), - error)); - - User::LeaveIfError(error); +#ifdef SYMBIAN_SECURE_DBMS + User::LeaveIfError(db.Open(m_session, aDbName, KSecureUIDFormat)); +#else + User::LeaveIfError(db.Open(m_session, aDbName)); +#endif // #ifdef SYMBIAN_SECURE_DBMS CleanupClosePushL(db); @@ -940,8 +1822,7 @@ status = data->set_copy_of_buffer(asciiString.Ptr(), asciiString.Size()); if (status != eap_status_ok) { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status))); + User::Leave(KErrNoMemory); } } else @@ -958,8 +1839,7 @@ status = data->set_copy_of_buffer((const unsigned char *) &value, sizeof(value)); if (status != eap_status_ok) { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status))); + User::Leave(KErrNoMemory); } } break; @@ -967,7 +1847,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: read_configureL: Unexpected column type.\n"))); + (EAPL("read_configureL: Unexpected column type.\n"))); User::Panic(_L("EAPOL"), 1); } } @@ -977,17 +1857,12 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: read_configureL: Could not find configuration parameter.\n"))); - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, eap_status_not_found))); + (EAPL("read_configureL: Could not find configuration parameter.\n"))); + User::Leave(KErrNotFound); } // Close database - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); - CleanupStack::PopAndDestroy(unicodebuf); - CleanupStack::PopAndDestroy(asciibuf); - CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(5); // view, 3 buffers and database EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1017,13 +1892,6 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::set_timer(): this = 0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::set_timer()"); - const eap_status_e status = m_am_tools->am_set_timer( p_initializer, p_id, @@ -1042,13 +1910,6 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::cancel_timer(): this = 0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::cancel_timer()"); - const eap_status_e status = m_am_tools->am_cancel_timer( p_initializer, p_id); @@ -1063,13 +1924,6 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::cancel_all_timers(): this = 0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::cancel_all_timers()"); - const eap_status_e status = m_am_tools->am_cancel_all_timers(); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1078,39 +1932,315 @@ //-------------------------------------------------- -void eapol_am_wlan_authentication_symbian_c::RetrievePSKL(TPSKEntry& entry) +EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::check_is_valid_eap_type(const eap_type_value_e eap_type) { + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + eap_header_string_c eap_string; + EAP_UNREFERENCED_PARAMETER(eap_string); + EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::RetrievePSKL(): this = 0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::RetrievePSKL()"); - - // Open database - RDbNamedDatabase db; - - TFileName aPrivateDatabasePathName; - - EapPluginTools::GetPrivatePathL( - m_session, - aPrivateDatabasePathName); - - aPrivateDatabasePathName.Append(KEapolDatabaseName); - - EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName", - aPrivateDatabasePathName.Ptr(), - aPrivateDatabasePathName.Size())); - - TInt error = db.Open(m_session, aPrivateDatabasePathName); + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::check_is_valid_eap_type(): %s, this = 0x%08x => 0x%08x, EAP-type=0x%08x=%s\n"), + (m_is_client == true) ? "client": "server", + this, + dynamic_cast(this), + convert_eap_type_to_u32_t(eap_type), + eap_string.get_eap_type_string(eap_type))); + +#ifdef USE_EAP_EXPANDED_TYPES + + for (int i = 0; i < m_enabled_expanded_eap_array.Count(); i++) + { + TBuf8 tmpExpEAP(m_enabled_expanded_eap_array[i]->EapExpandedType); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::check_is_valid_eap_type:Enabled expanded EAP type at index=%d\n"), + i)); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Enabled expanded EAP type:"), + tmpExpEAP.Ptr(), + tmpExpEAP.Size())); + + // This is for one expanded EAP type (for the above one). + eap_expanded_type_c expandedEAPType; + + // Read the expanded EAP type details for this item in m_enabled_expanded_eap_array. + eap_status_e status = eap_expanded_type_c::read_type(m_am_tools, + 0, + tmpExpEAP.Ptr(), + tmpExpEAP.Size(), + &expandedEAPType); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + if (eap_type == expandedEAPType) + { + // This is Allowed and Valid. + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); + } + } + +#else // For normal unexpanded EAP type + + TEap *eapType = 0; + + for (int i = 0; i < m_iap_eap_array.Count(); i++) + { + // Try next EAP type + eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + // Convert the string to integer + TLex8 tmp(eapType->UID); + TInt val(0); + tmp.Val(val); + + if (eap_type == static_cast(val)) + { + // Allowed + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); + } + } + } + +#endif // #ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: %s: check_is_valid_eap_type(): not supported EAP-type=0x%08x=%s\n"), + (m_is_client == true ? "client": "server"), + convert_eap_type_to_u32_t(eap_type), + eap_string.get_eap_type_string(eap_type))); + + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_eap_type); +} + +//-------------------------------------------------- + +EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::get_eap_type_list( + eap_array_c * const eap_type_list) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::RetrievePSKL(): db.Open(), error = %d\n"), - error)); - - User::LeaveIfError(error); + (EAPL("eapol_am_wlan_authentication_symbian_c::get_eap_type_list(): %s, this = 0x%08x => 0x%08x\n"), + (m_is_client == true) ? "client": "server", + this, + dynamic_cast(this))); + + + eap_status_e status(eap_status_illegal_eap_type); + + status = eap_type_list->reset(); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + eap_header_string_c eap_string; + EAP_UNREFERENCED_PARAMETER(eap_string); + +#ifdef USE_EAP_EXPANDED_TYPES + + // This function is same as get_selected_eap_types in behavior. + + // We need to return only the EAP types available as enabled types. + // It means only the ones available in m_enabled_expanded_eap_array. + + for (TInt i = 0; i < m_enabled_expanded_eap_array.Count(); i++) + { + TBuf8 tmpExpEAP(m_enabled_expanded_eap_array[i]->EapExpandedType); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::get_eap_type_list:Enabled expanded EAP type at index=%d\n"), + i)); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Enabled expanded EAP type:"), + tmpExpEAP.Ptr(), + tmpExpEAP.Size())); + + // This is for one expanded EAP type (for the above one). + eap_expanded_type_c * expandedEAPType = new eap_type_value_e(); + + // Read the expanded EAP type details from an item in m_enabled_expanded_eap_array. + status = eap_expanded_type_c::read_type(m_am_tools, + 0, + tmpExpEAP.Ptr(), + tmpExpEAP.Size(), + expandedEAPType); + if (status != eap_status_ok) + { + delete expandedEAPType; + expandedEAPType = 0; + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + // Add EAP-type to list. + status = eap_type_list->add_object(expandedEAPType, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("get_eap_type_list():added EAP-type=0x%08x=%s\n"), + expandedEAPType->get_vendor_type(), + eap_string.get_eap_type_string(*expandedEAPType))); + } + +#else // for normal EAP types. + + TEap *eapType = 0; + + for (TInt i = 0; i < m_iap_eap_array.Count(); i++) + { + // Check if type is enabled + eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + TLex8 tmp(eapType->UID); + TInt val(0); + tmp.Val(val); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("get_eap_type_list(): adds EAP-type=0x%08x=%s\n"), + static_cast(val), + eap_string.get_eap_type_string( + static_cast( + static_cast(val))))); + + eap_type_value_e * const eap_type = new eap_type_value_e( + static_cast(val)); + if (eap_type == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = eap_type_list->add_object(eap_type, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + } + +#endif // #ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); +} + +//-------------------------------------------------- + +// +void eapol_am_wlan_authentication_symbian_c::RunL() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::RunL(): iStatus.Int() = %d\n"), + iStatus.Int())); + + if (iStatus.Int() != KErrNone) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; + } + + // Authentication cancelled. + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Authentication cancelled.\n"))); + + eap_status_e status = m_am_partner->disassociation( + &m_receive_network_id); + if (status != eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("set_timer(EAPOL_AM_CORE_TIMER_DELETE_STACK_ID) failed in RunL().\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; + } + + // Reset index of current EAP-type. + m_am_partner->set_current_eap_index(0ul); + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, + (EAPL("Indication sent to WLM: EFailedCompletely.\n"))); + + m_am_partner->eapol_indication( + &m_receive_network_id, + eapol_wlan_authentication_state_failed_completely); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); +} + +//-------------------------------------------------- + +// +void eapol_am_wlan_authentication_symbian_c::DoCancel() +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::DoCancel()\n"))); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); +} + +//-------------------------------------------------- + +void eapol_am_wlan_authentication_symbian_c::RetrievePSKL(TPSKEntry& entry) +{ + + // Open database + RDbNamedDatabase db; + +#ifdef SYMBIAN_SECURE_DBMS + User::LeaveIfError(db.Open(m_session, KDatabaseName, KSecureUIDFormat)); +#else + User::LeaveIfError(db.Open(m_session, KDatabaseName)); +#endif // #ifdef SYMBIAN_SECURE_DBMS CleanupClosePushL(db); @@ -1143,22 +2273,13 @@ entry.password.Copy(view.ColDes8(4)); entry.psk.Copy(view.ColDes8(5)); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(sqlbuf); - CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(3); // view, buf, database } //-------------------------------------------------- void eapol_am_wlan_authentication_symbian_c::SavePSKL(TPSKEntry& entry) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::SavePSKL(): this = 0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::SavePSKL()"); - // Connect to CommDBif so that we can delete PSK entries that have no IAP associated anymore. CWLanSettings* wlan_settings = new(ELeave) CWLanSettings; CleanupStack::PushL(wlan_settings); @@ -1174,19 +2295,11 @@ // Open database RDbNamedDatabase db; - TFileName aPrivateDatabasePathName; - - EapPluginTools::GetPrivatePathL( - m_session, - aPrivateDatabasePathName); - - aPrivateDatabasePathName.Append(KEapolDatabaseName); - - EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName", - aPrivateDatabasePathName.Ptr(), - aPrivateDatabasePathName.Size())); - - User::LeaveIfError(db.Open(m_session, aPrivateDatabasePathName)); +#ifdef SYMBIAN_SECURE_DBMS + User::LeaveIfError(db.Open(m_session, KDatabaseName, KSecureUIDFormat)); +#else + User::LeaveIfError(db.Open(m_session, KDatabaseName)); +#endif // #ifdef SYMBIAN_SECURE_DBMS CleanupClosePushL(db); @@ -1210,7 +2323,7 @@ // Delete old row and also rows that have no associated IAP settings. if (view.FirstL()) - { + { do { view.GetL(); @@ -1239,37 +2352,32 @@ CleanupStack::PopAndDestroy( colSet ); // Delete colSet. - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(sqlbuf); - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(wlan_settings); + CleanupStack::PopAndDestroy(4); // CWLanSettings, database, buffer, view } //-------------------------------------------------- // -void eapol_am_wlan_authentication_symbian_c::ReadWPASettingsL() +void eapol_am_wlan_authentication_symbian_c::ReadEAPSettingsL() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::ReadWPASettingsL(): %s, this = 0x%08x => 0x%08x\n"), + (EAPL("eapol_am_wlan_authentication_symbian_c::ReadEAPSettingsL(): %s, this = 0x%08x => 0x%08x\n"), (m_is_client == true) ? "client": "server", this, dynamic_cast(this))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::ReadWPASettingsL()"); eap_status_e status(eap_status_ok); - if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS) + status = reset_eap_plugins(); + if (status != eap_status_ok) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, (EAPL("WPS does not use CommDbIf anymore.\n"))); - return; + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); } TIndexType index_type(ELan); @@ -1289,28 +2397,253 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("WLAN settings: m_WPA_override_enabled=%d\n"), + (EAPL("Beginning to read IAP settings - Type: %d, Index: %d.\n"), index_type, index)); + + CWLanSettings* wlan_settings = new(ELeave) CWLanSettings; + CleanupStack::PushL(wlan_settings); + SWLANSettings wlanSettings; + if (wlan_settings->Connect() != KErrNone) + { + // Could not connect to CommDB + User::Leave(KErrCouldNotConnect); + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, (EAPL("Connected to CommDbIf.\n"))); + + if (wlan_settings->GetWlanSettingsForService(index, wlanSettings) != KErrNone) + { + wlan_settings->Disconnect(); + User::Leave(KErrUnknown); + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Got WLAN settings: wlanSettings.EnableWpaPsk=%d, m_WPA_override_enabled=%d\n"), + wlanSettings.EnableWpaPsk, m_WPA_override_enabled)); EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("m_wpa_preshared_key"), - m_wpa_preshared_key.get_data(), - m_wpa_preshared_key.get_data_length())); - - EAP_TRACE_DATA_DEBUG( + (EAPL("WPA-PSK"), + wlanSettings.WPAPreSharedKey.Ptr(), + wlanSettings.WPAPreSharedKey.Size())); + +#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Beginning to read EAP Data using new Comm_DB_if for expanded eap type\n"))); + + wlan_settings->GetEapDataL(m_enabled_expanded_eap_array, m_disabled_expanded_eap_array); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Enabled EAP count=%d, Disabled EAP count=%d\n"), + m_enabled_expanded_eap_array.Count(), m_disabled_expanded_eap_array.Count())); + + + +#else + // Without expanded EAP type. Normal EAP type stuff. + wlan_settings->GetEapDataL(m_iap_eap_array); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("m_SSID"), - m_SSID.get_data(), - m_SSID.get_data_length())); + (EAPL("Got EAP data:\n"))); + +#ifdef USE_EAP_EXPANDED_TYPES + + // Reading enabled. + for (TInt i = 0; i < m_enabled_expanded_eap_array.Count(); i++) + { + TBuf8 tmpExpEAP(m_enabled_expanded_eap_array[i]->EapExpandedType); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::ReadEAPSettingsL:Enabled expanded EAP type at index=%d\n"), + i)); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Enabled expanded EAP type:"), + tmpExpEAP.Ptr(), + tmpExpEAP.Size())); + } + + // Now reading disabled. + for (TInt i = 0; i < m_disabled_expanded_eap_array.Count(); i++) + { + TBuf8 tmpExpEAP(m_disabled_expanded_eap_array[i]->EapExpandedType); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::ReadEAPSettingsL:Disabled expanded EAP type at index=%d\n"), + i)); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Disabled expanded EAP type:"), + tmpExpEAP.Ptr(), + tmpExpEAP.Size())); + } + +#else // Normal EAP type. + + for (TInt i = 0; i < m_iap_eap_array.Count(); i++) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAP type %d\n"), + i)); + + TLex8 tmp(m_iap_eap_array[i]->UID); + TInt val(0); + tmp.Val(val); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL(" UID: %d\n"), val)); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL(" Enabled: %d\n"), + m_iap_eap_array[i]->Enabled)); + } + +#endif // #ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("End EAP data:\n"))); + + +#ifndef USE_EAP_EXPANDED_TYPES + +// There can not be a situation where all EAPs are disabled. + + if (m_iap_eap_array.Count() == 0) + { + +#if defined(USE_EAP_ALLOW_ALL_EAP_TYPES_WHEN_NONE_IS_ACTIVATED_IN_CONFIGURATION) + + // The EAP field was empty. Allow all types. + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Empty EAP field -> enable all types.\n"))); + + RImplInfoPtrArray eapArray; + + REComSession::ListImplementationsL(KEapTypeInterfaceUid, eapArray); + + TEap *eap; + for (TInt i = 0; i < eapArray.Count(); i++) + { + eap = new(ELeave) TEap; + eap->UID.Copy(eapArray[i]->DataType()); + eap->Enabled = ETrue; + m_iap_eap_array.Append(eap); + } + + eapArray.ResetAndDestroy(); + +#else + + // The EAP field was empty. Allow EAP-SIM only. + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Empty EAP field -> enable EAP-SIM only.\n"))); + + { + TBuf8<3> eap_sim_uid = _L8("018"); + + TEap *eap = new(ELeave) TEap; + eap->UID.Copy(eap_sim_uid); + eap->Enabled = ETrue; + m_iap_eap_array.Append(eap); + } + +#endif //#if defined(USE_EAP_ALLOW_ALL_EAP_TYPES_WHEN_NONE_IS_ACTIVATED_IN_CONFIGURATION) + + } + +#endif // #ifndef USE_EAP_EXPANDED_TYPES + + // Get security mode + if (m_WPA_override_enabled == false) + { + m_security_mode = static_cast(wlanSettings.SecurityMode); + } + else + { + // WPA override is enabled + m_security_mode = Wpa; + } // Get WPA pre shared key & SSID if (m_is_client == true + && (wlanSettings.EnableWpaPsk + || m_WPA_override_enabled == true) && (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_RSNA_PSK || m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPA_PSK)) { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Uses WPAPSK: wlanSettings.EnableWpaPsk=%d\n"), + wlanSettings.EnableWpaPsk)); + + // When not using easy WLAN there is no WPA PSK override. + if (m_WPA_override_enabled == false) + { + status = m_wpa_preshared_key.set_copy_of_buffer( + wlanSettings.WPAPreSharedKey.Ptr(), + wlanSettings.WPAPreSharedKey.Size()); + if (status != eap_status_ok) + { + send_error_notification(eap_status_key_error); + wlan_settings->Disconnect(); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + + // Here we copy the SSID read from IAP. + TBuf8 tmp; + tmp.Copy(wlanSettings.SSID); + status = m_SSID.set_copy_of_buffer(tmp.Ptr(), tmp.Size()); + if (status != eap_status_ok) + { + wlan_settings->Disconnect(); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + } + else + { + // In override mode SSID is stored to m_SSID + // and password is stored to m_wpa_preshared_key. + } + TPSKEntry pskEntry; pskEntry.indexType = index_type; pskEntry.index = index; @@ -1318,12 +2651,12 @@ pskEntry.password.Zero(); pskEntry.psk.Zero(); - TInt error(KErrNone); + TInt err(KErrNone); // Retrieve saved PSK only when override is not in effect - TRAP(error, RetrievePSKL(pskEntry)); + TRAP(err, RetrievePSKL(pskEntry)); - if (error != KErrNone + if (err != KErrNone || m_SSID.compare(pskEntry.ssid.Ptr(), pskEntry.ssid.Size()) != 0 || m_wpa_preshared_key.compare(pskEntry.password.Ptr(), pskEntry.password.Size()) != 0) { @@ -1343,6 +2676,7 @@ if (status != eap_status_ok) { send_error_notification(eap_status_key_error); + wlan_settings->Disconnect(); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); } @@ -1351,6 +2685,7 @@ if (status != eap_status_ok) { send_error_notification(eap_status_key_error); + wlan_settings->Disconnect(); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); } @@ -1364,6 +2699,7 @@ || target_length != EAPOL_WPA_PSK_LENGTH_BYTES) { send_error_notification(eap_status_key_error); + wlan_settings->Disconnect(); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); } @@ -1380,6 +2716,7 @@ if (status != eap_status_ok) { send_error_notification(eap_status_key_error); + wlan_settings->Disconnect(); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); } @@ -1433,6 +2770,7 @@ if (status != eap_status_ok) { send_error_notification(eap_status_key_error); + wlan_settings->Disconnect(); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); } @@ -1459,6 +2797,17 @@ m_wpa_preshared_key_hash.get_data_length())); } } + + wlan_settings->Disconnect(); + CleanupStack::PopAndDestroy(wlan_settings); + + if (m_security_mode != Wlan8021x + && m_security_mode != Wpa + && m_security_mode != Wpa2Only) + { + // Unsupported mode + User::Leave(KErrNotSupported); + } } else { @@ -1471,6 +2820,253 @@ //-------------------------------------------------- +#ifdef USE_EAP_EXPANDED_TYPES + +void eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL(const eap_type_value_e aEapType) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL() - for EXP EAP types\n"))); + + TIndexType index_type(ELan); + TUint index(0UL); + TInt priorityIndex (0); + + eap_status_e status = read_database_reference_values( + &index_type, + &index); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + + if (index_type == ELan) + { + for (TInt i = 0; i < m_enabled_expanded_eap_array.Count(); i++) + { + TBuf8 tmpExpEAP(m_enabled_expanded_eap_array[i]->EapExpandedType); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL:Enabled expanded EAP type at index=%d\n"), + i)); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Enabled expanded EAP type:"), + tmpExpEAP.Ptr(), + tmpExpEAP.Size())); + + // This is for one expanded EAP type (for the above one). + eap_expanded_type_c expandedEAPType; + + // Read the expanded EAP type details for this item in m_enabled_expanded_eap_array. + eap_status_e status = eap_expanded_type_c::read_type(m_am_tools, + 0, + tmpExpEAP.Ptr(), + tmpExpEAP.Size(), + &expandedEAPType); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + + if (aEapType == expandedEAPType) + { + // Found it. This is the EAP type which should be at top priority. + priorityIndex = i; + break; + } + } + + if(priorityIndex == 0) + { + // This means this EAP type is already at the top priority. + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL() - This is already at top\n"))); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; + } + + if (priorityIndex >= m_enabled_expanded_eap_array.Count()) + { + // No such EAP type in enabled list. This should never happen. + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL() - No such EAP in the enabled list\n"))); + + User::Leave(KErrNotFound); + } + + CWLanSettings* wlan = new(ELeave) CWLanSettings; + CleanupStack::PushL(wlan); + SWLANSettings wlanSettings; + if (wlan->Connect() != KErrNone) + { + // Could not connect to CommDB + User::Leave(KErrCouldNotConnect); + } + + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("SetToTopPriorityL():Connected to CommDbIf.\n"))); + + if (wlan->GetWlanSettingsForService(index, wlanSettings) != KErrNone) + { + wlan->Disconnect(); + User::Leave(KErrUnknown); + } + + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("SetToTopPriorityL():Got WLAN settings.\n"))); + + // Change the order + SEapExpandedType* TopPriorityEAP(m_enabled_expanded_eap_array[priorityIndex]); + + m_enabled_expanded_eap_array.Remove(priorityIndex); // This does not delete the object + + m_enabled_expanded_eap_array.Insert(TopPriorityEAP, 0); // Insert in the beginning. + + wlan->SetEapDataL(m_enabled_expanded_eap_array, m_disabled_expanded_eap_array); + + wlan->Disconnect(); + + CleanupStack::PopAndDestroy(wlan); + } + else + { + // At the moment only LAN bearer is supported. + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL() - LEAVE - only LAN bearer is supported\n"))); + + User::Leave(KErrNotSupported); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); +} + +#else // For normal EAP types + +void eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL(const TEap* const aEapType) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::SetToTopPriorityL()\n"))); + + TIndexType index_type(ELan); + TUint index(0UL); + + eap_status_e status = read_database_reference_values( + &index_type, + &index); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + User::Leave(m_am_tools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(m_am_tools, status))); + } + + if (index_type == ELan) + { + TInt i(0); + TBuf8<3> uid; + for (i = 0; i < m_iap_eap_array.Count(); i++) + { + TEap* eap = m_iap_eap_array[i]; + if (eap->UID[0] == '0') + { + // Cut the leading zero + uid.Copy(eap->UID.Right(eap->UID.Length()-1)); + } + else + { + uid.Copy(eap->UID); + } + if (eap->Enabled == aEapType->Enabled + && uid.Compare(aEapType->UID) == 0) + { + // Found + break; + } + } + if (i >= m_iap_eap_array.Count()) + { + // This should never happen + User::Leave(KErrNotFound); + } + + TLex8 tmp(aEapType->UID); + TInt val(0); + tmp.Val(val); + + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Setting to top priority:\n"))); + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Old index: %d\n"), i)); + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL(" UID: %d\n"), val)); + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL(" Enabled: %d\n"), aEapType->Enabled)); + + if (i == 0) + { + // Already at the highest priority + return; + } + + CWLanSettings* wlan = new(ELeave) CWLanSettings; + CleanupStack::PushL(wlan); + SWLANSettings wlanSettings; + if (wlan->Connect() != KErrNone) + { + // Could not connect to CommDB + User::Leave(KErrCouldNotConnect); + } + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Connected to CommDbIf.\n"))); + + if (wlan->GetWlanSettingsForService(index, wlanSettings) != KErrNone) + { + wlan->Disconnect(); + User::Leave(KErrUnknown); + } + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Got WLAN settings.\n"))); + + // Change the order + TEap* eap = m_iap_eap_array[i]; + + m_iap_eap_array.Remove(i); // This does not delete the object + + m_iap_eap_array.Insert(eap, 0); + + wlan->SetEapDataL(m_iap_eap_array); + + wlan->Disconnect(); + + CleanupStack::PopAndDestroy(wlan); + } + else + { + // At the moment only LAN bearer is supported. + User::Leave(KErrNotSupported); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); +} + +#endif // #ifdef USE_EAP_EXPANDED_TYPES + +//-------------------------------------------------- + #if defined(USE_EAP_SIMPLE_CONFIG) EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::save_simple_config_session( @@ -1485,7 +3081,6 @@ TRACE_FLAGS_DEFAULT, (EAPL("%s: eapol_am_wlan_authentication_simulator_c::save_simple_config_session()\n"), (m_is_client == true ? "client": "server"))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::save_simple_config_session()"); eap_status_e status(eap_status_ok); @@ -1504,45 +3099,17 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::set_eap_database_reference_values( - const eap_variable_data_c * const reference) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("%s: eapol_am_wlan_authentication_symbian_c::set_eap_database_reference_values()\n"), - (m_is_client == true ? "client": "server"))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::set_eap_database_reference_values()"); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::set_eap_database_reference_values(): reference"), - reference->get_data(), - reference->get_data_length())); - - eap_status_e status = m_database_reference.set_copy_of_buffer(reference); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - EAP_FUNC_EXPORT eapol_am_wlan_authentication_c * eapol_am_wlan_authentication_c::new_eapol_am_wlan_authentication( abs_eap_am_tools_c * const tools, - const bool is_client_when_true) + const bool is_client_when_true, + const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference) { EAP_TRACE_BEGIN(tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::new_eapol_am_wlan_authentication()\n"))); - EAP_TRACE_RETURN_STRING(tools, "returns: eapol_am_wlan_authentication_symbian_c::new_eapol_am_wlan_authentication()"); - eapol_am_wlan_authentication_c * const wauth = new eapol_am_wlan_authentication_symbian_c( tools, - is_client_when_true); + is_client_when_true, + wlan_database_reference); EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT); return wauth; @@ -1550,82 +3117,6 @@ //-------------------------------------------------- - -// -eap_session_core_base_c * new_eap_core_client_message_if_c( - abs_eap_am_tools_c * const tools, - abs_eap_session_core_c * const partner, - const bool is_client_when_true, - const u32_t MTU) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("new_eap_core_client_message_if_c()\n"))); - EAP_TRACE_RETURN_STRING(tools, "returns: new_eap_core_client_message_if_c()"); - - eap_am_message_if_c *client_if = new_eap_am_client_message_if_c( - tools, - is_client_when_true, - MTU); - - eap_automatic_variable_c automatic_server_if( - tools, - client_if); - - if (client_if == 0 - || client_if->get_is_valid() == false) - { - // ERROR. - if (client_if != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: calls: eap_session_core_base_c::new_eap_core_client_message_if_c(): client_if->shutdown(): %s.\n"), - (is_client_when_true == true) ? "client": "server")); - - (void) client_if->shutdown(); - } - - return 0; - } - - eap_core_client_message_if_c * new_session_core = new eap_core_client_message_if_c(tools, client_if, partner, is_client_when_true); - - eap_automatic_variable_c automatic_new_session_core( - tools, - new_session_core); - - if (new_session_core == 0 - || new_session_core->get_is_valid() == false) - { - // ERROR. - if (new_session_core != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: calls: eap_session_core_base_c::new_eap_core_client_message_if_c(): new_session_core->shutdown(): %s.\n"), - (is_client_when_true == true) ? "client": "server")); - - new_session_core->shutdown(); - } - - (void) client_if->shutdown(); - - return 0; - } - - client_if->set_partner(new_session_core); - - automatic_server_if.do_not_free_variable(); - automatic_new_session_core.do_not_free_variable(); - - return new_session_core; -} - -//-------------------------------------------------- //-------------------------------------------------- //-------------------------------------------------- // End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/core/symbian/file_config/eap_symbian.conf --- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/file_config/eap_symbian.conf Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/file_config/eap_symbian.conf Wed Sep 01 12:23:57 2010 +0100 @@ -1,27 +1,25 @@ # -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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 configuration file -# -# %version: 17 % +# Name : ./wlan_symbian/wlaneapol_symbian/am/core/symbian/file_config/eap_symbian.conf +# Part of : EAPOL / +# Description : Configuration file for EAPOL. +# Version : %version: 16 % +# +# Copyright © 2001-2005 Nokia. All rights reserved. +# This material, including documentation and any related +# computer programs, is protected by copyright controlled by +# Nokia. All rights are reserved. Copying, including +# reproducing, storing, adapting or translating, any +# or all of this material requires the prior written consent of +# Nokia. This material also contains confidential +# information which may not be disclosed to others without the +# prior written consent of Nokia. # EAP_TRACE_disable_traces = bool:false -EAP_TRACE_enable_timer_traces = bool:true +EAP_TRACE_enable_timer_traces = bool:false -EAP_TRACE_enable_timer_queue_traces = bool:true +EAP_TRACE_enable_timer_queue_traces = bool:false EAP_TRACE_output_file_name = string:e:\logs\eapol\eap_core.txt diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/core/symbian/file_config/eap_trace.conf --- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/file_config/eap_trace.conf Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/file_config/eap_trace.conf Wed Sep 01 12:23:57 2010 +0100 @@ -1,23 +1,3 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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 configuration file -# -# %version: 3 % -# - - #-------------------------------------------------------------------- # This string configuration option selects file and path name of trace log file. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eap_notifier/group/bld.inf --- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* -* Copyright (c) 2000-2010 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: Build information file for eap_notifier -* -*/ - -/* -* %version: 3 % -*/ - -#include - -PRJ_PLATFORMS -DEFAULT - - - - -PRJ_MMPFILES -eap_notifier.mmp - -//PRJ_EXPORTS - -//../inc/eap_auth_notifier.h \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eap_notifier/group/eap_notifier.mmp --- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/group/eap_notifier.mmp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,43 +0,0 @@ -/* -* Copyright (c) 2010 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: Project definition file for eap_notifier -* -*/ - -/* -* %version: 5 % -*/ - -// using relative paths for sourcepath and user includes - -TARGET eap_notifier.dll -TARGETTYPE dll - -UID 0x1000008d 0x2002E6F1 - -CAPABILITY All -TCB - -SOURCEPATH ..\src -SOURCE eap_auth_notifier.cpp -SOURCE eap_auth_observer.cpp - -USERINCLUDE ..\inc - -MW_LAYER_SYSTEMINCLUDE - -LIBRARY euser.lib -LIBRARY eapsymbiantools.lib -LIBRARY eaptools.lib -LIBRARY HbCore.lib -LIBRARY HbWidgets.lib diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_notifier.h --- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_notifier.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,293 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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 Authentication Notifier -* -*/ - -/* -* %version: 15 % -*/ - -#ifndef __EAPAUTHNOTIFIER_H__ -#define __EAPAUTHNOTIFIER_H__ - -// System includes -#include -#include - -// User includes - -// Forward declarations - -class TEapExpandedType; -class CEapAuthObserver; - -// External data types - -//Global function prototypes - -//Constants - -const TUint KMaxNotifItemLength = 256; -const TUint KMaxUiDataLength = 1024; - -/** - * Callback interface - */ -class MNotificationCallback - { - public: - /** - * Notify for the client that the Dialog is complete - * - * @param aStatus status - * return - - */ - virtual void DlgComplete( TInt aStatus ) = 0; - }; - -/** - * EAP Notifier - */ -NONSHARABLE_CLASS ( CEapAuthNotifier ): public CBase - { - public: - // Data types - - /** EAP Notifier types */ - enum EEapNotifierType - { - EEapNotifierTypeLEapUsernamePasswordDialog, - EEapNotifierTypeGTCQueryDialog, - EEapNotifierTypePapAuthQueryDialog, - EEapNotifierTypePapChallengeDialog, - EEapNotifierTypeGtcChallengeDialog, - EEapNotifierTypeFastInstallPacQueryDialog, - EEapNotifierTypeFastPacStorePwQueryDialog, - EEapNotifierTypeFastCreateMasterkeyQueryDialog, - EEapNotifierTypeFastPacFilePwQueryDialog, - EEapNotifierTypeFastStartAuthProvWaitNote, - EEapNotifierTypeFastStartUnauthProvWaitNote, - EEapNotifierTypePapUsernamePasswordDialog, - EEapNotifierTypeFastShowProvNotSuccessNote, - EEapNotifierTypeEapMsChapV2UsernamePasswordDialog, - EEapNotifierTypeMsChapV2UsernamePasswordDialog, - EEapNotifierTypeMsChapV2NewPasswordDialog, - EEapNotifierTypeMsChapV2OldPasswordDialog, - EEapNotifierTypeMsChapV2PasswordExpiredNote, - EEapNotifierTypeGTCUsernamePasswordDialog, - }; - - /** EAP Notifier Data struct */ - struct TEapDialogInfo - { - TBool iPasswordPromptEnabled; - TBool iIsIdentityQuery; - TBuf16 iUsername; - TBuf16 iPassword; - TBuf16 iOldPassword; - TBool iIsFirstQuery; - TBuf16 iUidata; - }; - - /** - * Two-phased constructor. - */ - IMPORT_C static CEapAuthNotifier* NewL( MNotificationCallback& aClient ); - - /** - * Destructor - */ - ~CEapAuthNotifier(); - - public: - /** - * Start the Notifier - * - * @param aType notifier type - * @param aPasswordInfo data to be filled - * @param aEapType eap type - * return - - */ - IMPORT_C void StartL( EEapNotifierType aType, - TEapDialogInfo* aEapInfo, - TEapExpandedType& aEapType ); - - /** - * Cancel() the notifier - * - * @param - - * return - - */ - IMPORT_C void Cancel(); - - /** - * CompleteL the notifier is complete - * - * @param aStatus status - * return - - */ - void CompleteL( TInt aStatus ); - - /** - * Sets the selected user name and password of the presented dialog - * - * @param aPasswordInfo password - * return - - */ - void SetSelectedUnameAndPwd( TEapDialogInfo& aPasswordInfo ); - - /** - * Sets the selected password of the presented dialog - * - * @param aPasswordInfo password - * return - - */ - void SetSelectedPassword( - TEapDialogInfo& aPasswordInfo ); - - /** - * Sets the selected Old password of the presented dialog - * - * @param aPasswordInfo old password - * return - - */ - void SetSelectedOldPassword( - TEapDialogInfo& aPasswordInfo ); - - private: - /** - * Constructor - */ - CEapAuthNotifier( MNotificationCallback& aClient ); - - /** - * ConstructL - */ - void ConstructL(); - - /** - * Set data for the UsernamePassword Dialog(s) - * - * @param aPasswordInfo data to be filled - * @param aEapType Eap type to be used - * @param aMap Pointer to variant data - * @param aAuthMethod Authentication method to be used - * return - - */ - void SetUsernamePasswordDataL( - TEapDialogInfo* aPasswordInfo, - TEapExpandedType& aEapType, - CHbSymbianVariantMap* aMap, - const TDesC& aAuthMethod ); - - - /** - * Set data for the query Dialog(s) - * - * @param aEapInfo data to be filled - * @param aMap Pointer to variant data - * @param aAuthMethod Authentication method to be used - * return - - */ - void SetQueryDialogDataL( - TEapDialogInfo* aEapInfo, - CHbSymbianVariantMap* aMap, - const TDesC& aAuthMethod ); - - /** - * Set data for the Install Pac query Dialog(s) - * - * @param aEapInfo data to be filled - * @param aMap Pointer to variant data - * return - - */ - void SetFastInstallPacQueryDialogDataL( - TEapDialogInfo* aEapInfo, - CHbSymbianVariantMap* aMap ); - - /** - * Set data for the Pac file query Dialog(s) - * - * @param aEapInfo data to be filled - * @param aMap Pointer to variant data - * return - - */ - void SetFastPacFileQueryPwDialogDataL( - TEapDialogInfo* aEapInfo, - CHbSymbianVariantMap* aMap ); - - /** - * Set data for the prov wait note Dialog(s) - * - * @param aMap Pointer to variant data - * @param aAuthProvWaitNote Tells whether auth or unauth - * return - - */ - void SetFastProvWaitNoteDialogDataL( - CHbSymbianVariantMap* aMap, - TBool aAuthProvWaitNote ); - - /** - * Set data for the Password Dialog(s) - * - * @param aEapType Eap type to be used - * @param aMap Pointer to variant data - * @param aAuthMethod Authentication method to be used - * return - - */ - void SetPasswordQueryDataL( - TEapExpandedType& aEapType, - CHbSymbianVariantMap* aMap, - const TDesC& aAuthMethod ); - - private: // Data - - /** - * For callback - */ - MNotificationCallback& iClient; - - /** - * Pointer to the device dialog interface for handling the dialog - */ - CHbDeviceDialogSymbian* iDialog; - - /** - * The observer to handle the data received from the orbit dialog - */ - CEapAuthObserver* iObserver; - - /** - * Information if request was already completed, in case the - * observer receives the data signal and the signal about closing the - * dialog. - */ - TBool iCompleted; - - /** - * Information if request was already cancelled. - */ - TBool iCancelled; - - /** - * Pointer to the Eap Dialog Info structure - */ - TEapDialogInfo* iEapInfo; - - - }; - -#endif //__EAPAUTHNOTIFIER_H__ - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_observer.h --- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_observer.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,122 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: Dialog Observer implementation -* -*/ - -/* -* %version: 11 % -*/ - -#ifndef __EAPAUTHOBSERVER_H__ -#define __EAPAUTHOBSERVER_H__ - -// System includes - -// User includes - -// Forward declarations -class CEapAuthNotifier; - -// External data types - -//Global function prototypes - -//Constants - -/** - * EAP Observer - */ -NONSHARABLE_CLASS ( CEapAuthObserver ) : public CBase, public MHbDeviceDialogObserver - { - public: - /** - * Two-phased constructor. - */ - static CEapAuthObserver* NewL( - CEapAuthNotifier* aNotifier - ); - - /** - * Destructor - */ - ~CEapAuthObserver(); - - /** - * Handles the setting of the notifier (dialog) type - * - * @param aType EEapNotifierType - * return - - */ - void SetNotifierType( CEapAuthNotifier::EEapNotifierType aType ); - - /** - * Handles the user input received from the dialog - * - * @param aData CHbSymbianVariantMap& - * return - - */ - void DataReceived( CHbSymbianVariantMap& aData ); - - /** - * Handles the closing of the dialog - * - * @param aCompletionCode TInt - * return - - */ - void DeviceDialogClosed( TInt aCompletionCode ); - private: - /** - * Constructor - */ - CEapAuthObserver( CEapAuthNotifier* aNotifier ); - - /** - * Handles the user name password input received from the dialog - * - * @param aData CHbSymbianVariantMap& - * return - - */ - void UsernamePasswordDlgDataReceived( CHbSymbianVariantMap& aData ); - - /** - * Handles the password query user input received from the dialog - * - * @param aData CHbSymbianVariantMap& - * return - - */ - void PwdQueryDataReceived( CHbSymbianVariantMap& aData ); - - /** - * Handles the old password query user input received from the dialog - * - * @param aData CHbSymbianVariantMap& - * return - - */ - void OldPwdQueryDataReceived( CHbSymbianVariantMap& aData ); - - private: // Data - /** - * Pointer to the object that triggered the dialog opening, - * needed to update the information about the user input. - */ - CEapAuthNotifier* iNotifier; - - /** - * Current EAP notifier type to serve - */ - CEapAuthNotifier::EEapNotifierType iType; - }; - -#endif /* __EAPAUTHOBSERVER_H__ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_ui_strings.h --- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_ui_strings.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2010 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 String definitions - * - */ - -/* - * %version: 3 % - */ - - -#ifndef EAPAUTHUISTRINGS_H -#define EAPAUTHUISTRINGS_H - -#include - -namespace EapAuthUiStrings -{ -_LIT(EapAka, "EAP-AKA"); -_LIT(EapFast, "EAP-FAST"); -_LIT(EapGtc, "EAP-GTC"); -_LIT(EapMschapv2, "EAP-MSCHAPv2"); -_LIT(EapSim, "EAP-SIM"); -_LIT(EapTls, "EAP-TLS"); -_LIT(EapTtls, "EAP-TTLS"); -_LIT(Leap, "LEAP"); -_LIT(Mschapv2, "MSCHAPv2"); -_LIT(Pap, "PAP"); -_LIT(Peap, "PEAP"); -} - -#endif //EAPAUTHUISTRINGS_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eap_notifier/rom/eap_notifier.iby --- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/rom/eap_notifier.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * - */ - -#ifndef __EAP_NOTIFIER_IBY__ -#define __EAP_NOTIFIER_IBY__ - -#include - -file=ABI_DIR\BUILD_DIR\eap_notifier.dll SHARED_LIB_DIR\eap_notifier.dll - -#endif \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eap_notifier/src/eap_auth_notifier.cpp --- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/src/eap_auth_notifier.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,572 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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 Authentication Notitier implementation -* -*/ - -/* -* %version: 21 % -*/ - -// System include files -#include -#include -#include -// User include files -#include "eap_auth_notifier.h" -#include "eap_auth_observer.h" -#include "eap_auth_ui_strings.h" - -// External function prototypes - -// Local constants -const TInt KVariableLength = 30; -const TInt KDlgTypeStrLength = 100; -const TInt KMaxAuthMethodLength = 50; - -_LIT( KUsername, "username"); -_LIT( KAuthmethod, "authmethod"); -_LIT( KPacservername, "pacservername"); -_LIT( KPacfilename, "pacfilename"); -_LIT( KEaptype, "eaptype"); -_LIT( KMessage, "messagetxt"); -_LIT( KFastprovwaitnote, "notificationtxt"); - -_LIT(KTypeunamepwddlg, "com.nokia.eap.usernamepassworddialog/1.0"); -_LIT(KTypepwdquerydlg, "com.nokia.eap.passwordquerydialog/1.0"); -_LIT(KTypequerydlg, "com.nokia.eap.querydialog/1.0"); -_LIT(KTypeinstallpacquerydlg, "com.nokia.eap.fastinstallpacquerydialog/1.0"); -_LIT(KTypepacstorepwquerydlg, "com.nokia.eap.fastpacstorepwquerydialog/1.0"); -_LIT(KTypemasterkeyquerydlg, "com.nokia.eap.fastcreatemasterkeyquerydialog/1.0"); -_LIT(KTypepacfilepwquerydlg, "com.nokia.eap.fastpacfilepwquerydialog/1.0"); -_LIT(KTypeprovwaitnotedlg, "com.nokia.eap.fastprovwaitnotedialog/1.0"); -_LIT(KTypepwdexpnotedlg,"com.nokia.eap.mschapv2passwordexpirednotedialog/1.0"); -_LIT(KTypeoldpwddlg,"com.nokia.eap.mschapv2oldpassworddialog/1.0"); -_LIT(KTypenewpwddlg,"com.nokia.eap.mschapv2newpassworddialog/1.0"); -_LIT(KTypeshowprovnotsuccdlg,"com.nokia.eap.fastshowprovnotsuccessnotedialog/1.0"); - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -// --------------------------------------------------------------------------- -// Constructor -// --------------------------------------------------------------------------- -// -CEapAuthNotifier::CEapAuthNotifier( MNotificationCallback& aClient ) - :iClient(aClient), - iDialog(NULL), - iObserver(NULL), - iCompleted(EFalse), - iCancelled(EFalse) - { - RDebug::Print(_L("CEapAuthNotifier::CEapAuthNotifier DLL++") ); - - } - -// --------------------------------------------------------------------------- -// Destructor -// --------------------------------------------------------------------------- -// -CEapAuthNotifier::~CEapAuthNotifier() - { - RDebug::Print(_L("CEapAuthNotifier::~CEapAuthNotifier") ); - - if ( iCancelled == EFalse ) - { - iCompleted = ETrue; - if ( iDialog ) - { - iDialog->Cancel(); - } - } - if ( iDialog ) - { - delete iDialog; - } - if ( iObserver ) - { - delete iObserver; - } - } - -// --------------------------------------------------------------------------- -// Two-phased constructor -// --------------------------------------------------------------------------- -// -EXPORT_C CEapAuthNotifier* CEapAuthNotifier::NewL( - MNotificationCallback& aClient ) - { - RDebug::Print(_L("CEapAuthNotifier::NewL")); - - CEapAuthNotifier* self = - new ( ELeave ) CEapAuthNotifier( aClient ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------------------------- -// ConstructL for the Notifier -// --------------------------------------------------------------------------- -// -void CEapAuthNotifier::ConstructL() - { - RDebug::Print(_L("CEapAuthNotifier::ConstructL")); - //Observer is needed in order to get the user inputs - iObserver = CEapAuthObserver::NewL( this ); - iDialog = CHbDeviceDialogSymbian::NewL(); - } - -// --------------------------------------------------------------------------- -// Start the Notifier -// --------------------------------------------------------------------------- -// -EXPORT_C void CEapAuthNotifier::StartL( - EEapNotifierType aType, - TEapDialogInfo* aEapInfo, - TEapExpandedType& aEapType ) - { - TInt error; - TBuf EapNtfType; - TBuf16 authMethod; - - RDebug::Print(_L("CEapAuthNotifier::StartL: ENTERING")); - - iCancelled = EFalse; - iCompleted = EFalse; - iEapInfo = aEapInfo; - - //Method must be called before using the observer - iObserver->SetNotifierType(aType); - - //The variant map is needed to construct the dialog correctly, - CHbSymbianVariantMap* map = CHbSymbianVariantMap::NewL(); - CleanupStack::PushL( map ); - - if ( aType == EEapNotifierTypeLEapUsernamePasswordDialog ) - { - authMethod.Copy(EapAuthUiStrings::Leap); - SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod ); - EapNtfType.Copy(KTypeunamepwddlg); - } - else if ( aType == EEapNotifierTypeGTCUsernamePasswordDialog ) - { - authMethod.Copy(EapAuthUiStrings::EapGtc); - SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod ); - EapNtfType.Copy(KTypeunamepwddlg); - } - else if ( aType == EEapNotifierTypePapUsernamePasswordDialog ) - { - authMethod.Copy(EapAuthUiStrings::Pap); - SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod ); - EapNtfType.Copy(KTypeunamepwddlg); - } - else if ( aType == EEapNotifierTypeEapMsChapV2UsernamePasswordDialog ) - { - authMethod.Copy(EapAuthUiStrings::EapMschapv2); - SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod ); - EapNtfType.Copy(KTypeunamepwddlg); - } - else if ( aType == EEapNotifierTypeMsChapV2UsernamePasswordDialog ) - { - authMethod.Copy(EapAuthUiStrings::Mschapv2); - SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod ); - EapNtfType.Copy(KTypeunamepwddlg); - } - else if ( aType == EEapNotifierTypeGtcChallengeDialog ) - { - authMethod.Copy(EapAuthUiStrings::EapGtc); - SetQueryDialogDataL( aEapInfo, map, authMethod ); - EapNtfType.Copy(KTypequerydlg); - } - else if ( aType == EEapNotifierTypePapChallengeDialog ) - { - authMethod.Copy(EapAuthUiStrings::Pap); - SetQueryDialogDataL( aEapInfo, map, authMethod ); - EapNtfType.Copy(KTypequerydlg); - } - else if ( aType == EEapNotifierTypeGTCQueryDialog ) - { - authMethod.Copy(EapAuthUiStrings::EapGtc); - SetPasswordQueryDataL( aEapType, map, authMethod ); - EapNtfType.Copy(KTypepwdquerydlg); - } - else if ( aType == EEapNotifierTypePapAuthQueryDialog ) - { - authMethod.Copy(EapAuthUiStrings::Pap); - SetPasswordQueryDataL( aEapType, map, authMethod ); - EapNtfType.Copy(KTypepwdquerydlg); - } - else if ( aType == EEapNotifierTypeFastInstallPacQueryDialog ) - { - SetFastInstallPacQueryDialogDataL( aEapInfo, map ); - EapNtfType.Copy(KTypeinstallpacquerydlg); - } - else if ( aType == EEapNotifierTypeFastPacStorePwQueryDialog ) - { - EapNtfType.Copy(KTypepacstorepwquerydlg); - } - else if ( aType == EEapNotifierTypeFastCreateMasterkeyQueryDialog ) - { - EapNtfType.Copy(KTypemasterkeyquerydlg); - } - else if ( aType == EEapNotifierTypeFastPacFilePwQueryDialog ) - { - SetFastPacFileQueryPwDialogDataL( aEapInfo, map ); - EapNtfType.Copy(KTypepacfilepwquerydlg); - } - else if ( aType == EEapNotifierTypeFastStartAuthProvWaitNote ) - { - SetFastProvWaitNoteDialogDataL( map, ETrue ); - EapNtfType.Copy(KTypeprovwaitnotedlg); - } - else if ( aType == EEapNotifierTypeFastStartUnauthProvWaitNote ) - { - SetFastProvWaitNoteDialogDataL( map, EFalse ); - EapNtfType.Copy(KTypeprovwaitnotedlg); - } - else if ( aType == EEapNotifierTypeMsChapV2PasswordExpiredNote ) - { - EapNtfType.Copy(KTypepwdexpnotedlg); - } - else if ( aType == EEapNotifierTypeMsChapV2OldPasswordDialog ) - { - EapNtfType.Copy(KTypeoldpwddlg); - } - else if ( aType == EEapNotifierTypeMsChapV2NewPasswordDialog ) - { - EapNtfType.Copy(KTypenewpwddlg); - } - else if ( aType == EEapNotifierTypeFastShowProvNotSuccessNote ) - { - EapNtfType.Copy(KTypeshowprovnotsuccdlg); - } - - RDebug::Print(_L("CEapAuthNotifier::StartL: Load the Dialog NOW!")); - - //Show the dialog. - error = iDialog->Show( EapNtfType, *map, iObserver ); - - User::LeaveIfError( error ); - CleanupStack::PopAndDestroy( map ); - - RDebug::Print(_L("CEapAuthNotifier::StartL: LEAVING") ); - } - -// --------------------------------------------------------------------------- -// Set data for the EAP-FAST provisioning wait note Dialog(s) -// --------------------------------------------------------------------------- -// -void CEapAuthNotifier::SetFastProvWaitNoteDialogDataL( - CHbSymbianVariantMap* aMap, - TBool aAuthProvWaitNote ) - { - TInt error; - TBuf key(KFastprovwaitnote); - - CHbSymbianVariant *variant = NULL; - - RDebug::Print(_L("CEapAuthNotifier::SetFastProvWaitNoteDialogDataL: ENTERING")); - - //Create the variant data information for the plugin - variant = - CHbSymbianVariant::NewL ( - &aAuthProvWaitNote, CHbSymbianVariant::EBool ); - CleanupStack::PushL( variant ); - error = aMap->Add( key, variant); - User::LeaveIfError( error ); - CleanupStack::Pop( variant ); // map's cleanup sequence handles variant. - - RDebug::Print(_L("CEapAuthNotifier::SetFastProvWaitNoteDialogDataL: LEAVING") ); - } - -// --------------------------------------------------------------------------- -// Set data for the EAP-FAST PAC file query Dialog(s) -// --------------------------------------------------------------------------- -// -void CEapAuthNotifier::SetFastPacFileQueryPwDialogDataL( - TEapDialogInfo* aEapInfo, - CHbSymbianVariantMap* aMap ) - { - TInt error; - TBuf key(KPacfilename); - - CHbSymbianVariant *variant = NULL; - - RDebug::Print(_L("CEapAuthNotifier::SetFastPacFileQueryPwDialogDataL: ENTERING")); - - if( 0 < aEapInfo->iUidata.Length() ) - { - RDebug::Print(_L("CEapAuthNotifier::SetFastPacFileQueryPwDialogDataL: Set PAC filename")); - RDebug::Print(_L("CEapAuthNotifier::SetFastPacFileQueryPwDialogDataL: aEapInfo->iUidata = %S\n"), &aEapInfo->iUidata ); - - // Create the variant data information for the plugin - variant = - CHbSymbianVariant::NewL ( - &aEapInfo->iUidata, CHbSymbianVariant::EDes ); - CleanupStack::PushL( variant ); - error = aMap->Add( key, variant); - User::LeaveIfError( error ); - CleanupStack::Pop( variant ); // map's cleanup sequence handles variant. - } - RDebug::Print(_L("CEapAuthNotifier::SetFastPacFileQueryPwDialogDataL: LEAVING") ); - } - -// --------------------------------------------------------------------------- -// Set data for the EAP-FAST Install PAC query Dialog(s) -// --------------------------------------------------------------------------- -// -void CEapAuthNotifier::SetFastInstallPacQueryDialogDataL( - TEapDialogInfo* aEapInfo, - CHbSymbianVariantMap* aMap ) - { - TInt error; - TBuf key(KPacservername); - - CHbSymbianVariant *variant = NULL; - - RDebug::Print(_L("CEapAuthNotifier::SetFastInstallPacQueryDialogData: ENTERING")); - - if( 0 < aEapInfo->iUidata.Length() ) - { - RDebug::Print(_L("CEapAuthNotifier::SetFastInstallPacQueryDialogData: Set PAC Install server name")); - RDebug::Print(_L("CEapAuthNotifier::SetFastInstallPacQueryDialogData: aEapInfo->iUidata = %S\n"), &aEapInfo->iUidata ); - - // Create the variant data information for the plugin - variant = - CHbSymbianVariant::NewL ( - &aEapInfo->iUidata, CHbSymbianVariant::EDes ); - CleanupStack::PushL( variant ); - error = aMap->Add( key, variant); - User::LeaveIfError( error ); - CleanupStack::Pop( variant ); // map's cleanup sequence handles variant. - } - RDebug::Print(_L("CEapAuthNotifier::SetFastInstallPacQueryDialogData: LEAVING") ); - } - -// --------------------------------------------------------------------------- -// Set data for the Challenge Query Dialog(s) -// --------------------------------------------------------------------------- -// -void CEapAuthNotifier::SetQueryDialogDataL( - TEapDialogInfo* aEapInfo, - CHbSymbianVariantMap* aMap, - const TDesC& aAuthMethod ) - { - TInt error; - TBuf key1(KAuthmethod); - TBuf key2(KMessage); - - CHbSymbianVariant *variant = NULL; - - RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: ENTERING")); - - RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: Set Heading")); - RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: aAuthMethod = %S\n"), &aAuthMethod ); - - // Create the variant data information for the plugin - variant = - CHbSymbianVariant::NewL ( &aAuthMethod, CHbSymbianVariant::EDes ); - CleanupStack::PushL( variant ); - error = aMap->Add( key1, variant); - User::LeaveIfError( error ); - CleanupStack::Pop( variant ); // map's cleanup sequence handles variant. - - if( 0 < aEapInfo->iUidata.Length() ) - { - RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: Set user input message")); - RDebug::Print(_L("CEapAuthObserver::SetQueryDialogData: aEapInfo->iUidata = %S\n"), &aEapInfo->iUidata ); - - // Create the variant data information for the plugin - variant = - CHbSymbianVariant::NewL ( - &aEapInfo->iUidata, CHbSymbianVariant::EDes ); - CleanupStack::PushL( variant ); - error = aMap->Add( key2, variant); - User::LeaveIfError( error ); - CleanupStack::Pop( variant ); // map's cleanup sequence handles variant. - } - RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: LEAVING") ); - } - -// --------------------------------------------------------------------------- -// Set data for the Password Query Dialog(s) -// --------------------------------------------------------------------------- -// -void CEapAuthNotifier::SetPasswordQueryDataL( - TEapExpandedType& aEapType, - CHbSymbianVariantMap* aMap, - const TDesC& aAuthMethod ) - { - TInt error; - TBuf key2(KAuthmethod); - TBuf key3(KEaptype); - CHbSymbianVariant *variant = NULL; - - RDebug::Print(_L("CEapAuthNotifier::SetPasswordQueryData: ENTERING")); - RDebug::Print(_L("CEapAuthNotifier::SetPasswordQueryData: aAuthMethod = %S\n"), &aAuthMethod ); - - //Create the variant data information for the plugin - //Set authentication method - variant = - CHbSymbianVariant::NewL ( &aAuthMethod, CHbSymbianVariant::EDes ); - CleanupStack::PushL( variant ); - error = aMap->Add( key2, variant); - User::LeaveIfError( error ); - CleanupStack::Pop( variant ); // map's cleanup sequence handles variant. - - //Set EAP type - variant = - CHbSymbianVariant::NewL( - &aEapType.GetValue(), CHbSymbianVariant::EBinary ); - CleanupStack::PushL( variant ); - error = aMap->Add( key3, variant); - User::LeaveIfError( error ); - CleanupStack::Pop( variant ); // map's cleanup sequence handles variant. - RDebug::Print(_L("CEapAuthNotifier::SetPasswordQueryData: LEAVING") ); - } - -// --------------------------------------------------------------------------- -// Set data for the UsernamePassword Dialog(s) -// --------------------------------------------------------------------------- -// -void CEapAuthNotifier::SetUsernamePasswordDataL( - TEapDialogInfo* aEapInfo, - TEapExpandedType& aEapType, - CHbSymbianVariantMap* aMap, - const TDesC& aAuthMethod ) - { - TInt error; - TBuf key1(KUsername); - TBuf key2(KAuthmethod); - TBuf key3(KEaptype); - CHbSymbianVariant *variant = NULL; - - RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: ENTERING")); - RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: aAuthMethod = %S\n"), &aAuthMethod ); - - //Create the variant data information for the plugin - //Set authentication method - variant = - CHbSymbianVariant::NewL ( &aAuthMethod, CHbSymbianVariant::EDes ); - CleanupStack::PushL( variant ); - error = aMap->Add( key2, variant); - User::LeaveIfError( error ); - CleanupStack::Pop( variant ); // map's cleanup sequence handles variant. - - //Set username - if( 0 < aEapInfo->iUsername.Length() ) - { - RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: Set default UNAME")); - RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: iEapInfo->iUsername = %S\n"), &iEapInfo->iUsername ); - - // Create the variant data information for the plugin - variant = - CHbSymbianVariant::NewL ( - &aEapInfo->iUsername, CHbSymbianVariant::EDes ); - CleanupStack::PushL( variant ); - error = aMap->Add( key1, variant); - User::LeaveIfError( error ); - CleanupStack::Pop( variant ); // map's cleanup sequence handles variant. - } - - //Set EAP type - variant = - CHbSymbianVariant::NewL( - &aEapType.GetValue(), CHbSymbianVariant::EBinary ); - CleanupStack::PushL( variant ); - error = aMap->Add( key3, variant); - User::LeaveIfError( error ); - CleanupStack::Pop( variant ); // map's cleanup sequence handles variant. - RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: LEAVING") ); - } - -// --------------------------------------------------------------------------- -// Sets the selected user name and password of the presented dialog -// --------------------------------------------------------------------------- -// -void CEapAuthNotifier::SetSelectedUnameAndPwd ( TEapDialogInfo& aEapInfo ) - { - RDebug::Print(_L("CEapAuthNotifier::SetSelectedUnameAndPwd")); - - iEapInfo->iIsIdentityQuery = aEapInfo.iIsIdentityQuery; - if ( aEapInfo.iIsIdentityQuery ) - { - iEapInfo->iUsername = aEapInfo.iUsername; - RDebug::Print(_L("CEapAuthNotifier::SetSelectedUnameAndPwd: iEapInfo->iUsername = %S\n"), &iEapInfo->iUsername ); - } - - iEapInfo->iPasswordPromptEnabled = aEapInfo.iPasswordPromptEnabled; - if ( aEapInfo.iPasswordPromptEnabled ) - { - iEapInfo->iPassword = aEapInfo.iPassword; - RDebug::Print(_L("CEapAuthNotifier::SetSelectedUnameAndPwd: iEapInfo->iPassword = %S\n"), &iEapInfo->iPassword ); - } - } - -// --------------------------------------------------------------------------- -// Sets the selected password of the presented dialog -// --------------------------------------------------------------------------- -// -void CEapAuthNotifier::SetSelectedPassword ( TEapDialogInfo& aPasswordInfo ) - { - RDebug::Print(_L("CEapAuthNotifier::SetSelectedPassword")); - - iEapInfo->iPassword = aPasswordInfo.iPassword; - RDebug::Print(_L("CEapAuthNotifier::SetSelectedPassword: iEapInfo->iPassword = %S\n"), &iEapInfo->iPassword ); - } - -// --------------------------------------------------------------------------- -// Sets the selected Old password of the presented dialog -// --------------------------------------------------------------------------- -// -void CEapAuthNotifier::SetSelectedOldPassword ( TEapDialogInfo& aPasswordInfo ) - { - RDebug::Print(_L("CEapAuthNotifier::SetSelectedOldPassword")); - - iEapInfo->iOldPassword = aPasswordInfo.iOldPassword; - RDebug::Print(_L("CEapAuthNotifier::SetSelectedOldPassword: iEapInfo->iOldPassword = %S\n"), &iEapInfo->iOldPassword ); - } - -// --------------------------------------------------------------------------- -// The notifier is complete -// --------------------------------------------------------------------------- -// -void CEapAuthNotifier::CompleteL( TInt aStatus ) - { - RDebug::Print(_L("CEapAuthNotifier::CompleteL")); - - if ( !iCompleted ) - { - iClient.DlgComplete(aStatus); - iCompleted = ETrue; - } - } - -// --------------------------------------------------------------------------- -// Cancel() the notifier -// --------------------------------------------------------------------------- -// -EXPORT_C void CEapAuthNotifier::Cancel() - { - RDebug::Print(_L("CEapAuthNotifier::Cancel")); - if ( !iCompleted ) - { - iCancelled = ETrue; - iDialog->Cancel(); - } - } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eap_notifier/src/eap_auth_observer.cpp --- a/eapol/eapol_framework/eapol_symbian/am/eap_notifier/src/eap_auth_observer.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,274 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: Dialog observer implementation -* -*/ - -/* -* %version: 15 % -*/ - -// System include files -#include -#include - -// User include files -#include "eap_auth_notifier.h" -#include "eap_auth_observer.h" - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -// --------------------------------------------------------------------------- -// Two-phased constructor. -// --------------------------------------------------------------------------- -// -CEapAuthObserver* CEapAuthObserver::NewL( - CEapAuthNotifier* aNotifier ) - { - RDebug::Print(_L("CEapAuthObserver::NewL") ); - - CEapAuthObserver* self = new ( ELeave ) CEapAuthObserver( aNotifier ); - return self; - } - -// --------------------------------------------------------------------------- -// Constructor -// --------------------------------------------------------------------------- -// -CEapAuthObserver::CEapAuthObserver( - CEapAuthNotifier* aNotifier ): - iNotifier( aNotifier ) - { - RDebug::Print(_L("CEapAuthObserver::CEapAuthObserver") ); - } - -// --------------------------------------------------------------------------- -// Destructor -// --------------------------------------------------------------------------- -// -CEapAuthObserver::~CEapAuthObserver() - { - RDebug::Print(_L("CEapAuthObserver::~CEapAuthObserver") ); - } - -// --------------------------------------------------------------------------- -// Handles the setting of the notifier (dialog) type -// --------------------------------------------------------------------------- -// -void CEapAuthObserver::SetNotifierType( CEapAuthNotifier::EEapNotifierType aType ) - { - RDebug::Print(_L("CEapAuthObserver::setNotifierType") ); - - iType = aType; - } - -// Derived function: -// --------------------------------------------------------------------------- -// From class MHbDeviceDialogObserver. -// Handles the user input received from the dialog -// --------------------------------------------------------------------------- -// -void CEapAuthObserver::DataReceived( CHbSymbianVariantMap& aData ) -{ - RDebug::Print(_L("CEapAuthObserver::DataReceived") ); - - if ( iType == CEapAuthNotifier::EEapNotifierTypeLEapUsernamePasswordDialog ) - { - RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeLEapUsernamePasswordDialog") ); - UsernamePasswordDlgDataReceived(aData); - } - else if ( iType == CEapAuthNotifier::EEapNotifierTypeGTCUsernamePasswordDialog ) - { - RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeGTCUsernamePasswordDialog") ); - UsernamePasswordDlgDataReceived(aData); - } - else if ( iType == CEapAuthNotifier::EEapNotifierTypePapUsernamePasswordDialog ) - { - RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypePapUsernamePasswordDialog") ); - UsernamePasswordDlgDataReceived(aData); - } - else if ( iType == CEapAuthNotifier::EEapNotifierTypeEapMsChapV2UsernamePasswordDialog ) - { - RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeEapMsChapV2UsernamePasswordDialog") ); - UsernamePasswordDlgDataReceived(aData); - } - else if ( iType == CEapAuthNotifier::EEapNotifierTypeMsChapV2UsernamePasswordDialog ) - { - RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeMsChapV2UsernamePasswordDialog") ); - UsernamePasswordDlgDataReceived(aData); - } - else if ( iType == CEapAuthNotifier::EEapNotifierTypeGTCQueryDialog ) - { - RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeGTCQueryDialog") ); - PwdQueryDataReceived(aData); - } - else if ( iType == CEapAuthNotifier::EEapNotifierTypePapAuthQueryDialog ) - { - RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypePapAuthQueryDialog") ); - PwdQueryDataReceived(aData); - } - else if ( iType == CEapAuthNotifier::EEapNotifierTypeFastPacStorePwQueryDialog ) - { - RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeFastPacStorePwQueryDialog") ); - PwdQueryDataReceived(aData); - } - else if ( iType == CEapAuthNotifier::EEapNotifierTypeFastCreateMasterkeyQueryDialog ) - { - RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeFastCreateMasterkeyQueryDialog") ); - PwdQueryDataReceived(aData); - } - else if ( iType == CEapAuthNotifier::EEapNotifierTypeFastPacFilePwQueryDialog ) - { - RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeFastPacFilePwQueryDialog") ); - PwdQueryDataReceived(aData); - } - else if ( iType == CEapAuthNotifier::EEapNotifierTypeMsChapV2OldPasswordDialog ) - { - RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeMsChapV2OldPasswordDialog") ); - OldPwdQueryDataReceived(aData); - } - else if ( iType == CEapAuthNotifier::EEapNotifierTypeMsChapV2NewPasswordDialog ) - { - RDebug::Print(_L("CEapAuthObserver::DataReceived: EEapNotifierTypeMsChapV2NewPasswordDialog") ); - PwdQueryDataReceived(aData); - } - - TInt status = KErrNone; - - TRAP_IGNORE( iNotifier->CompleteL( status )); -} - -// --------------------------------------------------------------------------- -// Handles the user name password input received from the dialog -// --------------------------------------------------------------------------- -// -void CEapAuthObserver::UsernamePasswordDlgDataReceived( - CHbSymbianVariantMap& aData ) -{ - RDebug::Print(_L("CEapAuthObserver::UsernamePasswordDlgDataReceived") ); - - _LIT(KUsername, "username"); - _LIT(KPassword, "password"); - - CEapAuthNotifier::TEapDialogInfo PasswordInfo; - TDesC* Data = NULL; - - PasswordInfo.iIsIdentityQuery = EFalse; - PasswordInfo.iPasswordPromptEnabled = EFalse; - - const CHbSymbianVariant *my_variant = aData.Get(KUsername); - if ( my_variant != NULL ) - { - ASSERT( my_variant->Type() == CHbSymbianVariant::EDes ); - - Data = reinterpret_cast(my_variant->Data()); - PasswordInfo.iUsername.Copy( Data->Ptr(), Data->Length() ); - PasswordInfo.iIsIdentityQuery = ETrue; - RDebug::Print(_L("CEapAuthObserver::DataReceived: PasswordInfo.iUsername = %S\n"), &PasswordInfo.iUsername ); - } - my_variant = aData.Get(KPassword); - if ( my_variant != NULL ) - { - ASSERT( my_variant->Type() == CHbSymbianVariant::EDes ); - - Data = reinterpret_cast(my_variant->Data()); - PasswordInfo.iPassword.Copy( Data->Ptr(), Data->Length() ); - PasswordInfo.iPasswordPromptEnabled = ETrue; - RDebug::Print(_L("CEapAuthObserver::DataReceived: PasswordInfo.iPassword = %S\n"), &PasswordInfo.iPassword ); - } - - iNotifier->SetSelectedUnameAndPwd( PasswordInfo ); -} - -// --------------------------------------------------------------------------- -// Handles the old password query user input received from the dialog -// --------------------------------------------------------------------------- -// -void CEapAuthObserver::OldPwdQueryDataReceived( CHbSymbianVariantMap& aData ) -{ - RDebug::Print(_L("CEapAuthObserver::OldPwdQueryDataReceived") ); - - _LIT(KPassword, "password"); - - CEapAuthNotifier::TEapDialogInfo PasswordInfo; - TDesC* Data = NULL; - - const CHbSymbianVariant *my_variant = aData.Get(KPassword); - if ( my_variant != NULL ) - { - ASSERT( my_variant->Type() == CHbSymbianVariant::EDes ); - - Data = reinterpret_cast(my_variant->Data()); - PasswordInfo.iOldPassword.Copy( Data->Ptr(), Data->Length() ); - - RDebug::Print(_L("CEapAuthObserver::OldPwdQueryDataReceived: PasswordInfo.iOldPassword = %S\n"), &PasswordInfo.iOldPassword ); - } - - iNotifier->SetSelectedOldPassword( PasswordInfo ); -} - -// --------------------------------------------------------------------------- -// Handles the password query user input received from the dialog -// --------------------------------------------------------------------------- -// -void CEapAuthObserver::PwdQueryDataReceived( CHbSymbianVariantMap& aData ) -{ - RDebug::Print(_L("CEapAuthObserver::PwdQueryDataReceived") ); - - _LIT(KPassword, "password"); - - CEapAuthNotifier::TEapDialogInfo PasswordInfo; - TDesC* Data = NULL; - - const CHbSymbianVariant *my_variant = aData.Get(KPassword); - if ( my_variant != NULL ) - { - ASSERT( my_variant->Type() == CHbSymbianVariant::EDes ); - - Data = reinterpret_cast(my_variant->Data()); - PasswordInfo.iPassword.Copy( Data->Ptr(), Data->Length() ); - - RDebug::Print(_L("CEapAuthObserver::PwdQueryDataReceived: PasswordInfo.iPassword = %S\n"), &PasswordInfo.iPassword ); - } - - iNotifier->SetSelectedPassword( PasswordInfo ); -} - -// Derived function: -// --------------------------------------------------------------------------- -// From class MHbDeviceDialogObserver. -// Handles the closing of the dialog -// --------------------------------------------------------------------------- -// -void CEapAuthObserver::DeviceDialogClosed( TInt /*aCompletionCode*/ ) -{ - // Dialog was closed, let's complete with that error code - RDebug::Print(_L("CEapAuthObserver::DeviceDialogClosed")); - - TInt status = KErrCancel; - - if ( iType != CEapAuthNotifier::EEapNotifierTypeFastStartAuthProvWaitNote && - iType != CEapAuthNotifier::EEapNotifierTypeFastStartUnauthProvWaitNote ) - { - TRAP_IGNORE( iNotifier->CompleteL( status )); - } -} - - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eap_test_timer/symbian/eap_test_timer.cpp --- a/eapol/eapol_framework/eapol_symbian/am/eap_test_timer/symbian/eap_test_timer.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eap_test_timer/symbian/eap_test_timer.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.2 % +* %version: 10 % */ // This is enumeration of EAPOL source code. @@ -50,7 +50,7 @@ _LIT(K_eap_test_timer,"eap_test_timer"); -EAP_FUNC_EXPORT eap_status_e eap_am_tools_symbian_c::start_timer_thread() +eap_status_e eap_am_tools_symbian_c::start_timer_thread() { EAP_TRACE_DEBUG(this, TRACE_FLAGS_DEFAULT, (EAPL("Create timer thread.\n"))); @@ -81,7 +81,7 @@ } -EAP_FUNC_EXPORT eap_status_e eap_am_tools_symbian_c::stop_timer_thread() +eap_status_e eap_am_tools_symbian_c::stop_timer_thread() { EAP_TRACE_DEBUG(this, TRACE_FLAGS_DEFAULT, (EAPL("Trigger timer thread stops.\n"))); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200ec9.rss --- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200ec9.rss Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200ec9.rss Wed Sep 01 12:23:57 2010 +0100 @@ -17,7 +17,7 @@ */ /* -* %version: 9.1.2 % +* %version: 12 % */ #include diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200eca.rss --- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200eca.rss Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200eca.rss Wed Sep 01 12:23:57 2010 +0100 @@ -17,10 +17,10 @@ */ /* -* %version: 9.1.2 % +* %version: 11 % */ -#include +#include RESOURCE REGISTRY_INFO theInfo { diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_implementation.h --- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_implementation.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_implementation.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 19.1.11 % +* %version: 21 % */ #ifndef __EAPPLUGIN_H__ @@ -27,20 +27,17 @@ #include #include "eap_vpn_if.h" -//#include "abs_eap_core.h" +#include "abs_eap_core.h" #include "eapol_session_key.h" +#include "eap_core.h" #include "eap_am_tools_symbian.h" #include "EapType.h" #include "EapolTimer.h" -#include "abs_eap_session_core.h" // FORWARD DECLARATIONS class CEapType; -class CEapTypePlugin; class eap_am_tools_symbian_c; class eap_file_config_c; -class eap_session_core_base_c; -class eap_process_tlv_message_data_c; /** * Class: CEapVpnInterfaceImplementation @@ -51,7 +48,7 @@ */ class CEapVpnInterfaceImplementation : public CEapVpnInterface - , public abs_eap_session_core_c + , public abs_eap_core_c , public abs_eap_base_timer_c { public: @@ -323,35 +320,6 @@ eap_status_e timer_delete_data( const u32_t id, void *data); - eap_status_e complete_get_802_11_authentication_mode( - const eap_status_e completion_status, - const eap_am_network_id_c * const receive_network_id, - const eapol_key_802_11_authentication_mode_e mode); - - eap_status_e complete_remove_eap_session( - const bool complete_to_lower_layer, - const eap_am_network_id_c * const receive_network_id); - -#if defined(USE_EAP_SIMPLE_CONFIG) - /** - * This function tells AM to save SIMPLE_CONFIG configuration parameters. - * This is always syncronous call. - */ - eap_status_e save_simple_config_session( - const simple_config_state_e state, - EAP_TEMPLATE_CONST eap_array_c * const credential_array, - const eap_variable_data_c * const new_password, - const simple_config_Device_Password_ID_e Device_Password_ID, - const simple_config_payloads_c * const other_configuration - ); -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - - static eap_session_core_base_c * new_eap_core_client_message_if_c( - abs_eap_am_tools_c * const tools, - abs_eap_session_core_c * const partner, - const bool is_client_when_true, - const u32_t MTU); - private: TInt CompleteAssociation(const TInt aResult); @@ -359,13 +327,6 @@ eap_status_e create_upper_stack(); - eap_status_e add_configuration_data( - eap_process_tlv_message_data_c * const message, - const eap_configuration_field_c * field, - const eap_configure_type_e type, - const eap_variable_data_c * const value_data - ); - protected: /** @@ -394,17 +355,25 @@ TBool iQueryIdentity; /// Pointer to the lower layer in the stack - MAbsEapVpnInterface * iCaller; + MAbsEapVpnInterface* iCaller; /// Pointer to the upper layer in the stack - eap_session_core_base_c * iEapCore; + eap_core_c* iEapCore; +#ifdef USE_EAP_EXPANDED_TYPES + eap_type_value_e iRequestedEapType; +#else + + TUint8 iRequestedEapType; + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + /// Pointer to the tools class - eap_am_tools_symbian_c * m_am_tools; + eap_am_tools_symbian_c* m_am_tools; - eap_am_network_id_c * m_receive_network_id; + eap_am_network_id_c* m_receive_network_id; eap_variable_data_c * m_trace_log_file_name; @@ -419,10 +388,9 @@ bool m_is_client; /// Array for storing the loaded EAP types. - RPointerArray m_eap_if_array; + RPointerArray m_plugin_if_array; - /// Array for storing the loaded EAP types. - RPointerArray m_eap_plugin_if_array; +#ifdef USE_EAP_EXPANDED_TYPES /// Enabled expanded EAP configuration data from CommsDat // This is for the outer most EAP (not tunneled) @@ -435,13 +403,23 @@ /// Array which corresponds with m_plugin_if_array and indicates the types of the loaded EAP types. eap_array_c * m_eap_type_array; +#else + + /// EAP configuration data from CommDb + TEapArray m_iap_eap_array; + + /// Array which corresponds with m_plugin_if_array and indicates the types of the loaded EAP types. + RArray m_eap_type_array; + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + /// Indicates the bearer type TIndexType m_index_type; /// Indicates the service index in CommDb TInt m_index; - eap_file_config_c * m_fileconfig; + eap_file_config_c* m_fileconfig; u32_t m_packet_index; @@ -449,9 +427,9 @@ bool m_stack_marked_to_be_deleted; - HBufC8 * iManualUsername; - HBufC8 * iManualRealm; - HBufC8 * iRealmPrefix; + HBufC8* iManualUsername; + HBufC8* iManualRealm; + HBufC8* iRealmPrefix; TBool iHideInitialIdentity; }; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_resolver.h --- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_resolver.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_resolver.h Wed Sep 01 12:23:57 2010 +0100 @@ -17,7 +17,7 @@ */ /* -* %version: % +* %version: 10 % */ #ifndef __EAPPLUGINRESOLVER_H__ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_timer.h --- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_timer.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_timer.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 6 % */ #if !defined(_EAPOL_TIMER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_implementation.cpp --- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_implementation.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_implementation.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,16 +16,13 @@ */ /* -* %version: 61 % +* %version: 38.1.5 % */ // INCLUDE FILES #include #include -#include -#include - #include "eap_vpn_if_implementation.h" #include "eap_am_memory.h" #include "eap_tools.h" @@ -35,19 +32,13 @@ #include "eap_type_gsmsim.h" #include "eap_type_aka.h" #include "eap_header_string.h" -//#include "EapolDbDefaults.h" -//#include "EapolDbParameterNames.h" +#include "EapolDbDefaults.h" +#include "EapolDbParameterNames.h" #include "eap_am_file_input_symbian.h" #include "abs_eap_vpn_if.h" #include "eap_array_algorithms.h" -#include "eap_core.h" #include "EapSimDbDefaults.h" -#include "EapConversion.h" -#include "eap_session_core_base.h" -#include "eap_automatic_variable.h" -#include "eap_core_client_message_if.h" -#include "eap_process_tlv_message_data.h" // LOCAL CONSTANTS const TUint KMaxConfigStringLength = 256; @@ -55,6 +46,12 @@ const u32_t KTrailerLength = 0; const u32_t KHeaderOffset = 0; +#ifndef USE_EAP_EXPANDED_TYPES + +static const TUint KMaxEapCueLength = 3; + +#endif //#ifndef USE_EAP_EXPANDED_TYPES + #define KEapIdentityOffset 5 const eap_const_string EAPPLUGIN_TRACE_FILE = EAPL("logs\\eapol\\eap_vpn_if.txt"); @@ -94,7 +91,9 @@ CEapVpnInterfaceImplementation::CEapVpnInterfaceImplementation() : m_trace_log_file_name(0) , m_is_client(true) +#ifdef USE_EAP_EXPANDED_TYPES , m_eap_type_array(0) +#endif //#ifdef USE_EAP_EXPANDED_TYPES , m_index_type(EVpn) , m_index(EAP_VPN_DEFAULT_SERVICE_TABLE_INDEX) { @@ -216,12 +215,18 @@ CleanupStack::PopAndDestroy(buf); // Delete pathbuffer. } + +#ifdef USE_EAP_EXPANDED_TYPES + m_eap_type_array = new eap_array_c(m_am_tools); if (m_eap_type_array == 0) { User::Leave(KErrGeneral); } +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + //------ Create network id { EAP_TRACE_DEBUG( @@ -381,25 +386,15 @@ delete m_receive_network_id; } + // Unload all loaded plugins + for(int i = 0; i < m_plugin_if_array.Count(); i++) { - // Unload all loaded EAP-interfaces. - for(int i = 0; i < m_eap_if_array.Count(); i++) - { - delete m_eap_if_array[i]; - } - - m_eap_if_array.Close(); + delete m_plugin_if_array[i]; } - { - // Unload all loaded EAP-plugins. - for(int i = 0; i < m_eap_plugin_if_array.Count(); i++) - { - delete m_eap_plugin_if_array[i]; - } - - m_eap_plugin_if_array.Close(); - } + m_plugin_if_array.Close(); + +#ifdef USE_EAP_EXPANDED_TYPES m_enabled_expanded_eap_array.ResetAndDestroy(); @@ -410,6 +405,15 @@ delete m_eap_type_array; m_eap_type_array = 0; +#else // For normal EAP type. + + // Delete the IAP EAP type info array + m_iap_eap_array.ResetAndDestroy(); + + m_eap_type_array.Close(); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + delete iManualUsername; iManualUsername = NULL; @@ -679,6 +683,8 @@ // Clear packet send and notification blocking. m_block_packet_sends_and_notifications = false; +#ifdef USE_EAP_EXPANDED_TYPES + if (m_enabled_expanded_eap_array.Count() == 0) { // The EAP field was empty. Allow all types. @@ -752,6 +758,60 @@ CleanupStack::PopAndDestroy(&eapArray); } +#else // For normal EAP type. + + if (m_iap_eap_array.Count() == 0) + { + // The EAP field was empty. Allow all types. + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Empty EAP field -> enable all types.\n"))); + + RImplInfoPtrArray eapArray; + CleanupStack::PushL( TCleanupItem( CleanupImplArray, &eapArray ) ); + + REComSession::ListImplementationsL(KEapTypeInterfaceUid, eapArray); + + for (TInt i = 0; i < eapArray.Count(); i++) + { + TEap *eap = new(ELeave) TEap; + eap->UID.Copy(eapArray[i]->DataType()); + eap->Enabled = EFalse; + + // Convert the string to integer + TLex8 tmp(eap->UID); + TInt val(0); + tmp.Val(val); + + if(val == iRequestedEapType) + { + eap->Enabled = ETrue; + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAP-Type %d enabled\n"), val)); + + m_iap_eap_array.Insert(eap, 0); + } + else + { + m_iap_eap_array.Append(eap); + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAP-Type %d disabled\n"), val)); + } + } // for() + + CleanupStack::PopAndDestroy(&eapArray); + } + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + CompleteAssociation(status); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1018,11 +1078,7 @@ if (iEapCore == 0) { - iEapCore = new_eap_core_client_message_if_c( - m_am_tools, - this, - true, - KMTU); + iEapCore = new eap_core_c(m_am_tools, this, m_is_client, m_receive_network_id, EFalse); if (iEapCore == 0 || iEapCore->get_is_valid() != true) @@ -1267,186 +1323,96 @@ EAP_ASSERT_TOOLS(m_am_tools, (type == iRequestedEapType)); - TEapExpandedType aEapType; - - TInt error = CEapConversion::ConvertInternalTypeToExpandedEAPType( - &iRequestedEapType, - &aEapType); - if (error != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("ERROR: CEapVpnInterfaceImplementation::load_module(): Error from CEapConversion::ConvertExpandedEAPTypeToInternalType()=%d\n"), - error)); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); - } - - i32_t eapArrayIndex = -1; - - { - CEapType* eapType = 0; - - // Check if this EAP type has already been loaded - eapArrayIndex = find( - m_eap_type_array, - &iRequestedEapType, - m_am_tools); - - if (eapArrayIndex >= 0) - { - // Yep. It was loaded already. - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapVpnInterfaceImplementation: EAP Type Already loaded\n"))); - - eapType = m_eap_if_array[eapArrayIndex]; - } - else - { - // We must have a trap here since the EAP core knows nothing about Symbian. - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapVpnInterfaceImplementation: EAP Type new\n"))); - - TRAP(error, (eapType = CEapType::NewL(m_index_type, m_index, aEapType))); - - if (error != KErrNone - || eapType == 0) - { - // Interface not found or implementation creation function failed - - delete eapType; - eapType = 0; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapVpnInterfaceImplementation: EAP Type new, unable to load\n"))); - EAP_TRACE_ALWAYS( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ECom could not find/initiate implementation.\n"))); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // Add EAP-interface information to the member arrays. - if (m_eap_if_array.Append(eapType) != KErrNone) - { - delete eapType; - status = eap_status_allocation_error; - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - //-------------------------------------------------------- - //-------------------------------------------------------- - // Set the values for realm and user name if there is any. - // If there is no values the default settings will be used( automatic realm and username). - - +#ifdef USE_EAP_EXPANDED_TYPES + + TBuf8 cue; + + // Some indirect way of forming the 8 byte string of an EAP type for the cue is needed here. + TUint8 tmpExpCue[KExpandedEapTypeSize]; + + // This is to make the tmpExpCue in 8 byte string with correct vendor type and vendor id details. + status = eap_expanded_type_c::write_type(m_am_tools, + 0, // index should be zero here. + tmpExpCue, + KExpandedEapTypeSize, + true, + iRequestedEapType); + if (status != eap_status_ok) { EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapVpnInterfaceImplementation::load_module - About to configure manual/auto username and manual/auto realm \n"))); + (EAPL("load_module: eap_expanded_type_c::write_type failed \n"))); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } - EAPSettings* setSettings = new EAPSettings; - if( setSettings == NULL ) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapVpnInterfaceImplementation::load_module - EAPSettings allocation error \n"))); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - if(iRequestedEapType == eap_type_aka) - { - setSettings->iEAPExpandedType = *EapExpandedTypeAka.GetType(); - - } - else if(iRequestedEapType == eap_type_gsmsim) - { - setSettings->iEAPExpandedType = *EapExpandedTypeSim.GetType(); - } - else - { - delete setSettings; - setSettings = 0; - - // Only EAP-SIM and AKA are possible now. - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_eap_type); - } - - if(iManualUsername && iManualUsername->Length() != 0) - { - setSettings->iUsernamePresent = ETrue; // Same value for both SIM and AKA. - setSettings->iUsername.Copy(iManualUsername->Des()); - } - else - { - // No user name. we have to set automatic now. - setSettings->iUsernamePresent = EFalse; // Same value for both SIM and AKA. - setSettings->iUseAutomaticUsernamePresent = ETrue; // Same value for both SIM and AKA. - setSettings->iUseAutomaticUsername = ETrue; // Same value for both SIM and AKA. - } - - if(iManualRealm && iManualRealm->Length() != 0) - { - setSettings->iRealmPresent = ETrue; // Same value for both SIM and AKA. - setSettings->iRealm.Copy(iManualRealm->Des()); - } - else - { - // No realm. we have to set automatic now. - setSettings->iRealmPresent = EFalse; // Same value for both SIM and AKA. - setSettings->iUseAutomaticRealmPresent = ETrue; // Same value for both SIM and AKA. - setSettings->iUseAutomaticRealm = ETrue; // Same value for both SIM and AKA. - } - - TRAP(error, eapType->SetConfigurationL(*setSettings) ); - if ( error != KErrNone ) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapVpnInterfaceImplementation::load_module - Setting Manual Username and Realm failed.error=%d, Continuing \n"))); - } - - delete setSettings; - setSettings = 0; - } - } - - //-------------------------------------------------------- - //-------------------------------------------------------- - - // Create the EAP protocol interface implementation. - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapVpnInterfaceImplementation: EAP Type new, GetStackInterfaceL()\n"))); - + // Now copy the 8 byte string to the real expanded cue. + cue.Copy(tmpExpCue, KExpandedEapTypeSize); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAPOL:CEapVpnInterfaceImplementation::load_module: Expanded CUE:"), + cue.Ptr(), + cue.Size())); + +#else + + TBuf8 cue; + cue.Num(static_cast(iRequestedEapType)); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + CEapType* eapType = 0; + TInt error(KErrNone); + +#ifdef USE_EAP_EXPANDED_TYPES + + // Check if this EAP type has already been loaded + TInt eapArrayIndex = find( + m_eap_type_array, + &iRequestedEapType, + m_am_tools); + + if (eapArrayIndex >= 0) + +#else // For normal EAP type. + + // Check if this EAP type has already been loaded + TInt eapArrayIndex = m_eap_type_array.Find(iRequestedEapType); + + if (eapArrayIndex != KErrNotFound) + +#endif { - CEapTypePlugin* eapPlugin = 0; - - TRAP(error, (eapPlugin = CEapTypePlugin::NewL(aEapType.GetValue(), m_index_type, m_index))); + // Yep. It was loaded already. + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapVpnInterfaceImplementation: EAP Type Already loaded\n"))); + + eapType = m_plugin_if_array[eapArrayIndex]; + } + else + { + // We must have a trap here since the EAP core knows nothing about Symbian. + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapVpnInterfaceImplementation: EAP Type new\n"))); + + TRAP(error, (eapType = CEapType::NewL(cue, m_index_type, m_index))); if (error != KErrNone - || eapPlugin == 0) + || eapType == 0) { // Interface not found or implementation creation function failed - delete eapPlugin; - eapPlugin = 0; + delete eapType; + eapType = 0; EAP_TRACE_DEBUG( m_am_tools, @@ -1458,112 +1424,197 @@ (EAPL("ECom could not find/initiate implementation.\n"))); return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - -#ifdef USE_EAP_SIMPLE_CONFIG - - TRAP(error, (*eap_type_if = eapPlugin->GetStackInterfaceL( - m_am_tools, - partner, - is_client_when_true, - receive_network_id, - 0))); // Check this up. - -#else - - TRAP(error, (*eap_type_if = eapPlugin->GetStackInterfaceL( - m_am_tools, - partner, - is_client_when_true, - receive_network_id))); - -#endif // #ifdef USE_EAP_SIMPLE_CONFIG - - if (error != KErrNone - || *eap_type_if == 0 - || (*eap_type_if)->get_is_valid() == false) + } + + //-------------------------------------------------------- + //-------------------------------------------------------- + // Set the values for realm and user name if there is any. + // If there is no values the default settings will be used( automatic realm and username). + + + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapVpnInterfaceImplementation::load_module - About to configure manual/auto username and manual/auto realm \n"))); + + EAPSettings* setSettings = new EAPSettings; + if( setSettings == NULL ) { EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapVpnInterfaceImplementation: EAP Type new, GetStackInterfaceL(), failed = %d\n"), error)); - - EAP_TRACE_ALWAYS( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("Could not create EAP type interface instance. Error: %d\n"), error)); - - status = eap_status_allocation_error; - - // Unload DLL (two ways, depending whether this type was already loaded...) - if (eapArrayIndex < 0) - { - // No need to call shutdown here because GetStackInterfaceL has done it. - delete m_eap_if_array[m_eap_if_array.Count() - 1]; - m_eap_if_array.Remove(m_eap_if_array.Count() - 1); - - delete eapPlugin; - } - else - { - unload_module((eap_type_value_e)iRequestedEapType); - } - // Note: even in error cases eap_core_c deletes eap_type_if + (EAPL("CEapVpnInterfaceImplementation::load_module - EAPSettings allocation error \n"))); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + if(iRequestedEapType == eap_type_aka) + { + setSettings->iEAPType = EAPSettings::EEapAka; + + } + else if(iRequestedEapType == eap_type_gsmsim) + { + setSettings->iEAPType = EAPSettings::EEapSim; } else { + delete setSettings; + setSettings = 0; + + // Only EAP-SIM and AKA are possible now. + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_eap_type); + } + + if(iManualUsername && iManualUsername->Length() != 0) + { + setSettings->iUsernamePresent = EGSMSIMUseManualUsernameYes; // Same value for both SIM and AKA. + setSettings->iUsername.Copy(iManualUsername->Des()); + } + else + { + // No user name. we have to set automatic now. + setSettings->iUsernamePresent = EGSMSIMUseManualUsernameNo; // Same value for both SIM and AKA. + } + + if(iManualRealm && iManualRealm->Length() != 0) + { + setSettings->iRealmPresent = EGSMSIMUseManualRealmYes; // Same value for both SIM and AKA. + setSettings->iRealm.Copy(iManualRealm->Des()); + } + else + { + // No realm. we have to set automatic now. + setSettings->iRealmPresent = EGSMSIMUseManualRealmNo; // Same value for both SIM and AKA. + } + + TRAP(error, eapType->SetConfigurationL(*setSettings) ); + if ( error != KErrNone ) + { EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapVpnInterfaceImplementation: EAP Type new, GetStackInterfaceL(), success\n"))); - - status = eap_status_ok; - - if (eapArrayIndex < 0) + (EAPL("CEapVpnInterfaceImplementation::load_module - Setting Manual Username and Realm failed.error=%d, Continuing \n"))); + } + + delete setSettings; + setSettings = 0; + } + + //-------------------------------------------------------- + //-------------------------------------------------------- + + // Create the EAP protocol interface implementation. + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapVpnInterfaceImplementation: EAP Type new, GetStackInterfaceL()\n"))); + +#ifdef USE_EAP_SIMPLE_CONFIG + + TRAP(error, (*eap_type_if = eapType->GetStackInterfaceL( + m_am_tools, + partner, + is_client_when_true, + receive_network_id, + 0))); // Check this up. + +#else + + TRAP(error, (*eap_type_if = eapType->GetStackInterfaceL( + m_am_tools, + partner, + is_client_when_true, + receive_network_id))); + +#endif // #ifdef USE_EAP_SIMPLE_CONFIG + + if (error != KErrNone + || *eap_type_if == 0 + || (*eap_type_if)->get_is_valid() == false) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapVpnInterfaceImplementation: EAP Type new, GetStackInterfaceL(), failed = %d\n"), error)); + + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Could not create EAP type interface instance. Error: %d\n"), error)); + + status = eap_status_allocation_error; + + // Unload DLL (two ways, depending whether this type was already loaded...) + if (eapArrayIndex == KErrNotFound) + { + // No need to call shutdown here because GetStackInterfaceL has done it. + delete eapType; + } + else + { + unload_module((eap_type_value_e)iRequestedEapType); + } + // Note: even in error cases eap_core_c deletes eap_type_if + } + else + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapVpnInterfaceImplementation: EAP Type new, GetStackInterfaceL(), success\n"))); + + status = eap_status_ok; + + if (eapArrayIndex == KErrNotFound) + { + // Add plugin information to the member arrays. There is no need to store eap_type pointer because + // the stack takes care of its deletion. + if (m_plugin_if_array.Append(eapType) != KErrNone) { - // Add plugin information to the member arrays. There is no need to store eap_type pointer because - // the stack takes care of its deletion. - if (m_eap_plugin_if_array.Append(eapPlugin) != KErrNone) - { - delete m_eap_if_array[m_eap_if_array.Count() - 1]; - m_eap_if_array.Remove(m_eap_if_array.Count() - 1); - - delete eapPlugin; - status = eap_status_allocation_error; - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - eap_type_value_e * tmpEAPType = new eap_type_value_e(); - if(tmpEAPType == NULL) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::load_module() eap_type_value_e creation failed\n"))); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - *tmpEAPType = type; - - status = m_eap_type_array->add_object(tmpEAPType, true); - - if (status != eap_status_ok) - { - delete m_eap_if_array[m_eap_if_array.Count() - 1]; - m_eap_if_array.Remove(m_eap_if_array.Count() - 1); - - // Remove the eap type added just previously - m_eap_plugin_if_array.Remove(m_eap_plugin_if_array.Count() - 1); - delete eapPlugin; - - status = eap_status_allocation_error; - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - } + delete eapType; + status = eap_status_allocation_error; + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + +#ifdef USE_EAP_EXPANDED_TYPES + + eap_type_value_e * tmpEAPType = new eap_type_value_e(); + if(tmpEAPType == NULL) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eapol_am_wlan_authentication_symbian_c::load_module() eap_type_value_e creation failed\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + *tmpEAPType = type; + + status = m_eap_type_array->add_object(tmpEAPType, true); + + if (status != eap_status_ok) + +#else // For normal EAP type. + + if (m_eap_type_array.Append(iRequestedEapType) != KErrNone) + +#endif + { + // Remove the eap type added just previously + m_plugin_if_array.Remove(m_plugin_if_array.Count() - 1); + delete eapType; + status = eap_status_allocation_error; + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1579,6 +1630,8 @@ EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); eap_status_e status(eap_status_type_does_not_exists_error); +#ifdef USE_EAP_EXPANDED_TYPES + // Check if this EAP type has already been loaded TInt index = find( m_eap_type_array, @@ -1589,15 +1642,26 @@ { // EAP was loaded before. - delete m_eap_if_array[index]; - m_eap_if_array.Remove(index); - - delete m_eap_plugin_if_array[index]; - m_eap_plugin_if_array.Remove(index); + delete m_plugin_if_array[index]; + m_plugin_if_array.Remove(index); status = m_eap_type_array->remove_object(index); } +#else // For normal EAP types. + + TInt index = m_eap_type_array.Find(type); + + if (index != KErrNotFound) + { + delete m_plugin_if_array[index]; + m_plugin_if_array.Remove(index); + m_eap_type_array.Remove(index); + status = eap_status_ok; + } + +#endif + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -1694,82 +1758,6 @@ return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(status)); } - -eap_status_e CEapVpnInterfaceImplementation::add_configuration_data( - eap_process_tlv_message_data_c * const message, - const eap_configuration_field_c * field, - const eap_configure_type_e /* type */, - const eap_variable_data_c * const value_data - ) -{ - eap_variable_data_c selector(m_am_tools); - - eap_status_e status = selector.set_buffer( - field->get_field(), - field->get_field_length(), - false, - false); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return status; - } - - eap_config_value_c config(m_am_tools); - - if (config.get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - config.set_type(eap_configure_type_hex_data); - - status = config.get_data()->set_copy_of_buffer( - value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = message->add_parameter_data( - &selector, - &config); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - - -const TUint32 K2DigitMncMccList[] - = { - 202,204,206,208,213,214,216,218, - 219,220,222,226,228,230,231,232, - 234,238,240,242,244,246,247,248, - 250,255,257,259,260,262,266,268, - 270,272,274,276,278,280,282,284, - 286,288,290,293,294,295,308,340, - 362,363,400,401,402,404,410,413, - 414,415,416,417,419,420,421,422, - 424,425,426,427,428,429,432,434, - 436,437,438,440,441,452,454,455, - 456,457,460,470,472,502,505,510, - 515,520,525,528,530,537,539,541, - 546,547,549,602,603,604,605,607, - 608,609,610,611,612,613,614,615, - 616,617,619,620,621,622,623,624, - 625,626,628,629,630,631,633,634, - 635,636,638,639,640,641,642,643, - 645,646,647,648,649,650,651,652, - 653,654,655,702,704,706,710,712, - 714,716,724,730,734,744,746,901 - }; - /** * The read_configure() function reads the configuration data identified * by the field string of field_length bytes length. Adaptation module must direct @@ -1801,495 +1789,6 @@ // Check if the wanted parameter is default type - if (field->get_type() == eap_configure_type_all_configurations - && field->compare( - m_am_tools, - cf_str_EAP_read_all_configurations.get_field()) == true) - { - // Copy all special configurations to data. - - eap_process_tlv_message_data_c message(m_am_tools); - - if (message.get_is_valid() == false) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - { - // cf_str_EAP_default_type_hex_data and cf_str_EAP_server_default_type_hex_data - - eap_variable_data_c value_data(m_am_tools); - if (value_data.get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // Now there are enabled EAP type, we need to take the first EAP type from the arrary. - SEapExpandedType * expandedEAPType = m_enabled_expanded_eap_array[0]; //First item. - - status = value_data.set_copy_of_buffer( - expandedEAPType->EapExpandedType.Ptr(), - KExpandedEapTypeSize); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_default_type_hex_data.get_field(), - eap_configure_type_hex_data, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_server_default_type_hex_data.get_field(), - eap_configure_type_hex_data, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - { - // cf_str_EAP_GSMSIM_UMA_profile, cf_str_EAP_AKA_UMA_profile, - // cf_str_EAP_GSMSIM_wait_eap_success_packet and cf_str_EAP_AKA_wait_eap_success_packet - - TInt val(1); - - eap_variable_data_c value_data(m_am_tools); - if (value_data.get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = value_data.set_copy_of_buffer((u8_t*) &val, sizeof(TUint)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_GSMSIM_UMA_profile.get_field(), - eap_configure_type_boolean, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_AKA_UMA_profile.get_field(), - eap_configure_type_boolean, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_GSMSIM_wait_eap_success_packet.get_field(), - eap_configure_type_boolean, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_AKA_wait_eap_success_packet.get_field(), - eap_configure_type_boolean, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - { - // cf_str_EAP_GSMSIM_UMA_realm_prefix and cf_str_EAP_AKA_UMA_realm_prefix - - eap_variable_data_c value_data(m_am_tools); - if (value_data.get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // Set uma realm prefix of EAP-SIM and EAP-AKA. - status = value_data.set_copy_of_buffer(iRealmPrefix->Ptr(), iRealmPrefix->Length()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_GSMSIM_UMA_realm_prefix.get_field(), - eap_configure_type_string, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_AKA_UMA_realm_prefix.get_field(), - eap_configure_type_string, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - { - // cf_str_EAP_GSMSIM_use_manual_realm, cf_str_EAP_AKA_use_manual_realm - - TInt val(1); - - if(iManualRealm == NULL || (iManualRealm && (iManualRealm->Length() == 0))) - { - val = 0; - } - - eap_variable_data_c value_data(m_am_tools); - if (value_data.get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = value_data.set_copy_of_buffer((u8_t*) &val, sizeof(TUint)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_GSMSIM_use_manual_realm.get_field(), - eap_configure_type_boolean, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_AKA_use_manual_realm.get_field(), - eap_configure_type_boolean, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - { - // cf_str_EAP_GSMSIM_manual_realm and cf_str_EAP_AKA_manual_realm - - eap_variable_data_c value_data(m_am_tools); - if (value_data.get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - if(iManualRealm != NULL) - { - // ManualRealm of EAP-SIM and EAP-AKA. - status = value_data.set_copy_of_buffer(iManualRealm->Ptr(), iManualRealm->Length()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - status = add_configuration_data( - &message, - cf_str_EAP_GSMSIM_manual_realm.get_field(), - eap_configure_type_string, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_AKA_manual_realm.get_field(), - eap_configure_type_string, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - { - // cf_str_EAP_GSMSIM_use_manual_username, cf_str_EAP_AKA_use_manual_username - - // Use ManualUsername of EAP-SIM and EAP-AKA. - TInt val(1); - if (iManualUsername == NULL || (iManualUsername->Length() == 0)) - { - val = 0; - } - - eap_variable_data_c value_data(m_am_tools); - if (value_data.get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = value_data.set_copy_of_buffer((u8_t*) &val, sizeof(TUint)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_GSMSIM_use_manual_username.get_field(), - eap_configure_type_boolean, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_AKA_use_manual_username.get_field(), - eap_configure_type_boolean, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - { - // cf_str_EAP_GSMSIM_manual_username and cf_str_EAP_AKA_manual_username - - eap_variable_data_c value_data(m_am_tools); - if (value_data.get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // ManualUsername of EAP-SIM and EAP-AKA. - if (iManualUsername != NULL) - { - status = value_data.set_copy_of_buffer(iManualUsername->Ptr(), iManualUsername->Length()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - status = add_configuration_data( - &message, - cf_str_EAP_GSMSIM_manual_username.get_field(), - eap_configure_type_string, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_AKA_manual_username.get_field(), - eap_configure_type_string, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - { - // cf_str_EAP_TRACE_output_file_name - - eap_variable_data_c value_data(m_am_tools); - if (value_data.get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = value_data.set_copy_of_buffer(m_trace_log_file_name); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_TRACE_output_file_name.get_field(), - eap_configure_type_string, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - { - // cf_str_EAP_GSMSIM_max_session_validity_time and cf_str_EAP_AKA_max_session_validity_time - - u32_t session_validity_time_in_seconds(43200ul); - - eap_variable_data_c value_data(m_am_tools); - if (value_data.get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = value_data.set_copy_of_buffer(reinterpret_cast(&session_validity_time_in_seconds), sizeof(session_validity_time_in_seconds)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_GSMSIM_max_session_validity_time.get_field(), - eap_configure_type_u32_t, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_AKA_max_session_validity_time.get_field(), - eap_configure_type_u32_t, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - { - // cf_str_EAP_CORE_wait_eap_request_type_timeout - - u32_t wait_eap_request_type_timeout_in_milli_seconds(30000ul); - - eap_variable_data_c value_data(m_am_tools); - if (value_data.get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - status = value_data.set_copy_of_buffer(reinterpret_cast(&wait_eap_request_type_timeout_in_milli_seconds), sizeof(wait_eap_request_type_timeout_in_milli_seconds)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_CORE_wait_eap_request_type_timeout.get_field(), - eap_configure_type_u32_t, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - { - // cf_str_EAP_GSMSIM_2_digit_mnc_map_of_mcc_of_imsi_array and cf_str_EAP_AKA_2_digit_mnc_map_of_mcc_of_imsi_array - - eap_variable_data_c value_data(m_am_tools); - if (value_data.get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - // 2-digit MNC configuration of EAP-SIM and EAP-AKA. - status = value_data.set_copy_of_buffer((u32_t*) K2DigitMncMccList, sizeof(K2DigitMncMccList)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_GSMSIM_2_digit_mnc_map_of_mcc_of_imsi_array.get_field(), - eap_configure_type_u32array, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = add_configuration_data( - &message, - cf_str_EAP_AKA_2_digit_mnc_map_of_mcc_of_imsi_array.get_field(), - eap_configure_type_u32array, - &value_data); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - status = data->set_copy_of_buffer( - message.get_message_data(), - message.get_message_data_length()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - else { eap_variable_data_c wanted_field(m_am_tools); @@ -2306,13 +1805,15 @@ if (wanted_field.compare( - cf_str_EAP_default_type_hex_data.get_field()->get_field(), - cf_str_EAP_default_type_hex_data.get_field()->get_field_length()) == 0 + cf_str_EAP_default_type_u32_t.get_field()->get_field(), + cf_str_EAP_default_type_u32_t.get_field()->get_field_length()) == 0 || wanted_field.compare( - cf_str_EAP_server_default_type_hex_data.get_field()->get_field(), - cf_str_EAP_server_default_type_hex_data.get_field()->get_field_length()) == 0) + cf_str_EAP_server_default_type_u32_t.get_field()->get_field(), + cf_str_EAP_server_default_type_u32_t.get_field()->get_field_length()) == 0) { // We need to return here the next EAP type we should try + +#ifdef USE_EAP_EXPANDED_TYPES if(m_enabled_expanded_eap_array.Count() < 1) { @@ -2373,6 +1874,62 @@ expandedEAPType->EapExpandedType.Size())); } +#else // For normal EAP types + + TInt i; + + for (i = 0; i < m_iap_eap_array.Count(); i++) + { + // Find the first enabled EAP type (highest priority) + TEap *eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + // Convert the string to integer + TLex8 tmp(eapType->UID); + TInt val(0); + tmp.Val(val); + + status = data->set_copy_of_buffer((u8_t*) &val, sizeof(TUint)); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + if(val == iRequestedEapType) + { + EAP_TRACE_ALWAYS( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("EAPOL: Trying EAP type: %d.\n"), val)); + break; + } + else + { + continue; + } + } + } // for() + + if (i >= m_iap_eap_array.Count()) + { + // Not found + // Send WLM notification because there is no way that the authentication + // can be successful if we don't have any EAP types to use... + if (m_is_client) + { + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: No configured EAP types or all tried unsuccessfully.\n"))); + } + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_field); + } + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -2452,11 +2009,7 @@ { // Use ManualUsername of EAP-SIM and EAP-AKA. TInt val(1); - if(iManualUsername == NULL) - { - val = 0; - } - if (iManualUsername && (iManualUsername->Length() == 0)) + if(iManualUsername == NULL || (iManualUsername && (iManualUsername->Length() == 0))) { val = 0; } @@ -2472,12 +2025,9 @@ cf_str_EAP_AKA_manual_username.get_field()->get_field_length()) == 0) { // ManualUsername of EAP-SIM and EAP-AKA. - if(iManualUsername != NULL) - { - status = data->set_copy_of_buffer(iManualUsername->Ptr(), iManualUsername->Length()); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } + status = data->set_copy_of_buffer(iManualUsername->Ptr(), iManualUsername->Length()); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } else if (wanted_field.compare( cf_str_EAP_GSMSIM_2_digit_mnc_map_of_mcc_of_imsi_array.get_field()->get_field(), @@ -2487,6 +2037,30 @@ cf_str_EAP_AKA_2_digit_mnc_map_of_mcc_of_imsi_array.get_field()->get_field_length()) == 0) { // 2-digit MNC configuration of EAP-SIM and EAP-AKA. + const TUint32 K2DigitMncMccList[] + = { + 202,204,206,208,213,214,216,218, + 219,220,222,226,228,230,231,232, + 234,238,240,242,244,246,247,248, + 250,255,257,259,260,262,266,268, + 270,272,274,276,278,280,282,284, + 286,288,290,293,294,295,308,340, + 362,363,400,401,402,404,410,413, + 414,415,416,417,419,420,421,422, + 424,425,426,427,428,429,432,434, + 436,437,438,440,441,452,454,455, + 456,457,460,470,472,502,505,510, + 515,520,525,528,530,537,539,541, + 546,547,549,602,603,604,605,607, + 608,609,610,611,612,613,614,615, + 616,617,619,620,621,622,623,624, + 625,626,628,629,630,631,633,634, + 635,636,638,639,640,641,642,643, + 645,646,647,648,649,650,651,652, + 653,654,655,702,704,706,710,712, + 714,716,724,730,734,744,746,901 + }; + status = data->set_copy_of_buffer((u32_t*) K2DigitMncMccList, sizeof(K2DigitMncMccList)); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); @@ -2669,16 +2243,11 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - eap_status_e status(eap_status_ok); - - if (m_am_tools != 0) - { - status = m_am_tools->am_set_timer( - p_initializer, - p_id, - p_data, - p_time_ms); - } + const eap_status_e status = m_am_tools->am_set_timer( + p_initializer, + p_id, + p_data, + p_time_ms); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return status; @@ -2698,14 +2267,9 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - eap_status_e status(eap_status_ok); - - if (m_am_tools != 0) - { - status = m_am_tools->am_cancel_timer( - p_initializer, - p_id); - } + const eap_status_e status = m_am_tools->am_cancel_timer( + p_initializer, + p_id); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return status; @@ -2724,12 +2288,7 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - eap_status_e status(eap_status_ok); - - if (m_am_tools != 0) - { - status = m_am_tools->am_cancel_all_timers(); - } + const eap_status_e status = m_am_tools->am_cancel_all_timers(); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return status; @@ -2746,6 +2305,8 @@ eap_status_e status(eap_status_illegal_eap_type); +#ifdef USE_EAP_EXPANDED_TYPES + for (int i = 0; i < m_enabled_expanded_eap_array.Count(); i++) { TBuf8 tmpExpEAP(m_enabled_expanded_eap_array[i]->EapExpandedType); @@ -2785,6 +2346,32 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } } // End of for() + +#else // For normal unexpanded EAP type + + TEap *eapType = 0; + + for (int i = 0; i < m_iap_eap_array.Count(); i++) + { + // Try next EAP type + eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + // Convert the string to integer + TLex8 tmp(eapType->UID); + TInt val(0); + tmp.Val(val); + + if (val == eap_type) + { + // Allowed + status = eap_status_ok; + break; + } + } + } // for() + +#endif // #ifdef USE_EAP_EXPANDED_TYPES EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -2813,6 +2400,8 @@ eap_header_string_c eap_string; EAP_UNREFERENCED_PARAMETER(eap_string); +#ifdef USE_EAP_EXPANDED_TYPES + // This function is same as get_selected_eap_types in behavior. // We need to return only the EAP types available as enabled types. @@ -2860,16 +2449,48 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } - + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("get_eap_type_list():added EAP-type=0xfe%06x%08x=%s\n"), - expandedEAPType->get_vendor_id(), + (EAPL("get_eap_type_list():added EAP-type=0x%08x=%s\n"), expandedEAPType->get_vendor_type(), - eap_header_string_c::get_eap_type_string(*expandedEAPType))); + eap_string.get_eap_type_string(*expandedEAPType))); } +#else // for normal EAP types. + + TEap *eapType = 0; + + for (TInt i = 0; i < m_iap_eap_array.Count(); i++) + { + // Check if type is enabled + eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + TLex8 tmp(eapType->UID); + TInt val(0); + tmp.Val(val); + + eap_type_value_e * const eap_type = new eap_type_value_e( + static_cast(val)); + if (eap_type == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = eap_type_list->add_object(eap_type, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + } // for() + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return eap_status_ok; } @@ -3035,125 +2656,4 @@ //-------------------------------------------------- -eap_status_e CEapVpnInterfaceImplementation::complete_get_802_11_authentication_mode( - const eap_status_e /* completion_status */, - const eap_am_network_id_c * /* const receive_network_id */, - const eapol_key_802_11_authentication_mode_e /* mode */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); -} - -//-------------------------------------------------- - -eap_status_e CEapVpnInterfaceImplementation::complete_remove_eap_session( - const bool /* complete_to_lower_layer */, - const eap_am_network_id_c * const /* receive_network_id */) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); -} - -//-------------------------------------------------- - -#if defined(USE_EAP_SIMPLE_CONFIG) - -eap_status_e CEapVpnInterfaceImplementation::save_simple_config_session( - const simple_config_state_e /* state */, - EAP_TEMPLATE_CONST eap_array_c * const /* credential_array */, - const eap_variable_data_c * const /* new_password */, - const simple_config_Device_Password_ID_e /* Device_Password_ID */, - const simple_config_payloads_c * const /* other_configuration */ - ) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); -} - -#endif // #if defined(USE_EAP_SIMPLE_CONFIG) - -//-------------------------------------------------- - -// -eap_session_core_base_c * CEapVpnInterfaceImplementation::new_eap_core_client_message_if_c( - abs_eap_am_tools_c * const tools, - abs_eap_session_core_c * const partner, - const bool is_client_when_true, - const u32_t MTU) -{ - eap_am_message_if_c *client_if = new_eap_am_client_message_if_c( - tools, - is_client_when_true, - MTU); - - eap_automatic_variable_c automatic_server_if( - tools, - client_if); - - if (client_if == 0 - || client_if->get_is_valid() == false) - { - // ERROR. - if (client_if != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: calls: eap_session_core_base_c::new_eap_core_client_message_if_c(): client_if->shutdown(): %s.\n"), - (is_client_when_true == true) ? "client": "server")); - - (void) client_if->shutdown(); - } - - return 0; - } - - eap_core_client_message_if_c * new_session_core = new eap_core_client_message_if_c(tools, client_if, partner, is_client_when_true); - - eap_automatic_variable_c automatic_new_session_core( - tools, - new_session_core); - - if (new_session_core == 0 - || new_session_core->get_is_valid() == false) - { - // ERROR. - if (new_session_core != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: calls: eap_session_core_base_c::new_eap_core_client_message_if_c(): new_session_core->shutdown(): %s.\n"), - (is_client_when_true == true) ? "client": "server")); - - new_session_core->shutdown(); - } - - (void) client_if->shutdown(); - - return 0; - } - - client_if->set_partner(new_session_core); - - automatic_server_if.do_not_free_variable(); - automatic_new_session_core.do_not_free_variable(); - - return new_session_core; -} - -//-------------------------------------------------- - // End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_main.cpp --- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_main.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_main.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ // INCLUDE FILES diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_proxy.cpp --- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_proxy.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_proxy.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.2 % +* %version: 10 % */ // INCLUDE FILES diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolver.cpp --- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolver.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolver.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // INCLUDE FILES diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolvermain.cpp --- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolvermain.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolvermain.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // INCLUDE FILES diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolverproxy.cpp --- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolverproxy.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolverproxy.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ // INCLUDE FILES diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_timer.cpp --- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_timer.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_timer.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13 % */ // INCLUDE FILES diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapAkaInterface.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapAkaInterface.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapAkaInterface.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 10.1.2 % +* %version: 13 % */ #ifndef _EAPAKAINTERFACE_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapAutomatic.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapAutomatic.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 3 % -*/ - -#ifndef _EAP_AUTOMATIC_H_ -#define _EAP_AUTOMATIC_H_ - -template -class PointerArrayResetAndDestroy -{ - -public: - - PointerArrayResetAndDestroy( RPointerArray * aArray, const TBool aDeleteWhenTrue) - : iArray(aArray) - , iDeleteWhenTrue(aDeleteWhenTrue) - { - } - - virtual ~PointerArrayResetAndDestroy() - { - if (iArray != 0) - { - iArray->ResetAndDestroy(); - iArray->Close(); - - if (iDeleteWhenTrue) - { - delete iArray; - } - iArray = 0; - } - } - - void DoNotFreeArray() - { - iArray = 0; - } - -private: - - RPointerArray * iArray; - - TBool iDeleteWhenTrue; - -}; - -#endif // _EAP_AUTOMATIC_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapConfigToolsSymbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapConfigToolsSymbian.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 1 % -*/ - -#if !defined(_EAP_CONFIG_TOOLS_SYMBIAN_H_) -#define _EAP_CONFIG_TOOLS_SYMBIAN_H_ - -class abs_eap_am_tools_c; -class eap_file_config_c; - -class EapConfigToolsSymbian -{ - -public: - - // ---------------------------------------------------------------------- - - static eap_status_e EapReadDefaultConfigFileSymbian( - abs_eap_am_tools_c * const aAmTools, - eap_file_config_c ** const aFileconfig); - -}; - -#endif //#if !defined(_EAP_CONFIG_TOOLS_SYMBIAN_H_) - -//-------------------------------------------------- -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapConversion.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapConversion.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,141 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#ifndef _EAP_CONVERSION_H_ -#define _EAP_CONVERSION_H_ - -// INCLUDES -#include -#include "eap_array.h" -#include "eap_expanded_type.h" -#include "eap_method_settings.h" -#include "EapExpandedType.h" -#include "EapSettings.h" - -// FORWARD DECLARATIONS - - -// CLASS DECLARATION -/** -* Class that implements the conversion functions for EAP type interface. -*/ -class EAP_EXPORT CEapConversion -{ - -public: - - EAP_FUNC_IMPORT static TInt ConvertFromTDesCToInternal( - abs_eap_am_tools_c * const tools, - const TDesC & input16, - eap_variable_data_c * const target8); - - - EAP_FUNC_IMPORT static TInt ConvertFromInternalToBuf16( - abs_eap_am_tools_c * const tools, - const eap_variable_data_c * const input8, - TDes * const target16); - - EAP_FUNC_IMPORT static TInt ConvertFromBuf16ToInternal( - abs_eap_am_tools_c * const tools, - const TDes * const input16, - eap_variable_data_c * const target8); - - - EAP_FUNC_IMPORT static TInt ConvertEAPTypesToInternalTypes( - abs_eap_am_tools_c * const tools, - const RArray * const EncapsulatedEAPTypes, - eap_array_c * const target); - - EAP_FUNC_IMPORT static TInt ConvertInternalTypesToEAPTypes( - abs_eap_am_tools_c * const tools, - const eap_array_c * const source, - RArray * const EncapsulatedEAPTypes); - - - EAP_FUNC_IMPORT static TInt ConvertExpandedEAPTypeToInternalType( - const TEapExpandedType * const EncapsulatedExpandedEAPType, - eap_type_value_e * const target); - - EAP_FUNC_IMPORT static TInt ConvertInternalTypeToExpandedEAPType( - const eap_type_value_e * const source, - TEapExpandedType * const EncapsulatedExpandedEAPType); - - - EAP_FUNC_IMPORT static TInt ConvertExpandedEAPTypesToInternalTypes( - abs_eap_am_tools_c * const tools, - const RArray * const EncapsulatedExpandedEAPTypes, - eap_array_c * const target); - - EAP_FUNC_IMPORT static TInt ConvertInternalTypesToExpandedEAPTypes( - abs_eap_am_tools_c * const tools, - const eap_array_c * const source, - RArray * const EncapsulatedExpandedEAPTypes); - - - EAP_FUNC_IMPORT static TInt ConvertInternalTypesToHBufC8( - abs_eap_am_tools_c * const tools, - const eap_array_c * const source, - HBufC8 ** const EncapsulatedExpandedEAPTypesData); - - EAP_FUNC_IMPORT static TInt ConvertHBufC8ToInternalTypes( - abs_eap_am_tools_c * const tools, - const HBufC8 * const EncapsulatedExpandedEAPTypesData, - eap_array_c * const target); - - - EAP_FUNC_IMPORT static TInt ConvertCipherSuitesToInternalType( - abs_eap_am_tools_c * const tools, - const RArray * const aCipherSuites, - eap_array_c * const internal_cipher_suites); - - EAP_FUNC_IMPORT static TInt ConvertInternalTypeToCipherSuites( - abs_eap_am_tools_c * const tools, - const eap_array_c * const internal_cipher_suites, - RArray * const aCipherSuites); - - - EAP_FUNC_IMPORT static TInt ConvertCertificatesToInternalType( - abs_eap_am_tools_c * const tools, - const RPointerArray * const aCertificates, - eap_array_c * const internal_certificates); - - EAP_FUNC_IMPORT static TInt ConvertInternalTypeToCertificates( - abs_eap_am_tools_c * const tools, - const eap_certificate_entry_c::eap_certificate_type_e select_certificate_type, - const eap_array_c * const internal_certificates, - RPointerArray * const aCertificates); - - - EAP_FUNC_IMPORT static TInt ConvertEAPSettingsToInternalType( - abs_eap_am_tools_c * const tools, - const EAPSettings * const aSettings, - eap_method_settings_c * const internal_settings); - - EAP_FUNC_IMPORT static TInt ConvertInternalTypeToEAPSettings( - abs_eap_am_tools_c * const tools, - const eap_method_settings_c * const internal_settings, - EAPSettings * const aSettings); - -}; - -#endif // _EAP_CONVERSION_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierStructs.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierStructs.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierStructs.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #ifndef EAPLEAPNOTIFIERSTRUCTS_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierUids.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierUids.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierUids.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ /** diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapMessageQueue.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapMessageQueue.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 5 % -*/ - -#ifndef EAPMESSAGEQUEU_H_ -#define EAPMESSAGEQUEU_H_ - -#include "EapServerClientDef.h" -#include "abs_eap_am_tools.h" -#include "eap_am_export.h" - -class EAP_EXPORT EapMessageBuffer -{ -public: - - EAP_FUNC_IMPORT EapMessageBuffer(abs_eap_am_tools_c * const tools); - - EAP_FUNC_IMPORT virtual ~EapMessageBuffer(); - - EAP_FUNC_IMPORT TInt CopyData(TEapRequests type, const void * const data, const TUint length); - - EAP_FUNC_IMPORT HBufC8 * GetData() const; - - EAP_FUNC_IMPORT TEapRequests GetRequestType() const; - -private: - - abs_eap_am_tools_c * const iTools; - - TEapRequests iRequestType; - - HBufC8 * iData; - -}; - - -class EAP_EXPORT EapMessageQueue -{ -public: - - EAP_FUNC_IMPORT EapMessageQueue(abs_eap_am_tools_c * const tools); - - EAP_FUNC_IMPORT virtual ~EapMessageQueue(); - - EAP_FUNC_IMPORT TInt AddMessage(TEapRequests type, const void * const data, const TUint length); - - EAP_FUNC_IMPORT EapMessageBuffer * GetFirstMessage(); - - EAP_FUNC_IMPORT TInt DeleteFirstMessage(); - -private: - - abs_eap_am_tools_c * const iTools; - - RArray iEapMessageQueue; - -}; - -#endif /* EAPMESSAGEQUEU_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierStructs.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierStructs.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierStructs.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #ifndef EAPMSCHAPV2NOTIFIERSTRUCTS_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierUids.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierUids.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierUids.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ // diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapPluginTools.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapPluginTools.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 9 % -*/ - -#if !defined(_EAPPLUGINTOOLS_H_) -#define _EAPPLUGINTOOLS_H_ - -#include -#include -#include - -/** @file */ - -class EapPluginTools -{ - -public: - - // ---------------------------------------------------------------------- - - IMPORT_C EapPluginTools(); - - IMPORT_C virtual ~EapPluginTools(); - - IMPORT_C void ListAllEapPluginsL(const TIndexType aIndexType, const TEapExpandedType & aTunnelingEapType, RPointerArray & aPlugins); - - IMPORT_C static void CleanupImplArray( TAny* aAny ); - - IMPORT_C static void GetPrivatePathL( - RFs& aFileServerSession, - TFileName& aPrivateDatabasePathName); - - IMPORT_C static void GetPrivatePathL( - TFileName& aPrivateDatabasePathName); - - IMPORT_C static void CreateDatabaseLC( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - TInt& error, - const TDesC& aDatabaseName, - TFileName& aPrivateDatabasePathName); - - // ---------------------------------------------------------------------- - -private: - - // ---------------------------------------------------------------------- - - // ---------------------------------------------------------------------- - -}; - -#define EAP_LITERAL_SYMBIAN(name, string) \ - _LIT8(name##_8bit, string); \ - _LIT(name, string) - -#endif //#if !defined(_EAPPLUGINTOOLS_H_) - - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapProtectedSetupInterface.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapProtectedSetupInterface.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapProtectedSetupInterface.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 4.1.2 % +* %version: 6 % */ #ifndef _EAPPROTECTEDSETUPINTERFACE_H_ @@ -29,7 +29,7 @@ #include // FORWARD DECLARATIONS -class CEapAmProtectedSetupSymbian; +class eap_am_type_protected_setup_symbian_c; // CLASS DECLARATION /** @@ -54,7 +54,7 @@ */ static CEapProtectedSetupInterface* NewL( abs_eap_am_tools_c* const aTools, - CEapAmProtectedSetupSymbian* const aParent); + eap_am_type_protected_setup_symbian_c* const aParent); /** * Destructor @@ -69,7 +69,7 @@ protected: - CEapProtectedSetupInterface(abs_eap_am_tools_c* const aTools, CEapAmProtectedSetupSymbian* const aParent); + CEapProtectedSetupInterface(abs_eap_am_tools_c* const aTools, eap_am_type_protected_setup_symbian_c* const aParent); void ConstructL(); @@ -85,7 +85,7 @@ private: - CEapAmProtectedSetupSymbian * const iParent; + eap_am_type_protected_setup_symbian_c * const iParent; abs_eap_am_tools_c * const m_am_tools; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierStructs.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierStructs.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierStructs.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #ifndef EAPSECURIDNOTIFIERSTRUCTS_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierUids.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierUids.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierUids.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ /** diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapSimInterface.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapSimInterface.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapSimInterface.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 9.1.2 % +* %version: 13 % */ #ifndef _EAPSIMINTERFACE_H_ @@ -88,6 +88,8 @@ // Creates the MMETel connection and loads the phone module. TInt CreateMMETelConnectionL(); + void DisconnectMMETel(); + private: eap_am_type_gsmsim_symbian_c * const iParent; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapSimIsaInterface.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapSimIsaInterface.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapSimIsaInterface.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #ifndef _EAPSIMISAINTERFACE_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapCertInterface.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapCertInterface.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapCertInterface.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13.1.2 % */ #ifndef _EAPTLSPEAPCERTINTERFACE_H_ @@ -48,20 +48,17 @@ virtual ~CEapTlsPeapCertInterface(); - void ReadCertificateL(EapCertificateEntry& aCertInfo, const TBool aRetrieveChain); + void ReadCertificateL(SCertEntry& aCertInfo, const TBool aRetrieveChain); - void ReadCACertificateL(EapCertificateEntry& aCertInfo); + void ReadCACertificateL(SCertEntry& aCertInfo); void ReadPrivateKeyL(TKeyIdentifier& aHash); - void ValidateChainL( - TDesC8& aCertChain, - RPointerArray& aCACerts, - const TBool aUseAutomaticCaCertificate); + void ValidateChainL(TDesC8& aCertChain, RArray& aCACerts); void GetMatchingCertificatesL( - const RPointerArray& aAllowedUserCerts, + const RArray& aAllowedUserCerts, const TBool aUseCertAuthoritiesFilter, EAP_TEMPLATE_CONST eap_array_c * const aCertAuthorities, const TBool aUseCertTypesFilter, @@ -70,12 +67,12 @@ const RArray& aAllowedCipherSuites); void SignL( - const TKeyIdentifier& aKeyId, + TKeyIdentifier& aKeyId, const TDesC8& aHashIn, const TUint aSignatureLength); void DecryptL( - const TKeyIdentifier& aKeyId, + TKeyIdentifier& aKeyId, const TDesC8& aData); void CancelSignWithPrivateKey(); @@ -137,7 +134,7 @@ RFs iFs; - RPointerArray iAllowedUserCerts; + RArray iAllowedUserCerts; TBool iUseCertAuthoritiesFilter; @@ -148,9 +145,9 @@ TBool iRSACertsAllowed; TBool iDSACertsAllowed; - + RPointerArray iCertAuthorities; - + const eap_array_c* iCertTypes; RMPointerArray iCertInfos; @@ -176,17 +173,17 @@ RPointerArray iUserCertChain; - RPointerArray iMatchingUserCertInfos; + CArrayFixFlat iMatchingUserCertInfos; TUint iCAIndex; TUint iUserCertIndex; - RPointerArray iAllowedCACerts; + RArray iAllowedCACerts; HBufC8* iInputCertChain; - EapCertificateEntry iCertInfo; + SCertEntry iCertInfo; TAny *iResArray; @@ -212,9 +209,6 @@ CUnifiedKeyStore* iKeyStore; TBool iRetrieveChain; - - TBool iUseAutomaticCaCertificate; - }; #endif // _EAPTLSPEAPCERTINTERFACE_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapNotifierStructs.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapNotifierStructs.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapNotifierStructs.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,59 +16,24 @@ */ /* -* %version: % +* %version: 6.1.2 % */ #ifndef _CERTIFICATESELECTIONINFO_H_ #define _CERTIFICATESELECTIONINFO_H_ #include "EapTlsPeapUtils.h" -#include "EapTraceSymbian.h" const TUint KIdentityFieldLength = 64; -class TCertificateSelectionInfo +struct TCertificateSelectionInfo { - -public: - - TCertificateSelectionInfo() - { - EAP_TRACE_DEBUG_SYMBIAN((_L("TCertificateSelectionInfo::TCertificateSelectionInfo()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: TCertificateSelectionInfo::TCertificateSelectionInfo()\n")); - } - - virtual ~TCertificateSelectionInfo() - { - EAP_TRACE_DEBUG_SYMBIAN((_L("TCertificateSelectionInfo::~TCertificateSelectionInfo()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: TCertificateSelectionInfo::~TCertificateSelectionInfo()\n")); - - EAP_TRACE_DEBUG_SYMBIAN((_L("TCertificateSelectionInfo::~TCertificateSelectionInfo(): calls iCertificates.ResetAndDestroy()"))); - iCertificates.ResetAndDestroy(); // ResetAndDestroy() function must be called because the objects represented by the array need to be deleted before the array object is destroyed. - - EAP_TRACE_DEBUG_SYMBIAN((_L("TCertificateSelectionInfo::~TCertificateSelectionInfo(): calls iCertificates.Close()"))); - iCertificates.Close(); // The Close() function must be called before RPointerArray object is destroyed. - } - - RPointerArray iCertificates; + TInt iCount; + TFixedArray iCertificates; }; -class TIdentityInfo +struct TIdentityInfo { -public: - - TIdentityInfo() - { - EAP_TRACE_DEBUG_SYMBIAN((_L("TIdentityInfo::TIdentityInfo()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: TIdentityInfo::TIdentityInfo()\n")); - } - - virtual ~TIdentityInfo() - { - EAP_TRACE_DEBUG_SYMBIAN((_L("TIdentityInfo::~TIdentityInfo()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: TIdentityInfo::~TIdentityInfo()\n")); - } - TBool iUseManualUsername; TBuf iUsername; TBuf iRealm; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapTimerValues.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapTimerValues.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapTimerValues.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #ifndef _EAPTLSPEAPTIMERVALUES_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapTtlsPapDbInfoStruct.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapTtlsPapDbInfoStruct.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapTtlsPapDbInfoStruct.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #ifndef EAPTTLSPAPDBINFOSTRUCT_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/Eapol.h --- a/eapol/eapol_framework/eapol_symbian/am/include/Eapol.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/Eapol.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_EAPOL_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapolDbDefaults.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapolDbDefaults.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolDbDefaults.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 5.1.5 % +* %version: 7 % */ #if !defined(_EAPOLDBDEFAULTS_H_) @@ -24,17 +24,44 @@ // LOCAL CONSTANTS -// For EAPOL database. -// Database will be written to private folder of the WLAN-server. -_LIT(KEapolDatabaseName, "eapol.dat"); +#ifdef SYMBIAN_SECURE_DBMS +// For EAPOL secure database. +// Full path is not needed. The database eapol.dat will be saved in the +// data cage path for DBMS. So it will be in "\private\100012a5\eapol.dat" in C: drive. +// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h. + +_LIT(KDatabaseName, "c:eapol.dat"); + +_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy. + +#else + +_LIT(KDatabaseName, "c:\\system\\data\\eapol.dat"); + +#endif // #ifdef SYMBIAN_SECURE_DBMS + +#if !defined(USE_EAP_FILECONFIG) + const TInt default_EAP_TRACE_disable_traces = 0; + const TInt default_EAP_TRACE_enable_function_traces = 0; + const TInt default_EAP_TRACE_only_trace_messages = 0; + const TInt default_EAP_TRACE_only_test_vectors = 0; +#endif //#if !defined(USE_EAP_FILECONFIG) _LIT(default_EAP_TRACE_output_file_name, "c:\\logs\\eapol\\eap_core.txt"); #if !defined(USE_EAP_FILECONFIG) + const TInt default_EAP_CORE_session_timeout = 120000; // ms = 120 seconds = 2 minutes. const TInt default_EAPOL_CORE_starts_max_count = 3; const TInt default_EAPOL_CORE_send_start_interval = 2000; // ms + const TInt default_EAP_ERROR_TEST_enable_random_errors = 0; + const TInt default_EAP_ERROR_TEST_send_original_packet_first = 0; + const TInt default_EAP_ERROR_TEST_generate_multiple_error_packets = 2; + const TInt default_EAP_ERROR_TEST_manipulate_ethernet_header = 0; + const TInt default_EAP_ERROR_TEST_error_probability = 8000000; + const TInt default_EAP_test_default_type = 18; // EAP-SIM + const TInt default_EAP_CORE_retransmission_counter = 0; #endif //#if !defined(USE_EAP_FILECONFIG) - + #endif // _EAPOLDBDEFAULTS_H_ // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapolDbParameterNames.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapolDbParameterNames.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolDbParameterNames.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_EAPOLDBPARAMETERNAMES_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapolTimer.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapolTimer.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolTimer.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #if !defined(_EAPOL_TIMER_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapolToWlmIf.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapolToWlmIf.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolToWlmIf.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_EAPOLTOWLMIF_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/EapolUID.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapolUID.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolUID.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 23 % +* %version: 12.1.2 % */ #ifndef _EAPOLUID_H_ @@ -55,8 +55,8 @@ #define EAP_MSCHAPV2_CHANGE_PASSWORD_NOTIFIER_UID 0x101f8e6a // EAP-SecurID +#define EAP_SECURID_NOTIFIERS_DLL_UID 0x101f8e6c #define EAP_SECURID_DLL_UID 0x101f8e74 -#define EAP_SECURID_NOTIFIERS_DLL_UID 0x101f8e6c #define EAP_SECURID_IMPLEMENTATION_UID 0x101f8e75 #define EAP_SECURID_IDENTITY_NOTIFIER_UID 0x101f8e76 #define EAP_SECURID_PASSCODE_NOTIFIER_UID 0x101f8e77 @@ -81,51 +81,6 @@ #define EAP_PROTECTED_SETUP_DLL_UID 0x2000b003 #define EAP_PROTECTED_SETUP_IMPLEMENTATION_UID 0x2000b004 -// EAP-Generic IF -#define EAP_GENERIC_DLL_UID 0x20026FD1 -#define EAP_GENERIC_IMPLEMENTATION_UID 0x20026FD2 -#define EAP_GENERIC_INTERFACE_UID 0x20026FF7 - -// EAP-General-Settings IF -#define EAP_GENERAL_SETTINGS_DLL_UID 0x20026FD6 -#define EAP_GENERAL_SETTINGS_IMPLEMENTATION_UID 0x20026FD8 -#define EAP_GENERAL_SETTINGS_INTERFACE_UID 0x20026FF8 - -#define EAP_PLUGIN_DLL_UID 0x20026FD3 -#define EAP_PLUGIN_IMPLEMENTATION_UID 0x20026FD5 -#define EAP_PLUGIN_INTERFACE_UID 0x20026FD4 - -#define EAP_CORE_INTERFACEIMPLEMENTATION_DLL_UID 0x20026FCD -#define EAP_CORE_INTERFACEIMPLEMENTATION_IMPLEMENTATION_UID 0x20026FCC -#define EAP_CORE_INTERFACEIMPLEMENTATION_INTERFACE_UID 0x20026FC7 - -#define EAP_TOOLS_DLL_UID 0x20026FC8 -#define EAP_SYMBIAN_TOOLS_UID 0x20026FD0 -#define EAP_TOOLS_INTERFACE_UID 0x20026FCF - -#define EAP_SERVER_UID 0x20026FCB - -#define EAP_CORE_INTERFACE_DLL_UID 0x20026FEC - -// WAPI Security Settings -#define WAPI_SETTINGS_CLIENT_PLUGIN_DLL_UID 0x2002DC6C -#define WAPI_SETTINGS_CLIENT_IMPLEMENTATION_UID 0x2002DC6E -#define WAPI_SETTINGS_CLIENT_INTERFACE_UID 0x2002DC6D - -#define WAPI_SETTINGS_SERVER_PLUGIN_DLL_UID 0x2002DC90 -#define WAPI_SETTINGS_SERVER_IMPLEMENTATION_UID 0x2002DC92 -#define WAPI_SETTINGS_SERVER_INTERFACE_UID 0x2002DC91 - -// WAPI Core -#define WAPI_CORE_INTERFACE_DLL_UID 0x2002E6E3 - -#define WAPI_CORE_INTERFACEIMPLEMENTATION_DLL_UID 0x2002E6E4 -#define WAPI_CORE_INTERFACEIMPLEMENTATION_IMPLEMENTATION_UID 0x2002E6E6 -#define WAPI_CORE_INTERFACEIMPLEMENTATION_INTERFACE_UID 0x2002E6E5 - -#define WAPI_CORE_SERVER_PLUGIN_DLL_UID 0x2002E6EE -#define WAPI_CORE_SERVER_IMPLEMENTATION_UID 0x2002E6F0 -#define WAPI_CORE_SERVER_INTERFACE_UID 0x2002E6EF // FREE UIDS diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/abs_eapol_am_core_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/abs_eapol_am_core_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/abs_eapol_am_core_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #if !defined(_ABS_EAPOL_AM_CORE_SYMBIAN_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/abs_eapol_am_core_symbian_simulator.h --- a/eapol/eapol_framework/eapol_symbian/am/include/abs_eapol_am_core_symbian_simulator.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/abs_eapol_am_core_symbian_simulator.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ #if !defined(_ABS_EAPOL_AM_CORE_SYMBIAN_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_async_wait_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_async_wait_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_async_wait_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 2.1.2 % +* %version: 4 % */ #ifndef _EAP_AM_ASYNC_WAIT_SYMBIAN_H_ @@ -39,7 +39,7 @@ /** * Destructor. */ - virtual ~eap_am_async_wait_symbian_c() ; + ~eap_am_async_wait_symbian_c() ; public: diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_crypto_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_crypto_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_crypto_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 6 % */ #if !defined( _EAP_AM_CRYPTO_SYMBIAN_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_file_input_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_file_input_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_file_input_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 3.1.12 % */ #if !defined(_EAP_AM_FILE_INPUT_SYMBIAN_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_mutex_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_mutex_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_mutex_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #if !defined( _EAP_AM_MUTEX_SYMBIAN_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_semaphore_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_semaphore_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_semaphore_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5 % */ #if !defined( _EAP_AM_SEMAPHORE_SYMBIAN_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_tools_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_tools_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_tools_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 3.1.2 % */ // INCLUDES @@ -51,7 +51,6 @@ private: #if defined(USE_EAP_FILE_TRACE) - /// File server used in filetrace. RFs m_Fs; @@ -60,12 +59,8 @@ /// File name used in filetrace. TBuf<64> m_filename; - #endif //#if defined(USE_EAP_FILE_TRACE) - /// Prefix string used in filetrace. - eap_variable_data_c m_prefix_string; - u64_t m_start_ticks; bool m_directory_exists; @@ -168,9 +163,6 @@ EAP_FUNC_IMPORT bool get_is_timer_thread_active(); - EAP_FUNC_IMPORT eap_status_e set_trace_prefix( - const eap_variable_data_c * const prefix8bit); - EAP_FUNC_IMPORT eap_status_e set_trace_file_name(const eap_variable_data_c * const trace_output_file); EAP_FUNC_IMPORT void set_max_trace_file_size(const u32_t max_trace_file_size); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_trace_symbian.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_trace_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,73 @@ +/* +* Copyright (c) 2001-2005 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. +* +*/ + +/* +* %version: 8.1.2 % +*/ + +#if !defined( _EAP_AM_TRACE_SYMBIAN_H_ ) +#define _EAP_AM_TRACE_SYMBIAN_H_ + +#if defined(_DEBUG) + +#include "eap_status_string.h" +#include + +#define DEBUG(a) RDebug::Print(_L(a)) +#define DEBUG1(a,b) RDebug::Print(_L(a),b) +#define DEBUG2(a,b,c) RDebug::Print(_L(a),b,c) +#define DEBUG3(a,b,c,d) RDebug::Print(_L(a),b,c,d) +#define DEBUG4(a,b,c,d,e) RDebug::Print(_L(a),b,c,d,e) +#define DEBUG5(a,b,c,d,e,f) RDebug::Print(_L(a),b,c,d,e,f) +#define DEBUG6(a,b,c,d,e,f,g) RDebug::Print(_L(a),b,c,d,e,f,g) +#define DEBUG7(a,b,c,d,e,f,g,h) RDebug::Print(_L(a),b,c,d,e,f,g,h) +#define DEBUG8(a,b,c,d,e,f,g,h,i) RDebug::Print(_L(a),b,c,d,e,f,g,h,i) + +void trace_data( + eap_const_string prefix, + const void * const p_data, + const u32_t data_length); + +#define EAP_TRACE_DEBUG_SYMBIAN(_parameter_list_) \ + { \ + RDebug::Print _parameter_list_ ; \ + } \ + +#define EAP_TRACE_DATA_DEBUG_SYMBIAN(_parameter_list_) \ + { \ + trace_data _parameter_list_ ; \ + } \ + +#else // #if defined(_DEBUG) || defined(DEBUG) + +#define DEBUG(a) +#define DEBUG1(a,b) +#define DEBUG2(a,b,c) +#define DEBUG3(a,b,c,d) +#define DEBUG4(a,b,c,d,e) +#define DEBUG5(a,b,c,d,e,f) +#define DEBUG6(a,b,c,d,e,f,g) +#define DEBUG7(a,b,c,d,e,f,g,h) +#define DEBUG8(a,b,c,d,e,f,g,h,i) + +#define EAP_TRACE_DEBUG_SYMBIAN(_parameter_list_) + +#define EAP_TRACE_DATA_DEBUG_SYMBIAN(_parameter_list_) + +#endif // #if defined(_DEBUG) || defined(DEBUG) + +#endif //#if !defined( _EAP_AM_TRACE_SYMBIAN_H_ ) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_aka_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_aka_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_aka_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 18.1.4 % +* %version: 20 % */ #if !defined(_EAP_AM_TYPE_AKA_SYMBIAN_H_) @@ -423,10 +423,8 @@ void store_authentication_timeL(); private: - //-------------------------------------------------- - - RFs m_session; + RDbs m_session; RDbNamedDatabase m_database; @@ -496,6 +494,14 @@ // This holds the max session time read from the configuration file. TInt64 m_max_session_time; + // This is the vendor-type for tunneling EAP type. + // Valid for both expanded and non-expanded EAP types. + // This is used since m_tunneling_type can not be used in the same way + // in expanded and non-expanded cases. + // Unlike EAP type, Tunneling type is still non-expanded + // for both cases especially for using in the EAP databases. + u32_t m_tunneling_vendor_type; + }; // class eap_am_type_aka_symbian_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_gsmsim_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_gsmsim_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_gsmsim_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 19.1.4 % +* %version: 21 % */ #if !defined(_EAP_AM_TYPE_GSMSIM_SYMBIAN_H_) @@ -262,7 +262,6 @@ //-------------------------------------------------- private: - void type_configure_readL( eap_config_string field, const u32_t field_length, @@ -338,12 +337,10 @@ private: - //-------------------------------------------------- - - RFs m_session; + RDbs m_session; - RDbNamedDatabase m_database; + RDbNamedDatabase m_database; eap_am_tools_symbian_c * const m_am_tools; @@ -403,6 +400,14 @@ // This holds the max session time read from the configuration file. TInt64 m_max_session_time; + // This is the vendor-type for tunneling EAP type. + // Valid for both expanded and non-expanded EAP types. + // This is used since m_tunneling_type can not be used in the same way + // in expanded and non-expanded cases. + // Unlike EAP type, Tunneling type is still non-expanded + // for both cases especially for using in the EAP databases. + u32_t m_tunneling_vendor_type; + //-------------------------------------------------- }; // class eap_am_type_gsmsim_symbian_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_gsmsim_symbian_simulator.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_gsmsim_symbian_simulator.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_gsmsim_symbian_simulator.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 10 % */ #if !defined(_EAP_AM_TYPE_GSMSIM_SYMBIAN_SIMULATOR_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_leap_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_leap_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_leap_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,26 +16,19 @@ */ /* -* %version: 16.1.11 % +* %version: 18 % */ #ifndef EAP_AM_TYPE_LEAP_SYMBIAN_H #define EAP_AM_TYPE_LEAP_SYMBIAN_H -// This flag is for testing memory leaks that occurs in QT notifier. -#define USE_EAP_AUTH_NOTIFIER - // INCLUDES #include "eap_am_tools_symbian.h" #include "abs_eap_base_type.h" #include "eap_am_type_leap.h" #include "eap_am_network_id.h" - -#if defined(USE_EAP_AUTH_NOTIFIER) -#include "eap_auth_notifier.h" -#endif //#if defined(USE_EAP_AUTH_NOTIFIER) - +#include "EapLeapNotifierStructs.h" #include #include @@ -49,10 +42,6 @@ */ class EAP_EXPORT eap_am_type_leap_symbian_c : public CActive, public eap_am_type_leap_c -#if defined(USE_EAP_AUTH_NOTIFIER) - , public MNotificationCallback -#endif //#if defined(USE_EAP_AUTH_NOTIFIER) - { private: //-------------------------------------------------- @@ -61,17 +50,15 @@ abs_eap_base_type_c * const m_partner; - RFs m_session; + RDbs m_session; RDbNamedDatabase m_database; -#if defined(USE_EAP_AUTH_NOTIFIER) RNotifier m_notifier; - CEapAuthNotifier::TEapDialogInfo * m_input_output_data_ptr; + TEapLeapUsernamePasswordInfo * m_input_output_data_ptr; - TPckg * m_input_output_pckg_ptr; -#endif //#if defined(USE_EAP_AUTH_NOTIFIER) + TPckg * m_input_output_pckg_ptr; eap_am_network_id_c m_receive_network_id; @@ -95,10 +82,19 @@ bool m_shutdown_was_called; - + bool m_is_notifier_connected; // Tells if notifier server is connected. + // This holds the max session time read from the configuration file. TInt64 m_max_session_time; + // This is the vendor-type for tunneling EAP type. + // Valid for both expanded and non-expanded EAP types. + // This is used since m_tunneling_type can not be used in the same way + // in expanded and non-expanded cases. + // Unlike EAP type, Tunneling type is still non-expanded + // for both cases especially for using in the EAP databases. + u32_t m_tunneling_vendor_type; + void send_error_notification(const eap_status_e error); /** @@ -109,9 +105,6 @@ bool is_session_validL(); -#if defined(USE_EAP_AUTH_NOTIFIER) - CEapAuthNotifier* iEapAuthNotifier; -#endif //#if defined(USE_EAP_AUTH_NOTIFIER) //-------------------------------------------------- protected: @@ -204,10 +197,6 @@ */ eap_status_e store_authentication_time(); - void DlgComplete( TInt aStatus ); - - TInt IsDlgReadyToCompleteL(); - }; // class eap_am_type_leap_symbian_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_mschapv2_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_mschapv2_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_mschapv2_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 16.1.8 % +* %version: 18 % */ #ifndef _EAP_AM_TYPE_MSCHAPV2_SYMBIAN_H_ @@ -27,8 +27,7 @@ #include "abs_eap_base_type.h" #include "eap_am_type_mschapv2.h" #include "eap_type_mschapv2.h" -#include "eap_auth_notifier.h" - +#include "EapMsChapV2NotifierStructs.h" #include #include @@ -40,19 +39,14 @@ */ class EAP_EXPORT eap_am_type_mschapv2_symbian_c : public CActive, public eap_am_type_mschapv2_c - , public MNotificationCallback - - { private: - //-------------------------------------------------- - eap_am_tools_symbian_c * const m_am_tools; abs_eap_base_type_c * const m_partner; - RFs m_session; + RDbs m_session; RDbNamedDatabase m_database; @@ -64,7 +58,7 @@ TState m_state; - + RNotifier m_notifier; eap_variable_data_c * m_username_utf8; eap_variable_data_c * m_password_utf8; @@ -72,9 +66,8 @@ bool * m_password_prompt_enabled; bool m_is_identity_query; - CEapAuthNotifier::TEapDialogInfo * m_username_password_io_ptr; - TPckg * m_username_password_io_pckg_ptr; - + TEapMsChapV2UsernamePasswordInfo * m_username_password_io_ptr; + TPckg * m_username_password_io_pckg_ptr; eap_am_network_id_c m_receive_network_id; @@ -90,13 +83,18 @@ bool m_shutdown_was_called; - + bool m_is_notifier_connected; // Tells if notifier server is connected. // This holds the max session time read from the configuration file. TInt64 m_max_session_time; - CEapAuthNotifier* iEapAuthNotifier; - + // This is the vendor-type for tunneling EAP type. + // Valid for both expanded and non-expanded EAP types. + // This is used since m_tunneling_type can not be used in the same way + // in expanded and non-expanded cases. + // Unlike EAP type, Tunneling type is still non-expanded + // for both cases especially for using in the EAP databases. + u32_t m_tunneling_vendor_type; void send_error_notification(const eap_status_e error); @@ -204,10 +202,6 @@ */ eap_status_e store_authentication_time(); - EAP_FUNC_IMPORT void DlgComplete( TInt aStatus ); - - TInt IsDlgReadyToCompleteL(); - }; // class eap_am_type_mschapv2_symbian_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_protected_setup_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_protected_setup_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_protected_setup_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 13.1.9 % +* %version: 18 % */ #if !defined(_EAP_AM_TYPE_PROTECTED_SETUP_SYMBIAN_H_) @@ -52,15 +52,14 @@ */ -class EAP_EXPORT CEapAmProtectedSetupSymbian -: public CBase -, public eap_am_type_simple_config_c +class EAP_EXPORT eap_am_type_protected_setup_symbian_c +: public eap_am_type_simple_config_c { public: //-------------------------------------------------- - EAP_FUNC_IMPORT static CEapAmProtectedSetupSymbian* NewL( + EAP_FUNC_IMPORT static eap_am_type_protected_setup_symbian_c* NewL( abs_eap_am_tools_c * const tools, abs_eap_base_type_c * const partner, const TIndexType aIndexType, @@ -72,7 +71,7 @@ abs_eap_configuration_if_c * const configuration_if); // - EAP_FUNC_IMPORT virtual ~CEapAmProtectedSetupSymbian(); + EAP_FUNC_IMPORT ~eap_am_type_protected_setup_symbian_c(); EAP_FUNC_IMPORT void set_is_valid(); @@ -244,7 +243,7 @@ //-------------------------------------------------- - CEapAmProtectedSetupSymbian( + eap_am_type_protected_setup_symbian_c( abs_eap_am_tools_c * const tools, abs_eap_base_type_c * const partner, const TIndexType aIndexType, @@ -331,7 +330,7 @@ //----------------------------------------------------------------- -}; // class CEapAmProtectedSetupSymbian +}; // class eap_am_type_protected_setup_symbian_c #endif //#if !defined(_EAP_AM_TYPE_PROTECTED_SETUP_SYMBIAN_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_securid_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_securid_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_securid_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 16.1.11 % +* %version: 18 % */ #ifndef EAP_AM_TYPE_SECURID_SYMBIAN_H @@ -27,8 +27,7 @@ #include "abs_eap_base_type.h" #include "eap_am_type_securid.h" #include "eap_am_network_id.h" -#include "eap_auth_notifier.h" - +#include "EapSecurIDNotifierStructs.h" #include #include @@ -39,16 +38,11 @@ * For Symbian OS. */ class EAP_EXPORT eap_am_type_securid_symbian_c - : public CActive - , public eap_am_type_securid_c - , public abs_eap_base_timer_c - , public MNotificationCallback - - + : public CActive, public eap_am_type_securid_c { private: - RFs m_session; + RDbs m_session; RDbNamedDatabase m_database; @@ -57,17 +51,15 @@ EHandlingIdentityQuery, EHandlingPasscodeQuery, EHandlingPincodeQuery, - EHandlingGTCQuery, - EHandlingTimerCall + EHandlingGTCQuery }; TState m_state; RNotifier m_notifier; - CEapAuthNotifier::TEapDialogInfo * m_dialog_data_ptr; - TPckg * m_dialog_data_pckg_ptr; - + TEapSecurIDStruct * m_dialog_data_ptr; + TPckg * m_dialog_data_pckg_ptr; abs_eap_am_tools_c * const m_am_tools; @@ -96,13 +88,20 @@ // This holds the max session time read from the configuration file. TInt64 m_max_session_time; + // This is the vendor-type for tunneling EAP type. + // Valid for both expanded and non-expanded EAP types. + // This is used since m_tunneling_type can not be used in the same way + // in expanded and non-expanded cases. + // Unlike EAP type, Tunneling type is still non-expanded + // for both cases especially for using in the EAP databases. + u32_t m_tunneling_vendor_type; + + u32_t m_eap_vendor_type; // This is needed in certain cases. + void send_error_notification(const eap_status_e error); bool is_session_validL(); - CEapAuthNotifier* iEapAuthNotifier; - - protected: eap_am_type_securid_symbian_c( @@ -206,17 +205,6 @@ */ eap_status_e store_authentication_time(); - void DlgComplete( TInt aStatus ); - - TInt IsDlgReadyToCompleteL(); - - EAP_FUNC_IMPORT eap_status_e timer_expired( - const u32_t id, void *data); - - // - EAP_FUNC_IMPORT eap_status_e timer_delete_data( - const u32_t id, void *data); - }; // class eap_am_type_securid_symbian_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_sim_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_sim_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_sim_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #if !defined(_EAP_AM_TYPE_SIM_SYMBIAN_H_) 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 diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,379 @@ +/* +* 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. +* +*/ + +/* +* %version: 11 % +*/ + +#if !defined(_EAPOL_AM_CORE_SYMBIAN_H_) +#define _EAPOL_AM_CORE_SYMBIAN_H_ + +// INCLUDES +#include +#include // For MWlanMgmtPacket + +#include + +#include "abs_ethernet_core.h" +#include "eapol_key_types.h" +#include // For TIndexType +//#include "EapolTimer.h" + +#include + +// FORWARD DECLARATIONS +class MEapolToWlmIf; +class CEapType; +class ethernet_core_c; +class eap_am_tools_symbian_c; +class eap_file_config_c; + +const TInt KMaxWPAPSKPasswordLength = 64; +const TInt KWPAPSKLength = 32; + +// CLASS DECLARATION +class eapol_am_core_symbian_c +: public CActive, public abs_ethernet_core_c, + public abs_eap_base_timer_c + +{ +public: + + struct TPSKEntry { + TIndexType indexType; + TUint index; + TBuf8 ssid; + TBuf8 password; + TBuf8 psk; + }; + + virtual ~eapol_am_core_symbian_c(); + + /////////////////////////////////////////////////////////////// + /* These are called from WLM via CEapol */ + + static eapol_am_core_symbian_c * NewL( + MEapolToWlmIf* const aPartner, + const bool aIsClient = ETrue, + const TUint aServerIndex = 0); + + + TInt Start( + const TIndexType aIndexType, + const TUint aIndex, + const TSSID& aSSID, + const TBool aWPAOverrideEnabled, + const TUint8* aWPAPSK, + const TUint aWPAPSKLength + ); + + TInt CompleteAssociation( + const TInt aResult, + const TMacAddress& aLocalAddress, + const TMacAddress& aRemoteAddress, + const TUint8* const aReceivedWPAIE, // WLM must give only the WPA IE to EAPOL + const TUint aReceivedWPAIELength, + const TUint8* const aSentWPAIE, + const TUint aSentWPAIELength, + const TWPACipherSuite aGroupKeyCipherSuite, + const TWPACipherSuite aPairwiseKeyCipherSuite + ); + + + TInt Disassociated(); + + TInt ReceivePacket( + const TUint aLength, + const TUint8* const aData); + + TInt SendWPAMICFailureReport( + TBool aFatalMICFailure, + const TMICFailureType aMICFailureType); + + ///////////////////////////////////////// + /* These are called from ethernet_core */ + + /** + * Sends packet to lower layers + */ + eap_status_e packet_send( + const eap_am_network_id_c * const send_network_id, + eap_buf_chain_wr_c * const sent_packet, + const u32_t header_offset, + const u32_t data_length, + const u32_t buffer_length); + + u32_t get_header_offset( + u32_t * const MTU, + u32_t * const trailer_length); + + eap_status_e eap_acknowledge(const eap_am_network_id_c * const receive_network_id); + + eap_status_e reassociate( + const eap_am_network_id_c * const send_network_id, + const eapol_key_authentication_type_e authentication_type, + const eap_variable_data_c * const PMKID, + const eap_variable_data_c * const WPXM_WPXK1, + const eap_variable_data_c * const WPXM_WPXK2); + + /** + * Loads an EAP type plug-in. + * @param type Type to be loaded. + * @param partner Pointer to the partner class for the EAP type. + * @param eap_type The pointer for the loaded type should be set here. + * @param is_client_when_true Indicates whether the loaded EAP type should be client or server. + * @param receive_network_id Network address. + */ + 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, + eap_base_type_c ** const eap_type, + const bool is_client_when_true, + const eap_am_network_id_c * const receive_network_id); + + eap_status_e unload_module(const eap_type_value_e type); + + void set_is_valid(); + + bool get_is_valid(); + + void increment_authentication_counter(); + + u32_t get_authentication_counter(); + + bool get_is_client(); + + /** + * This does the initial configuration of the class. + */ + eap_status_e configure(); + + eap_status_e shutdown(); + + /** + * Reads a configuration parameter value from the database. + * In Symbian this function is only a TRAP wrapper for read_configure_L. + */ + eap_status_e read_configure( + const eap_configuration_field_c * const field, + eap_variable_data_c * const data); + + eap_status_e write_configure( + const eap_configuration_field_c * const field, + eap_variable_data_c * const data); + + // See abs_eap_base_type_c::state_notification(). + void state_notification(const abs_eap_state_notification_c * const state); + + eap_status_e set_timer( + abs_eap_base_timer_c * const p_initializer, + const u32_t p_id, + void * const p_data, + const u32_t p_time_ms); + + eap_status_e cancel_timer( + abs_eap_base_timer_c * const p_initializer, + const u32_t p_id); + + eap_status_e cancel_all_timers(); + + eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type); + + eap_status_e packet_data_crypto_keys( + const eap_am_network_id_c * const send_network_id, + const eap_variable_data_c * const master_session_key); + + /** + * Forwards the keys to lower layer (= WLM). + */ + eap_status_e packet_data_session_key( + const eap_am_network_id_c * const send_network_id, + const eapol_session_key_c * const key); + + /** + * Packet mangling routine for testing. + */ + + eap_status_e timer_expired(const u32_t id, void *data); + + eap_status_e timer_delete_data(const u32_t id, void *data); + + eap_status_e get_eap_type_list( + eap_array_c * const eap_type_list); + + eap_status_e add_rogue_ap(eap_array_c & rogue_ap_list); + +protected: + + eapol_am_core_symbian_c( + MEapolToWlmIf * const aPartner, + const bool is_client_when_true, + const TUint aServerIndex); + + void ConstructL(); + + void RunL(); + + void DoCancel(); + +private: + + eap_status_e random_error( + eap_buf_chain_wr_c * const sent_packet, + const bool forse_error, + const u32_t packet_index); + + /** + * Tries to open EAPOL parameter database. + */ + void TryOpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession); + + /** + * Opening function for EAPOL parameter database. + */ + void OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession); + + void read_configureL(eap_config_string field, + const u32_t field_length, + eap_variable_data_c * const data); + + void ReadEAPSettingsL(); + + void SetToTopPriorityL(const TEap* const aEapType); + + eap_status_e create_upper_stack(); + + void RetrievePSKL(TPSKEntry& entry); + + void SavePSKL(TPSKEntry& entry); + + + +private: + + RDbs m_session; + RDbNamedDatabase m_database; + + /// Pointer to the lower layer in the stack + MEapolToWlmIf* m_partner; + + /// Pointer to the upper layer in the stack + ethernet_core_c* m_ethernet_core; + + /// Pointer to the tools class + eap_am_tools_symbian_c* m_am_tools; + + bool m_enable_random_errors; + + u32_t m_error_probability; + + u32_t m_generate_multiple_error_packets; + + u32_t m_authentication_counter; + + u32_t m_successful_authentications; + + u32_t m_failed_authentications; + + bool m_is_valid; + + bool m_is_client; + + /// Array for storing the loaded EAP types. + RPointerArray m_plugin_if_array; + /// Array which corresponds with m_plugin_if_array and indicates the types of the loaded EAP types. + RArray m_eap_type_array; + + /// EAP configuration data from CommDb + TEapArray m_iap_eap_array; + TUint m_eap_index; + /// Indicates the bearer type + TIndexType m_index_type; + /// Indicates the service index in CommDb + TUint m_index; + + u32_t m_packet_index; + + bool m_manipulate_ethernet_header; + + bool m_send_original_packet_first; + + bool m_authentication_indication_sent; + + bool m_unicast_wep_key_received; + + bool m_broadcast_wep_key_received; + + bool m_block_packet_sends_and_notifications; + + bool m_success_indication_sent; + + bool m_first_authentication; + + bool m_self_disassociated; + + TAuthenticationMode m_802_11_authentication_mode; + + EWlanSecurityMode m_security_mode; + + eap_variable_data_c * m_wpa_preshared_key; + + eap_variable_data_c * m_ssid; + + eap_am_network_id_c* m_receive_network_id; + + eap_variable_data_c * m_wpa_psk_password_override; + + bool m_wpa_override_enabled; + + bool m_wpa_psk_mode_allowed; + + bool m_wpa_psk_mode_active; + + bool m_stack_marked_to_be_deleted; + + TMacAddress m_local_address; + + TMacAddress m_remote_address; + + const TUint8* m_received_wpa_ie; + + TUint m_received_wpa_ie_length; + + const TUint8* m_sent_wpa_ie; + + TUint m_sent_wpa_ie_length; + + TWPACipherSuite m_group_key_cipher_suite; + + TWPACipherSuite m_pairwise_key_cipher_suite; + + bool m_active_type_is_leap; + + eap_file_config_c* m_fileconfig; + + //-------------------------------------------------- +}; // class eapol_am_core_symbian_c + +#endif //#if !defined(_EAPOL_AM_CORE_SYMBIAN_H_) + +//-------------------------------------------------- + + + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian_simulator.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian_simulator.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian_simulator.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7.1.2 % */ #if !defined(_EAP_AM_SYMBIAN_H_) @@ -92,7 +92,7 @@ #if defined(USE_EAPOL_LLC_INTERFACE) // - EAP_FUNC_IMPORT eap_status_e packet_process( + EAP_FUNC_EXPORT eap_status_e packet_process( RMBufChain& aPdu); #endif //#if defined(USE_EAPOL_LLC_INTERFACE) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian_wlm.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian_wlm.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian_wlm.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #if !defined(_EAPOL_AM_CORE_SYMBIAN_WLM_H_) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eapol_am_wlan_authentication_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_wlan_authentication_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_wlan_authentication_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 46 % +* %version: 30.1.2 % */ #if !defined(_EAPOL_AM_WLAN_AUTHENTICATION_SYMBIAN_H_) @@ -38,10 +38,29 @@ #include #include -//#include +#include #include // For TIndexType + +#ifdef SYMBIAN_SECURE_DBMS +// For EAP TLS, PEAP, TTLS, FAST secure databases. +// Full path is not needed. The database eaptls.dat will be saved in the +// data cage path for DBMS. So it will be in "\private\100012a5\eaptls.dat" in C: drive. +// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h. + +_LIT(KFastDatabaseName, "c:eapfast.dat"); + + +#else + +#ifdef USE_EAP_FAST_TYPE +_LIT(KFastDatabaseName, "c:\\system\\data\\eapfast.dat"); +#endif + +#endif // #ifdef SYMBIAN_SECURE_DBMS + + class CEapType; class abs_eapol_am_wlan_authentication_c; class abs_eap_am_tools_c; @@ -56,7 +75,8 @@ /// This class declares the simulator adaptation module of eapol_am_wlan_authentication_c. /// See comments of the functions from eapol_am_wlan_authentication_c. class EAP_EXPORT eapol_am_wlan_authentication_symbian_c -: public eapol_am_wlan_authentication_c +: public CActive +, public eapol_am_wlan_authentication_c #if defined(USE_EAP_SIMPLE_CONFIG) , public abs_eap_configuration_if_c #endif // #if defined(USE_EAP_SIMPLE_CONFIG) @@ -84,18 +104,47 @@ /// HAHS of WPA(2)-PSK eap_variable_data_c m_wpa_preshared_key_hash; - /// Database reference to EAPOL settings. - eap_variable_data_c m_database_reference; + /// This pointer is abstract interface to reference of WLAN database of the current connection. + const abs_eapol_wlan_database_reference_if_c * m_wlan_database_reference; /// Handle of database session. - RFs m_session; + RDbs m_session; /// Handle of database file. - //RFs m_fs; + RFs m_fs; + + /// Array for storing the loaded EAP types. + RPointerArray m_plugin_if_array; + +#ifdef USE_EAP_EXPANDED_TYPES + + /// Enabled expanded EAP configuration data from CommsDat + // This is for the outer most EAP (not tunneled) + RExpandedEapTypeArray m_enabled_expanded_eap_array; + + /// Disabled expanded EAP configuration data from CommsDat + // This is for the outer most EAP (not tunneled) + RExpandedEapTypeArray m_disabled_expanded_eap_array; + + /// Array which corresponds with m_plugin_if_array and indicates the types of the loaded EAP types. + eap_array_c m_eap_type_array; + +#else + + /// EAP configuration data from CommDb + TEapArray m_iap_eap_array; + + /// Array which corresponds with m_plugin_if_array and indicates the types of the loaded EAP types. + RArray m_eap_type_array; + +#endif //#ifdef USE_EAP_EXPANDED_TYPES /// Network identity of current connection. eap_am_network_id_c m_receive_network_id; + /// WLAN security mode as defined in Symbian platform. + EWlanSecurityMode m_security_mode; + /// WLAN authentication type. eapol_key_authentication_type_e m_selected_eapol_key_authentication_type; @@ -147,14 +196,29 @@ /// This function saves WPA(2)-PSK to database. void SavePSKL(TPSKEntry& entry); - /// This function reads WPA-settings from database. - void ReadWPASettingsL(); + /// This function reads EAP-settings from database. + void ReadEAPSettingsL(); + +#ifdef USE_EAP_EXPANDED_TYPES + + /// This function set the EAP-type to highest in priority. + void SetToTopPriorityL(const eap_type_value_e aEapType); + +#else // For normal EAP types. + + /// This function set the EAP-type to highest in priority. + void SetToTopPriorityL(const TEap* const aEapType); + +#endif // #ifdef USE_EAP_EXPANDED_TYPES /// THis function reads the references to active Internet Access Point (IAP). eap_status_e read_database_reference_values( TIndexType * const type, TUint * const index); + /// This function resets all EAP-plugings. + eap_status_e reset_eap_plugins(); + /// This function sends error notification to partner object. void send_error_notification(const eap_status_e error); @@ -168,7 +232,8 @@ // EAP_FUNC_IMPORT eapol_am_wlan_authentication_symbian_c( abs_eap_am_tools_c * const tools, - const bool is_client_when_true); + const bool is_client_when_true, + const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference); /// See comments of the functions from eapol_am_wlan_authentication_c. @@ -186,7 +251,7 @@ #endif // #if defined(USE_EAP_SIMPLE_CONFIG) ); - EAP_FUNC_IMPORT eap_status_e reset_wpa_configuration(); + EAP_FUNC_IMPORT eap_status_e reset_eap_configuration(); EAP_FUNC_IMPORT eap_status_e set_wlan_parameters( const eap_variable_data_c * const SSID, @@ -201,6 +266,9 @@ const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. ); + EAP_FUNC_IMPORT eap_status_e get_selected_eap_types( + eap_array_c * const selected_eap_types); + EAP_FUNC_IMPORT eap_status_e get_wlan_configuration( eap_variable_data_c * const wpa_preshared_key_hash); @@ -209,6 +277,18 @@ const eap_type_value_e eap_type, const eapol_key_authentication_type_e authentication_type); + EAP_FUNC_IMPORT 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, + eap_base_type_c ** const eap_type_if, + const bool is_client_when_true, + const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. + ); + + EAP_FUNC_IMPORT eap_status_e unload_module( + const eap_type_value_e type); + EAP_FUNC_IMPORT eap_status_e read_configure( const eap_configuration_field_c * const field, eap_variable_data_c * const data); @@ -229,12 +309,17 @@ EAP_FUNC_IMPORT eap_status_e cancel_all_timers(); + EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type); + + EAP_FUNC_IMPORT eap_status_e get_eap_type_list( + eap_array_c * const eap_type_list); + EAP_FUNC_IMPORT void state_notification( const abs_eap_state_notification_c * const state); #if defined(USE_EAP_SIMPLE_CONFIG) - EAP_FUNC_IMPORT eap_status_e save_simple_config_session( + EAP_FUNC_EXPORT eap_status_e save_simple_config_session( const simple_config_state_e state, EAP_TEMPLATE_CONST eap_array_c * const credential_array, const eap_variable_data_c * const new_password, @@ -243,9 +328,6 @@ #endif // #if defined(USE_EAP_SIMPLE_CONFIG) - EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values( - const eap_variable_data_c * const reference); - //-------------------------------------------------- }; // class eapol_am_wlan_authentication_symbian_c diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/AbsEapCertificateFetcher.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/AbsEapCertificateFetcher.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 4 % -*/ - -#ifndef _ABS_EAP_CERTIFICATE_FETCHER_H_ -#define _ABS_EAP_CERTIFICATE_FETCHER_H_ - -// INCLUDES -#include -#include "EapSettings.h" - - -// CLASS DECLARATION -class CAbsEapCertificateFetcher: public CBase -{ -public: - - CAbsEapCertificateFetcher() - { - } - - virtual ~CAbsEapCertificateFetcher() - { - } - - virtual void CompleteReadCertificatesL( - const RPointerArray& aUserCerts, - const RPointerArray& aCACerts) = 0; -}; - -#endif // _ABS_EAP_CERTIFICATE_FETCHER_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/AbsEapTlsPeapUiCertificates.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/AbsEapTlsPeapUiCertificates.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#ifndef _ABSEAPTLSPEAPUICERTIFICATES_H_ -#define _ABSEAPTLSPEAPUICERTIFICATES_H_ - -// INCLUDES - -// CLASS DECLARATION -/** -* Class for -*/ -class MEapTlsPeapUiCertificates -{ -public: - /** - * - */ - virtual void CompleteReadCertificates(const TInt aResult) = 0; -}; - -#endif // _ABSEAPTLSPEAPUICERTIFICATES_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastNotifierStruct.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastNotifierStruct.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#ifndef EAPFASTNOTIFIERSTRUCT_H -#define EAPFASTNOTIFIERSTRUCT_H - -const TUid KEapFastNotifierUid = {0x2000F8DF}; - -const TUint KMaxEapFastNotifierBufLength = 255; - -enum EEapFastNotifierUiItem -{ - EEapFastNotifierPacStorePwQuery, /* 0 */ - EEapFastNotifierWrongPacStorePwNote, /* 1 */ - EEapFastNotifierAuthProvWaitNote, /* 2 */ - EEapFastNotifierAuthProvWaitNoteEnd, /* 3 */ - EEapFastNotifierUnauthProvWaitNote, /* 4 */ - EEapFastNotifierUnauthProvWaitNoteEnd, /* 5 */ - EEapFastNotifierInstallPacConfirmQuery, /* 6 */ - EEapFastNotifierProvSuccessNote, /* 7 */ - EEapFastNotifierProvNotSuccessNote, /* 8 */ - EEapFastNotifierPacFilePwQuery, /* 9 */ - EEapFastNotifierWrongPacFilePwNote, /* 10 */ - EEapFastNotifierCreateMasterkeyQuery, /* 11 */ - EEapFastNotifierUiItemsNumber /* 12 */ // keep always as last element -}; - -enum EEapFastNotifierUserAction -{ - EEapFastNotifierUserActionOk, - EEapFastNotifierUserActionCancel -}; - -struct TEapFastNotifierStruct -{ - EEapFastNotifierUiItem iEapFastNotifierUiItem; - TBuf iEapFastNotifierBuffer; - EEapFastNotifierUserAction iEapFastNotifierUserAction; -}; - -#endif // EAPFASTNOTIFIERSTRUCT_H - -// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastPacStore.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastPacStore.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -/* -* Copyright (c) 2008 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-FAST PAC-store IF. -* -*/ - -/* -* %version: 9 % -*/ - -#ifndef _EAPFASTPACSTORE_H_ -#define _EAPFASTPACSTORE_H_ - -// INCLUDES -#include -#include - - -class CEapFastPacStore -: public CBase -{ - -public: - - /** - * Factory function that loads the CEapFastPacStore implementation DLL (plug-in). - */ - static CEapFastPacStore * NewL(); - - virtual void OpenPacStoreL() = 0; - - // this may not be needed at all - virtual void CreateDeviceSeedL() = 0; - - virtual TBool IsMasterKeyPresentL() = 0; - - virtual TBool IsMasterKeyAndPasswordMatchingL( - const TDesC8 & aPassword8) = 0; - - virtual TInt CreateAndSaveMasterKeyL( - const TDesC8 & aPassword8) = 0; - - virtual TInt ComparePacStorePasswordL( - TDes8 & aPassword8) = 0; - - virtual TBool IsPacStorePasswordPresentL() = 0; - - virtual TInt SetPacStorePasswordL( - const TDesC8 & aPassword8) = 0; - - virtual TInt DestroyPacStore() = 0; - -private: - - /// ECom uses this key to keep track of DLL usage. - TUid iDtor_ID_Key; - -}; - -#include "EapFastPacStore.inl" - - -#endif //_EAPFASTPACSTORE_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastPacStore.inl --- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastPacStore.inl Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* -* Copyright (c) 2008 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: WAPI authentication protocols. -* -*/ - -/* -* %version: % -*/ - -#include "EapTraceSymbian.h" - -inline CEapFastPacStore* CEapFastPacStore::NewL() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapFastPacStore::NewL(): start"))); - - // This call finds and loads the correct DLL and after that calls the - // entry function in the interface implementation in the DLL. - TAny* ptr = 0; - - const TUid KimplementationUid = { 0x2002BC93 }; - - TRAPD( err, ptr = REComSession::CreateImplementationL( - KimplementationUid, - _FOFF(CEapFastPacStore, iDtor_ID_Key))); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapFastPacStore::NewL(): CreateImplementationL(Uid=0x%08x), err=%d, returns ptr=0x%08x\n"), - KimplementationUid.iUid, - err, - ptr)); - - - User::LeaveIfError(err); - - return reinterpret_cast(ptr); -} - -// end diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCertificates.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCertificates.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,96 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#ifndef _EAPTLSPEAPUICERTIFICATES_H_ -#define _EAPTLSPEAPUICERTIFICATES_H_ - -#include -#include - - -class CEapTlsPeapUiConnection; -class CEapGeneralSettings; -class MEapTlsPeapUiCertificates; -class CEapType; - - -class CEapTlsPeapUiCertificates -: public CBase -//, public CAbsEapCertificateFetcher -{ - -public: - - CEapTlsPeapUiCertificates(CEapTlsPeapUiConnection * const aUiConn, MEapTlsPeapUiCertificates * const aParent); - - ~CEapTlsPeapUiCertificates(); - - TInt Open(); - - TInt GetCertificates(RPointerArray ** aUserCerts, - RPointerArray ** aCACerts); - - TInt Update(); - - TInt Close(); - -private: - - TBool iIsOpened; - - CEapTlsPeapUiConnection * iUiConn; - - RPointerArray * iUserCerts; - - RPointerArray * iCACerts; - - TRequestStatus iStatus; - - CEapGeneralSettings *iEapGeneralSettings; - - MEapTlsPeapUiCertificates* iParent; - - CEapType* iEapTypeConnection; - -private: - - void SelectActiveCertificatesL(); - - void FetchDataL( - const RPointerArray& aAvailableCerts, - RPointerArray * const aArray); - - void UpdateL(); - - void SelectCertificatesL( - const EapCertificateEntry::TCertType aCertType, - const EAPSettings & aSettings, - RPointerArray& aAvailableCerts); - - void SaveCertificatesL( - const EapCertificateEntry::TCertType aCertType, - const RPointerArray* const aAvailableCerts, - EAPSettings & aSettings); -}; - -#endif // _EAPTLSPEAPUICERTIFICATES_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCipherSuite.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCipherSuite.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#ifndef _EAPTLSPEAPUICIPHERSUITE_H_ -#define _EAPTLSPEAPUICIPHERSUITE_H_ - -#include - -class TEapTlsPeapUiCipherSuite -{ -public: - - TEapTlsPeapUiCipherSuite() - : iIsEnabled(EFalse) - , iCipherSuite(0ul) - { - } - - virtual ~TEapTlsPeapUiCipherSuite() - { - } - - void SetIsEnabled(const TBool aIsEnabled) - { - iIsEnabled = aIsEnabled; - } - - void SetCipherSuite(const TUint aCipherSuite) - { - iCipherSuite = aCipherSuite; - } - - TBool GetIsEnabled() - { - return iIsEnabled; - } - - TUint GetCipherSuite() - { - return iCipherSuite; - } - -private: - - TBool iIsEnabled; - TUint iCipherSuite; -}; - -#endif //_EAPTLSPEAPUICIPHERSUITE_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCipherSuites.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCipherSuites.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#ifndef _EAPTLSPEAPUICIPHERSUITES_H_ -#define _EAPTLSPEAPUICIPHERSUITES_H_ - -#include - -class CEapTlsPeapUiConnection; -class TEapTlsPeapUiCipherSuite; -class CEapType; - - -class CEapTlsPeapUiCipherSuites : public CBase -{ - -public: - - CEapTlsPeapUiCipherSuites(CEapTlsPeapUiConnection * const aUiConn); - - ~CEapTlsPeapUiCipherSuites(); - - TInt Open(); - - TInt GetCipherSuites(RPointerArray ** aDataPtr); - - TInt Update(); - - TInt Close(); - -private: - - TBool iIsOpened; - - CEapTlsPeapUiConnection * iUiConn; - - RPointerArray* iDataPtr; - - CEapType* iEapTypeConnection; - -private: - - void FetchDataL(); - - void UpdateL(); -}; - -#endif //_EAPTLSPEAPUICIPHERSUITES_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiConnection.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiConnection.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,141 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#ifndef _EAPTLSPEAPUICONNECTION_H_ -#define _EAPTLSPEAPUICONNECTION_H_ - -#include -#include -#include -//#include -#include -#include - -class CEapTlsPeapUiDataConnection; -class CEapTlsPeapUiCipherSuites; -class CEapTlsPeapUiCertificates; -class CEapTlsPeapUiEapTypes; -class MEapTlsPeapUiCertificates; -class CEapFastPacStore; - -class CEapTlsPeapUiConnection : public CBase -{ - -public: - - // This creates a connection between EAP plugin and the EAP UI. - // aTunnelingType - the Vendor-Type of Tunneling EAP type. - // aEapType - the Vendor-Type of the EAP type - // Supported Vendor-ID here is 0x 0 (3 bytes) for both. - - CEapTlsPeapUiConnection( - const TIndexType aIndexType, - const TInt aIndex, - const TEapExpandedType aTunnelingType, - const TEapExpandedType aEapType); - - ~CEapTlsPeapUiConnection(); - - TInt Connect(); - - TInt Close(); - - CEapTlsPeapUiDataConnection * GetDataConnection(); - - CEapTlsPeapUiCipherSuites * GetCipherSuiteConnection(); - - CEapTlsPeapUiCertificates * GetCertificateConnection(MEapTlsPeapUiCertificates * const aParent); - - CEapTlsPeapUiEapTypes * GetEapTypeConnection(); - - TIndexType GetIndexType(); - - TInt GetIndex(); - - // Returns the Tunneling EAP type of this EAP type. - TEapExpandedType GetTunnelingType(); - - // Returns the EAP type. - TEapExpandedType GetEapType(); - - // Check if there's the PAC store master key. - // Call Connect() before doing this and Close() after. - // Returns ETrue if there is master key. EFalse if there is not. - TBool IsPacStoreMasterKeyPresentL(); - - // This destroys the PAC store if it is created already. - // Call Connect() before doing this and Close() after. - // Returns KErrNone if successful. Symbian error code otherwise. - TInt DestroyPacStore(); - - // This check if the PAC store (or PAC store master key) can be decrypted - // with the password provided. - // Call Connect() before doing this and Close() after. - // Returns ETrue if successful. - TBool VerifyPacStorePasswordL(const TDesC& aPacStorePw); - - // This creates the PAC store master key with the password provided. - // Call Connect() before doing this and Close() after. - // Returns KErrNone if successful. Symbian error code otherwise. - TInt CreatePacStoreMasterKey(const TDesC& aPacStorePw); - - void GetPacStorePasswordL( - TDes8 & aPassword8); - - void SetPacStorePasswordL( - const TDesC8 & aPassword8); - -protected: - - // Bearer type - TIndexType iIndexType; - - // Unique index - TInt iIndex; - - // This stores the Vendor-Type of Tunneling EAP type. Supported Vendor-ID here is 0x 0 (3 bytes). - TEapExpandedType iTunnelingType; - - // This stores the Vendor-Type of the EAP type. Supported Vendor-ID here is 0x 0 (3 bytes). - TEapExpandedType iEapType; - - // database names, handlers etc... - - CEapTlsPeapUiDataConnection * iDataConn; - - CEapTlsPeapUiCipherSuites * iCipherSuites; - - CEapTlsPeapUiEapTypes * iEapTypes; - - CEapTlsPeapUiCertificates * iCertificates; - -private: - - void ConnectL(); - -private: - - CEapFastPacStore * iPacStoreDb; -}; - -#endif - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiDataConnection.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiDataConnection.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#ifndef _EAPTLSPEAPUIDATACONNECTION_H_ -#define _EAPTLSPEAPUIDATACONNECTION_H_ - -#include - -class CEapTlsPeapUiConnection; -class CEapTlsPeapUiTlsPeapData; -class CEapType; - - -class CEapTlsPeapUiDataConnection : public CBase -{ - -public: - - CEapTlsPeapUiDataConnection(CEapTlsPeapUiConnection * aUiConn); - - ~CEapTlsPeapUiDataConnection(); - - TInt Open(); - - TInt GetData(CEapTlsPeapUiTlsPeapData ** aDataPtr); - - TInt Update(); - - TInt Close(); - -protected: - - TBool iIsOpened; - - CEapTlsPeapUiConnection * iUiConn; - - CEapTlsPeapUiTlsPeapData * iDataPtr; - -private: - // Functions. - - //void FetchDataL(); - //void UpdateDataL(); - -private: - // Member variables. - - // Only used with EAP-FAST. Can't use the flag here. - CDbColSet * iFastSpecificColSet; - - CEapType * iEapTypeConnection; -}; - -#endif // _EAPTLSPEAPUIDATACONNECTION_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiEapType.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiEapType.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#ifndef _EAPTLSPEAPUIEAPTYPE_H_ -#define _EAPTLSPEAPUIEAPTYPE_H_ - -#include -#include "EapExpandedType.h" - -class TEapTlsPeapUiEapType -: public CBase -{ -public: - - TEapTlsPeapUiEapType() - { - } - - virtual ~TEapTlsPeapUiEapType() - { - } - - void SetIsEnabled(TBool aIsEnabled) - { - iIsEnabled = aIsEnabled; - } - - void SetEapType(TEapExpandedType & aEapType) - { - iEapType = aEapType; - } - - TBool GetIsEnabled() - { - return iIsEnabled; - } - - TEapExpandedType & GetEapType() - { - return iEapType; - } - -private: - - TBool iIsEnabled; - TEapExpandedType iEapType; -}; - -#endif // _EAPTLSPEAPUIEAPTYPE_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiEapTypes.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiEapTypes.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#ifndef _EAPTLSPEAPUIEAPTYPES_H_ -#define _EAPTLSPEAPUIEAPTYPES_H_ - -#include - -class CEapTlsPeapUiConnection; -class TEapTlsPeapUiEapType; -class CEapType; - - -class CEapTlsPeapUiEapTypes : public CBase -{ - -public: - - CEapTlsPeapUiEapTypes(CEapTlsPeapUiConnection * const aUiConn); - - ~CEapTlsPeapUiEapTypes(); - - TInt Open(); - - TInt GetEapTypes(RPointerArray ** aDataPtr); - - TInt Update(); - - TInt Close(); - -private: - - TBool iIsOpened; - - CEapTlsPeapUiConnection * iUiConn; - - RPointerArray* iDataPtr; - - CEapType * iEapTypeConnection; - -private: - - - void FetchExpandedDataL(); - - void UpdateExpandedDataL(); - -}; - -#endif // _EAPTLSPEAPUIEAPTYPES_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiTlsPeapData.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiTlsPeapData.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#ifndef _EAPTLSPEAPUITLSPEAPDATA_H_ -#define _EAPTLSPEAPUITLSPEAPDATA_H_ - -#include -#include - -const TInt KMaxLengthOfUsername=255; -const TInt KMaxLengthOfPassword=255; - -const TInt KMaxLengthOfPapUserName = 253; // according to UI spec -const TInt KMaxLengthOfPapPassword = 128; // according to UI spec - -class CEapTlsPeapUiTlsPeapData : public CBase -{ -public: - - CEapTlsPeapUiTlsPeapData(); - - ~CEapTlsPeapUiTlsPeapData(); - - TDes& GetManualUsername(); - - TBool * GetUseManualUsername(); - - TDes& GetManualRealm(); - - TBool * GetUseManualRealm(); - - TBool * GetAllowVersion0(); - - TBool * GetAllowVersion1(); - - TBool * GetAllowVersion2(); - - // New member functions for EAP-FAST - - TBool * GetTlsPrivacy(); - - TBool * GetAuthProvModeAllowed(); - - TBool * GetUnauthProvModeAllowed(); - - TDes& GetPacStorePassword(); - - TBool* GetUsePacStorePasswordPrompt(); - -public: // new, for TTLS PAP - - TDes& GetPapUserName(); - - TDes& GetPapPassword(); - - TBool* GetPapPasswordPrompt(); - -private: - - TBuf iManualUsername; - - TBool iUseManualUsername; - - TBuf iManualRealm; - - TBool iUseManualRealm; - - TBool iAllowVersion0; - - TBool iAllowVersion1; - - TBool iAllowVersion2; - - // New member variables for EAP-FAST - TBool iTlsPrivacy; - - TBool iAuthProvModeAllowed; - - TBool iUnauthProvModeAllowed; - - TBuf iPacStorePassword; - - TBuf iPapUserName; - - TBuf iPapPassword; - - TBool iPapPasswordPrompt; - - TBool iPasswordPrompt; - -}; - -#endif - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTtlsPapNotifierStruct.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTtlsPapNotifierStruct.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ -/* -* Copyright (c) 2008 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. -* -*/ - -/* -* %version: % -*/ - -#ifndef EAPTTLSPAPNOTIFIERSTRUCT_H -#define EAPTTLSPAPNOTIFIERSTRUCT_H - -/** -* UID of PAP notifier to display authentication query dialog. -*/ -const TUid KPapNotifierUid = { 0x200159A9 }; - -/** -* Maximum PAP challenge length. -*/ -const TUint KMaxPapChallengeLength = 4096; - -/** -* Maximum PAP user name. -*/ -const TUint KMaxPapUserNameLength = 253; - -/** -* Maximum PAP password length. -*/ -const TUint KMaxPapPasswordLength = 128; - -/** -* Data structure defines user name, password and password prompt. -*/ -struct TPapUserNamePasswordInfo - { - /** - * True if password prompt is enabled, False - otherwise. - */ - TBool iPasswordPromptEnabled; - - /* - * Buffer for user name. - */ - TBuf16 iUserName; - - /** - * Buffer for password. - */ - TBuf16 iPassword; - }; - -/** -* Data structure used in notifier communication. -*/ -struct TPapUiNotifierInfo - { - enum TPapUiNotifierState - { - EPapUiNotifierAuthQueryDialog, /* 0 */ - EPapUiNotifierPapChallengeSize, /* 1 */ - EPapUiNotifierPapChallengeMsgDialog, /* 2 */ - EPapUiNotifierPapChallengeReplyQueryDialog, /* 3 */ - // ... - EPapUiNotifierStatesNumber /* 4 */ // keep always as last element - }; - - /** - * State defines UI notifier logic. - */ - TPapUiNotifierState iState; - - /** - * Data structure defines user name, password and password prompt. - */ - TPapUserNamePasswordInfo iUsrPwdInfo; - - /** - * PAP challenge message. - */ - TUint iSrvChallengeSize; - TBuf16 iPapChallenge; - }; - -/** -* Defines user action: accepting or cancelling -* authentication query dialog. -*/ -enum EPapNotifierUserAction - { - EPapNotifierUserActionOk, - EPapNotifierUserActionCancel - }; - -#endif // EAPTTLSPAPNOTIFIERSTRUCT_H - -// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/EapAkaInterface.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/EapAkaInterface.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/EapAkaInterface.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 18 % +* %version: 17.1.3 % */ // This is enumeration of EAPOL source code. @@ -191,6 +191,8 @@ if (iQueryId == EQueryRES) { + iQueryId = EQueryNone; + // Cancel the request. iCustomAPI.CancelAsyncRequest( ECustomGetSimAuthenticationDataIPC ); @@ -229,12 +231,15 @@ switch( iQueryId ) { case EQueryIMSI: + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("AKA interface: Got IMSI reply.\n"))); EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("IMSI"), iSubscriberId.Ptr(), iSubscriberId.Size())); + iQueryId = EQueryNone; + // Convert the IMSI from unicode to UTF8 characters. completion_status = imsiInUnicode.set_buffer(iSubscriberId.Ptr(), iSubscriberId.Size(), false, false); @@ -263,6 +268,7 @@ break; case EQueryRES: + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("####AKA interface: Got RES, CK, IK and AUTS reply. ####\n"))); EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("RES"), @@ -281,6 +287,8 @@ iEAPAka.iAUTS.Ptr(), iEAPAka.iAUTS.Size())); + iQueryId = EQueryNone; + delete iAuthenticationData; iAuthenticationData = NULL; @@ -335,6 +343,7 @@ case EQueryIMSI: // Error with IMSI. Reset it and complete the request. + iQueryId = EQueryNone; imsi.reset(); EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("AKA interface: Error in IMSI.\n"))); @@ -346,6 +355,7 @@ // Re-synchronization needed or error with RES or CK or IK. // We have to close the custom API anyway. + iQueryId = EQueryNone; iCustomAPI.Close(); EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapAkaInterface::RunL() - error case: CLOSED CUSTOM API \n"))); @@ -483,6 +493,8 @@ EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapAkaInterface::DisconnectMMETel()\n"))); EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapAkaInterface::DisconnectMMETel()"); + iQueryId = EQueryNone; + // Close the custom API since we don't need it any more. iCustomAPI.Close(); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/eap_am_type_aka_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/eap_am_type_aka_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/eap_am_type_aka_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 46.1.10 % +* %version: 49 % */ // This is enumeration of EAPOL source code. @@ -36,7 +36,7 @@ #include "EapAkaDbDefaults.h" #include "EapAkaDbParameterNames.h" #include "EapAkaDbUtils.h" -#include "EapTraceSymbian.h" +#include "eap_am_trace_symbian.h" #include // For DBMS #include // For RReadStream @@ -154,6 +154,16 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); +#ifdef USE_EAP_EXPANDED_TYPES + + m_tunneling_vendor_type = m_tunneling_type.get_vendor_type(); + +#else + + m_tunneling_vendor_type = static_cast(m_tunneling_type); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + if (receive_network_id != 0 && receive_network_id->get_is_valid_data() == true) { @@ -195,10 +205,6 @@ } #endif // #if defined (USE_EAP_TYPE_SERVER_AKA) - TInt error = m_session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_type_aka_symbian_c::ConstructL(): - m_session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - // Open/create database EapAkaDbUtils::OpenDatabaseL(m_database, m_session, m_index_type, m_index, m_tunneling_type); @@ -219,7 +225,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_am_type_aka_symbian_c* eap_am_type_aka_symbian_c::NewL( +eap_am_type_aka_symbian_c* eap_am_type_aka_symbian_c::NewL( abs_eap_am_tools_c * const aTools, abs_eap_base_type_c * const aPartner, const TIndexType aIndexType, @@ -308,7 +314,7 @@ // Read Maximum Session Validity Time from the config file eap_variable_data_c sessionTimeFromFile(m_am_tools); - eap_status_e status = type_configure_read( + eap_status_e status = m_partner->read_configure( cf_str_EAP_AKA_max_session_validity_time.get_field(), &sessionTimeFromFile); @@ -331,7 +337,7 @@ // We have to set the values for K, OP and AMF in simulator. { - eap_status_e status = type_configure_read( + eap_status_e status = m_partner->read_configure( cf_str_EAP_AKA_simulator_aka_k.get_field(), &m_simulator_aka_K); if (status == eap_status_ok @@ -360,7 +366,7 @@ } { - eap_status_e status = type_configure_read( + eap_status_e status = m_partner->read_configure( cf_str_EAP_AKA_simulator_aka_op.get_field(), &m_simulator_aka_OP); if (status == eap_status_ok @@ -389,7 +395,7 @@ } { - eap_status_e status = type_configure_read( + eap_status_e status = m_partner->read_configure( cf_str_EAP_AKA_simulator_aka_amf.get_field(), &m_simulator_aka_AMF); if (status == eap_status_ok @@ -576,19 +582,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLInsert, - &KPseudonymId, - &KAkaTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLInsert, &KPseudonymId, &KAkaTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); // Evaluate view RDbView view; @@ -688,19 +684,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLInsert, - &KReauthId, - &KAkaTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLInsert, &KReauthId, &KAkaTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); // Evaluate view RDbView view; @@ -826,22 +812,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLInsert, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLInsert, - &KXKey, - &KK_aut, - &KK_encr, - &KReauthCounter, - &KAkaTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLInsert, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLInsert, &KXKey, &KK_aut, &KK_encr, &KReauthCounter, &KAkaTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); // Evaluate view RDbView view; @@ -980,22 +953,9 @@ TPtr sqlStatement = buf->Des(); // Form the query - _LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLQuery, - &KXKey, - &KK_aut, - &KK_encr, - &KReauthCounter, - &KAkaTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KXKey, &KK_aut, &KK_encr, &KReauthCounter, &KAkaTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); RDbView view; // Evaluate view @@ -1104,19 +1064,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLInsert, - &KReauthCounter, - &KAkaTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLInsert, &KReauthCounter, &KAkaTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); // Evaluate view RDbView view; @@ -1229,22 +1179,11 @@ m_stored_reauth_id.reset(); m_previous_imsi.reset(); - _LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLQuery, - &KReauthId, - &KReauthCounter, - &KPseudonymId, - &KPreviousIMSI, - &KAkaTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KReauthId, &KReauthCounter, &KPseudonymId, + &KPreviousIMSI, &KAkaTableName, + &KServiceType, m_index_type, + &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); RDbView view; // Evaluate view @@ -1447,7 +1386,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_aka_symbian_c::complete_AKA_imsi_L( +eap_status_e eap_am_type_aka_symbian_c::complete_AKA_imsi_L( const eap_variable_data_c * const IMSI, const eap_status_e completion_status ) { @@ -1605,19 +1544,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLInsert, - &KPreviousIMSI, - &KAkaTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLInsert, &KPreviousIMSI, &KAkaTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); // Evaluate view RDbView view; @@ -1771,7 +1700,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_aka_symbian_c::complete_AKA_RES_L( +eap_status_e eap_am_type_aka_symbian_c::complete_AKA_RES_L( eap_variable_data_c * const aRES, eap_variable_data_c * const aCK, eap_variable_data_c * const aIK, @@ -2676,7 +2605,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_aka_symbian_c::generate_reauthentication_id( +eap_status_e eap_am_type_aka_symbian_c::generate_reauthentication_id( const eap_am_network_id_c * const send_network_id, const eap_variable_data_c * const imsi, eap_variable_data_c * const reauthentication_identity, @@ -2889,19 +2818,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLQueryRow, - &unicodeString, - &KAkaTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQueryRow, &unicodeString, &KAkaTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); RDbView view; User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -3063,7 +2982,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT bool eap_am_type_aka_symbian_c::is_session_valid() +bool eap_am_type_aka_symbian_c::is_session_valid() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -3097,20 +3016,11 @@ TPtr sqlStatement = buf->Des(); // Query all the relevant parameters - _LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLQuery, - &cf_str_EAP_AKA_max_session_validity_time_literal, - &KAKALastFullAuthTime, - &KAkaTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &cf_str_EAP_AKA_max_session_validity_time_literal, + &KAKALastFullAuthTime, &KAkaTableName, + &KServiceType, m_index_type, + &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); RDbView view; // Evaluate view @@ -3228,19 +3138,10 @@ TPtr sqlStatement = buf->Des(); // Query all the relevant parameters - _LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLQuery, - &KAKALastFullAuthTime, - &KAkaTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KAKALastFullAuthTime, &KAkaTableName, + &KServiceType, m_index_type, + &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); RDbView view; // Evaluate view diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAka.h --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAka.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAka.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,14 +16,14 @@ */ /* -* %version: 16 % +* %version: 9.1.2 % */ #ifndef _EAPAKA_H_ #define _EAPAKA_H_ // INCLUDES -#include +#include #include "eap_header.h" // FORWARD DECLARATIONS @@ -33,7 +33,7 @@ /** * Class that implements the generic EAP type interface. Implements EAP AKA protocol. */ -class CEapAka : public CEapTypePlugin +class CEapAka : public CEapType { public: @@ -87,13 +87,16 @@ #endif // #ifdef USE_EAP_SIMPLE_CONFIG - + /** + * Invokes the configuration UI. + **/ + TInt InvokeUiL(); /** * Gets information about EAP type. * @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack. */ - CEapTypeInfo* GetInfoL(); + CEapTypeInfo* GetInfoLC(); /** * Deletes EAP type configuration @@ -115,7 +118,7 @@ * EAP type. * @param aTunnelingType Type number for the tunneling type */ - void SetTunnelingType(const TEapExpandedType aTunnelingType); + void SetTunnelingType(const TInt aTunnelingType); /** * Changes the index of the saved parameters. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbDefaults.h --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbDefaults.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbDefaults.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,24 +16,49 @@ */ /* -* %version: % +* %version: 17 % */ #if !defined(_EAPAKADBDEFAULTS_H_) #define _EAPAKADBDEFAULTS_H_ -#include "EapPluginDbDefaults.h" +enum TAKAUsePseudonymId +{ + EAKAUsePseudonymIdNo, // False. Don't use pseudonym id. + EAKAUsePseudonymIdYes, // True. Use pseudonym id. + EAKAUsePseudonymIdNotValid // This indicates that the value is not configured. +}; + +enum TAKAUseManualRealm +{ + EAKAUseManualRealmNo, // False. Don't use Manual Realm. + EAKAUseManualRealmYes, // True. Use Manual Realm. +}; + +enum TAKAUseManualUsername +{ + EAKAUseManualUsernameNo, // False. Don't use Manual Username. + EAKAUseManualUsernameYes, // True. Use Manual Username. +}; // LOCAL CONSTANTS -const TUint default_EAP_AKA_use_manual_realm = EEapDbFalse; +const TUint default_EAP_AKA_use_manual_realm = EAKAUseManualRealmNo; +_LIT(default_EAP_AKA_manual_realm, ""); -const TUint default_EAP_AKA_use_manual_username = EEapDbFalse; +const TUint default_EAP_AKA_use_manual_username = EAKAUseManualUsernameNo; +_LIT(default_EAP_AKA_manual_username, ""); -const TUint default_EAP_AKA_use_pseudonym_identity = EEapDbTrue; // Default is use pseudonym identity. +const TUint default_EAP_AKA_use_pseudonym_identity = EAKAUsePseudonymIdYes; // Default is use pseudonym identity. + +const TInt64 default_MaxSessionTime = 0; // 0 means read from configuration file. +const TInt64 default_FullAuthTime = 0; const TUint KMaxPseudonymIdLengthInDB = 1020; // This is the max possible length of an EAP packet. const TUint KMaxReauthIdLengthInDB = 1020; // pseudonym id or reauth id can't be more than that. +const TUint KMaxManualUsernameLengthInDB = 255; +const TUint KMaxManualRealmLengthInDB = 255; + const TUint KMaxIMSILengthInDB = 15; const TUint KMaxXKeyLengthInDB = 20; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbParameterNames.h --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbParameterNames.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbParameterNames.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13.1.2 % */ #if !defined(_EAPAKADBPARAMETERNAMES_H_) @@ -28,7 +28,6 @@ _LIT(KServiceType, "ServiceType"); _LIT(KServiceIndex, "ServiceIndex"); -_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId"); _LIT(KTunnelingType, "TunnelingType"); _LIT(KPseudonymId, "PseudonymId"); _LIT(KXKey, "XKEY"); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbUtils.h --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbUtils.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbUtils.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 7.1.6 % +* %version: 9 % */ #ifndef _EAPAKADBUTILS_H_ @@ -29,22 +29,32 @@ // LOCAL CONSTANTS -// For EAP-AKA private database. Database will be in the private folder of EAP-server (20026FCB). -// The maximum length of database name is 0x40 (KDbMaxName), which is defined in d32dbms.h. +#ifdef SYMBIAN_SECURE_DBMS +// For EAP AKA secure database. +// Full path is not needed. The database eapaka.dat will be saved in the +// data cage path for DBMS. So it will be in "\private\100012a5\eapaka.dat" in C: drive. +// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h. + +_LIT(KDatabaseName, "c:eapaka.dat"); -_LIT(KEapAkaDatabaseName, "eapaka.dat"); +_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy. + +#else + +_LIT(KDatabaseName, "c:\\system\\data\\eapaka.dat"); + +#endif // #ifdef SYMBIAN_SECURE_DBMS _LIT(KAkaTableName, "eapaka"); // CLASS DECLARATION class EapAkaDbUtils { - public: static void OpenDatabaseL( RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, + RDbs& aSession, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); @@ -88,6 +98,7 @@ const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); + }; #endif // _EAPAKADBUTILS_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaGlobal.h --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaGlobal.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaGlobal.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #ifndef _EAPAKAGLOBAL_H_ @@ -26,9 +26,9 @@ // Release date must be of format YYYYMMDD:. Will be localised automatically. // Note that days and months start from 0. -_LIT(KReleaseDate, ""); +_LIT(KReleaseDate, "20040829:"); _LIT(KEapTypeVersion, "1.0"); -_LIT(KManufacturer, ""); +_LIT(KManufacturer, "Nokia"); _LIT(KNokiaSignature, ""); // Not used _LIT(KExtraInfo1, ""); // Not used _LIT(KExtraInfo2, ""); // Not used diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/102073c1.rss --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/102073c1.rss Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/102073c1.rss Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 6.1.2 % +* %version: 9 % */ // INCLUDES diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAka.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAka.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAka.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 25 % +* %version: 15.1.2 % */ // This is enumeration of EAPOL source code. @@ -37,11 +37,12 @@ #include #include "eap_am_type_aka_symbian.h" #include "EapAkaDbUtils.h" -#include "EapConversion.h" + +#include +#include "EapAkaUi.h" + #include "eap_am_tools_symbian.h" -#include "EapTraceSymbian.h" - // LOCAL CONSTANTS @@ -137,19 +138,40 @@ } // ---------------------------------------------------------- +TInt CEapAka::InvokeUiL() +{ + TInt buttonId(0); + +#ifdef USE_EAP_EXPANDED_TYPES -CEapTypeInfo* CEapAka::GetInfoL() + CEapAkaUiConnection uiConn(iIndexType, iIndex, iTunnelingType.get_vendor_type()); + +#else + + CEapAkaUiConnection uiConn(iIndexType, iIndex, iTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + CEapAkaUi* ui = CEapAkaUi::NewL(&uiConn); + CleanupStack::PushL(ui); + buttonId = ui->InvokeUiL(); + CleanupStack::PopAndDestroy(ui); + return buttonId; +} + +// ---------------------------------------------------------- +CEapTypeInfo* CEapAka::GetInfoLC() { CEapTypeInfo* info = new(ELeave) CEapTypeInfo( (TDesC&)KReleaseDate, (TDesC&)KEapTypeVersion, (TDesC&)KManufacturer); + CleanupStack::PushL(info); return info; } // ---------------------------------------------------------- - void CEapAka::DeleteConfigurationL() { EapAkaDbUtils::DeleteConfigurationL(iIndexType, iIndex, iTunnelingType); @@ -164,22 +186,19 @@ // ---------------------------------------------------------- -void CEapAka::SetTunnelingType(const TEapExpandedType aTunnelingType) - { - EAP_TRACE_DATA_DEBUG_SYMBIAN( - (EAPL("CEapAka::SetTunnelingType - tunneling type"), - aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length())); - - eap_type_value_e aInternalType; - - TInt err = CEapConversion::ConvertExpandedEAPTypeToInternalType( - &aTunnelingType, - &aInternalType); - - iTunnelingType = aInternalType; - - - } +void CEapAka::SetTunnelingType(const TInt aTunnelingType) +{ +#ifdef USE_EAP_EXPANDED_TYPES + + // Vendor id is eap_type_vendor_id_ietf always in this plugin. + iTunnelingType.set_eap_type_values(eap_type_vendor_id_ietf, aTunnelingType); + +#else + + iTunnelingType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES +} // ---------------------------------------------------------- @@ -204,16 +223,13 @@ RDbNamedDatabase db; - RFs session; + RDbs session; + + EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapAka::SetIndexL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); - + EapAkaDbUtils::SetIndexL( db, iIndexType, @@ -226,11 +242,7 @@ iIndexType = aIndexType; iIndex = aIndex; - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + CleanupStack::PopAndDestroy(2); // db } // ---------------------------------------------------------- @@ -239,29 +251,22 @@ { RDbNamedDatabase db; - RFs session; - - CleanupClosePushL(session); - CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapAka::SetConfigurationL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - + RDbs session; + // This also creates the IAP entry if it doesn't exist EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + CleanupClosePushL(session); + CleanupClosePushL(db); + EapAkaDbUtils::SetConfigurationL( db, aSettings, iIndexType, iIndex, iTunnelingType); - - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + + CleanupStack::PopAndDestroy(2); // db, session } // ---------------------------------------------------------- @@ -270,16 +275,13 @@ { RDbNamedDatabase db; - RFs session; - + RDbs session; + + // This also creates the IAP entry if it doesn't exist + EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapAka::SetConfigurationL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - // This also creates the IAP entry if it doesn't exist - EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); EapAkaDbUtils::GetConfigurationL( db, @@ -287,12 +289,8 @@ iIndexType, iIndex, iTunnelingType); - - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + + CleanupStack::PopAndDestroy(2); // db, session } // ---------------------------------------------------------- @@ -318,16 +316,13 @@ RDbNamedDatabase db; - RFs session; - + RDbs session; + + EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapAka::CopySettingsL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); - + EapAkaDbUtils::CopySettingsL( db, iIndexType, @@ -336,12 +331,8 @@ aDestinationIndexType, aDestinationIndex, iTunnelingType); - - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + + CleanupStack::PopAndDestroy(2); // db + } - // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaDbUtils.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaDbUtils.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaDbUtils.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 54 % +* %version: 29.1.2 % */ // This is enumeration of EAPOL source code. @@ -34,146 +34,160 @@ #include "EapAkaDbParameterNames.h" #include "eap_type_aka_types.h" -#include -#include "EapPluginTools.h" +#include "eap_am_trace_symbian.h" const TInt KMaxSqlQueryLength = 2048; const TInt KMicroSecsInAMinute = 60000000; // 60000000 micro seconds is 1 minute. // ================= MEMBER FUNCTIONS ======================= -// ---------------------------------------------------------- +void EapAkaDbUtils::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession, const TIndexType aIndexType, + const TInt aIndex, const eap_type_value_e aTunnelingType) +{ +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); -void EapAkaDbUtils::OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - const TIndexType aIndexType, - const TInt aIndex, - const eap_type_value_e aTunnelingType) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::OpenDatabaseL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type()) ); +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::OpenDatabaseL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=%d \n"), + aIndexType,aIndex,aTunnelingVendorType) ); // 1. Open/create a database - TInt error(KErrNone); - TFileName aPrivateDatabasePathName; - - EapPluginTools::CreateDatabaseLC( - aDatabase, - aFileServerSession, - error, - KEapAkaDatabaseName, - aPrivateDatabasePathName); - - if(error == KErrNone) + // Connect to the DBMS server. + User::LeaveIfError(aSession.Connect()); + CleanupClosePushL(aSession); + // aSession and aDatabase are pushed to the cleanup stack even though they may be member + // variables of the calling class and would be closed in the destructor anyway. This ensures + // that if they are not member variables they will be closed. Closing the handle twice + // does no harm. + +#ifdef SYMBIAN_SECURE_DBMS + + // Create the secure shared database with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = aDatabase.Create(aSession, KDatabaseName, KSecureUIDFormat); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::OpenDatabaseL - Created Secure DB for eapaka.dat. err=%d\n"), err)); + + + if(err == KErrNone) { aDatabase.Close(); - } - else if (error != KErrAlreadyExists) + + } else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::OpenDatabaseL(): - calls aDatabase.Open()\n"))); - - error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::OpenDatabaseL(): - Opened private DB for EAP-AKA. error=%d\n"), error)); - - User::LeaveIfError(error); + User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName, KSecureUIDFormat)); + CleanupClosePushL(aDatabase); + +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + TInt err = aDatabase.Create(fsSession, KDatabaseName); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::OpenDatabaseL - Created Non-Secure DB for eapaka.dat. err=%d\n"), err)); + + + if(err == KErrNone) + { + aDatabase.Close(); + + } else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + CleanupStack::PopAndDestroy( &fsSession ); // close fsSession + + User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName)); + CleanupClosePushL(aDatabase); + +#endif // #ifdef SYMBIAN_SECURE_DBMS // 2. Create the eapaka table to database (ignore error if exists) - // Table columns: - //// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant ///////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| EAP_AKA_use_manual_realm | UNSIGNED INTEGER | cf_str_EAP_AKA_use_manual_realm_literal |// - //| EAP_AKA_manual_realm | VARCHAR(255) | cf_str_EAP_AKA_manual_realm_literal |// - //| EAP_AKA_use_manual_username | UNSIGNED INTEGER | cf_str_EAP_AKA_use_manual_username_literal|// - //| EAP_AKA_manual_username | VARCHAR(255) | cf_str_EAP_AKA_manual_username_literal|// - //| PseudonymId | LONG VARBINARY | KPseudonymId |// - //| XKEY | BINARY(20) | KXKey |// - //| K_aut | BINARY(16) | KK_aut |// - //| K_encr | BINARY(16) | KK_encr |// - //| ReauthCounter | UNSIGNED INTEGER | KReauthCounter |// - //| ReauthId | LONG VARBINARY | KReauthId |// - //| PreviousIMSI | VARBINARY(15) | KPreviousIMSI |// - //| EAP_AKA_use_pseudonym_identity | UNSIGNED INTEGER | cf_str_EAP_AKA_use_pseudonym_identity_literal |// - //| EAP_AKA_max_session_validity_time | BIGINT | cf_str_EAP_AKA_max_session_validity_time_literal |// - //| EAP_AKA_last_full_authentication_time | BIGINT | KAKALastFullAuthTime |// - ////////////////////////////////////////////////////////////////////////////////////////////////// +// Table columns: +//// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant ///////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| EAP_AKA_use_manual_realm | UNSIGNED INTEGER | cf_str_EAP_AKA_use_manual_realm_literal |// +//| EAP_AKA_manual_realm | VARCHAR(255) | cf_str_EAP_AKA_manual_realm_literal |// +//| EAP_AKA_use_manual_username | UNSIGNED INTEGER | cf_str_EAP_AKA_use_manual_username_literal|// +//| EAP_AKA_manual_username | VARCHAR(255) | cf_str_EAP_AKA_manual_username_literal|// +//| PseudonymId | LONG VARBINARY | KPseudonymId |// +//| XKEY | BINARY(20) | KXKey |// +//| K_aut | BINARY(16) | KK_aut |// +//| K_encr | BINARY(16) | KK_encr |// +//| ReauthCounter | UNSIGNED INTEGER | KReauthCounter |// +//| ReauthId | LONG VARBINARY | KReauthId |// +//| PreviousIMSI | VARBINARY(15) | KPreviousIMSI |// +//| EAP_AKA_use_pseudonym_identity | UNSIGNED INTEGER | cf_str_EAP_AKA_use_pseudonym_identity_literal |// +//| EAP_AKA_max_session_validity_time | BIGINT | cf_str_EAP_AKA_max_session_validity_time_literal |// +//| EAP_AKA_last_full_authentication_time | BIGINT | KAKALastFullAuthTime |// +////////////////////////////////////////////////////////////////////////////////////////////////// HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLCreateTable, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S LONG VARBINARY, \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S UNSIGNED INTEGER, \ - %S LONG VARBINARY, \ - %S VARBINARY(%d), \ - %S UNSIGNED INTEGER, \ - %S BIGINT, \ - %S BIGINT)"); + _LIT(KSQLCreateTable, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S LONG VARBINARY, \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S UNSIGNED INTEGER, \ + %S LONG VARBINARY, \ + %S VARBINARY(%d), \ + %S UNSIGNED INTEGER, \ + %S BIGINT, \ + %S BIGINT)"); - sqlStatement.Format(KSQLCreateTable, - &KAkaTableName, - &KServiceType, - &KServiceIndex, - &KTunnelingTypeVendorId, - &KTunnelingType, - &cf_str_EAP_AKA_use_manual_realm_literal, - &cf_str_EAP_AKA_manual_realm_literal, KMaxRealmLengthInDB, - &cf_str_EAP_AKA_use_manual_username_literal, - &cf_str_EAP_AKA_manual_username_literal, KMaxUsernameLengthInDB, - &KPseudonymId, - &KXKey, KMaxXKeyLengthInDB, - &KK_aut, KMaxK_autLengthInDB, - &KK_encr, KMaxK_encrLengthInDB, - &KReauthCounter, - &KReauthId, - &KPreviousIMSI, KMaxIMSILengthInDB, - &cf_str_EAP_AKA_use_pseudonym_identity_literal, - &cf_str_EAP_AKA_max_session_validity_time_literal, - &KAKALastFullAuthTime); + sqlStatement.Format(KSQLCreateTable, &KAkaTableName, &KServiceType, + &KServiceIndex, + &KTunnelingType, + &cf_str_EAP_AKA_use_manual_realm_literal, + &cf_str_EAP_AKA_manual_realm_literal,KMaxManualRealmLengthInDB, + &cf_str_EAP_AKA_use_manual_username_literal, + &cf_str_EAP_AKA_manual_username_literal, KMaxManualUsernameLengthInDB, + &KPseudonymId, + &KXKey, KMaxXKeyLengthInDB, + &KK_aut, KMaxK_autLengthInDB, + &KK_encr, KMaxK_encrLengthInDB, + &KReauthCounter, + &KReauthId, + &KPreviousIMSI, KMaxIMSILengthInDB, + &cf_str_EAP_AKA_use_pseudonym_identity_literal, + &cf_str_EAP_AKA_max_session_validity_time_literal, + &KAKALastFullAuthTime); - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } // 4. Check if database table contains a row for this service type and id - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQLQueryRow, - &cf_str_EAP_AKA_manual_realm_literal, - &KAkaTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_AKA_manual_realm_literal, &KAkaTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -202,14 +216,13 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal), default_EAP_AKA_use_manual_realm); - view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_realm_literal), default_EAP_realm); + view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_realm_literal), default_EAP_AKA_manual_realm); view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_manual_username_literal), default_EAP_AKA_use_manual_username); - view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_username_literal), default_EAP_username); + view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_username_literal), default_EAP_AKA_manual_username); view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), default_EAP_AKA_use_pseudonym_identity); @@ -219,20 +232,19 @@ view.PutL(); - CleanupStack::PopAndDestroy( colSet ); + CleanupStack::PopAndDestroy( colSet ); // Delete colSet. - CleanupStack::PopAndDestroy( &view ); + CleanupStack::PopAndDestroy( &view ); // Close view. } + CleanupStack::PopAndDestroy( buf ); // Delete buf + + CleanupStack::Pop( &aDatabase ); + CleanupStack::Pop( &aSession ); + aDatabase.Compact(); - - CleanupStack::PopAndDestroy( buf ); - CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aFileServerSession ); } -// ---------------------------------------------------------- - void EapAkaDbUtils::SetIndexL( RDbNamedDatabase& aDatabase, const TIndexType aIndexType, @@ -242,37 +254,25 @@ const TInt aNewIndex, const eap_type_value_e aNewTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapAkaDbUtils::SetIndexL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapAkaDbUtils::SetIndexL(): -Start- aNewIndexType=%d, aNewIndex=%d, aNewTunnelingType=0xfe%06x%08x\n"), - aNewIndexType, - aNewIndex, - aNewTunnelingType.get_vendor_id(), - aNewTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + TUint aNewTunnelingVendorType = aNewTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapAkaDbUtils::SetIndexL()\n")); +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + TUint aNewTunnelingVendorType = static_cast(aNewTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQL, - &KAkaTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &KAkaTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); RDbView view; @@ -301,19 +301,16 @@ view.UpdateL(); view.SetColL(colSet->ColNo(KServiceType), aNewIndexType); + view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type()); + + view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType); view.PutL(); - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(3); // view, colset, buf } -// ---------------------------------------------------------- - void EapAkaDbUtils::SetConfigurationL( RDbNamedDatabase& aDatabase, const EAPSettings& aSettings, @@ -321,20 +318,80 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::SetConfigurationL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::SetConfigurationL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=%d\n"), + aIndexType,aIndex, aTunnelingVendorType)); + + EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL - Set the below values: ***************************\n")) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Set these values for EAPType=%d"),aSettings.iEAPType) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Username=%S"),aSettings.iUsernamePresent, &(aSettings.iUsername)) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Password=%S"),aSettings.iPasswordPresent, &(aSettings.iPassword)) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Realm=%S"),aSettings.iRealmPresent, &(aSettings.iRealm)) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, UsePseudonyms=%d"),aSettings.iUsePseudonymsPresent, aSettings.iUsePseudonyms) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, VerifyServerRealm=%d"), + aSettings.iVerifyServerRealmPresent, aSettings.iVerifyServerRealm) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, RequireClientAuthentication=%d"), + aSettings.iRequireClientAuthenticationPresent, aSettings.iRequireClientAuthentication) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, SessionValidityTime=%d minutes"), + aSettings.iSessionValidityTimePresent, aSettings.iSessionValidityTime) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, CipherSuites Count=%d"), + aSettings.iCipherSuitesPresent, aSettings.iCipherSuites.Count()) ); - EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL(): Set the below values: ***************************\n")) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, PEAPv0Allowed=%d, PEAPv1Allowed=%d, PEAPv2Allowed=%d"), + aSettings.iPEAPVersionsPresent, aSettings.iPEAPv0Allowed,aSettings.iPEAPv1Allowed, aSettings.iPEAPv2Allowed ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Certificates Count=%d"), + aSettings.iCertificatesPresent, aSettings.iCertificates.Count()) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Certificate details below: \n")) ); + + for( TInt n=0; n < aSettings.iCertificates.Count(); n++ ) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Certificate type:%d \n"), aSettings.iCertificates[n].iCertType) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, SubjectName=%S"), + aSettings.iCertificates[n].iSubjectNamePresent, &(aSettings.iCertificates[n].iSubjectName) ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, IssuerName=%S"), + aSettings.iCertificates[n].iIssuerNamePresent, &(aSettings.iCertificates[n].iIssuerName) ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, SerialNumber=%S"), + aSettings.iCertificates[n].iSerialNumberPresent, &(aSettings.iCertificates[n].iSerialNumber) ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - SubjectKeyID present=%d"), + aSettings.iCertificates[n].iSubjectKeyIDPresent ) ); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "SubjectKeyID:", aSettings.iCertificates[n].iSubjectKeyID.Ptr(), + aSettings.iCertificates[n].iSubjectKeyID.Size() ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, Thumbprint=%S"), + aSettings.iCertificates[n].iThumbprintPresent, &(aSettings.iCertificates[n].iThumbprint) ) ); + } - EAP_TRACE_SETTINGS(&aSettings); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, EncapsulatedEAPTypes Count=%d"), + aSettings.iEncapsulatedEAPTypesPresent, aSettings.iEncapsulatedEAPTypes.Count()) ); + for( TInt m=0; m < aSettings.iEncapsulatedEAPTypes.Count(); m++ ) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - EncapsulatedEAPTypes=%d"), + aSettings.iEncapsulatedEAPTypes[m]) ); + } - EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL(): Set the above values: ***************************\n")) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL - Set the above values: ***************************\n")) ); // Check if the settings are for the correct type - if (aSettings.iEAPExpandedType != (*EapExpandedTypeAka.GetType())) + if (aSettings.iEAPType != EAPSettings::EEapAka) { User::Leave(KErrNotSupported); } @@ -344,17 +401,9 @@ RDbView view; - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQLQuery, - &KAkaTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KAkaTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -371,98 +420,90 @@ CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - - if (aSettings.iUseAutomaticUsernamePresent) + // Manual username + //if (aSettings.iUsernamePresent) // no need to check as there may be empty usernames with the present status is EFlase. { + // Check if length of username is less than the max length. + if(aSettings.iUsername.Length() > KMaxManualUsernameLengthInDB) + { + // Username too long. Can not be stored in DB. + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::SetConfigurationL: Too long Username. Length=%d \n"), + aSettings.iUsername.Length())); + + User::Leave(KErrArgument); + } + + // Length is ok. Set the value in DB. + view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_username_literal), aSettings.iUsername); + // This is to set the automatic or manual status. TUint useManualUsernameStatus; - if (aSettings.iUseAutomaticUsername) + if (aSettings.iUsernamePresent) { - useManualUsernameStatus = EEapDbFalse; + useManualUsernameStatus = EAKAUseManualUsernameYes; } else { - useManualUsernameStatus = EEapDbTrue; + useManualUsernameStatus = EAKAUseManualUsernameNo; } // Set the value. view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_manual_username_literal), useManualUsernameStatus); } - - - if (aSettings.iUseAutomaticRealmPresent) - { - // This is to set the automatic or manual status. - TUint useManualRealmStatus; - - if (aSettings.iUseAutomaticRealm) - { - useManualRealmStatus = EEapDbFalse; - } - else - { - useManualRealmStatus = EEapDbTrue; - } - - // Set the value. - view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal), useManualRealmStatus); - } - - - // Manual username - if (aSettings.iUsernamePresent) // no need to check as there may be empty usernames with the present status is EFlase. - { - // Check if length of username is less than the max length. - if(aSettings.iUsername.Length() > KMaxUsernameLengthInDB) - { - // Username too long. Can not be stored in DB. - - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapAkaDbUtils::SetConfigurationL(): Too long Username. Length=%d \n"), - aSettings.iUsername.Length())); - - User::Leave(KErrArgument); - } - - // Length is ok. Set the value in DB. - view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_username_literal), aSettings.iUsername); - } // Manual realm - if (aSettings.iRealmPresent) // no need to check as there may be empty realms with the present status is EFlase. + //if (aSettings.iRealmPresent) // no need to check as there may be empty realms with the present status is EFlase. { // Check if length of realm is less than the max length. - if(aSettings.iRealm.Length() > KMaxRealmLengthInDB) + if(aSettings.iRealm.Length() > KMaxManualRealmLengthInDB) { // Realm too long. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapAkaDbUtils::SetConfigurationL: Too long Realm. Length=%d \n"), - aSettings.iRealm.Length())); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::SetConfigurationL: Too long Realm. Length=%d \n"), + aSettings.iRealm.Length())); User::Leave(KErrArgument); } // Length is ok. Set the value in DB. Value could be empty. It doesn't matter. view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_realm_literal), aSettings.iRealm); + + // This is to set the automatic or manual status. + TUint useManualRealmStatus; + + if (aSettings.iRealmPresent) + { + useManualRealmStatus = EAKAUseManualRealmYes; + } + else + { + useManualRealmStatus = EAKAUseManualRealmNo; + } + + // Set the value. + view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal), useManualRealmStatus); } + // UsePseudonym if (aSettings.iUsePseudonymsPresent) { if (aSettings.iUsePseudonyms) { // Use pseudonym. - view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EEapDbTrue); + view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EAKAUsePseudonymIdYes); } else { // Don't use pseudonym. - view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EEapDbFalse); + view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EAKAUsePseudonymIdNo); } } else { // Value is not configured. Value is read from config file if needed. - view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EEapDbNotValid); + view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EAKAUsePseudonymIdNotValid); } // Session validity time @@ -484,18 +525,14 @@ view.SetColL(colSet->ColNo(KAKALastFullAuthTime), default_FullAuthTime); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::SetConfigurationL(): Session Validity: Resetting Full Auth Time since settings are modified\n"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"), + aSettings.iEAPType )); } view.PutL(); - - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(3); // view, colset, buf } -// ---------------------------------------------------------- - void EapAkaDbUtils::GetConfigurationL( RDbNamedDatabase& aDatabase, EAPSettings& aSettings, @@ -503,14 +540,15 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapAkaDbUtils::GetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapAkaDbUtils::GetConfigurationL()\n")); +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); @@ -518,17 +556,9 @@ RDbView view; // Form the query - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQLQuery, - &KAkaTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KAkaTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -545,100 +575,70 @@ CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - aSettings.iEAPExpandedType = *EapExpandedTypeAka.GetType(); - + aSettings.iEAPType = EAPSettings::EEapAka; + + // Username + TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_AKA_manual_username_literal)); + aSettings.iUsername.Copy(username); + + // For manual or automatic status. + TUint useUsername = view.ColUint(colSet->ColNo(cf_str_EAP_AKA_use_manual_username_literal)); + if(useUsername == EAKAUseManualUsernameNo) + { + aSettings.iUsernamePresent = EFalse; + } + else { - // For manual or automatic username. - TUint useUsername = view.ColUint(colSet->ColNo(cf_str_EAP_AKA_use_manual_username_literal)); - - aSettings.iUseAutomaticUsernamePresent = ETrue; - - if(useUsername == EEapDbTrue) - { - aSettings.iUseAutomaticUsername = EFalse; - } - else + aSettings.iUsernamePresent = ETrue; + } + + // Realm + TPtrC realm = view.ColDes(colSet->ColNo(cf_str_EAP_AKA_manual_realm_literal)); + aSettings.iRealm.Copy(realm); + + // For manual or automatic status. + TUint useRealm = view.ColUint(colSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal)); + if(useRealm == EAKAUseManualRealmNo) + { + aSettings.iRealmPresent = EFalse; + } + else + { + aSettings.iRealmPresent = ETrue; + } + + TInt usePseudonym = view.ColUint(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal)); + + if (usePseudonym == EAKAUsePseudonymIdNotValid) + { + aSettings.iUsePseudonymsPresent = EFalse; + } + else + { + if (usePseudonym == EAKAUsePseudonymIdNo) { - aSettings.iUseAutomaticUsername = ETrue; - } - } - - { - // For manual or automatic realm. - TUint useRealm = view.ColUint(colSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal)); - - aSettings.iUseAutomaticRealmPresent = ETrue; - - if(useRealm == EEapDbTrue) - { - aSettings.iUseAutomaticRealm = EFalse; + aSettings.iUsePseudonyms = EFalse; } else { - aSettings.iUseAutomaticRealm = ETrue; + aSettings.iUsePseudonyms = ETrue; } - } - - { - // Username - TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_AKA_manual_username_literal)); - - aSettings.iUsernamePresent = ETrue; - - aSettings.iUsername.Copy(username); - } - - { - // Realm - TPtrC realm = view.ColDes(colSet->ColNo(cf_str_EAP_AKA_manual_realm_literal)); - - aSettings.iRealmPresent = ETrue; - - aSettings.iRealm.Copy(realm); - } - - { - TInt usePseudonym = view.ColUint(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal)); - if (usePseudonym == EEapDbNotValid) - { - aSettings.iUsePseudonymsPresent = EFalse; - } - else - { - if (usePseudonym == EEapDbFalse) - { - aSettings.iUsePseudonyms = EFalse; - } - else - { - aSettings.iUsePseudonyms = ETrue; - } - - aSettings.iUsePseudonymsPresent = ETrue; - } - } - - { - // Session validity time - TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(cf_str_EAP_AKA_max_session_validity_time_literal)); - - // Convert the time to minutes. - TInt64 maxSessionTimeMin = maxSessionTimeMicro / KMicroSecsInAMinute; - - aSettings.iSessionValidityTime = static_cast(maxSessionTimeMin); - aSettings.iSessionValidityTimePresent = ETrue; + aSettings.iUsePseudonymsPresent = ETrue; } - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); - - EAP_TRACE_SETTINGS(&aSettings); + // Session validity time + TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(cf_str_EAP_AKA_max_session_validity_time_literal)); + + // Convert the time to minutes. + TInt64 maxSessionTimeMin = maxSessionTimeMicro / KMicroSecsInAMinute; + + aSettings.iSessionValidityTime = static_cast(maxSessionTimeMin); + aSettings.iSessionValidityTimePresent = ETrue; + + CleanupStack::PopAndDestroy(3); // view, colset, buf } -// ---------------------------------------------------------- - void EapAkaDbUtils::CopySettingsL( RDbNamedDatabase& aDatabase, const TIndexType aSrcIndexType, @@ -648,37 +648,25 @@ const TInt aDestIndex, const eap_type_value_e aDestTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapAkaDbUtils::CopySettingsL(): -Start- aSrcIndexType=%d, aSrcIndex=%d, aSrcTunnelingType=0xfe%06x%08x\n"), - aSrcIndexType, - aSrcIndex, - aSrcTunnelingType.get_vendor_id(), - aSrcTunnelingType.get_vendor_type())); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapAkaDbUtils::CopySettingsL(): -Start- aDestIndexType=%d, aDestTunnelingType=0xfe%06x%08x\n"), - aDestIndexType, - aDestIndex, - aDestTunnelingType.get_vendor_id(), - aDestTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aSrcTunnelingVendorType = aSrcTunnelingType.get_vendor_type(); + TUint aDestTunnelingVendorType = aDestTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapAkaDbUtils::CopySettingsL()\n")); +#else + + TUint aSrcTunnelingVendorType = static_cast(aSrcTunnelingType); + TUint aDestTunnelingVendorType = static_cast(aDestTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQL, - &KAkaTableName, - &KServiceType, - aSrcIndexType, - &KServiceIndex, - aSrcIndex, - &KTunnelingTypeVendorId, - aSrcTunnelingType.get_vendor_id(), - &KTunnelingType, - aSrcTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &KAkaTableName, + &KServiceType, aSrcIndexType, &KServiceIndex, aSrcIndex, &KTunnelingType, aSrcTunnelingVendorType); RDbView view; @@ -709,107 +697,112 @@ CleanupStack::PushL(colSet); view.SetColL(colSet->ColNo(KServiceType), static_cast(aDestIndexType)); + view.SetColL(colSet->ColNo(KServiceIndex), aDestIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type()); + + view.SetColL(colSet->ColNo(KTunnelingType), static_cast(aDestTunnelingVendorType)); view.PutL(); - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(3); // view, colset, buf } -// ---------------------------------------------------------- - void EapAkaDbUtils::DeleteConfigurationL( const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapAkaDbUtils::DeleteConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapAkaDbUtils::DeleteConfigurationL()\n")); +#else - RDbNamedDatabase aDatabase; - RFs aFileServerSession; + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES - TInt error(KErrNone); - TFileName aPrivateDatabasePathName; + RDbs session; + RDbNamedDatabase database; + // Connect to the DBMS server. + User::LeaveIfError(session.Connect()); + CleanupClosePushL(session); + +#ifdef SYMBIAN_SECURE_DBMS - error = aFileServerSession.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::DeleteConfigurationL(): - aFileServerSession.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapPluginTools::CreateDatabaseLC( - aDatabase, - aFileServerSession, - error, - KEapAkaDatabaseName, - aPrivateDatabasePathName); - - if(error == KErrNone) + // Create the secure shared database with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = database.Create(session, KDatabaseName, KSecureUIDFormat); + + if(err == KErrNone) { // Database was created so it was empty. No need for further actions. - aDatabase.Destroy(); - CleanupStack::PopAndDestroy(&aDatabase); - CleanupStack::PopAndDestroy(&aFileServerSession); + database.Destroy(); + CleanupStack::PopAndDestroy(); return; - } - else if (error != KErrAlreadyExists) + + } + else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::DeleteConfigurationL(): - calls aDatabase.Open()\n"))); - - error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); + // Database existed, open it. + User::LeaveIfError(database.Open(session, KDatabaseName, KSecureUIDFormat)); + CleanupClosePushL(database); + +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + TInt err = database.Create(fsSession, KDatabaseName); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::DeleteConfigurationL(): - Opened private DB for EAP-AKA. error=%d\n"), error)); - - User::LeaveIfError(error); + if(err == KErrNone) + { + // Database was created so it was empty. No need for further actions. + database.Destroy(); + CleanupStack::PopAndDestroy(2); // fsSession, database session + return; + + } + else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + + CleanupStack::PopAndDestroy(); // close fsSession + + User::LeaveIfError(database.Open(session, KDatabaseName)); + CleanupClosePushL(database); + +#endif // #ifdef SYMBIAN_SECURE_DBMS HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); // Main settings table - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQL, - &KAkaTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); - + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQL, &KAkaTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view RDbView view; - User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); // Delete rows if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); - CleanupStack::PopAndDestroy(&aDatabase); - CleanupStack::PopAndDestroy(&aFileServerSession); + // Close database + CleanupStack::PopAndDestroy(4); // view, buf, database, session } -// ---------------------------------------------------------- - // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaProxy.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaProxy.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaProxy.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,13 +16,13 @@ */ /* -* %version: 10.1.3 % +* %version: 13 % */ // This is enumeration of EAPOL source code. #if defined(USE_EAP_MINIMUM_RELEASE_TRACES) #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 733 + #define EAP_FILE_NUMBER_ENUM 606 #undef EAP_FILE_NUMBER_DATE #define EAP_FILE_NUMBER_DATE 1127594498 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiAkaData.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiAkaData.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,64 @@ +/* +* 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. +* +*/ + +/* +* %version: 9 % +*/ + +// This is enumeration of EAPOL source code. +#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + #undef EAP_FILE_NUMBER_ENUM + #define EAP_FILE_NUMBER_ENUM 180 + #undef EAP_FILE_NUMBER_DATE + #define EAP_FILE_NUMBER_DATE 1127594498 +#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + +#include + + +CEapAkaUiAkaData::CEapAkaUiAkaData() +{ +} + + +CEapAkaUiAkaData::~CEapAkaUiAkaData() +{ +} + + +TDes& CEapAkaUiAkaData::GetManualUsername() +{ + return iManualUsername; +} + + +TDes& CEapAkaUiAkaData::GetManualRealm() +{ + return iManualRealm; +} + + +TBool * CEapAkaUiAkaData::GetUseManualUsername() +{ + return &iUseManualUsername; +} + + +TBool * CEapAkaUiAkaData::GetUseManualRealm() +{ + return &iUseManualRealm; +} diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiConnection.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiConnection.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,130 @@ +/* +* 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. +* +*/ + +/* +* %version: 10.1.2 % +*/ + +// This is enumeration of EAPOL source code. +#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + #undef EAP_FILE_NUMBER_ENUM + #define EAP_FILE_NUMBER_ENUM 182 + #undef EAP_FILE_NUMBER_DATE + #define EAP_FILE_NUMBER_DATE 1127594498 +#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + +#include "EapAkaDbUtils.h" +#include +#include +#include "eap_header.h" + +CEapAkaUiConnection::CEapAkaUiConnection( + const TIndexType aIndexType, + const TInt aIndex, + const TInt aTunnelingType) + : iIndexType(aIndexType) + , iIndex(aIndex) + , iTunnelingType(aTunnelingType) + , iIsConnected(EFalse) + , iDataConn(NULL) +{ +} + + +CEapAkaUiConnection::~CEapAkaUiConnection() +{ +} + + +TInt CEapAkaUiConnection::Connect() +{ +#ifdef USE_EAP_EXPANDED_TYPES + + eap_type_value_e tunnelingType(static_cast(iTunnelingType)); + +#else + + eap_type_value_e tunnelingType = static_cast(iTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + TRAPD(err, EapAkaDbUtils::OpenDatabaseL( + iDbNamedDatabase, + iDbs, + iIndexType, + iIndex, + tunnelingType)); + if (err == KErrNone) + { + iIsConnected = ETrue; + } + + return err; +} + + +TInt CEapAkaUiConnection::Close() +{ + if (iIsConnected) + { + iDbNamedDatabase.Close(); + iDbs.Close(); + } + iIsConnected = EFalse; + + return KErrNone; +} + + +CEapAkaUiDataConnection * CEapAkaUiConnection::GetDataConnection() +{ + if (!iDataConn) + { + iDataConn = new CEapAkaUiDataConnection(this); + } + + return iDataConn; +} + +TInt CEapAkaUiConnection::GetDatabase(RDbNamedDatabase & aDatabase) +{ + if (iIsConnected == EFalse) + { + return KErrSessionClosed; + } + + aDatabase = iDbNamedDatabase; + return KErrNone; +} + + +TIndexType CEapAkaUiConnection::GetIndexType() +{ + return iIndexType; +} + + +TInt CEapAkaUiConnection::GetIndex() +{ + return iIndex; +} + + +TInt CEapAkaUiConnection::GetTunnelingType() +{ + return iTunnelingType; +} diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiDataConnection.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiDataConnection.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,276 @@ +/* +* 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. +* +*/ + +/* +* %version: 15.1.3.1.2 % +*/ + +// This is enumeration of EAPOL source code. +#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + #undef EAP_FILE_NUMBER_ENUM + #define EAP_FILE_NUMBER_ENUM 184 + #undef EAP_FILE_NUMBER_DATE + #define EAP_FILE_NUMBER_DATE 1127594498 +#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + +#include +#include "EapAkaDbUtils.h" +#include "EapAkaDbParameterNames.h" +#include "EapAkaDbDefaults.h" +#include +#include +#include +#include "eap_am_trace_symbian.h" + +const TUint KMaxSqlQueryLength = 256; + +CEapAkaUiDataConnection::CEapAkaUiDataConnection(CEapAkaUiConnection * aUiConn) +: iIsOpened(EFalse) +, iUiConn(aUiConn) +, iColSet(NULL) +, iDataPtr(NULL) +{ +} + + +CEapAkaUiDataConnection::~CEapAkaUiDataConnection() +{ + if (iUiConn) + { + Close(); + iUiConn = NULL; + } +} + + +TInt CEapAkaUiDataConnection::Open() +{ + if (iIsOpened) + { + return KErrAlreadyExists; + } + + TInt err = iUiConn->GetDatabase(iDatabase); + if (err != KErrNone) + { + return err; + } + + iIsOpened = ETrue; + return KErrNone; +} + + +TInt CEapAkaUiDataConnection::GetData(CEapAkaUiAkaData ** aDataPtr) +{ + if (aDataPtr == NULL) + { + return KErrArgument; + } + if (iIsOpened == EFalse) + { + return KErrSessionClosed; + } + iDataPtr = new CEapAkaUiAkaData(); + if (!iDataPtr) + { + return KErrNoMemory; + } + + TRAPD(err, FetchDataL()); + if (err != KErrNone) + { + delete iDataPtr; + iDataPtr = NULL; + + delete iColSet; + iColSet = NULL; + + iView.Close(); + + return err; + } + + *aDataPtr = iDataPtr; + + return KErrNone; +} + + +TInt CEapAkaUiDataConnection::Update() +{ + TRAPD(err, iView.UpdateL()); + if (err != KErrNone) + { + return err; + } + + // Check if length of username and realm are less than the max length possible in DB. + if(iDataPtr->GetManualUsername().Length() > KMaxManualUsernameLengthInDB + || iDataPtr->GetManualRealm().Length() > KMaxManualRealmLengthInDB) + { + // Username or realm too long. Can not be stored in DB. + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapAkaUiDataConnection::Update: Too long username or realm. Length: UN=%d, Realm=%d\n"), + iDataPtr->GetManualUsername().Length(), + iDataPtr->GetManualRealm().Length())); + + return KErrArgument; + } + + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_AKA_manual_username_literal), iDataPtr->GetManualUsername())); + if (err != KErrNone) + { + return err; + } + + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_AKA_manual_realm_literal), iDataPtr->GetManualRealm())); + if (err != KErrNone) + { + return err; + } + + if (*(iDataPtr->GetUseManualUsername())) + { + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_AKA_use_manual_username_literal), EAKAUseManualUsernameYes)); + if (err != KErrNone) + { + return err; + } + } + else + { + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_AKA_use_manual_username_literal), EAKAUseManualUsernameNo)); + if (err != KErrNone) + { + return err; + } + } + + if (*(iDataPtr->GetUseManualRealm())) + { + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal), EAKAUseManualRealmYes)); + if (err != KErrNone) + { + return err; + } + } + else + { + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal), EAKAUseManualRealmNo)); + if (err != KErrNone) + { + return err; + } + } + + // Last full authentication time should be made zero when EAP configurations are modified. + // This makes sure that the next authentication with this EAP would be full authentication + // instead of reauthentication even if the session is still valid. + + TRAP(err, iView.SetColL(iColSet->ColNo(KAKALastFullAuthTime), default_FullAuthTime)); + if (err != KErrNone) + { + return err; + } + + EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: Resetting Full Auth Time since EAP-AKA settings are modified\n"))); + + TRAP(err, iView.PutL()); + + return err; +} + + +TInt CEapAkaUiDataConnection::Close() +{ + if (iIsOpened == EFalse) + { + return KErrNone; + } + + delete iDataPtr; + iDataPtr = NULL; + + delete iColSet; + iColSet = NULL; + + iView.Close(); + + iUiConn = NULL; + + return KErrNone; +} + + +void CEapAkaUiDataConnection::FetchDataL() +{ + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = buf->Des(); + + // Form the query. Query everything. + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, + &KAkaTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + // Evaluate view + User::LeaveIfError(iView.Prepare(iDatabase, TDbQuery(sqlStatement))); + User::LeaveIfError(iView.EvaluateAll()); + // Get the first (and only) row + iView.FirstL(); + iView.GetL(); + // Get column set so we get the correct column numbers + delete iColSet; + iColSet = NULL; + iColSet = iView.ColSetL(); + + // Start fetching the values + + // use manual username + TUint intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_AKA_use_manual_username_literal)); + if (intValue == 0) + { + *(iDataPtr->GetUseManualUsername()) = EFalse; + } + else + { + *(iDataPtr->GetUseManualUsername()) = ETrue; + } + + // use manual realm + intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_AKA_use_manual_realm_literal)); + if (intValue == 0) + { + *(iDataPtr->GetUseManualRealm()) = EFalse; + } + else + { + *(iDataPtr->GetUseManualRealm()) = ETrue; + } + + // manual username + iDataPtr->GetManualUsername().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_AKA_manual_username_literal))); + + // manual realm + iDataPtr->GetManualRealm().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_AKA_manual_realm_literal))); + + CleanupStack::PopAndDestroy(buf); +} diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/inc/EapGeneric.h --- a/eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/inc/EapGeneric.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,231 +0,0 @@ -/* -* 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: Class implements the generic EAP type interface. -* -*/ - -/* -* %version: 32 % -*/ - -#ifndef _EAP_GENERIC_H_ -#define _EAP_GENERIC_H_ - -// INCLUDES -#include -#include "eap_header.h" -#include "eap_array.h" -#include "abs_eap_plugin_message.h" -#include "EapClientIf.h" - -// FORWARD DECLARATIONS -class eap_am_network_id_c; -class eap_method_settings_c; -class abs_eap_am_tools_c; -class eap_certificate_entry_c; -class eap_plugin_message_base_c; - - -enum eap_generic_wait_state_e -{ - eap_generic_wait_state_none, - eap_generic_wait_state_complete_get_configuration, - eap_generic_wait_state_complete_set_configuration, - eap_generic_wait_state_complete_delete_configuration, - eap_generic_wait_state_complete_copy_configuration, - eap_generic_wait_state_complete_get_type_info, - eap_generic_wait_state_complete_invoke_ui, - eap_generic_wait_state_complete_set_index, -}; - -const TUint KMaxStringLength = 64; - -// CLASS DECLARATION -/** -* Class implements the generic EAP type interface. -*/ -class CEapGeneric -: public CEapType -, public abs_eap_plugin_message_c -, public EapClientIf -{ -public: - - /** - * Construction function. Called by ECom after the EAP generic plugin has been loaded. - * @param aIapInfo Pointer to the class that contains information about bearer type and unique index. - * @return Pointer to the instance. - */ - static CEapGeneric* NewL(SIapInfo* aIapInfo); - - /** - * Destructor does nothing. - */ - virtual ~CEapGeneric(); - - /** - * Creates EAP protocol interface implementation. Instances an object that - * has been derived from eap_base_type_c that handles the communication - * with EAP stack. - * @param aTools Pointer to tools class. - * @param aPartner Used for callbacks to the stack. - * @param is_client_when_true Specifies whether the EAP type acts as a client or server. - * @param receive_network_id Network addresses - * @param eap_config_if Pointer used for call back to creater of stack (eapol_am_wlan_authentication_symbian_c class). - * @return Pointer to the implementation. - */ - virtual eap_base_type_c* GetStackInterfaceL(abs_eap_am_tools_c* const aTools, - abs_eap_base_type_c* const aPartner, - const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id, - abs_eap_configuration_if_c * const configuration_if); - - - - /** - * Gets information about EAP type. - * @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack. - */ - CEapTypeInfo* GetInfoL(); - - /** - * Deletes EAP type configuration - */ - void DeleteConfigurationL(); - - /** - * Returns the version of the interface that the EAP type implements. - * The client-side of the interface must always check the version with this function - * and not call the functions that are not implemented. New functions must be - * added to the end of the interface so that the order of the old functions - * does not change. - * @return Integer indicating the version. - */ - TUint GetInterfaceVersion(); - - /** - * Sets the tunneling type. This is used to indicate that this type is run inside another - * EAP type. - * @param aTunnelingType Type number for the tunneling type - */ - void SetTunnelingType(const TEapExpandedType aTunnelingType); - - /** - * Changes the index of the saved parameters. - * @param aIndexType Indicates the bearer used for this connection. - * @param aIndex Index for the connection. aIndexType and aIndex uniquely specify the connection. - * @return Pointer to the implementation. - */ - void SetIndexL( - const TIndexType aIndexType, - const TInt aIndex ); - - /** - * Sets the EAP types configuration - * @param aSettings Structure containing the settings - */ - void SetConfigurationL(const EAPSettings& aSettings); - - /** - * Gets the EAP types configuration - * @param aSettings Structure containing the settings - */ - void GetConfigurationL(EAPSettings& aSettings); - - /** - * Copies the EAP types configuration - * @param aDestinationIndex ID to where copy the settings. - */ - void CopySettingsL(const TIndexType aDestinationIndexType, const TInt aDestinationIndex); - - eap_status_e complete_get_configuration( - const eap_method_settings_c * const internal_settings); - - eap_status_e complete_set_configuration( - const eap_status_e completion_status); - - eap_status_e complete_delete_configuration( - const eap_status_e completion_status); - - eap_status_e complete_copy_configuration( - const eap_status_e completion_status); - - eap_status_e complete_set_index( - const eap_status_e completion_status); - - eap_status_e complete_get_type_info( - const eap_method_settings_c * const internal_settings); - - eap_status_e complete_invoke_ui( - const eap_method_settings_c * const internal_settings); - -protected: - - /** - * Constructor initialises member variables. - */ - CEapGeneric( - const TIndexType aIndexType, - const TInt aIndex, - const TEapExpandedType aEapType); - - void ConstructL(); - -private: - - void Activate(); - - void Complete(); - - void WaitCompletion(); - - void SetCompletionStatusIfStillOk(const eap_status_e status); - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - eap_plugin_message_base_c * const m_server; - - CActiveSchedulerWait iWait; - - // Bearer type - TIndexType iIndexType; - - // Unique index - TInt iIndex; - - TEapExpandedType iEapType; - - // Tunneling type - eap_type_value_e iTunnelingType; - bool iTunnelingTypePresent; - - eap_generic_wait_state_e iWaitState; - - eap_status_e iCompletionStatus; - - TRequestStatus iAsyncronousStatus; - - - - TBuf iReleaseDate; - TBuf iEapTypeVersion; - TBuf iManufacturer; - - EAPSettings * ipEAPSettings; -}; - -#endif // _EAP_GENERIC_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/src/EapGeneric.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/src/EapGeneric.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1179 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 57 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 739 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - - -// INCLUDE FILES - -#include "EapGeneric.h" -#include "EapConversion.h" -#include "eap_base_type.h" -#include "eap_method_settings.h" -#include "eap_am_assert.h" -#include -#include "abs_eap_am_tools.h" -#include "eap_automatic_variable.h" -#include // for CnvUtfConverter -#include "abs_eap_plugin_message.h" -#include "eap_plugin_message_base.h" -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_automatic_variable.h" -#include "eap_plugin_client_message_if.h" -#include "eap_am_message_if_symbian.h" -#include "EapTraceSymbian.h" - -// LOCAL CONSTANTS - -// The version number of this interface. -const TUint KInterfaceVersion = 1; - - -// ================= MEMBER FUNCTIONS ======================= - - -CEapGeneric::CEapGeneric( - const TIndexType aIndexType, - const TInt aIndex, - const TEapExpandedType aEapType) -: m_am_tools(abs_eap_am_tools_c::new_abs_eap_am_tools_c()) -, m_server(eap_plugin_message_base_c::new_eap_plugin_client_message_if_c( - m_am_tools, - this)) -, iIndexType(aIndexType) -, iIndex(aIndex) -, iEapType(aEapType) -, iTunnelingType(eap_type_none) -, iTunnelingTypePresent(false) -, iWaitState(eap_generic_wait_state_none) -, iCompletionStatus(eap_status_process_general_error) - -, ipEAPSettings(0) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::CEapGeneric(): this=0x%08x, aIndexType=%d, aIndex=%d.\n"), - this, - aIndexType, - aIndex)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::CEapGeneric()"); -} - -// ---------------------------------------------------------- - -void CEapGeneric::ConstructL() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::ConstructL(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::ConstructL()"); - - if (m_am_tools == 0 - || m_am_tools->get_is_valid() == false - || m_server == 0 - || m_server->get_is_valid() == false) - { - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(m_am_tools); - delete m_server; - - User::Leave(KErrNoMemory); - } - - eap_status_e status = m_server->configure(); - if (status != eap_status_ok) - { - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(m_am_tools); - delete m_server; - - User::Leave(KErrNoMemory); - } -} - -// ---------------------------------------------------------- - -CEapGeneric* CEapGeneric::NewL(SIapInfo *aIapInfo) -{ - CEapGeneric* self = new(ELeave) CEapGeneric(aIapInfo->indexType, aIapInfo->index, aIapInfo->aEapType); - - CleanupStack::PushL(self); - - self->ConstructL(); - - CleanupStack::Pop(); - - return self; -} - -// ---------------------------------------------------------- - -CEapGeneric::~CEapGeneric() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::~CEapGeneric(): this=0x%08x.\n"), - this)); - - // Do not use m_am_tools, because it will be destroyed before return. - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapGeneric::~CEapGeneric()")); - - if (m_server != 0) - { - m_server->shutdown(); - } - delete m_server; - - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(m_am_tools); -} - -// ---------------------------------------------------------- - -#ifdef USE_EAP_SIMPLE_CONFIG - -eap_base_type_c* CEapGeneric::GetStackInterfaceL(abs_eap_am_tools_c* const aTools, - abs_eap_base_type_c* const /* aPartner */, - const bool /* is_client_when_true */, - const eap_am_network_id_c * const /* receive_network_id */, - abs_eap_configuration_if_c * const /*configuration_if*/) - -#else - -eap_base_type_c* CEapGeneric::GetStackInterfaceL(abs_eap_am_tools_c* const aTools, - abs_eap_base_type_c* const /* aPartner */, - const bool /* is_client_when_true */, - const eap_am_network_id_c * const /* receive_network_id */) - -#endif // #ifdef USE_EAP_SIMPLE_CONFIG -{ - EAP_UNREFERENCED_PARAMETER(aTools); - // This class does not have stack interface. - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapGeneric::GetStackInterfaceL(): this=0x%08x\n"), - this)); - - EAP_ASSERT_ANYWAY_TOOLS(aTools); - - return 0; -} - -//---------------------------------------------------------------- - -void CEapGeneric::Activate() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::Activate(): iAsyncronousStatus=%u\n"), - iAsyncronousStatus.Int())); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::Activate()"); - - iAsyncronousStatus = KRequestPending; -} - -//---------------------------------------------------------------- - -void CEapGeneric::Complete() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::Complete(): iAsyncronousStatus=%u\n"), - iAsyncronousStatus.Int())); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::Complete()"); - - iAsyncronousStatus = KErrNone; - - // This is needed to continue the execution after Wait.Start(); - iWait.AsyncStop(); -} - -//---------------------------------------------------------------- - -void CEapGeneric::WaitCompletion() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::WaitCompletion(): iAsyncronousStatus=%u\n"), - iAsyncronousStatus.Int())); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::WaitCompletion()"); - - while (iAsyncronousStatus == KRequestPending) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::WaitCompletion(): calls iWait.Start()\n"))); - - iWait.Start(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::WaitCompletion(): iWait.Start() continue, iAsyncronousStatus=%u\n"), - iAsyncronousStatus.Int())); - } -} - -// ---------------------------------------------------------- - -void CEapGeneric::SetCompletionStatusIfStillOk(const eap_status_e status) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::SetCompletionStatusIfStillOk(): iCompletionStatus=%u=%s, status=%d=%s\n"), - iCompletionStatus, - eap_status_string_c::get_status_string(iCompletionStatus), - status, - eap_status_string_c::get_status_string(status))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::SetCompletionStatusIfStillOk()"); - - if (iCompletionStatus == eap_status_ok) - { - iCompletionStatus = status; - } -} - -// ---------------------------------------------------------- - - - -// ---------------------------------------------------------- - -CEapTypeInfo* CEapGeneric::GetInfoL() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::GetInfoL(): this=0x%08x\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::GetInfoL()"); - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - if (internal_settings == 0) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error))); - } - - iCompletionStatus = eap_status_process_general_error; - - eap_status_e status = m_server->get_type_info(internal_settings); - - delete internal_settings; - - if (status != eap_status_ok) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status))); - } - - iWaitState = eap_generic_wait_state_complete_get_type_info; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, iCompletionStatus))); - } - - CEapTypeInfo* info = new(ELeave) CEapTypeInfo( - iReleaseDate, - iEapTypeVersion, - iManufacturer); - - return info; -} - -// ---------------------------------------------------------- - -void CEapGeneric::DeleteConfigurationL() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::DeleteConfigurationL(): this=0x%08x\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::DeleteConfigurationL()"); - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - if (internal_settings == 0) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error))); - } - - internal_settings->m_IndexType = iIndexType; - internal_settings->m_Index = iIndex; - - TInt error = CEapConversion::ConvertExpandedEAPTypeToInternalType( - &iEapType, - &(internal_settings->m_EAPType)); - if (error != KErrNone) - { - delete internal_settings; - - (void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); - User::Leave(error); - } - iCompletionStatus = eap_status_process_general_error; - - eap_status_e status = m_server->delete_configuration(internal_settings); - - delete internal_settings; - - if (status != eap_status_ok) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status))); - } - - iWaitState = eap_generic_wait_state_complete_delete_configuration; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, iCompletionStatus))); - } -} - -// ---------------------------------------------------------- - -TUint CEapGeneric::GetInterfaceVersion() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::GetInterfaceVersion(): this=0x%08x\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::GetInterfaceVersion()"); - - return KInterfaceVersion; -} - -// ---------------------------------------------------------- - -void CEapGeneric::SetTunnelingType(const TEapExpandedType aTunnelingType) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::SetTunnelingType(): this=0x%08x\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::SetTunnelingType()"); - - EAP_TRACE_DATA_DEBUG_SYMBIAN( - (EAPL("CEapGeneric::SetTunnelingType - tunneling type"), - aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length())); - - iTunnelingTypePresent = true; - - eap_type_value_e aInternalType; - - TInt error = CEapConversion::ConvertExpandedEAPTypeToInternalType( - &aTunnelingType, - &aInternalType); - if (error != KErrNone) - { - (void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); - } - - iTunnelingType = aInternalType; - -} - - -// ---------------------------------------------------------- - -void CEapGeneric::SetIndexL( - const TIndexType aIndexType, - const TInt aIndex ) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::SetIndexL(): this=0x%08x\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::SetIndexL()"); - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - if (internal_settings == 0) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error))); - } - - internal_settings->m_IndexType = aIndexType; - internal_settings->m_Index = aIndex; - - TInt error = CEapConversion::ConvertExpandedEAPTypeToInternalType( - &iEapType, - &(internal_settings->m_EAPType)); - if (error != KErrNone) - { - delete internal_settings; - - (void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); - User::Leave(error); - } - - iCompletionStatus = eap_status_process_general_error; - - eap_status_e status = m_server->delete_configuration(internal_settings); - - if (status != eap_status_ok) - { - delete internal_settings; - - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status))); - } - - iWaitState = eap_generic_wait_state_complete_delete_configuration; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - delete internal_settings; - - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, iCompletionStatus))); - } - - internal_settings->m_IndexType = iIndexType; - internal_settings->m_Index = iIndex; - - error = CEapConversion::ConvertExpandedEAPTypeToInternalType( - &iEapType, - &(internal_settings->m_EAPType)); - if (error != KErrNone) - { - delete internal_settings; - - (void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); - User::Leave(error); - } - - internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent; - internal_settings->m_TunnelingType = iTunnelingType; - - internal_settings->m_DestinationIndexAndTypePresent = true; - internal_settings->m_DestinationIndexType = aIndexType; - internal_settings->m_DestinationIndex = aIndex; - - iCompletionStatus = eap_status_process_general_error; - - status = m_server->set_index(internal_settings); - - delete internal_settings; - - if (status != eap_status_ok) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status))); - } - - iWaitState = eap_generic_wait_state_complete_set_index; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, iCompletionStatus))); - } - -} - -// ---------------------------------------------------------- - -void CEapGeneric::SetConfigurationL(const EAPSettings& aSettings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::SetConfigurationL(): this=0x%08x\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::SetConfigurationL()"); - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - if (internal_settings == 0) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error))); - } - - eap_status_e status(eap_status_process_general_error); - - TInt error(KErrNone); - - internal_settings->m_IndexType = iIndexType; - internal_settings->m_Index = iIndex; - - internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent; - internal_settings->m_TunnelingType = iTunnelingType; - - error = CEapConversion::ConvertEAPSettingsToInternalType( - m_am_tools, - &aSettings, - internal_settings); - if(error == KErrNone) - { - TInt error = CEapConversion::ConvertExpandedEAPTypeToInternalType( - &iEapType, - &(internal_settings->m_EAPType)); - if (error != KErrNone) - { - delete internal_settings; - - (void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); - User::Leave(error); - } - - iCompletionStatus = eap_status_process_general_error; - - status = m_server->set_configuration(internal_settings); - } - else - { - status = m_am_tools->convert_am_error_to_eapol_error(error); - } - - delete internal_settings; - - if (status != eap_status_ok) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status))); - } - - iWaitState = eap_generic_wait_state_complete_set_configuration; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, iCompletionStatus))); - } -} - -// ---------------------------------------------------------- - -void CEapGeneric::GetConfigurationL(EAPSettings& aSettings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::GetConfigurationL(): this=0x%08x\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::GetConfigurationL()"); - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - if (internal_settings == 0) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error))); - } - - internal_settings->m_IndexType = iIndexType; - internal_settings->m_Index = iIndex; - - TInt error = CEapConversion::ConvertExpandedEAPTypeToInternalType( - &iEapType, - &(internal_settings->m_EAPType)); - if (error != KErrNone) - { - delete internal_settings; - - (void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); - User::Leave(error); - } - - internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent; - internal_settings->m_TunnelingType = iTunnelingType; - - ipEAPSettings = &aSettings; - - iCompletionStatus = eap_status_process_general_error; - - eap_status_e status = m_server->get_configuration(internal_settings); - - delete internal_settings; - - if (status != eap_status_ok) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status))); - } - - iWaitState = eap_generic_wait_state_complete_get_configuration; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, iCompletionStatus))); - } -} - -// ---------------------------------------------------------- - -void CEapGeneric::CopySettingsL( - const TIndexType aDestinationIndexType, - const TInt aDestinationIndex) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::CopySettingsL(): this=0x%08x\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::CopySettingsL()"); - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - if (internal_settings == 0) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error))); - } - - internal_settings->m_IndexType = aDestinationIndexType; - internal_settings->m_Index = aDestinationIndex; - - iCompletionStatus = eap_status_process_general_error; - - eap_status_e status = m_server->delete_configuration(internal_settings); - - if (status != eap_status_ok) - { - delete internal_settings; - - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status))); - } - - iWaitState = eap_generic_wait_state_complete_delete_configuration; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - delete internal_settings; - - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, iCompletionStatus))); - } - - internal_settings->m_IndexType = iIndexType; - internal_settings->m_Index = iIndex; - - TInt error = CEapConversion::ConvertExpandedEAPTypeToInternalType( - &iEapType, - &(internal_settings->m_EAPType)); - if (error != KErrNone) - { - delete internal_settings; - - (void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); - User::Leave(error); - } - - internal_settings->m_TunnelingTypePresent = iTunnelingTypePresent; - internal_settings->m_TunnelingType = iTunnelingType; - - internal_settings->m_DestinationIndexAndTypePresent = true; - internal_settings->m_DestinationIndexType = aDestinationIndexType; - internal_settings->m_DestinationIndex = aDestinationIndex; - - iCompletionStatus = eap_status_process_general_error; - - status = m_server->copy_configuration(internal_settings); - - delete internal_settings; - - if (status != eap_status_ok) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status))); - } - - iWaitState = eap_generic_wait_state_complete_copy_configuration; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - User::Leave(m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, iCompletionStatus))); - } -} - -// ---------------------------------------------------------- - -eap_status_e CEapGeneric::complete_get_configuration( - const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::complete_get_configuration(): this=0x%08x, iWaitState=%d, status=%d=%s\n"), - this, - iWaitState, - internal_settings->m_completion_status, - eap_status_string_c::get_status_string(internal_settings->m_completion_status))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::complete_get_configuration()"); - - if (internal_settings == 0) - { - iCompletionStatus = eap_status_illegal_parameter; - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus); - } - - iCompletionStatus = internal_settings->m_completion_status; - - if (iWaitState == eap_generic_wait_state_complete_get_configuration - && iCompletionStatus == eap_status_ok) - { - if (ipEAPSettings != 0 - && internal_settings != 0) - { - TInt error(KErrNone); - - error = CEapConversion::ConvertInternalTypeToEAPSettings( - m_am_tools, - internal_settings, - ipEAPSettings); - if(error != KErrNone) - { - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error))); - } - } - else - { - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter)); - } - } - else if (iCompletionStatus == eap_status_ok) - { - // ERROR wrong state. - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state)); - } - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus); -} - -// ---------------------------------------------------------- - -eap_status_e CEapGeneric::complete_set_configuration( - const eap_status_e completion_status) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::complete_set_configuration(): this=0x%08x, iWaitState=%d, status=%d=%s\n"), - this, - iWaitState, - completion_status, - eap_status_string_c::get_status_string(completion_status))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::complete_set_configuration()"); - - iCompletionStatus = completion_status; - - if (iWaitState != eap_generic_wait_state_complete_set_configuration - && iCompletionStatus == eap_status_ok) - { - // ERROR wrong state. - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state)); - } - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, completion_status); -} - -// ---------------------------------------------------------- - -eap_status_e CEapGeneric::complete_delete_configuration( - const eap_status_e completion_status) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::complete_delete_configuration(): this=0x%08x, iWaitState=%d, status=%d=%s\n"), - this, - iWaitState, - completion_status, - eap_status_string_c::get_status_string(completion_status))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::complete_delete_configuration()"); - - iCompletionStatus = completion_status; - - if (iWaitState != eap_generic_wait_state_complete_delete_configuration - && iCompletionStatus == eap_status_ok) - { - // ERROR wrong state. - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state)); - } - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, completion_status); -} - -// ---------------------------------------------------------- - -eap_status_e CEapGeneric::complete_copy_configuration( - const eap_status_e completion_status) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::complete_copy_configuration(): this=0x%08x, iWaitState=%d, status=%d=%s\n"), - this, - iWaitState, - completion_status, - eap_status_string_c::get_status_string(completion_status))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::complete_copy_configuration()"); - - iCompletionStatus = completion_status; - - if (iWaitState != eap_generic_wait_state_complete_copy_configuration - && iCompletionStatus == eap_status_ok) - { - // ERROR wrong state. - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state)); - } - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, completion_status); -} - -// ---------------------------------------------------------- - -eap_status_e CEapGeneric::complete_set_index( - const eap_status_e completion_status) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::complete_set_index(): this=0x%08x, iWaitState=%d, status=%d=%s\n"), - this, - iWaitState, - completion_status, - eap_status_string_c::get_status_string(completion_status))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::complete_set_index()"); - - iCompletionStatus = completion_status; - - if (iWaitState != eap_generic_wait_state_complete_set_index - && iCompletionStatus == eap_status_ok) - { - // ERROR wrong state. - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state)); - } - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, completion_status); -} - -// ---------------------------------------------------------- - -eap_status_e CEapGeneric::complete_get_type_info( - const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::complete_get_type_info(): this=0x%08x, iWaitState=%d, status=%d=%s\n"), - this, - iWaitState, - internal_settings->m_completion_status, - eap_status_string_c::get_status_string(internal_settings->m_completion_status))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::complete_get_type_info()"); - - if (internal_settings == 0) - { - iCompletionStatus = eap_status_illegal_parameter; - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus); - } - - iCompletionStatus = internal_settings->m_completion_status; - - if (iWaitState == eap_generic_wait_state_complete_get_type_info - && iCompletionStatus == eap_status_ok) - { - if (internal_settings != 0 - && internal_settings->m_MethodInfoPresent == true) - { - TInt error(KErrNone); - - error = CEapConversion::ConvertFromInternalToBuf16( - m_am_tools, - &(internal_settings->m_KReleaseDate), - &iReleaseDate); - - if(error == KErrNone) - { - error = CEapConversion::ConvertFromInternalToBuf16( - m_am_tools, - &(internal_settings->m_KEapTypeVersion), - &iEapTypeVersion); - } - - if(error == KErrNone) - { - error = CEapConversion::ConvertFromInternalToBuf16( - m_am_tools, - &(internal_settings->m_KManufacturer), - &iManufacturer); - } - - if(error != KErrNone) - { - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error))); - } - } - else - { - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter)); - } - } - else if (iCompletionStatus == eap_status_ok) - { - // ERROR wrong state. - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state)); - } - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus); -} - -// ---------------------------------------------------------- - -eap_status_e CEapGeneric::complete_invoke_ui( - const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneric::complete_invoke_ui(): this=0x%08x, iWaitState=%d, status=%d=%s\n"), - this, - iWaitState, - internal_settings->m_completion_status, - eap_status_string_c::get_status_string(internal_settings->m_completion_status))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneric::complete_invoke_ui()"); - - if (internal_settings == 0) - { - iCompletionStatus = eap_status_illegal_parameter; - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus); - } - - iCompletionStatus = internal_settings->m_completion_status; - - if (iWaitState == eap_generic_wait_state_complete_invoke_ui - && iCompletionStatus == eap_status_ok) - { - if (internal_settings != 0 - && internal_settings->m_ButtonIdPresent == true) - { - - } - else - { - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter)); - } - } - else if (iCompletionStatus == eap_status_ok) - { - // ERROR wrong state. - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state)); - } - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus); -} - - -//-------------------------------------------------- -//-------------------------------------------------- -//-------------------------------------------------- - -eap_am_message_if_c * eap_am_message_if_c::new_eap_am_message_if_c( - abs_eap_am_tools_c * const tools) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_message_if_c::new_eap_am_server_general_settings_c()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: eap_am_message_if_c::new_eap_am_message_if_c()"); - - eap_am_message_if_c *client_if = new eap_am_message_if_symbian_c(tools, EEapPluginNew); - - eap_automatic_variable_c automatic_client_if( - tools, - client_if); - - if (client_if == 0 - || client_if->get_is_valid() == false) - { - // ERROR. - if (client_if != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: calls: eap_am_message_if_c::new_eap_am_server_general_settings_c(): client_if->shutdown()\n"))); - - client_if->shutdown(); - } - return 0; - } - - automatic_client_if.do_not_free_variable(); - - return client_if; - -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_plugin_message_base_c * eap_plugin_message_base_c::new_eap_plugin_client_message_if_c( - abs_eap_am_tools_c * const tools, - abs_eap_plugin_message_c * const partner) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_plugin_message_base_c::new_eap_plugin_client_message_if_c()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: eap_plugin_message_base_c::new_eap_plugin_client_message_if_c()"); - - eap_am_message_if_c *client_if = eap_am_message_if_c::new_eap_am_message_if_c( - tools); - - eap_automatic_variable_c automatic_client_if( - tools, - client_if); - - if (client_if == 0 - || client_if->get_is_valid() == false) - { - // ERROR. - if (client_if != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: calls: eap_plugin_message_base_c::new_eap_plugin_client_message_if_c(): client_if->shutdown()\n"))); - - (void) client_if->shutdown(); - } - return 0; - } - - eap_plugin_client_message_if_c * new_session_core = new eap_plugin_client_message_if_c(tools, client_if, partner); - - eap_automatic_variable_c automatic_new_session_core( - tools, - new_session_core); - - if (new_session_core == 0 - || new_session_core->get_is_valid() == false) - { - // ERROR. - if (new_session_core != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: calls: eap_plugin_message_base_c::new_eap_plugin_client_message_if_c(): new_session_core->shutdown()\n"))); - - new_session_core->shutdown(); - } - return 0; - } - - client_if->set_partner(new_session_core); - - automatic_client_if.do_not_free_variable(); - automatic_new_session_core.do_not_free_variable(); - - return new_session_core; -} - -// ---------------------------------------------------------- -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/src/EapGenericProxy.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/src/EapGenericProxy.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 7 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 734 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - - -// INCLUDE FILES -#include "EapGeneric.h" -#include -#include -#include "EapolUID.h" - -const TImplementationProxy ImplementationTable[] = -{ - {{EAP_GENERIC_IMPLEMENTATION_UID}, reinterpret_cast (CEapGeneric::NewL)} -}; - -// ================= OTHER EXPORTED FUNCTIONS ============== - -EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) -{ - aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); - - return ImplementationTable; -} - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/EapSimInterface.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/EapSimInterface.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/EapSimInterface.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 16 % +* %version: 15.1.5 % */ // This is enumeration of EAPOL source code. @@ -85,15 +85,11 @@ if(IsActive()) { - Cancel(); + Cancel(); } - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Closing RMobilePhone and MMETEL.\n"))); - - iPhone.Close(); - iServer.Close(); // Phone module is unloaded automatically when RTelServer session is closed - iCustomAPI.Close(); - + DisconnectMMETel(); + delete iAuthenticationData; iAuthenticationData = NULL; @@ -169,13 +165,18 @@ void CEapSimIsaInterface::DoCancel() { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapSimIsaInterface::DoCancel() - Cancelling MMETEL query.\n") ) ); + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapSimIsaInterface::DoCancel(): iQueryId=%d\n"), + iQueryId) ); EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapSimIsaInterface::DoCancel()"); if (iQueryId == EQuerySRESandKC) { + iQueryId = EQueryNone; + // Cancel the request. iCustomAPI.CancelAsyncRequest( ECustomGetSimAuthenticationDataIPC ); + + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapSimIsaInterface::DoCancel(): CANCELLED CUSTOM API REQUEST\n") ) ); } } @@ -208,7 +209,9 @@ EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("IMSI"), iSubscriberId.Ptr(), iSubscriberId.Size())); - + + iQueryId = EQueryNone; + // Convert the IMSI from unicode to UTF8 characters. completion_status = imsiInUnicode.set_buffer(iSubscriberId.Ptr(), iSubscriberId.Size(), false, false); @@ -228,7 +231,9 @@ EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ISA interface: Could not convert IMSI from UNICODE to UTF8. Not proceeding further here.\n"))); } } - + + DisconnectMMETel(); + TRAP(error, iParent->complete_SIM_imsi_L(&imsi, completion_status)); break; @@ -244,6 +249,8 @@ iEAPSim.iKC.Ptr(), iEAPSim.iKC.Size())); + iQueryId = EQueryNone; + // Trim the length of SRES - Remove once the correct length is set for SRES, may be by the API or some where else. iEAPSim.iSRES.SetLength(SIM_SRES_LENGTH); EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("SRES after Trimming"), @@ -253,9 +260,8 @@ delete iAuthenticationData; iAuthenticationData = NULL; - // Close the custom API since we don't need it any more. - iCustomAPI.Close(); - + DisconnectMMETel(); + // Complete TRAP(error, iParent->complete_SIM_kc_and_sres_L(iEAPSim.iKC, iEAPSim.iSRES, completion_status)); @@ -268,9 +274,9 @@ if( EQuerySRESandKC == iQueryId ) { - // We have to close the custom API anyway. - // Rest will be taken care in destructor. - iCustomAPI.Close(); + iQueryId = EQueryNone; + + DisconnectMMETel(); // Handle duplicate RAND values. // If duplicate RAND values are being used, we get KErrArgument here. @@ -291,13 +297,19 @@ { completion_status = m_am_tools->convert_am_error_to_eapol_error(iStatus.Int()); + iQueryId = EQueryNone; + + DisconnectMMETel(); + TRAP(error, iParent->complete_SIM_imsi_L(&imsi, completion_status)); } } - + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } +//-------------------------------------------------- + TInt CEapSimIsaInterface::CreateMMETelConnectionL() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -362,4 +374,30 @@ return errorCode; } +void CEapSimIsaInterface::DisconnectMMETel() +{ + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapSimIsaInterface::DisconnectMMETel()\n"))); + EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapSimIsaInterface::DisconnectMMETel()"); + + iQueryId = EQueryNone; + + // Close the custom API since we don't need it any more. + iCustomAPI.Close(); + + if( iMMETELConnectionStatus ) + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Closing RMobilePhone and MMETEL.\n"))); + + iPhone.Close(); + iServer.Close(); // Phone module is unloaded automatically when RTelServer session is closed + + iMMETELConnectionStatus = EFalse; + } + else + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("RMobilePhone and MMETEL already closed.\n"))); + } +} + + // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/eap_am_type_gsmsim_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/eap_am_type_gsmsim_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/eap_am_type_gsmsim_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 47.1.10 % +* %version: 50 % */ // This is enumeration of EAPOL source code. @@ -39,7 +39,7 @@ #include "EapSimDbDefaults.h" #include "EapSimDbParameterNames.h" #include "EapSimDbUtils.h" -#include "EapTraceSymbian.h" +#include "eap_am_trace_symbian.h" #include // For DBMS #include // For RReadStream @@ -108,6 +108,16 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); +#ifdef USE_EAP_EXPANDED_TYPES + + m_tunneling_vendor_type = m_tunneling_type.get_vendor_type(); + +#else + + m_tunneling_vendor_type = static_cast(m_tunneling_type); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + if (receive_network_id != 0 && receive_network_id->get_is_valid_data() == true) { @@ -131,10 +141,6 @@ void eap_am_type_gsmsim_symbian_c::ConstructL() { - TInt error = m_session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_type_gsmsim_symbian_c::ConstructL(): - m_session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - // Open/create database EapSimDbUtils::OpenDatabaseL(m_database, m_session, m_index_type, m_index, m_tunneling_type); @@ -284,22 +290,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLInsert, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLInsert, - &KXKey, - &KK_aut, - &KK_encr, - &KReauthCounter, - &KSimTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLInsert, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLInsert, &KXKey, &KK_aut, &KK_encr, &KReauthCounter, &KSimTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); // Evaluate view RDbView view; @@ -361,7 +354,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_gsmsim_symbian_c::authentication_finished( +eap_status_e eap_am_type_gsmsim_symbian_c::authentication_finished( const bool true_when_successful, const eap_gsmsim_authentication_type_e authentication_type, const eap_type_gsmsim_identity_type identity_type) @@ -434,22 +427,9 @@ TPtr sqlStatement = buf->Des(); // Form the query - _LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLQuery, - &KXKey, - &KK_aut, - &KK_encr, - &KReauthCounter, - &KSimTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KXKey, &KK_aut, &KK_encr, &KReauthCounter, &KSimTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); RDbView view; // Evaluate view @@ -553,19 +533,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLInsert, - &KReauthCounter, - &KSimTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLInsert, &KReauthCounter, &KSimTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); // Evaluate view RDbView view; @@ -663,7 +633,7 @@ { eap_variable_data_c simulator_sim_algorithm(m_am_tools); - eap_status_e status = type_configure_read( + eap_status_e status = m_partner->read_configure( cf_str_EAP_GSMSIM_simulator_sim_algorithm.get_field(), &simulator_sim_algorithm); if (status == eap_status_ok @@ -700,7 +670,7 @@ } { - eap_status_e status = type_configure_read( + eap_status_e status = m_partner->read_configure( cf_str_EAP_GSMSIM_simulator_sim_ki.get_field(), &m_simulator_sim_ki); if (status == eap_status_ok @@ -749,7 +719,7 @@ // Read Maximum Session Validity Time from the config file eap_variable_data_c sessionTimeFromFile(m_am_tools); - eap_status_e status = type_configure_read( + eap_status_e status = m_partner->read_configure( cf_str_EAP_GSMSIM_max_session_validity_time.get_field(), &sessionTimeFromFile); @@ -934,19 +904,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLInsert, - &KPseudonymId, - &KSimTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLInsert, &KPseudonymId, &KSimTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); // Evaluate view RDbView view; @@ -1041,19 +1001,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLInsert, - &KReauthId, - &KSimTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLInsert, &KReauthId, &KSimTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); // Evaluate view RDbView view; @@ -1143,20 +1093,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLInsert, - &KPreviousIMSI, - &KSimTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); - + _LIT(KSQLInsert, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLInsert, &KPreviousIMSI, &KSimTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); // Evaluate view RDbView view; @@ -1278,22 +1217,11 @@ // Query all the relevant parameters - _LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLQuery, - &KReauthId, - &KReauthCounter, - &KPseudonymId, - &KPreviousIMSI, - &KSimTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQuery, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KReauthId, &KReauthCounter, &KPseudonymId, + &KPreviousIMSI, &KSimTableName, + &KServiceType, m_index_type, + &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); RDbView view; // Evaluate view @@ -1648,7 +1576,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_query() +eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_query() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); #if defined (USE_EAP_GSMSIM_INTERFACE) && !defined(__WINS__) @@ -2012,7 +1940,7 @@ //------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_kc_sres_query() +eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_kc_sres_query() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -2146,19 +2074,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLQueryRow, - &unicodeString, - &KSimTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQueryRow, &unicodeString, &KSimTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); RDbView view; User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -2543,7 +2461,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_am_type_gsmsim_symbian_c::cancel_imsi_from_username_query() +eap_status_e eap_am_type_gsmsim_symbian_c::cancel_imsi_from_username_query() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -2710,20 +2628,11 @@ TPtr sqlStatement = buf->Des(); // Query all the relevant parameters - _LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLQuery, - &cf_str_EAP_GSMSIM_max_session_validity_time_literal, - &KGSMSIMLastFullAuthTime, - &KSimTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &cf_str_EAP_GSMSIM_max_session_validity_time_literal, + &KGSMSIMLastFullAuthTime, &KSimTableName, + &KServiceType, m_index_type, + &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); RDbView view; // Evaluate view @@ -2841,19 +2750,10 @@ TPtr sqlStatement = buf->Des(); // Query all the relevant parameters - _LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLQuery, - &KGSMSIMLastFullAuthTime, - &KSimTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KGSMSIMLastFullAuthTime, &KSimTableName, + &KServiceType, m_index_type, + &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); RDbView view; // Evaluate view diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/eap_am_type_gsmsim_symbian_simulator.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/eap_am_type_gsmsim_symbian_simulator.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/eap_am_type_gsmsim_symbian_simulator.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSim.h --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSim.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSim.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,14 +16,14 @@ */ /* -* %version: 19 % +* %version: 10.1.2 % */ #ifndef _EAPSIM_H_ #define _EAPSIM_H_ // INCLUDES -#include +#include #include "eap_header.h" // FORWARD DECLARATIONS @@ -33,7 +33,7 @@ /** * Class that implements the generic EAP type interface. Implements EAP SIM protocol. */ -class CEapSim : public CEapTypePlugin +class CEapSim : public CEapType { public: @@ -87,13 +87,16 @@ #endif // #ifdef USE_EAP_SIMPLE_CONFIG - + /** + * Invokes the configuration UI. + **/ + TInt InvokeUiL(); /** * Gets information about EAP type. * @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack. */ - CEapTypeInfo* GetInfoL(); + CEapTypeInfo* GetInfoLC(); /** * Deletes EAP type configuration @@ -115,7 +118,7 @@ * EAP type. * @param aTunnelingType Type number for the tunneling type */ - void SetTunnelingType(const TEapExpandedType aTunnelingType); + void SetTunnelingType(const TInt aTunnelingType); /** * Changes the index of the saved parameters. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbDefaults.h --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbDefaults.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbDefaults.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,24 +16,49 @@ */ /* -* %version: % +* %version: 18 % */ #if !defined(_EAPSIMDBDEFAULTS_H_) #define _EAPSIMDBDEFAULTS_H_ -#include "EapPluginDbDefaults.h" +enum TGSMSIMUsePseudonymId +{ + EGSMSIMUsePseudonymIdNo, // False. Don't use pseudonym id. + EGSMSIMUsePseudonymIdYes, // True. Use pseudonym id. + EGSMSIMUsePseudonymIdNotValid // This indicates that the value is not configured. +}; + +enum TGSMSIMUseManualRealm +{ + EGSMSIMUseManualRealmNo, // False. Don't use Manual Realm. + EGSMSIMUseManualRealmYes, // True. Use Manual Realm. +}; + +enum TGSMSIMUseManualUsername +{ + EGSMSIMUseManualUsernameNo, // False. Don't use Manual Username. + EGSMSIMUseManualUsernameYes, // True. Use Manual Username. +}; // LOCAL CONSTANTS -const TInt default_EAP_GSMSIM_use_manual_realm = EEapDbFalse; +const TInt default_EAP_GSMSIM_use_manual_realm = EGSMSIMUseManualRealmNo; +_LIT(default_EAP_GSMSIM_manual_realm, ""); -const TInt default_EAP_GSMSIM_use_manual_username = EEapDbFalse; +const TInt default_EAP_GSMSIM_use_manual_username = EGSMSIMUseManualUsernameNo; +_LIT(default_EAP_GSMSIM_manual_username, ""); -const TInt default_EAP_GSMSIM_use_pseudonym_identity = EEapDbTrue; // Default is, use pseudonym identity. +const TInt default_EAP_GSMSIM_use_pseudonym_identity = EGSMSIMUsePseudonymIdYes; // Default is, use pseudonym identity. + +const TInt64 default_MaxSessionTime = 0; // 0 means read from configuration file. +const TInt64 default_FullAuthTime = 0; const TUint KMaxPseudonymIdLengthInDB = 1020; // This is the max possible length of an EAP packet. const TUint KMaxReauthIdLengthInDB = 1020; // Hope pseudonym id or reauth id can't be more than that. +const TUint KMaxManualUsernameLengthInDB = 255; +const TUint KMaxManualRealmLengthInDB = 255; + const TUint KMaxIMSILengthInDB = 15; const TUint KMaxXKeyLengthInDB = 20; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbParameterNames.h --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbParameterNames.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbParameterNames.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 12.1.2 % */ #if !defined(_EAPSIMDBPARAMETERNAMES_H_) @@ -28,7 +28,6 @@ _LIT(KServiceType, "ServiceType"); _LIT(KServiceIndex, "ServiceIndex"); -_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId"); _LIT(KTunnelingType, "TunnelingType"); _LIT(KPseudonymId, "PseudonymId"); _LIT(KXKey, "XKEY"); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbUtils.h --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbUtils.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbUtils.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.7 % +* %version: 10 % */ #ifndef _EAPSIMDBUTILS_H_ @@ -29,10 +29,21 @@ // LOCAL CONSTANTS -// For EAP-SIM private database. Database will be in the private folder of EAP-server (20026FCB). -// The maximum length of database name is 0x40 (KDbMaxName), which is defined in d32dbms.h. +#ifdef SYMBIAN_SECURE_DBMS +// For EAP SIM secure database. +// Full path is not needed. The database eapsim.dat will be saved in the +// data cage path for DBMS. So it will be in "\private\100012a5\eapsim.dat" in C: drive. +// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h. + +_LIT(KDatabaseName, "c:eapsim.dat"); -_LIT(KEapSimDatabaseName, "eapsim.dat"); +_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy. + +#else + +_LIT(KDatabaseName, "c:\\system\\data\\eapsim.dat"); + +#endif //#ifdef SYMBIAN_SECURE_DBMS _LIT(KSimTableName, "eapsim"); @@ -43,8 +54,8 @@ public: static void OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, + RDbNamedDatabase& aDatabase, + RDbs& aSession, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); @@ -88,6 +99,7 @@ const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); + }; #endif // _EAPSIMDBUTILS_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimGlobal.h --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimGlobal.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimGlobal.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #ifndef _EAPSIMGLOBAL_H_ @@ -26,9 +26,9 @@ // Release date must be of format YYYYMMDD:. Will be localised automatically. // Note that days and months start from 0. -_LIT(KReleaseDate, ""); +_LIT(KReleaseDate, "20040829:"); _LIT(KEapTypeVersion, "1.0"); -_LIT(KManufacturer, ""); +_LIT(KManufacturer, "Nokia"); _LIT(KNokiaSignature, ""); // Not used _LIT(KExtraInfo1, ""); // Not used _LIT(KExtraInfo2, ""); // Not used diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/inc/EapSimSimulatorConfig.h --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/inc/EapSimSimulatorConfig.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/inc/EapSimSimulatorConfig.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,6 +16,6 @@ */ /* -* %version: % +* %version: 7 % */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/inc/EapSimSimulatorPlugin.h --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/inc/EapSimSimulatorPlugin.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/inc/EapSimSimulatorPlugin.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,14 +16,14 @@ */ /* -* %version: 7.1.2 % +* %version: 9 % */ #ifndef _EAPSIMPLUGIN_H_ #define _EAPSIMPLUGIN_H_ #include "EapPluginInterface.h" -#include +#include const TUint KVersion = 1; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/26666669.rss --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/26666669.rss Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/26666669.rss Wed Sep 01 12:23:57 2010 +0100 @@ -16,10 +16,10 @@ */ /* -* %version: 3.1.2 % +* %version: 5 % */ -#include +#include RESOURCE REGISTRY_INFO theInfo { dll_uid = 0x26666669; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorConfig.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorConfig.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorConfig.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorPlugin.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorPlugin.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorPlugin.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorProxy.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorProxy.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorProxy.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 9 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/101f8e49.rss --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/101f8e49.rss Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/101f8e49.rss Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 6.1.3 % +* %version: 9 % */ // INCLUDES diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSim.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSim.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSim.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 26 % +* %version: 16.1.2 % */ // This is enumeration of EAPOL source code. @@ -38,9 +38,10 @@ #include #include "EapSimDbUtils.h" -#include "EapConversion.h" +#include +#include "EapSimUi.h" + #include "eap_am_tools_symbian.h" -#include "EapTraceSymbian.h" // LOCAL CONSTANTS @@ -136,14 +137,35 @@ } // ---------------------------------------------------------- +TInt CEapSim::InvokeUiL() +{ + TInt buttonId(0); + +#ifdef USE_EAP_EXPANDED_TYPES -CEapTypeInfo* CEapSim::GetInfoL() + CEapSimUiConnection uiConn(iIndexType, iIndex, iTunnelingType.get_vendor_type()); + +#else + + CEapSimUiConnection uiConn(iIndexType, iIndex, iTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + CEapSimUi* ui = CEapSimUi::NewL(&uiConn); + CleanupStack::PushL(ui); + buttonId = ui->InvokeUiL(); + CleanupStack::PopAndDestroy(ui); + return buttonId; +} +// ---------------------------------------------------------- +CEapTypeInfo* CEapSim::GetInfoLC() { CEapTypeInfo* info = new(ELeave) CEapTypeInfo( (TDesC&)KReleaseDate, (TDesC&)KEapTypeVersion, (TDesC&)KManufacturer); + CleanupStack::PushL(info); return info; } @@ -163,21 +185,18 @@ // ---------------------------------------------------------- -void CEapSim::SetTunnelingType(const TEapExpandedType aTunnelingType) +void CEapSim::SetTunnelingType(const TInt aTunnelingType) { - -EAP_TRACE_DATA_DEBUG_SYMBIAN( - (EAPL("CEapSim::SetTunnelingType - tunneling type"), - aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length())); +#ifdef USE_EAP_EXPANDED_TYPES -eap_type_value_e aInternalType; + // Vendor id is eap_type_vendor_id_ietf always in this plugin. + iTunnelingType.set_eap_type_values(eap_type_vendor_id_ietf, aTunnelingType); -TInt err = CEapConversion::ConvertExpandedEAPTypeToInternalType( - &aTunnelingType, - &aInternalType); +#else -iTunnelingType = aInternalType; + iTunnelingType = static_cast(aTunnelingType); +#endif //#ifdef USE_EAP_EXPANDED_TYPES } @@ -203,16 +222,13 @@ RDbNamedDatabase db; - RFs session; + RDbs session; + + EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSim::SetIndexL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); - + EapSimDbUtils::SetIndexL( db, iIndexType, @@ -225,27 +241,20 @@ iIndexType = aIndexType; iIndex = aIndex; - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + CleanupStack::PopAndDestroy(2); // db } void CEapSim::SetConfigurationL(const EAPSettings& aSettings) { RDbNamedDatabase db; - RFs session; + RDbs session; + + // This also creates the IAP entry if it doesn't exist + EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSim::SetConfigurationL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - // This also creates the IAP entry if it doesn't exist - EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); EapSimDbUtils::SetConfigurationL( db, @@ -254,27 +263,20 @@ iIndex, iTunnelingType); - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + CleanupStack::PopAndDestroy(2); // db, session } void CEapSim::GetConfigurationL(EAPSettings& aSettings) { RDbNamedDatabase db; - RFs session; + RDbs session; + + // This also creates the IAP entry if it doesn't exist + EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSim::SetConfigurationL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - // This also creates the IAP entry if it doesn't exist - EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); EapSimDbUtils::GetConfigurationL( db, @@ -283,11 +285,7 @@ iIndex, iTunnelingType); - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + CleanupStack::PopAndDestroy(2); // db, session } void CEapSim::CopySettingsL( @@ -311,16 +309,13 @@ RDbNamedDatabase db; - RFs session; + RDbs session; + + EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSim::CopySettingsL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); - + EapSimDbUtils::CopySettingsL( db, iIndexType, @@ -330,11 +325,7 @@ aDestinationIndex, iTunnelingType); - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + CleanupStack::PopAndDestroy(2); // db } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimDbUtils.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimDbUtils.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimDbUtils.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 57 % +* %version: 31.1.2 % */ // This is enumeration of EAPOL source code. @@ -33,149 +33,161 @@ #include "EapSimDbDefaults.h" #include "EapSimDbParameterNames.h" -#include -#include "EapPluginTools.h" +#include "eap_am_trace_symbian.h" const TInt KMaxSqlQueryLength = 2048; const TInt KMicroSecsInAMinute = 60000000; // 60000000 micro seconds is 1 minute. // ================= MEMBER FUNCTIONS ======================= -void EapSimDbUtils::OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - const TIndexType aIndexType, - const TInt aIndex, - const eap_type_value_e aTunnelingType) +void EapSimDbUtils::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession, const TIndexType aIndexType, + const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapSimDbUtils::OpenDatabaseL(): Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + +#else - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::OpenDatabaseL()\n")); + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::OpenDatabaseL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=%d \n"), + aIndexType,aIndex,aTunnelingVendorType) ); // 1. Open/create a database - TInt error(KErrNone); - TFileName aPrivateDatabasePathName; + // Connect to the DBMS server. + User::LeaveIfError(aSession.Connect()); + CleanupClosePushL(aSession); + // aSession and aDatabase are pushed to the cleanup stack even though they may be member + // variables of the calling class and would be closed in the destructor anyway. This ensures + // that if they are not member variables they will be closed. Closing the handle twice + // does no harm. + +#ifdef SYMBIAN_SECURE_DBMS + + // Create the secure shared database with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = aDatabase.Create(aSession, KDatabaseName, KSecureUIDFormat); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::OpenDatabaseL - Created Secure DB for eapsim.dat. err=%d\n"), err)); - EapPluginTools::CreateDatabaseLC( - aDatabase, - aFileServerSession, - error, - KEapSimDatabaseName, - aPrivateDatabasePathName); - - if(error == KErrNone) + + if(err == KErrNone) { aDatabase.Close(); - } - else if (error != KErrAlreadyExists) + + } else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::OpenDatabaseL(): calls aDatabase.Open()\n"))); - - error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::OpenDatabaseL(): Opened private DB for EAP-SIM. error=%d\n"), error)); - - User::LeaveIfError(error); + User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName, KSecureUIDFormat)); + CleanupClosePushL(aDatabase); + +#else + // Non secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + TInt err = aDatabase.Create(fsSession, KDatabaseName); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::OpenDatabaseL - Created Non-Secure DB for eapsim.dat. err=%d\n"), err)); + + + if(err == KErrNone) + { + aDatabase.Close(); + + } else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + CleanupStack::PopAndDestroy( &fsSession ); // close fsSession + + User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName)); + CleanupClosePushL(aDatabase); + +#endif // #ifdef SYMBIAN_SECURE_DBMS // 2. Create the eapsim table to database (ignore error if exists) - // Table columns: - //// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant ///////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| EAP_GSMSIM_use_manual_realm | UNSIGNED INTEGER | cf_str_EAP_GSMSIM_use_manual_realm_literal |// - //| EAP_GSMSIM_manual_realm | VARCHAR(255) | cf_str_EAP_GSMSIM_manual_realm_literal |// - //| EAP_GSMSIM_use_manual_username | UNSIGNED INTEGER | cf_str_EAP_GSMSIM_use_manual_username_literal|// - //| EAP_GSMSIM_manual_username | VARCHAR(255) | cf_str_EAP_GSMSIM_manual_username_literal |// - //| PseudonymId | LONG VARBINARY | KPseudonymId |// - //| XKEY | BINARY(20) | KXKey |// - //| K_aut | BINARY(16) | KK_aut |// - //| K_encr | BINARY(16) | KK_encr |// - //| ReauthCounter | UNSIGNED INTEGER | KReauthCounter |// - //| ReauthId | LONG VARBINARY | KReauthId |// - //| PreviousIMSI | VARBINARY(15) | KPreviousIMSI |// - //| EAP_GSMSIM_use_pseudonym_identity | UNSIGNED INTEGER | cf_str_EAP_GSMSIM_use_pseudonym_identity_literal |// - //| EAP_GSMSIM_max_session_validity_time | BIGINT | cf_str_EAP_GSMSIM_max_session_validity_time_literal |// - //| EAP_GSMSIM_last_full_authentication_time | BIGINT | KGSMSIMLastFullAuthTime |// - ////////////////////////////////////////////////////////////////////////////////////////////////// +// Table columns: +//// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant ///////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| EAP_GSMSIM_use_manual_realm | UNSIGNED INTEGER | cf_str_EAP_GSMSIM_use_manual_realm_literal |// +//| EAP_GSMSIM_manual_realm | VARCHAR(255) | cf_str_EAP_GSMSIM_manual_realm_literal |// +//| EAP_GSMSIM_use_manual_username | UNSIGNED INTEGER | cf_str_EAP_GSMSIM_use_manual_username_literal|// +//| EAP_GSMSIM_manual_username | VARCHAR(255) | cf_str_EAP_GSMSIM_manual_username_literal |// +//| PseudonymId | LONG VARBINARY | KPseudonymId |// +//| XKEY | BINARY(20) | KXKey |// +//| K_aut | BINARY(16) | KK_aut |// +//| K_encr | BINARY(16) | KK_encr |// +//| ReauthCounter | UNSIGNED INTEGER | KReauthCounter |// +//| ReauthId | LONG VARBINARY | KReauthId |// +//| PreviousIMSI | VARBINARY(15) | KPreviousIMSI |// +//| EAP_GSMSIM_use_pseudonym_identity | UNSIGNED INTEGER | cf_str_EAP_GSMSIM_use_pseudonym_identity_literal |// +//| EAP_GSMSIM_max_session_validity_time | BIGINT | cf_str_EAP_GSMSIM_max_session_validity_time_literal |// +//| EAP_GSMSIM_last_full_authentication_time | BIGINT | KGSMSIMLastFullAuthTime |// +////////////////////////////////////////////////////////////////////////////////////////////////// HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLCreateTable, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S LONG VARBINARY, \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S UNSIGNED INTEGER, \ - %S LONG VARBINARY, \ - %S VARBINARY(%d), \ - %S UNSIGNED INTEGER, \ - %S BIGINT, \ - %S BIGINT)"); + _LIT(KSQLCreateTable, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S LONG VARBINARY, \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S UNSIGNED INTEGER, \ + %S LONG VARBINARY, \ + %S VARBINARY(%d), \ + %S UNSIGNED INTEGER, \ + %S BIGINT, \ + %S BIGINT)"); - sqlStatement.Format(KSQLCreateTable, - &KSimTableName, - &KServiceType, - &KServiceIndex, - &KTunnelingTypeVendorId, - &KTunnelingType, - &cf_str_EAP_GSMSIM_use_manual_realm_literal, - &cf_str_EAP_GSMSIM_manual_realm_literal, KMaxRealmLengthInDB, - &cf_str_EAP_GSMSIM_use_manual_username_literal, - &cf_str_EAP_GSMSIM_manual_username_literal, KMaxUsernameLengthInDB, - &KPseudonymId, - &KXKey, KMaxXKeyLengthInDB, - &KK_aut, KMaxK_autLengthInDB, - &KK_encr, KMaxK_encrLengthInDB, - &KReauthCounter, - &KReauthId, - &KPreviousIMSI, KMaxIMSILengthInDB, - &cf_str_EAP_GSMSIM_use_pseudonym_identity_literal, - &cf_str_EAP_GSMSIM_max_session_validity_time_literal, - &KGSMSIMLastFullAuthTime); + sqlStatement.Format(KSQLCreateTable, &KSimTableName, &KServiceType, + &KServiceIndex, + &KTunnelingType, + &cf_str_EAP_GSMSIM_use_manual_realm_literal, + &cf_str_EAP_GSMSIM_manual_realm_literal, KMaxManualRealmLengthInDB, + &cf_str_EAP_GSMSIM_use_manual_username_literal, + &cf_str_EAP_GSMSIM_manual_username_literal, KMaxManualUsernameLengthInDB, + &KPseudonymId, + &KXKey, KMaxXKeyLengthInDB, + &KK_aut, KMaxK_autLengthInDB, + &KK_encr, KMaxK_encrLengthInDB, + &KReauthCounter, + &KReauthId, + &KPreviousIMSI, KMaxIMSILengthInDB, + &cf_str_EAP_GSMSIM_use_pseudonym_identity_literal, + &cf_str_EAP_GSMSIM_max_session_validity_time_literal, + &KGSMSIMLastFullAuthTime); - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } // 4. Check if database table contains a row for this service type and id - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQLQueryRow, - &cf_str_EAP_GSMSIM_manual_realm_literal, - &KSimTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); - + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_GSMSIM_manual_realm_literal, &KSimTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); // View must be closed when no longer needed @@ -202,14 +214,13 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal), default_EAP_GSMSIM_use_manual_realm); - view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_manual_realm_literal), default_EAP_realm); + view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_manual_realm_literal), default_EAP_GSMSIM_manual_realm); view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal), default_EAP_GSMSIM_use_manual_username); - view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal), default_EAP_username); + view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal), default_EAP_GSMSIM_manual_username); view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), default_EAP_GSMSIM_use_pseudonym_identity); @@ -219,20 +230,18 @@ view.PutL(); - CleanupStack::PopAndDestroy( colSet ); + CleanupStack::PopAndDestroy( colSet ); // Delete colSet. - CleanupStack::PopAndDestroy( &view ); + CleanupStack::PopAndDestroy( &view ); // Close view. } + CleanupStack::PopAndDestroy( buf ); // Delete buf + CleanupStack::Pop( &aDatabase ); + CleanupStack::Pop( &aSession ); + aDatabase.Compact(); - - CleanupStack::PopAndDestroy( buf ); - CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aFileServerSession ); } -// ---------------------------------------------------------- - void EapSimDbUtils::SetIndexL( RDbNamedDatabase& aDatabase, const TIndexType aIndexType, @@ -242,37 +251,25 @@ const TInt aNewIndex, const eap_type_value_e aNewTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapSimDbUtils::SetIndexL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapSimDbUtils::SetIndexL(): -Start- aNewIndexType=%d, aNewIndex=%d, aNewTunnelingType=0xfe%06x%08x\n"), - aNewIndexType, - aNewIndex, - aNewTunnelingType.get_vendor_id(), - aNewTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + TUint aNewTunnelingVendorType = aNewTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::SetIndexL()\n")); +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + TUint aNewTunnelingVendorType = static_cast(aNewTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQL, - &KSimTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &KSimTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); RDbView view; @@ -301,19 +298,16 @@ view.UpdateL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aNewIndexType)); + view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type()); + + view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType); view.PutL(); - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(3); // view, colset, buf } -// ---------------------------------------------------------- - void EapSimDbUtils::SetConfigurationL( RDbNamedDatabase& aDatabase, const EAPSettings& aSettings, @@ -321,23 +315,80 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapSimDbUtils::SetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::SetConfigurationL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=%d\n"), + aIndexType,aIndex, aTunnelingVendorType)); + + EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL - Set the below values: ***************************\n")) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Set these values for EAPType=%d"),aSettings.iEAPType) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Username=%S"),aSettings.iUsernamePresent, &(aSettings.iUsername)) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Password=%S"),aSettings.iPasswordPresent, &(aSettings.iPassword)) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Realm=%S"),aSettings.iRealmPresent, &(aSettings.iRealm)) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, UsePseudonyms=%d"),aSettings.iUsePseudonymsPresent, aSettings.iUsePseudonyms) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, VerifyServerRealm=%d"), + aSettings.iVerifyServerRealmPresent, aSettings.iVerifyServerRealm) ); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::SetConfigurationL()\n")); - - EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL(): Set the below values: ***************************\n")) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, RequireClientAuthentication=%d"), + aSettings.iRequireClientAuthenticationPresent, aSettings.iRequireClientAuthentication) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, SessionValidityTime=%d minutes"), + aSettings.iSessionValidityTimePresent, aSettings.iSessionValidityTime) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, CipherSuites Count=%d"), + aSettings.iCipherSuitesPresent, aSettings.iCipherSuites.Count()) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, PEAPv0Allowed=%d, PEAPv1Allowed=%d, PEAPv2Allowed=%d"), + aSettings.iPEAPVersionsPresent, aSettings.iPEAPv0Allowed,aSettings.iPEAPv1Allowed, aSettings.iPEAPv2Allowed ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Certificates Count=%d"), + aSettings.iCertificatesPresent, aSettings.iCertificates.Count()) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Certificate details below: \n")) ); + + for( TInt n=0; n < aSettings.iCertificates.Count(); n++ ) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Certificate type:%d \n"), aSettings.iCertificates[n].iCertType) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, SubjectName=%S"), + aSettings.iCertificates[n].iSubjectNamePresent, &(aSettings.iCertificates[n].iSubjectName) ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, IssuerName=%S"), + aSettings.iCertificates[n].iIssuerNamePresent, &(aSettings.iCertificates[n].iIssuerName) ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, SerialNumber=%S"), + aSettings.iCertificates[n].iSerialNumberPresent, &(aSettings.iCertificates[n].iSerialNumber) ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - SubjectKeyID present=%d"), + aSettings.iCertificates[n].iSubjectKeyIDPresent ) ); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "SubjectKeyID:", aSettings.iCertificates[n].iSubjectKeyID.Ptr(), + aSettings.iCertificates[n].iSubjectKeyID.Size() ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, Thumbprint=%S"), + aSettings.iCertificates[n].iThumbprintPresent, &(aSettings.iCertificates[n].iThumbprint) ) ); + } - EAP_TRACE_SETTINGS(&aSettings); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, EncapsulatedEAPTypes Count=%d"), + aSettings.iEncapsulatedEAPTypesPresent, aSettings.iEncapsulatedEAPTypes.Count()) ); + for( TInt m=0; m < aSettings.iEncapsulatedEAPTypes.Count(); m++ ) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - EncapsulatedEAPTypes=%d"), + aSettings.iEncapsulatedEAPTypes[m]) ); + } - EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL(): Set the above values: ***************************\n")) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL - Set the above values: ***************************\n")) ); // Check if the settings are for the correct type - if (aSettings.iEAPExpandedType != (*EapExpandedTypeSim.GetType())) + if (aSettings.iEAPType != EAPSettings::EEapSim) { User::Leave(KErrNotSupported); } @@ -347,18 +398,9 @@ RDbView view; - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQLQuery, - &KSimTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KSimTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -375,50 +417,11 @@ CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - - if (aSettings.iUseAutomaticUsernamePresent) - { - // This is to set the automatic or manual status. - TUint useManualUsernameStatus; - - if (aSettings.iUseAutomaticUsername) - { - useManualUsernameStatus = EEapDbFalse; - } - else - { - useManualUsernameStatus = EEapDbTrue; - } - - // Set the value. - view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal), useManualUsernameStatus); - } - - - if (aSettings.iUseAutomaticRealmPresent) - { - // This is to set the automatic or manual status. - TUint useManualRealmStatus; - - if (aSettings.iUseAutomaticRealm) - { - useManualRealmStatus = EEapDbFalse; - } - else - { - useManualRealmStatus = EEapDbTrue; - } - - // Set the value. - view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal), useManualRealmStatus); - } - - // Manual username - if (aSettings.iUsernamePresent) // no need to check as there may be empty usernames with the present status is EFlase. + //if (aSettings.iUsernamePresent) // no need to check as there may be empty usernames with the present status is EFlase. { // Check if length of username is less than the max length. - if(aSettings.iUsername.Length() > KMaxUsernameLengthInDB) + if(aSettings.iUsername.Length() > KMaxManualUsernameLengthInDB) { // Username too long. Can not be stored in DB. @@ -430,13 +433,28 @@ // Length is ok. Set the value in DB. Value could be empty. It doesn't matter. view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal), aSettings.iUsername); + + // This is to set the automatic or manual status. + TUint useManualUsernameStatus; + + if (aSettings.iUsernamePresent) + { + useManualUsernameStatus = EGSMSIMUseManualUsernameYes; + } + else + { + useManualUsernameStatus = EGSMSIMUseManualUsernameNo; + } + + // Set the value. + view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal), useManualUsernameStatus); } // Manual realm - if (aSettings.iRealmPresent) // no need to check as there may be empty realms with the present status is EFlase. + //if (aSettings.iRealmPresent) // no need to check as there may be empty realms with the present status is EFlase. { // Check if length of realm is less than the max length. - if(aSettings.iRealm.Length() > KMaxRealmLengthInDB) + if(aSettings.iRealm.Length() > KMaxManualRealmLengthInDB) { // Realm too long. Can not be stored in DB. @@ -448,6 +466,21 @@ // Length is ok. Set the value in DB. Value could be empty. It doesn't matter. view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_manual_realm_literal), aSettings.iRealm); + + // This is to set the automatic or manual status. + TUint useManualRealmStatus; + + if (aSettings.iRealmPresent) + { + useManualRealmStatus = EGSMSIMUseManualRealmYes; + } + else + { + useManualRealmStatus = EGSMSIMUseManualRealmNo; + } + + // Set the value. + view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal), useManualRealmStatus); } // UsePseudonym @@ -456,20 +489,20 @@ if (aSettings.iUsePseudonyms) { // Use pseudonym. - view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EEapDbTrue); + view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EGSMSIMUsePseudonymIdYes); } else { // Don't use pseudonym. - view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EEapDbFalse); + view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EGSMSIMUsePseudonymIdNo); } } else { // Value is not configured. Value is read from config file if needed. - view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EEapDbNotValid); + view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EGSMSIMUsePseudonymIdNotValid); } - + // Session validity time if (aSettings.iSessionValidityTimePresent) { @@ -480,27 +513,23 @@ view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_max_session_validity_time_literal), validityInMicro); } - + if (aIndexType != EVpn) // This allows current VPN IF to use reauthentication. VPN does not zero last full authentication time. { // Last full authentication time should be made zero when EAP configurations are modified. // This makes sure that the next authentication with this EAP would be full authentication // instead of reauthentication even if the session is still valid. - + view.SetColL(colSet->ColNo(KGSMSIMLastFullAuthTime), default_FullAuthTime); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::SetConfigurationL(): Session Validity: Resetting Full Auth Time since settings are modified\n"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"), + aSettings.iEAPType )); } - + view.PutL(); - - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(3); // view, colset, buf } -// ---------------------------------------------------------- - void EapSimDbUtils::GetConfigurationL( RDbNamedDatabase& aDatabase, EAPSettings& aSettings, @@ -508,14 +537,15 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapSimDbUtils::GetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::GetConfigurationL()\n")); +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); @@ -523,18 +553,9 @@ RDbView view; // Form the query - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQLQuery, - &KSimTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KSimTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -551,100 +572,70 @@ CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - aSettings.iEAPExpandedType = *EapExpandedTypeSim.GetType(); - + aSettings.iEAPType = EAPSettings::EEapSim; + + // Username + TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal)); + aSettings.iUsername.Copy(username); + + // For manual or automatic status. + TUint useUsername = view.ColUint(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal)); + if(useUsername == EGSMSIMUseManualUsernameNo) + { + aSettings.iUsernamePresent = EFalse; + } + else { - // For manual or automatic username. - TUint useUsername = view.ColUint(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal)); - - aSettings.iUseAutomaticUsernamePresent = ETrue; - - if(useUsername == EEapDbTrue) - { - aSettings.iUseAutomaticUsername = EFalse; - } - else + aSettings.iUsernamePresent = ETrue; + } + + // Realm + TPtrC realm = view.ColDes(colSet->ColNo(cf_str_EAP_GSMSIM_manual_realm_literal)); + aSettings.iRealm.Copy(realm); + + // For manual or automatic status. + TUint useRealm = view.ColUint(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal)); + if(useRealm == EGSMSIMUseManualRealmNo) + { + aSettings.iRealmPresent = EFalse; + } + else + { + aSettings.iRealmPresent = ETrue; + } + + TInt usePseudonym = view.ColUint(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal)); + + if (usePseudonym == EGSMSIMUsePseudonymIdNotValid) + { + aSettings.iUsePseudonymsPresent = EFalse; + } + else + { + if (usePseudonym == EGSMSIMUsePseudonymIdNo) { - aSettings.iUseAutomaticUsername = ETrue; - } - } - - { - // For manual or automatic realm. - TUint useRealm = view.ColUint(colSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal)); - - aSettings.iUseAutomaticRealmPresent = ETrue; - - if(useRealm == EEapDbTrue) - { - aSettings.iUseAutomaticRealm = EFalse; + aSettings.iUsePseudonyms = EFalse; } else { - aSettings.iUseAutomaticRealm = ETrue; - } - } - - { - // Username - TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal)); - - aSettings.iUsernamePresent = ETrue; - - aSettings.iUsername.Copy(username); - } - - { - // Realm - TPtrC realm = view.ColDes(colSet->ColNo(cf_str_EAP_GSMSIM_manual_realm_literal)); - - aSettings.iRealmPresent = ETrue; - - aSettings.iRealm.Copy(realm); - } - - { - TInt usePseudonym = view.ColUint(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal)); - - if (usePseudonym == EEapDbNotValid) - { - aSettings.iUsePseudonymsPresent = EFalse; + aSettings.iUsePseudonyms = ETrue; } - else - { - if (usePseudonym == EEapDbFalse) - { - aSettings.iUsePseudonyms = EFalse; - } - else - { - aSettings.iUsePseudonyms = ETrue; - } - - aSettings.iUsePseudonymsPresent = ETrue; - } - } - - { - // Session validity time - TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(cf_str_EAP_GSMSIM_max_session_validity_time_literal)); - // Convert the time to minutes. - TInt64 maxSessionTimeMin = maxSessionTimeMicro / KMicroSecsInAMinute; - - aSettings.iSessionValidityTime = static_cast(maxSessionTimeMin); - aSettings.iSessionValidityTimePresent = ETrue; - } - - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); - - EAP_TRACE_SETTINGS(&aSettings); + aSettings.iUsePseudonymsPresent = ETrue; + } + + // Session validity time + TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(cf_str_EAP_GSMSIM_max_session_validity_time_literal)); + + // Convert the time to minutes. + TInt64 maxSessionTimeMin = maxSessionTimeMicro / KMicroSecsInAMinute; + + aSettings.iSessionValidityTime = static_cast(maxSessionTimeMin); + aSettings.iSessionValidityTimePresent = ETrue; + + CleanupStack::PopAndDestroy(3); // view, colset, buf } -// ---------------------------------------------------------- - void EapSimDbUtils::CopySettingsL( RDbNamedDatabase& aDatabase, const TIndexType aSrcIndexType, @@ -654,37 +645,25 @@ const TInt aDestIndex, const eap_type_value_e aDestTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapSimDbUtils::CopySettingsL(): -Start- aSrcIndexType=%d, aSrcIndex=%d, aSrcTunnelingType=0xfe%06x%08x\n"), - aSrcIndexType, - aSrcIndex, - aSrcTunnelingType.get_vendor_id(), - aSrcTunnelingType.get_vendor_type())); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapSimDbUtils::CopySettingsL(): -Start- aDestIndexType=%d, aDestTunnelingType=0xfe%06x%08x\n"), - aDestIndexType, - aDestIndex, - aDestTunnelingType.get_vendor_id(), - aDestTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aSrcTunnelingVendorType = aSrcTunnelingType.get_vendor_type(); + TUint aDestTunnelingVendorType = aDestTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::CopySettingsL()\n")); +#else + + TUint aSrcTunnelingVendorType = static_cast(aSrcTunnelingType); + TUint aDestTunnelingVendorType = static_cast(aDestTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQL, - &KSimTableName, - &KServiceType, - aSrcIndexType, - &KServiceIndex, - aSrcIndex, - &KTunnelingTypeVendorId, - aSrcTunnelingType.get_vendor_id(), - &KTunnelingType, - aSrcTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &KSimTableName, + &KServiceType, aSrcIndexType, &KServiceIndex, aSrcIndex, &KTunnelingType, aSrcTunnelingVendorType); RDbView view; @@ -715,122 +694,112 @@ CleanupStack::PushL(colSet); view.SetColL(colSet->ColNo(KServiceType), static_cast(aDestIndexType)); + view.SetColL(colSet->ColNo(KServiceIndex), aDestIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type()); + + view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingVendorType); view.PutL(); - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(3); // view, colset, buf } -// ---------------------------------------------------------- - void EapSimDbUtils::DeleteConfigurationL( const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapSimDbUtils::DeleteConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::DeleteConfigurationL()\n")); +#else - RDbNamedDatabase aDatabase; - RFs aFileServerSession; + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES - TInt error(KErrNone); - TFileName aPrivateDatabasePathName; + RDbs session; + RDbNamedDatabase database; + // Connect to the DBMS server. + User::LeaveIfError(session.Connect()); + CleanupClosePushL(session); + +#ifdef SYMBIAN_SECURE_DBMS - error = aFileServerSession.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::DeleteConfigurationL(): - aFileServerSession.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapPluginTools::CreateDatabaseLC( - aDatabase, - aFileServerSession, - error, - KEapSimDatabaseName, - aPrivateDatabasePathName); - - if(error == KErrNone) + // Create the secure shared database with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = database.Create(session, KDatabaseName, KSecureUIDFormat); + + if(err == KErrNone) { // Database was created so it was empty. No need for further actions. - aDatabase.Destroy(); - CleanupStack::PopAndDestroy(&aDatabase); - CleanupStack::PopAndDestroy(&aFileServerSession); + database.Destroy(); + CleanupStack::PopAndDestroy(); return; - } - else if (error != KErrAlreadyExists) + + } + else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); + // Database existed, open it. + User::LeaveIfError(database.Open(session, KDatabaseName, KSecureUIDFormat)); + CleanupClosePushL(database); + +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + TInt err = database.Create(fsSession, KDatabaseName); - User::LeaveIfError(error); + if(err == KErrNone) + { + // Database was created so it was empty. No need for further actions. + database.Destroy(); + CleanupStack::PopAndDestroy(2); // fsSession, database session + return; + + } + else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + + CleanupStack::PopAndDestroy(); // close fsSession + + User::LeaveIfError(database.Open(session, KDatabaseName)); + CleanupClosePushL(database); + +#endif // #ifdef SYMBIAN_SECURE_DBMS HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); // Main settings table - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format( - KSQL, - &KSimTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); - + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQL, &KSimTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view RDbView view; - - error = view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited); - - User::LeaveIfError(error); - + User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); - - error = view.EvaluateAll(); - - User::LeaveIfError(error); + User::LeaveIfError(view.EvaluateAll()); // Delete rows if (view.FirstL()) { - do - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::DeleteConfigurationL(): calls view.DeleteL()\n"))); - + do { view.DeleteL(); - } - while (view.NextL() != EFalse); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::DeleteConfigurationL(): All rows deleted.\n"))); - } - else - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::DeleteConfigurationL(): No rows to delete.\n"))); + } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); - CleanupStack::PopAndDestroy(&aDatabase); - CleanupStack::PopAndDestroy(&aFileServerSession); + // Close database + CleanupStack::PopAndDestroy(4); // view, buf, database, session } -// ---------------------------------------------------------- - // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimProxy.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimProxy.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimProxy.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 9.1.2 % +* %version: 12 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiConnection.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiConnection.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,131 @@ +/* +* 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. +* +*/ + +/* +* %version: 11.1.2 % +*/ + +// This is enumeration of EAPOL source code. +#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + #undef EAP_FILE_NUMBER_ENUM + #define EAP_FILE_NUMBER_ENUM 213 + #undef EAP_FILE_NUMBER_DATE + #define EAP_FILE_NUMBER_DATE 1127594498 +#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + +#include "EapSimDbUtils.h" +#include +#include + +CEapSimUiConnection::CEapSimUiConnection( + const TIndexType aIndexType, + const TInt aIndex, + const TInt aTunnelingType) + : iIndexType(aIndexType) + , iIndex(aIndex) + , iTunnelingType(aTunnelingType) + , iIsConnected(EFalse) + , iDataConn(NULL) +{ +} + + +CEapSimUiConnection::~CEapSimUiConnection() +{ +} + + +TInt CEapSimUiConnection::Connect() +{ +#ifdef USE_EAP_EXPANDED_TYPES + + eap_type_value_e tunnelingType(static_cast(iTunnelingType)); + +#else + + eap_type_value_e tunnelingType = static_cast(iTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + TRAPD(err, EapSimDbUtils::OpenDatabaseL( + iDbNamedDatabase, + iDbs, + iIndexType, + iIndex, + tunnelingType)); + if (err == KErrNone) + { + iIsConnected = ETrue; + } + + return err; +} + + +TInt CEapSimUiConnection::Close() +{ + if (iIsConnected) + { + iDbNamedDatabase.Close(); + iDbs.Close(); + } + iIsConnected = EFalse; + + return KErrNone; +} + + +CEapSimUiDataConnection * CEapSimUiConnection::GetDataConnection() +{ + if (!iDataConn) + { + iDataConn = new CEapSimUiDataConnection(this); + } + + return iDataConn; +} + +TInt CEapSimUiConnection::GetDatabase(RDbNamedDatabase & aDatabase) +{ + if (iIsConnected == EFalse) + { + return KErrSessionClosed; + } + + aDatabase = iDbNamedDatabase; + return KErrNone; +} + + +TIndexType CEapSimUiConnection::GetIndexType() +{ + return iIndexType; +} + + +TInt CEapSimUiConnection::GetIndex() +{ + return iIndex; +} + + +TInt CEapSimUiConnection::GetTunnelingType() +{ + return iTunnelingType; +} + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiDataConnection.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiDataConnection.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,277 @@ +/* +* 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. +* +*/ + +/* +* %version: 14.1.3.1.2 % +*/ + +// This is enumeration of EAPOL source code. +#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + #undef EAP_FILE_NUMBER_ENUM + #define EAP_FILE_NUMBER_ENUM 215 + #undef EAP_FILE_NUMBER_DATE + #define EAP_FILE_NUMBER_DATE 1127594498 +#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + +#include +#include "EapSimDbUtils.h" +#include "EapSimDbParameterNames.h" +#include "EapSimDbDefaults.h" +#include +#include +#include +#include "eap_am_trace_symbian.h" + +const TUint KMaxSqlQueryLength = 256; + +CEapSimUiDataConnection::CEapSimUiDataConnection(CEapSimUiConnection * aUiConn) +: iIsOpened(EFalse) +, iUiConn(aUiConn) +, iColSet(NULL) +, iDataPtr(NULL) +{ +} + + +CEapSimUiDataConnection::~CEapSimUiDataConnection() +{ + if (iUiConn) + { + Close(); + iUiConn = NULL; + } +} + + +TInt CEapSimUiDataConnection::Open() +{ + if (iIsOpened) + { + return KErrAlreadyExists; + } + + TInt err = iUiConn->GetDatabase(iDatabase); + if (err != KErrNone) + { + return err; + } + + iIsOpened = ETrue; + return KErrNone; +} + + +TInt CEapSimUiDataConnection::GetData(CEapSimUiSimData ** aDataPtr) +{ + if (aDataPtr == NULL) + { + return KErrArgument; + } + if (iIsOpened == EFalse) + { + return KErrSessionClosed; + } + iDataPtr = new CEapSimUiSimData(); + if (!iDataPtr) + { + return KErrNoMemory; + } + + TRAPD(err, FetchDataL()); + if (err != KErrNone) + { + delete iDataPtr; + iDataPtr = NULL; + + delete iColSet; + iColSet = NULL; + + iView.Close(); + + return err; + } + + *aDataPtr = iDataPtr; + + return KErrNone; +} + + +TInt CEapSimUiDataConnection::Update() +{ + TRAPD(err, iView.UpdateL()); + if (err != KErrNone) + { + return err; + } + + // Check if length of username and realm are less than the max length possible in DB. + if(iDataPtr->GetManualUsername().Length() > KMaxManualUsernameLengthInDB + || iDataPtr->GetManualRealm().Length() > KMaxManualRealmLengthInDB) + { + // Username or realm too long. Can not be stored in DB. + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSimUiDataConnection::Update: Too long username or realm. Length: UN=%d, Realm=%d\n"), + iDataPtr->GetManualUsername().Length(), + iDataPtr->GetManualRealm().Length())); + + return KErrArgument; + } + + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal), iDataPtr->GetManualUsername())); + if (err != KErrNone) + { + return err; + } + + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_GSMSIM_manual_realm_literal), iDataPtr->GetManualRealm())); + if (err != KErrNone) + { + return err; + } + + if (*(iDataPtr->GetUseManualUsername())) + { + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal), EGSMSIMUseManualUsernameYes)); + if (err != KErrNone) + { + return err; + } + } + else + { + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal), EGSMSIMUseManualUsernameNo)); + if (err != KErrNone) + { + return err; + } + } + + if (*(iDataPtr->GetUseManualRealm())) + { + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal), EGSMSIMUseManualRealmYes)); + if (err != KErrNone) + { + return err; + } + } + else + { + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal), EGSMSIMUseManualRealmNo)); + if (err != KErrNone) + { + return err; + } + } + + // Last full authentication time should be made zero when EAP configurations are modified. + // This makes sure that the next authentication with this EAP would be full authentication + // instead of reauthentication even if the session is still valid. + + TRAP(err, iView.SetColL(iColSet->ColNo(KGSMSIMLastFullAuthTime), default_FullAuthTime)); + if (err != KErrNone) + { + return err; + } + + EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: Resetting Full Auth Time since EAP-SIM settings are modified\n"))); + + TRAP(err, iView.PutL()); + + return err; +} + + +TInt CEapSimUiDataConnection::Close() +{ + if (iIsOpened == EFalse) + { + return KErrNone; + } + + delete iDataPtr; + iDataPtr = NULL; + + delete iColSet; + iColSet = NULL; + + iView.Close(); + + iUiConn = NULL; + return KErrNone; +} + + +void CEapSimUiDataConnection::FetchDataL() +{ + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = buf->Des(); + + // Form the query. Query everything. + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, + &KSimTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + // Evaluate view + User::LeaveIfError(iView.Prepare(iDatabase, TDbQuery(sqlStatement))); + User::LeaveIfError(iView.EvaluateAll()); + // Get the first (and only) row + iView.FirstL(); + iView.GetL(); + // Get column set so we get the correct column numbers + delete iColSet; + iColSet = NULL; + iColSet = iView.ColSetL(); + + // Start fetching the values + + // use manual username + TUint intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_GSMSIM_use_manual_username_literal)); + if (intValue == 0) + { + *(iDataPtr->GetUseManualUsername()) = EFalse; + } + else + { + *(iDataPtr->GetUseManualUsername()) = ETrue; + } + + // use manual realm + intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_GSMSIM_use_manual_realm_literal)); + if (intValue == 0) + { + *(iDataPtr->GetUseManualRealm()) = EFalse; + } + else + { + *(iDataPtr->GetUseManualRealm()) = ETrue; + } + + // manual username + iDataPtr->GetManualUsername().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal))); + + // manual realm + iDataPtr->GetManualRealm().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_GSMSIM_manual_realm_literal))); + + CleanupStack::PopAndDestroy(buf); +} + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiSimData.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiSimData.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,66 @@ +/* +* 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. +* +*/ + +/* +* %version: 11 % +*/ + +// This is enumeration of EAPOL source code. +#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + #undef EAP_FILE_NUMBER_ENUM + #define EAP_FILE_NUMBER_ENUM 217 + #undef EAP_FILE_NUMBER_DATE + #define EAP_FILE_NUMBER_DATE 1127594498 +#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + +#include + + +CEapSimUiSimData::CEapSimUiSimData() +{ +} + + +CEapSimUiSimData::~CEapSimUiSimData() +{ +} + + +TDes& CEapSimUiSimData::GetManualUsername() +{ + return iManualUsername; +} + + +TDes& CEapSimUiSimData::GetManualRealm() +{ + return iManualRealm; +} + + +TBool * CEapSimUiSimData::GetUseManualUsername() +{ + return &iUseManualUsername; +} + + +TBool * CEapSimUiSimData::GetUseManualRealm() +{ + return &iUseManualRealm; +} + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/eap_am_type_mschapv2_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/eap_am_type_mschapv2_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/eap_am_type_mschapv2_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 34 % +* %version: 33 % */ // This is enumeration of EAPOL source code. @@ -42,7 +42,7 @@ #include "EapMsChapV2NotifierUids.h" #include "eap_state_notification.h" -#include "EapTraceSymbian.h" +#include "eap_am_trace_symbian.h" const TUint KMaxSqlQueryLength = 256; const TUint KMaxDBFieldNameLength = 255; @@ -70,12 +70,6 @@ delete m_username_password_io_ptr; delete m_username_password_io_pckg_ptr; - if (iEapAuthNotifier != 0) - { - delete iEapAuthNotifier; - iEapAuthNotifier = 0; - } - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } @@ -91,9 +85,36 @@ (EAPL("eap_am_type_mschapv2_symbian_c::shutdown(): this = 0x%08x\n"), this)); - - - + if( IsActive() ) + { + Cancel(); // Cancel only if active. + } + else + { + if( m_is_notifier_connected ) + { + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eap_am_type_mschapv2_symbian_c::shutdown - calling m_notifier.CancelNotifier(..)\n"))); + + TInt error = KErrNone; + EAP_UNREFERENCED_PARAMETER(error); + error = m_notifier.CancelNotifier(KEapMsChapV2UsernamePasswordUid); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eap_am_type_mschapv2_symbian_c::shutdown - calling m_notifier.Close(), prev error=%d\n"), + error)); + + m_notifier.Close(); // Call close only if it is connected. + + m_is_notifier_connected = false; + } + } + m_shutdown_was_called = true; EAP_TRACE_DEBUG( @@ -135,14 +156,21 @@ , m_is_client(aIsClient) , m_is_valid(false) , m_shutdown_was_called(false) - +, m_is_notifier_connected(false) , m_max_session_time(0) - , iEapAuthNotifier(0) - - { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); +#ifdef USE_EAP_EXPANDED_TYPES + + m_tunneling_vendor_type = m_tunneling_type.get_vendor_type(); + +#else + + m_tunneling_vendor_type = static_cast(m_tunneling_type); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + if (receive_network_id != 0 && receive_network_id->get_is_valid_data() == true) { @@ -201,15 +229,11 @@ { // NOTE: Do not use m_partner here without null check - TInt error = m_session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_type_mschapv2_symbian_c::ConstructL(): - m_session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - // Open/create the database EapMsChapV2DbUtils::OpenDatabaseL(m_database, m_session, m_index_type, m_index, m_tunneling_type); - m_username_password_io_ptr = new(ELeave) CEapAuthNotifier::TEapDialogInfo; - m_username_password_io_pckg_ptr = new(ELeave) TPckg (*m_username_password_io_ptr); + m_username_password_io_ptr = new(ELeave) TEapMsChapV2UsernamePasswordInfo; + m_username_password_io_pckg_ptr = new(ELeave) TPckg (*m_username_password_io_ptr); CActiveScheduler::Add(this); @@ -265,227 +289,6 @@ } //-------------------------------------------------- -EAP_FUNC_EXPORT void eap_am_type_mschapv2_symbian_c::DlgComplete( TInt aStatus ) - { - if (aStatus == KErrCancel) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_mschapv2_symbian_c::RunL - User seems to have cancelled the prompt. Stop Immediately.\n"))); - - // User cancelled the password prompt. Stop everything. - // Appropriate error notification is sent from finish_unsuccessful_authentication. - get_am_partner()->finish_unsuccessful_authentication(true); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - } - - if (aStatus != KErrNone) - { - // Something is very wrong... - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: EAP - MS-Chap-V2 notifier or dialog, aStatus=%d\n"), aStatus)); - - send_error_notification(eap_status_authentication_failure); - - get_am_partner()->finish_unsuccessful_authentication(false); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - } - - eap_status_e status(eap_status_ok); - - switch (m_state) - { - case EHandlingUsernamePasswordQuery: - { - if (m_username_password_io_ptr->iPasswordPromptEnabled) - { - *m_password_prompt_enabled = true; - } - else - { - *m_password_prompt_enabled = false; - } - - { - eap_variable_data_c tmp_username_unicode( - m_am_tools); - - status = tmp_username_unicode.set_buffer( - m_username_password_io_ptr->iUsername.Ptr(), - m_username_password_io_ptr->iUsername.Size(), - false, - false); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void) EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - eap_variable_data_c tmp_username_utf8(m_am_tools); - status = m_am_tools->convert_unicode_to_utf8(tmp_username_utf8, tmp_username_unicode); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void) EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - status = m_username_utf8->set_copy_of_buffer(&tmp_username_utf8); - if (status != eap_status_ok) - { - get_am_partner()->finish_unsuccessful_authentication(false); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void) EAP_STATUS_RETURN(m_am_tools, status); - return; - } - } - - { - eap_variable_data_c tmp_password_unicode( - m_am_tools); - - status = tmp_password_unicode.set_buffer( - m_username_password_io_ptr->iPassword.Ptr(), - m_username_password_io_ptr->iPassword.Size(), - false, - false); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void) EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - eap_variable_data_c tmp_password_utf8(m_am_tools); - status = m_am_tools->convert_unicode_to_utf8(tmp_password_utf8, tmp_password_unicode); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void) EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - status = m_password_utf8->set_copy_of_buffer(&tmp_password_utf8); - if (status != eap_status_ok) - { - get_am_partner()->finish_unsuccessful_authentication(false); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void) EAP_STATUS_RETURN(m_am_tools, status); - return; - } - } - - // Store username and/or password if "Prompt for username" is enabled - status = update_username_password(); - if (status != eap_status_ok) - { - get_am_partner()->finish_unsuccessful_authentication(false); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - } - - if (m_is_identity_query) - { - status = get_am_partner()->complete_eap_identity_query(); - } - else - { - status = get_am_partner()->complete_failure_retry_response(); - } - } - break; - - case EHandlingChangePasswordQuery: - { - { - eap_variable_data_c tmp_password_unicode( - m_am_tools); - - status = tmp_password_unicode.set_buffer( - m_username_password_io_ptr->iPassword.Ptr(), - m_username_password_io_ptr->iPassword.Size(), - false, - false); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void) EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - eap_variable_data_c tmp_password_utf8(m_am_tools); - status = m_am_tools->convert_unicode_to_utf8(tmp_password_utf8, tmp_password_unicode); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void) EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - eap_status_e status = m_password_utf8->set_copy_of_buffer(&tmp_password_utf8); - if (status != eap_status_ok) - { - get_am_partner()->finish_unsuccessful_authentication(false); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - } - } - - { - eap_variable_data_c tmp_old_password_unicode( - m_am_tools); - - status = tmp_old_password_unicode.set_buffer( - m_username_password_io_ptr->iOldPassword.Ptr(), - m_username_password_io_ptr->iOldPassword.Size(), - false, - false); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void) EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - eap_variable_data_c tmp_old_password_utf8(m_am_tools); - status = m_am_tools->convert_unicode_to_utf8(tmp_old_password_utf8, tmp_old_password_unicode); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void) EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - status = m_old_password_utf8->set_copy_of_buffer(&tmp_old_password_utf8); - if (status != eap_status_ok) - { - get_am_partner()->finish_unsuccessful_authentication(false); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - } - } - - status = get_am_partner()->complete_change_password_query(); - } - break; - - default: - EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EAP - MS-Chap-V2 illegal state in RunL.\n"))); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - - } - } - -//-------------------------------------------------- void eap_am_type_mschapv2_symbian_c::RunL() { @@ -498,6 +301,221 @@ EAPL("m_state, iStatus.Int()=%d\n"), m_state, iStatus.Int())); + if (iStatus.Int() == KErrCancel) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eap_am_type_mschapv2_symbian_c::RunL - User seems to have cancelled the prompt. Stop Immediately.\n"))); + + // User cancelled the password prompt. Stop everything. + // Appropriate error notification is sent from finish_unsuccessful_authentication. + get_am_partner()->finish_unsuccessful_authentication(true); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; + } + + if (iStatus.Int() != KErrNone) + { + // Something is very wrong... + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: EAP - MS-Chap-V2 notifier or dialog, iStatus.Int()=%d\n"), iStatus.Int())); + + send_error_notification(eap_status_authentication_failure); + + get_am_partner()->finish_unsuccessful_authentication(false); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; + } + + eap_status_e status(eap_status_ok); + + switch (m_state) + { + case EHandlingUsernamePasswordQuery: + { + if (m_username_password_io_ptr->iPasswordPromptEnabled) + { + *m_password_prompt_enabled = true; + } + else + { + *m_password_prompt_enabled = false; + } + + { + eap_variable_data_c tmp_username_unicode( + m_am_tools); + + status = tmp_username_unicode.set_buffer( + m_username_password_io_ptr->iUsername.Ptr(), + m_username_password_io_ptr->iUsername.Size(), + false, + false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void) EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + eap_variable_data_c tmp_username_utf8(m_am_tools); + status = m_am_tools->convert_unicode_to_utf8(tmp_username_utf8, tmp_username_unicode); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void) EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + status = m_username_utf8->set_copy_of_buffer(&tmp_username_utf8); + if (status != eap_status_ok) + { + get_am_partner()->finish_unsuccessful_authentication(false); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void) EAP_STATUS_RETURN(m_am_tools, status); + return; + } + } + + { + eap_variable_data_c tmp_password_unicode( + m_am_tools); + + status = tmp_password_unicode.set_buffer( + m_username_password_io_ptr->iPassword.Ptr(), + m_username_password_io_ptr->iPassword.Size(), + false, + false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void) EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + eap_variable_data_c tmp_password_utf8(m_am_tools); + status = m_am_tools->convert_unicode_to_utf8(tmp_password_utf8, tmp_password_unicode); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void) EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + status = m_password_utf8->set_copy_of_buffer(&tmp_password_utf8); + if (status != eap_status_ok) + { + get_am_partner()->finish_unsuccessful_authentication(false); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void) EAP_STATUS_RETURN(m_am_tools, status); + return; + } + } + + // Store username and/or password if "Prompt for username" is enabled + status = update_username_password(); + if (status != eap_status_ok) + { + get_am_partner()->finish_unsuccessful_authentication(false); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; + } + + if (m_is_identity_query) + { + status = get_am_partner()->complete_eap_identity_query(); + } + else + { + status = get_am_partner()->complete_failure_retry_response(); + } + } + break; + + case EHandlingChangePasswordQuery: + { + { + eap_variable_data_c tmp_password_unicode( + m_am_tools); + + status = tmp_password_unicode.set_buffer( + m_username_password_io_ptr->iPassword.Ptr(), + m_username_password_io_ptr->iPassword.Size(), + false, + false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void) EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + eap_variable_data_c tmp_password_utf8(m_am_tools); + status = m_am_tools->convert_unicode_to_utf8(tmp_password_utf8, tmp_password_unicode); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void) EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + eap_status_e status = m_password_utf8->set_copy_of_buffer(&tmp_password_utf8); + if (status != eap_status_ok) + { + get_am_partner()->finish_unsuccessful_authentication(false); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; + } + } + + { + eap_variable_data_c tmp_old_password_unicode( + m_am_tools); + + status = tmp_old_password_unicode.set_buffer( + m_username_password_io_ptr->iOldPassword.Ptr(), + m_username_password_io_ptr->iOldPassword.Size(), + false, + false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void) EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + eap_variable_data_c tmp_old_password_utf8(m_am_tools); + status = m_am_tools->convert_unicode_to_utf8(tmp_old_password_utf8, tmp_old_password_unicode); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void) EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + status = m_old_password_utf8->set_copy_of_buffer(&tmp_old_password_utf8); + if (status != eap_status_ok) + { + get_am_partner()->finish_unsuccessful_authentication(false); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; + } + } + + status = get_am_partner()->complete_change_password_query(); + } + break; + + default: + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EAP - MS-Chap-V2 illegal state in RunL.\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; + } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } @@ -506,13 +524,28 @@ void eap_am_type_mschapv2_symbian_c::DoCancel() { - if (iEapAuthNotifier != 0) - { - iEapAuthNotifier->Cancel(); - } + if( m_is_notifier_connected ) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eap_am_type_mschapv2_symbian_c::DoCancel - calling m_notifier.CancelNotifier(..)\n"))); + + TInt error = KErrNone; + EAP_UNREFERENCED_PARAMETER(error); + error = m_notifier.CancelNotifier(KEapMsChapV2UsernamePasswordUid); - + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eap_am_type_mschapv2_symbian_c::DoCancel - calling m_notifier.Close(), prev error=%d\n"), + error)); + + m_notifier.Close(); // Call close only if it is connected. + + m_is_notifier_connected = false; } +} //-------------------------------------------------- @@ -571,19 +604,16 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLQueryRow, - &unicodeString, - &KMsChapV2TableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQueryRow, + &unicodeString, + &KMsChapV2TableName, + &KServiceType, + m_index_type, + &KServiceIndex, + m_index, + &KTunnelingType, + m_tunneling_vendor_type); RDbView view; User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -681,7 +711,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_mschapv2_symbian_c::update_username_password() +eap_status_e eap_am_type_mschapv2_symbian_c::update_username_password() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); eap_status_e status(eap_status_ok); @@ -720,21 +750,18 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLUpdate, "SELECT %S,%S,%S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLUpdate, - &cf_str_EAP_MSCHAPV2_username_literal, - &cf_str_EAP_MSCHAPV2_password_prompt_literal, - &cf_str_EAP_MSCHAPV2_password_literal, - &KMsChapV2TableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLUpdate, "SELECT %S,%S,%S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLUpdate, + &cf_str_EAP_MSCHAPV2_username_literal, + &cf_str_EAP_MSCHAPV2_password_prompt_literal, + &cf_str_EAP_MSCHAPV2_password_literal, + &KMsChapV2TableName, + &KServiceType, + m_index_type, + &KServiceIndex, + m_index, + &KTunnelingType, + m_tunneling_vendor_type); RDbView view; User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), RDbView::EUpdatable)); @@ -794,7 +821,7 @@ if (*m_password_prompt_enabled) { // Username and password prompt flag is stored, password is cleared - view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EEapDbTrue); + view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EMSCHAPV2PasswordPromptOn); view.SetColNullL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal)); } else @@ -826,7 +853,7 @@ User::Leave(KErrArgument); } - view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EEapDbFalse); + view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EMSCHAPV2PasswordPromptOff); // Length is ok. Set the value in DB. view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal), password); @@ -851,7 +878,7 @@ // Read Maximum Session Validity Time from the config file eap_variable_data_c sessionTimeFromFile(m_am_tools); - eap_status_e status = type_configure_read( + eap_status_e status = m_partner->read_configure( cf_str_EAP_MSCHAPv2_max_session_validity_time.get_field(), &sessionTimeFromFile); @@ -889,97 +916,99 @@ bool & password_prompt_enabled, bool is_identity_query) { - eap_status_e status = eap_status_ok; EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_mschapv2_symbian_c::show_username_password_dialog - start, password_prompt_enabled=%d,is_identity_query=%d\n"), password_prompt_enabled, is_identity_query)); - + m_username_utf8 = &username_utf8; m_password_utf8 = &password_utf8; m_password_prompt_enabled = &password_prompt_enabled; m_is_identity_query = is_identity_query; - if (*m_password_prompt_enabled == true) + if (!IsActive()) { - m_username_password_io_ptr->iPasswordPromptEnabled = ETrue; - } - else - { - m_username_password_io_ptr->iPasswordPromptEnabled = EFalse; - } + if (*m_password_prompt_enabled == true) + { + m_username_password_io_ptr->iPasswordPromptEnabled = ETrue; + } + else + { + m_username_password_io_ptr->iPasswordPromptEnabled = EFalse; + } - if (m_is_identity_query == true) - { - m_username_password_io_ptr->iIsIdentityQuery = ETrue; - } - else - { - m_username_password_io_ptr->iIsIdentityQuery = EFalse; - } + if (m_is_identity_query == true) + { + m_username_password_io_ptr->iIsIdentityQuery = ETrue; + } + else + { + m_username_password_io_ptr->iIsIdentityQuery = EFalse; + } - eap_variable_data_c tmp_username_unicode(m_am_tools); - status = m_am_tools->convert_utf8_to_unicode(tmp_username_unicode, *m_username_utf8); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } + { + eap_variable_data_c tmp_username_unicode(m_am_tools); + eap_status_e status = m_am_tools->convert_utf8_to_unicode(tmp_username_unicode, *m_username_utf8); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } - m_username_password_io_ptr->iUsername.Copy( - reinterpret_cast ( - tmp_username_unicode.get_data(tmp_username_unicode.get_data_length())), - tmp_username_unicode.get_data_length() / 2); // 8bit -> 16bit + m_username_password_io_ptr->iUsername.Copy( + reinterpret_cast ( + tmp_username_unicode.get_data(tmp_username_unicode.get_data_length())), + tmp_username_unicode.get_data_length() / 2); // 8bit -> 16bit + } - m_state = EHandlingUsernamePasswordQuery; + m_state = EHandlingUsernamePasswordQuery; + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL(" eap_am_type_mschapv2_symbian_c::show_username_password_dialog - before m_notifier.Connect(), m_is_notifier_connected=%d\n"), + m_is_notifier_connected)); + + if( !m_is_notifier_connected ) + { + TInt error = m_notifier.Connect(); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL(" eap_am_type_mschapv2_symbian_c::show_username_password_dialog - m_notifier.Connect() returned error=%d\n"), + error)); + + if( error != KErrNone) + { + // Can not connect to notifier. + return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); + } + + m_is_notifier_connected = true; // Got connectted to notifier. + } EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL(" eap_am_type_mschapv2_symbian_c::show_username_password_dialog - before m_notifier.StartNotifierAndGetResponse()\n"))); - TInt err1 = KErrNone; - - TRAPD(err, err1 = IsDlgReadyToCompleteL()); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_mschapv2_symbian_c::show_username_password_dialog(): err=%d, result= %d\n"), - err, - err1)); + m_notifier.StartNotifierAndGetResponse( + iStatus, + KEapMsChapV2UsernamePasswordUid, + *m_username_password_io_pckg_ptr, + *m_username_password_io_pckg_ptr); - if (*m_password_prompt_enabled == true || err || err1 == KErrCancel) - { - TEapExpandedType aEapType(*EapExpandedTypeMsChapv2.GetType()); - m_username_password_io_ptr->iPassword.Zero(); - if (iEapAuthNotifier == 0) - { - TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this )); - if (err) - { - return eap_status_authentication_failure; - } - } - else - { - iEapAuthNotifier->Cancel(); - } - - TRAPD(err1, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeMsChapV2UsernamePasswordDialog, m_username_password_io_ptr, aEapType)); - if (err1) - { - return eap_status_authentication_failure; - } - } + SetActive(); + } else { - DlgComplete( status ); - return status; + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_mschapv2_symbian_c: Already active when tried to show username/password dialog.\n"))); + return eap_status_process_general_error; } return eap_status_pending_request; @@ -987,129 +1016,6 @@ //-------------------------------------------------- -TInt eap_am_type_mschapv2_symbian_c::IsDlgReadyToCompleteL() - { - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_mschapv2_symbian_c::IsDlgReadyToCompleteL(): m_index_type=%d, m_index=%d, m_tunneling_type=0xfe%06x%08x\n"), - m_index_type, - m_index, - m_tunneling_type.get_vendor_id(), - m_tunneling_type.get_vendor_type())); - - TInt status = KErrNone; - HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); - TPtr sqlStatement = buf->Des(); - - // Query all the relevant parameters - _LIT(KSQLQuery, "SELECT %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format( - KSQLQuery, - &cf_str_EAP_MSCHAPV2_password_prompt_literal, - &cf_str_EAP_MSCHAPV2_username_literal, - &cf_str_EAP_MSCHAPV2_password_literal, - &KMsChapV2TableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); - - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_mschapv2_symbian_c::IsDlgReadyToCompleteL(): Opens view\n"))); - - RDbView view; - // Evaluate view - User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); - CleanupClosePushL(view); - - User::LeaveIfError(view.EvaluateAll()); - - // Get the first (and only) row - view.FirstL(); - view.GetL(); - - // Get column set so we get the correct column numbers - CDbColSet* colSet = view.ColSetL(); - CleanupStack::PushL(colSet); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_leap_symbian_c::IsDlgReadyToCompleteL(): Reads database\n"))); - - TPtrC username = view.ColDes(colSet->ColNo( cf_str_EAP_MSCHAPV2_username_literal ) ); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_mschapv2_symbian_c::IsDlgReadyToCompleteL(): username"), - username.Ptr(), - username.Size())); - - TPtrC password = view.ColDes(colSet->ColNo( cf_str_EAP_MSCHAPV2_password_literal ) ); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_mschapv2_symbian_c::IsDlgReadyToCompleteL(): password"), - password.Ptr(), - password.Size())); - - TUint prompt = view.ColUint(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal)); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_mschapv2_symbian_c::IsDlgReadyToCompleteL(): prompt=%d\n"), - prompt)); - - - if ((EEapDbFalse != prompt) - || (username.Size() == 0) - || (password.Size() == 0)) - { - - if (username.Size() == 0) - { - m_username_password_io_ptr->iUsername.Zero(); - } - else - { - m_username_password_io_ptr->iUsername.Copy(username); - } - - status = KErrCancel; - } - else - { - status = KErrNone; - m_username_password_io_ptr->iUsername.Copy(username); - m_username_password_io_ptr->iPassword.Copy(password); - } - - CleanupStack::PopAndDestroy(colSet); // Delete colSet. - CleanupStack::PopAndDestroy(&view); // Close view. - CleanupStack::PopAndDestroy(buf); // Delete buf. - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_mschapv2_symbian_c::IsDlgReadyToCompleteL(): status=%d\n"), - status)); - - return status; - } - eap_status_e eap_am_type_mschapv2_symbian_c::show_change_password_dialog( eap_variable_data_c & /* username */, eap_variable_data_c & /* old_password */, @@ -1138,8 +1044,68 @@ m_old_password_utf8 = &old_password; m_password_prompt_enabled = &password_prompt_enabled; + if (!IsActive()) + { + { + eap_variable_data_c tmp_username_unicode(m_am_tools); + eap_status_e status = m_am_tools->convert_utf8_to_unicode(tmp_username_unicode, *m_username_utf8); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + m_username_password_io_ptr->iUsername.Copy( + reinterpret_cast ( + tmp_username_unicode.get_data(tmp_username_unicode.get_data_length())), + tmp_username_unicode.get_data_length() / 2); // 8bit -> 16bit + } + m_state = EHandlingChangePasswordQuery; + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL(" eap_am_type_mschapv2_symbian_c::show_change_password_dialog - before m_notifier.Connect(), m_is_notifier_connected=%d\n"), + m_is_notifier_connected)); + + if( !m_is_notifier_connected ) + { + TInt error = m_notifier.Connect(); + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL(" eap_am_type_mschapv2_symbian_c::show_change_password_dialog - m_notifier.Connect() returned error=%d\n"), + error)); + + if( error != KErrNone) + { + // Can not connect to notifier. + return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); + } + + m_is_notifier_connected = true; // Got connectted to notifier. + } + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL(" eap_am_type_mschapv2_symbian_c::show_change_password_dialog - before m_notifier.StartNotifierAndGetResponse()\n"))); + + m_notifier.StartNotifierAndGetResponse( + iStatus, + KEapMsChapV2ChangePasswordUid, + *m_username_password_io_pckg_ptr, + *m_username_password_io_pckg_ptr); + + SetActive(); + } + else + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_mschapv2_symbian_c: Already active when tried to show change password dialog.\n"))); + return eap_status_process_general_error; + } return eap_status_pending_request; @@ -1213,29 +1179,13 @@ return EAP_STATUS_RETURN(m_am_tools, status); } + status = memory_store_key->add_data( + &m_tunneling_vendor_type, + sizeof(m_tunneling_vendor_type)); + if (status != eap_status_ok) { - u32_t vendor_id = m_tunneling_type.get_vendor_id(); - - status = memory_store_key->add_data( - &vendor_id, - sizeof(vendor_id)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - { - u32_t vendor_type = m_tunneling_type.get_vendor_type(); - status = memory_store_key->add_data( - &vendor_type, - sizeof(vendor_type)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1278,20 +1228,11 @@ TPtr sqlStatement = buf->Des(); // Query all the relevant parameters - _LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLQuery, - &cf_str_EAP_MSCHAPv2_max_session_validity_time_literal, - &KMSCHAPv2LastFullAuthTime, - &KMsChapV2TableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &cf_str_EAP_MSCHAPv2_max_session_validity_time_literal, + &KMSCHAPv2LastFullAuthTime, &KMsChapV2TableName, + &KServiceType, m_index_type, + &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); RDbView view; // Evaluate view @@ -1428,19 +1369,10 @@ TPtr sqlStatement = buf->Des(); // Query all the relevant parameters - _LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format( - KSQLQuery, - &KMSCHAPv2LastFullAuthTime, - &KMsChapV2TableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KMSCHAPv2LastFullAuthTime, &KMsChapV2TableName, + &KServiceType, m_index_type, + &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); RDbView view; // Evaluate view diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2.h --- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,14 +16,14 @@ */ /* -* %version: 19 % +* %version: 11.1.2 % */ #ifndef _EAPMSCHAPV2_H_ #define _EAPMSCHAPV2_H_ // INCLUDES -#include +#include #include "eap_header.h" // LOCAL CONSTANTS @@ -33,7 +33,7 @@ * Class that implements the generic EAP type interface. Implements EAP MSCHAPv2 and * plain MSCHAPv2 protocol. */ -class CEapMsChapV2 : public CEapTypePlugin +class CEapMsChapV2 : public CEapType { public: /** @@ -93,13 +93,16 @@ #endif // #ifdef USE_EAP_SIMPLE_CONFIG - + /** + * Invokes the configuration UI. + **/ + TInt InvokeUiL(); /** * Gets information about EAP type. * @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack. */ - CEapTypeInfo* GetInfoL(); + CEapTypeInfo* GetInfoLC(); /** * Deletes EAP type configuration @@ -121,7 +124,7 @@ * EAP type. * @param aTunnelingType Type number for the tunneling type */ - void SetTunnelingType(const TEapExpandedType aTunnelingType); + void SetTunnelingType(const TInt aTunnelingType); /** * Changes the index of the saved parameters. @@ -156,7 +159,7 @@ * Constructor initialises member variables. */ CEapMsChapV2(const TIndexType aIndexType, const TInt aIndex, - const eap_type_value_e aEapType ); + const eap_type_value_e aEapType = eap_type_mschapv2 ); private: diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbDefaults.h --- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbDefaults.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbDefaults.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,12 +16,29 @@ */ /* -* %version: % +* %version: 12 % */ #ifndef _EAPMSCHAPV2DBDEFAULTS_H_ #define _EAPMSCHAPV2DBDEFAULTS_H_ -#include "EapPluginDbDefaults.h" +enum TMSCHAPV2PasswordPrompt +{ + EMSCHAPV2PasswordPromptOff, // False. Don't show password prompt. + EMSCHAPV2PasswordPromptOn, // True. Show password prompt. +}; + +// LOCAL CONSTANTS + +const TUint default_EAP_MSCHAPV2_password_prompt = EMSCHAPV2PasswordPromptOff; + +_LIT(default_EAP_MSCHAPV2_username, ""); +_LIT(default_EAP_MSCHAPV2_password, ""); + +const TInt64 default_MaxSessionTime = 0; // 0 means read from configuration file. +const TInt64 default_FullAuthTime = 0; + +const TUint KMaxUsernameLengthInDB = 255; +const TUint KMaxPasswordLengthInDB = 255; #endif // _EAPMSCHAPV2DBDEFAULTS_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbParameterNames.h --- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbParameterNames.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbParameterNames.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8.1.2 % */ #ifndef EAPMSCHAPV2DBPARAMETERNAMES_H @@ -28,7 +28,6 @@ _LIT(KServiceType, "ServiceType"); _LIT(KServiceIndex, "ServiceIndex"); -_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId"); _LIT(KTunnelingType, "TunnelingType"); _LIT(KMSCHAPv2LastFullAuthTime, "EAP_MSCHAPv2_last_full_authentication_time"); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbUtils.h --- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbUtils.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbUtils.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.8 % +* %version: 10 % */ #ifndef _EAPMSCHAPV2DBUTILS_H_ @@ -30,10 +30,21 @@ // LOCAL CONSTANTS -// For EAP-MsChapV2 private database. Database will be in the private folder of EAP-server (20026FCB). -// The maximum length of database name is 0x40 (KDbMaxName), which is defined in d32dbms.h. +#ifdef SYMBIAN_SECURE_DBMS +// For EAP MSCHAPV2 secure database. +// Full path is not needed. The database eapmsmhapv2.dat will be saved in the +// data cage path for DBMS. So it will be in "\private\100012a5\eapmsmhapv2.dat" in C: drive. +// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h. + +_LIT(KDatabaseName, "c:eapmschapv2.dat"); -_LIT(KEapMsChapV2DatabaseName, "eapmschapv2.dat"); +_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy. + +#else + +_LIT(KDatabaseName, "c:\\system\\data\\eapmschapv2.dat"); + +#endif // #ifdef SYMBIAN_SECURE_DBMS _LIT(KMsChapV2TableName, "eapmschapv2"); @@ -43,8 +54,8 @@ public: static void OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, + RDbNamedDatabase& aDatabase, + RDbs& aSession, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); @@ -88,6 +99,7 @@ const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); + }; #endif // _EAPMSCHAPV2DBUTILS_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2Global.h --- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2Global.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2Global.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #ifndef _EAPMSCHAPV2GLOBAL_H_ @@ -24,9 +24,9 @@ // LOCAL CONSTANTS -_LIT(KReleaseDate, ""); // Must be in format YYYYMMDD: (dates and months start from 0) +_LIT(KReleaseDate, "20040829:"); // Must be in format YYYYMMDD: (dates and months start from 0) _LIT(KEapTypeVersion, "1.0"); -_LIT(KManufacturer, ""); +_LIT(KManufacturer, "Nokia"); _LIT(KNokiaSignature, ""); _LIT(KExtraInfo1, ""); _LIT(KExtraInfo2, ""); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/101F8E66.rss --- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/101F8E66.rss Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/101F8E66.rss Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 11.1.3 % +* %version: 14 % */ // INCLUDES diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 31 % +* %version: 17.1.3 % */ // This is enumeration of EAPOL source code. @@ -37,8 +37,8 @@ #include #include "EapMsChapV2DbUtils.h" -#include "EapConversion.h" -#include "EapTraceSymbian.h" +#include +#include "EapMschapv2Ui.h" // LOCAL CONSTANTS @@ -49,41 +49,34 @@ // ================= MEMBER FUNCTIONS ======================= -CEapMsChapV2::CEapMsChapV2( - const TIndexType aIndexType, - const TInt aIndex, - const eap_type_value_e aEapType) +CEapMsChapV2::CEapMsChapV2(const TIndexType aIndexType, + const TInt aIndex, const eap_type_value_e aEapType /* =eap_type_mschapv2 */) : iIndexType(aIndexType) , iIndex(aIndex) , iTunnelingType(eap_type_none) , iEapType(aEapType) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::CEapMsChapV2()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::CEapMsChapV2()\n")); - } // ---------------------------------------------------------- CEapMsChapV2* CEapMsChapV2::NewL(SIapInfo *aIapInfo) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::NewL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::NewL()\n")); - - return new (ELeave) CEapMsChapV2(aIapInfo->indexType, aIapInfo->index, eap_type_mschapv2); + return new (ELeave) CEapMsChapV2(aIapInfo->indexType, aIapInfo->index); } // ---------------------------------------------------------- CEapMsChapV2* CEapMsChapV2::NewPlainMSCHAPv2L(SIapInfo *aIapInfo) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::NewPlainMSCHAPv2L()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::NewPlainMSCHAPv2L()\n")); - return new (ELeave) CEapMsChapV2( aIapInfo->indexType, aIapInfo->index, +#if defined(USE_EAP_EXPANDED_TYPES) eap_expanded_type_ttls_plain_mschapv2.get_type() +#else + eap_type_plain_mschapv2 +#endif //#if defined(USE_EAP_EXPANDED_TYPES) ); } @@ -92,9 +85,6 @@ CEapMsChapV2::~CEapMsChapV2() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::~CEapMsChapV2()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::~CEapMsChapV2()\n")); - } // ---------------------------------------------------------- @@ -116,9 +106,6 @@ #endif // #ifdef USE_EAP_SIMPLE_CONFIG { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::GetStackInterfaceL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::GetStackInterfaceL()\n")); - // Create AM eap_am_type_mschapv2_symbian_c* amEapType = eap_am_type_mschapv2_symbian_c::NewL( aTools, @@ -166,24 +153,43 @@ TUint CEapMsChapV2::GetInterfaceVersion() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::GetInterfaceVersion()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::GetInterfaceVersion()\n")); - return KInterfaceVersion; } + // ---------------------------------------------------------- - -CEapTypeInfo* CEapMsChapV2::GetInfoL() +TInt CEapMsChapV2::InvokeUiL() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::GetInfoL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::GetInfoL()\n")); + TInt buttonId(0); + +#ifdef USE_EAP_EXPANDED_TYPES + + CEapMsChapV2UiConnection uiConn(iIndexType, iIndex, + iTunnelingType.get_vendor_type(), iEapType.get_vendor_type()); + +#else + + CEapMsChapV2UiConnection uiConn(iIndexType, iIndex, iTunnelingType, (TInt)iEapType); +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + CEapMsChapV2Ui* ui = CEapMsChapV2Ui::NewL(&uiConn); + CleanupStack::PushL(ui); + buttonId = ui->InvokeUiL(); + CleanupStack::PopAndDestroy(ui); + return buttonId; +} + + +// ---------------------------------------------------------- +CEapTypeInfo* CEapMsChapV2::GetInfoLC() +{ CEapTypeInfo* info = new(ELeave) CEapTypeInfo( (TDesC&)KReleaseDate, (TDesC&)KEapTypeVersion, (TDesC&)KManufacturer); + CleanupStack::PushL(info); return info; } @@ -191,42 +197,30 @@ void CEapMsChapV2::DeleteConfigurationL() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::DeleteConfigurationL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::DeleteConfigurationL()\n")); - EapMsChapV2DbUtils::DeleteConfigurationL(iIndexType, iIndex, iTunnelingType); } // ---------------------------------------------------------- -void CEapMsChapV2::SetTunnelingType(const TEapExpandedType aTunnelingType) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::SetTunnelingType()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::SetTunnelingType()\n")); +void CEapMsChapV2::SetTunnelingType(const TInt aTunnelingType) +{ +#ifdef USE_EAP_EXPANDED_TYPES + + // Vendor id is eap_type_vendor_id_ietf always in this plugin. + iTunnelingType.set_eap_type_values(eap_type_vendor_id_ietf, aTunnelingType); - EAP_TRACE_DATA_DEBUG_SYMBIAN( - (EAPL("CEapMsChapV2::SetTunnelingType - tunneling type"), - aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length())); - - eap_type_value_e aInternalType; - - TInt err = CEapConversion::ConvertExpandedEAPTypeToInternalType( - &aTunnelingType, - &aInternalType); - - iTunnelingType = aInternalType; - - } +#else + + iTunnelingType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES +} // ---------------------------------------------------------- - void CEapMsChapV2::SetIndexL( const TIndexType aIndexType, const TInt aIndex) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::SetIndexL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::SetIndexL()\n")); - // First delete the target configuration TIndexType tmpIndexType = iIndexType; TInt tmpIndex = iIndex; @@ -244,16 +238,13 @@ RDbNamedDatabase db; - RFs session; + RDbs session; + + EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::SetIndexL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); - + EapMsChapV2DbUtils::SetIndexL( db, iIndexType, @@ -266,30 +257,20 @@ iIndexType = aIndexType; iIndex = aIndex; - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + CleanupStack::PopAndDestroy(2); // db } void CEapMsChapV2::SetConfigurationL(const EAPSettings& aSettings) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::SetConfigurationL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::SetConfigurationL()\n")); - RDbNamedDatabase db; - RFs session; + RDbs session; + + // This also creates the IAP entry if it doesn't exist + EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::SetConfigurationL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - // This also creates the IAP entry if it doesn't exist - EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); EapMsChapV2DbUtils::SetConfigurationL( db, @@ -298,30 +279,20 @@ iIndex, iTunnelingType); - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + CleanupStack::PopAndDestroy(2); // db, session } void CEapMsChapV2::GetConfigurationL(EAPSettings& aSettings) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::GetConfigurationL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::GetConfigurationL()\n")); - RDbNamedDatabase db; - RFs session; + RDbs session; + + // This also creates the IAP entry if it doesn't exist + EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::GetConfigurationL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - // This also creates the IAP entry if it doesn't exist - EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); EapMsChapV2DbUtils::GetConfigurationL( db, @@ -329,31 +300,14 @@ iIndexType, iIndex, iTunnelingType); - - // Plain-MsChapv2 and EAP-MsChapv2 uses the same database. - // Here we set the correct authentication method to read settings. - error = CEapConversion::ConvertInternalTypeToExpandedEAPType( - &iEapType, - &aSettings.iEAPExpandedType); - if (error != KErrNone) - { - User::Leave(error); - } - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + CleanupStack::PopAndDestroy(2); // db, session } void CEapMsChapV2::CopySettingsL( const TIndexType aDestinationIndexType, const TInt aDestinationIndex) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::CopySettingsL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::CopySettingsL()\n")); - // First delete the target configuration TIndexType tmpIndexType = iIndexType; TInt tmpIndex = iIndex; @@ -371,16 +325,13 @@ RDbNamedDatabase db; - RFs session; + RDbs session; + + EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::CopySettingsL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); - + EapMsChapV2DbUtils::CopySettingsL( db, iIndexType, @@ -390,11 +341,7 @@ aDestinationIndex, iTunnelingType); - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + CleanupStack::PopAndDestroy(2); // db } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2DbUtils.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2DbUtils.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2DbUtils.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 56 % +* %version: 21.1.2 % */ // This is enumeration of EAPOL source code. @@ -34,96 +34,116 @@ #include "EapMsChapV2DbDefaults.h" #include "EapMsChapV2DbParameterNames.h" -#include -#include "EapPluginTools.h" +#include "eap_am_trace_symbian.h" const TUint KMaxSqlQueryLength = 512; const TInt KMicroSecsInAMinute = 60000000; // 60000000 micro seconds is 1 minute. // ================= MEMBER FUNCTIONS ======================= -void EapMsChapV2DbUtils::OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - const TIndexType aIndexType, - const TInt aIndex, - const eap_type_value_e aTunnelingType) +void EapMsChapV2DbUtils::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession, const TIndexType aIndexType, + const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapMsChapV2DbUtils::OpenDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + +#else - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::OpenDatabaseL()\n")); + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=%d \n"), + aIndexType,aIndex,aTunnelingVendorType) ); // 1. Open/create a database - TInt error(KErrNone); - TFileName aPrivateDatabasePathName; + // Connect to the DBMS server. + User::LeaveIfError(aSession.Connect()); + CleanupClosePushL(aSession); + // aSession and aDatabase are pushed to the cleanup stack even though they may be member + // variables of the calling class and would be closed in the destructor anyway. This ensures + // that if they are not member variables they will be closed. Closing the handle twice + // does no harm. + +#ifdef SYMBIAN_SECURE_DBMS + + // Create the secure shared database with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = aDatabase.Create(aSession, KDatabaseName, KSecureUIDFormat); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL - Created Secure DB for eapmsmhapv2.dat. err=%d\n"), err)); - EapPluginTools::CreateDatabaseLC( - aDatabase, - aFileServerSession, - error, - KEapMsChapV2DatabaseName, - aPrivateDatabasePathName); - - if(error == KErrNone) + + if(err == KErrNone) { aDatabase.Close(); - } - else if (error != KErrAlreadyExists) + + } else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): - calls aDatabase.Open()\n"))); - - error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): - Opened private DB for EAP-MsChapV2. error=%d\n"), error)); - - User::LeaveIfError(error); + User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName, KSecureUIDFormat)); + CleanupClosePushL(aDatabase); + +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + TInt err = aDatabase.Create(fsSession, KDatabaseName); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL - Created Non-Secure DB for eapmsmhapv2.dat. err=%d\n"), err)); - // 2. Create the MSCHAPv2 table to database (ignore error if database exists) - // Table columns: - //// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant ///////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| EAP_MSCHAPV2_password_prompt | UNSIGNED INTEGER | cf_str_EAP_MSCHAPV2_password_prompt_literal |// - //| EAP_MSCHAPV2_username | VARCHAR(255) | cf_str_EAP_MSCHAPV2_username_literal |// - //| EAP_MSCHAPV2_password | VARCHAR(255) | cf_str_EAP_MSCHAPV2_password_literal |// - //| EAP_MSCHAPv2_max_session_validity_time | BIGINT | cf_str_EAP_MSCHAPv2_max_session_validity_time_literal |// - //| EAP_MSCHAPv2_last_full_authentication_time | BIGINT | KMSCHAPv2LastFullAuthTime |// - ////////////////////////////////////////////////////////////////////////////////////////////////// + + if(err == KErrNone) + { + aDatabase.Close(); + + } else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + CleanupStack::PopAndDestroy(); // close fsSession + + User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName)); + CleanupClosePushL(aDatabase); + +#endif // #ifdef SYMBIAN_SECURE_DBMS - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls HBufC::NewLC()\n"))); +// 2. Create the MSCHAPv2 table to database (ignore error if database exists) +// Table columns: +//// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant ///////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| EAP_MSCHAPV2_password_prompt | UNSIGNED INTEGER | cf_str_EAP_MSCHAPV2_password_prompt_literal |// +//| EAP_MSCHAPV2_username | VARCHAR(255) | cf_str_EAP_MSCHAPV2_username_literal |// +//| EAP_MSCHAPV2_password | VARCHAR(255) | cf_str_EAP_MSCHAPV2_password_literal |// +//| EAP_MSCHAPv2_max_session_validity_time | BIGINT | cf_str_EAP_MSCHAPv2_max_session_validity_time_literal |// +//| EAP_MSCHAPv2_last_full_authentication_time | BIGINT | KMSCHAPv2LastFullAuthTime |// +////////////////////////////////////////////////////////////////////////////////////////////////// HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLCreateTable1, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(255), \ - %S VARCHAR(255), \ - %S BIGINT, \ - %S BIGINT)"); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls sqlStatement.Format()\n"))); + _LIT(KSQLCreateTable1, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(255), \ + %S VARCHAR(255), \ + %S BIGINT, \ + %S BIGINT)"); sqlStatement.Format(KSQLCreateTable1, &KMsChapV2TableName, &KServiceType, &KServiceIndex, - &KTunnelingTypeVendorId, &KTunnelingType, &cf_str_EAP_MSCHAPV2_password_prompt_literal, &cf_str_EAP_MSCHAPV2_username_literal, @@ -131,100 +151,57 @@ &cf_str_EAP_MSCHAPv2_max_session_validity_time_literal, &KMSCHAPv2LastFullAuthTime); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls aDatabase.Execute()\n"))); - - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapMsChapV2DbUtils::OpenDatabaseL(): aDatabase.Execute() error=%d\n"), - error)); - - User::Leave(error); + User::Leave(err); } // 4. Check if database table contains a row for this service type and id - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls sqlStatement.Format()\n"))); - - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); sqlStatement.Format(KSQLQueryRow, - &cf_str_EAP_MSCHAPV2_username_literal, - &KMsChapV2TableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); - + &cf_str_EAP_MSCHAPV2_username_literal, + &KMsChapV2TableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingType, + aTunnelingVendorType); + RDbView view; - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls view.Prepare()\n"))); - - error = view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): view.Prepare() error=%d\n"), - error)); - - User::LeaveIfError(error); + User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); // View must be closed when no longer needed CleanupClosePushL(view); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls view.EvaluateAll()\n"))); - - error = view.EvaluateAll(); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): view.EvaluateAll() error=%d\n"), - error)); - - User::LeaveIfError(error); + User::LeaveIfError(view.EvaluateAll()); // 5. If row is not found then add it - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls view.CountL()\n"))); - TInt rows = view.CountL(); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): view.CountL() rows=%d\n"), - rows)); - - CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(); // view if (rows == 0) { _LIT(KSQLInsert, "SELECT * FROM %S"); sqlStatement.Format(KSQLInsert, &KMsChapV2TableName); + + view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly); + CleanupClosePushL(view); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls view.Prepare()\n"))); - - error = view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): view.Prepare() error=%d\n"), - error)); - - User::LeaveIfError(error); - CleanupClosePushL(view); - // Get column set so we get the correct column numbers - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls view.ColSetL()\n"))); - CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls view.InsertL()\n"))); - + view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast (aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); + + view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), default_EAP_MSCHAPV2_password_prompt); - view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), default_EAP_password_prompt); + view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_username_literal), default_EAP_MSCHAPV2_username); - view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_username_literal), default_EAP_username); - - view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal), default_EAP_password); + view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal), default_EAP_MSCHAPV2_password); view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPv2_max_session_validity_time_literal), default_MaxSessionTime); @@ -232,15 +209,16 @@ view.PutL(); - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy( colSet ); // Delete colSet. + + CleanupStack::PopAndDestroy( &view ); // Close view. } - + + CleanupStack::PopAndDestroy( buf ); // Delete buf + CleanupStack::Pop( &aDatabase ); + CleanupStack::Pop( &aSession ); + aDatabase.Compact(); - - CleanupStack::PopAndDestroy( buf ); - CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aFileServerSession ); } @@ -253,37 +231,25 @@ const TInt aNewIndex, const eap_type_value_e aNewTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapMsChapV2DbUtils::SetIndexL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapMsChapV2DbUtils::SetIndexL(): -Start- aNewIndexType=%d, aNewIndex=%d, aNewTunnelingType=0xfe%06x%08x\n"), - aNewIndexType, - aNewIndex, - aNewTunnelingType.get_vendor_id(), - aNewTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + TUint aNewTunnelingVendorType = aNewTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::SetIndexL()\n")); +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + TUint aNewTunnelingVendorType = static_cast(aNewTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQL, - &KMsChapV2TableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &KMsChapV2TableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); RDbView view; @@ -313,15 +279,14 @@ view.UpdateL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aNewIndexType)); + view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type()); + + view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType); view.PutL(); - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(3); // view, colset, buf } void EapMsChapV2DbUtils::SetConfigurationL( @@ -331,20 +296,19 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapMsChapV2DbUtils::SetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::SetConfigurationL()\n")); +#else - EAP_TRACE_SETTINGS(&aSettings); + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES // Check if the settings are for the correct type - if (aSettings.iEAPExpandedType != (*EapExpandedTypeMsChapv2.GetType()) - && aSettings.iEAPExpandedType != (*EapExpandedPlainMsChapv2.GetType())) + if (aSettings.iEAPType != EAPSettings::EEapMschapv2 && + aSettings.iEAPType != EAPSettings::EPlainMschapv2) { User::Leave(KErrNotSupported); } @@ -354,18 +318,9 @@ RDbView view; - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQLQuery, - &KMsChapV2TableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KMsChapV2TableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -390,7 +345,7 @@ { // Username too long. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapMsChapV2DbUtils::SetConfigurationL(): Too long Username. Length=%d \n"), + EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::SetConfigurationL: Too long Username. Length=%d \n"), aSettings.iUsername.Length())); User::Leave(KErrArgument); @@ -400,15 +355,6 @@ view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_username_literal), aSettings.iUsername); } - // Password existence. - if (aSettings.iPasswordExistPresent - && !aSettings.iPasswordExist) - { - // Clear password from database. - view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal), KNullPasswordData); - view.SetColNullL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal)); - } - // Password if (aSettings.iPasswordPresent) { @@ -417,7 +363,7 @@ { // Password too long. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapMsChapV2DbUtils::SetConfigurationL(): Too long Password. Length=%d \n"), + EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::SetConfigurationL: Too long Password. Length=%d \n"), aSettings.iPassword.Length())); User::Leave(KErrArgument); @@ -426,21 +372,10 @@ // Length is ok. Set the value in DB. view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal), aSettings.iPassword); + // If password was supplied set password prompting off + view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EMSCHAPV2PasswordPromptOff); } - if (aSettings.iShowPassWordPromptPresent) - { - // If password was supplied set password prompting off - if (aSettings.iShowPassWordPrompt == EFalse) - { - view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EEapDbFalse ); - } - else - { - view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EEapDbTrue ); - } - } - // Session validity time if (aSettings.iSessionValidityTimePresent) { @@ -457,23 +392,22 @@ if( validityInMicro != 0) { - view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EEapDbTrue); + view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EMSCHAPV2PasswordPromptOn); } } // Last full authentication time should be made zero when EAP configurations are modified. // This makes sure that the next authentication with this EAP would be full authentication // instead of reauthentication even if the session is still valid. - + view.SetColL(colSet->ColNo(KMSCHAPv2LastFullAuthTime), default_FullAuthTime); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::SetConfigurationL(): Session Validity: Resetting Full Auth Time since settings are modified\n"))); - + EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"), + aSettings.iEAPType )); + view.PutL(); + CleanupStack::PopAndDestroy(3); // view, colset, buf - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); } void EapMsChapV2DbUtils::GetConfigurationL( @@ -483,14 +417,15 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapMsChapV2DbUtils::GetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::GetConfigurationL()\n")); +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); @@ -498,18 +433,9 @@ RDbView view; // Form the query - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQLQuery, - &KMsChapV2TableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KMsChapV2TableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -526,38 +452,18 @@ CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - aSettings.iEAPExpandedType = *EapExpandedTypeMsChapv2.GetType(); + aSettings.iEAPType = EAPSettings::EEapMschapv2; // Username TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_MSCHAPV2_username_literal)); aSettings.iUsername.Copy(username); aSettings.iUsernamePresent = ETrue; - // Password existence. - aSettings.iPasswordExistPresent = ETrue; - aSettings.iPasswordExist = ! view.IsColNull(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal)); - -#if defined(USE_EAP_PASSWORD_READ_FROM_DATABASE) // Password TPtrC password = view.ColDes(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal)); aSettings.iPassword.Copy(password); aSettings.iPasswordPresent = ETrue; -#else - EAP_TRACE_DEBUG_SYMBIAN((_L("WARNING: EapMsChapV2DbUtils::GetConfigurationL(): Password read is disabled\n"))); -#endif //#if defined(USE_EAP_PASSWORD_READ_FROM_DATABASE) - aSettings.iShowPassWordPromptPresent = ETrue; - - TUint aShow = view.ColUint(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal)); - if(aShow == EEapDbFalse) - { - aSettings.iShowPassWordPrompt = EFalse; - } - else - { - aSettings.iShowPassWordPrompt = ETrue; - } - // Session validity time TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(cf_str_EAP_MSCHAPv2_max_session_validity_time_literal)); @@ -567,11 +473,7 @@ aSettings.iSessionValidityTime = static_cast(maxSessionTimeMin); aSettings.iSessionValidityTimePresent = ETrue; - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); - - EAP_TRACE_SETTINGS(&aSettings); + CleanupStack::PopAndDestroy(3); // view, colset, buf } void EapMsChapV2DbUtils::CopySettingsL( @@ -583,37 +485,25 @@ const TInt aDestIndex, const eap_type_value_e aDestTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapMsChapV2DbUtils::CopySettingsL(): -Start- aSrcIndexType=%d, aSrcIndex=%d, aSrcTunnelingType=0xfe%06x%08x\n"), - aSrcIndexType, - aSrcIndex, - aSrcTunnelingType.get_vendor_id(), - aSrcTunnelingType.get_vendor_type())); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapMsChapV2DbUtils::CopySettingsL(): -Start- aDestIndexType=%d, aDestTunnelingType=0xfe%06x%08x\n"), - aDestIndexType, - aDestIndex, - aDestTunnelingType.get_vendor_id(), - aDestTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aSrcTunnelingVendorType = aSrcTunnelingType.get_vendor_type(); + TUint aDestTunnelingVendorType = aDestTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::CopySettingsL()\n")); +#else + + TUint aSrcTunnelingVendorType = static_cast(aSrcTunnelingType); + TUint aDestTunnelingVendorType = static_cast(aDestTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQL, - &KMsChapV2TableName, - &KServiceType, - aSrcIndexType, - &KServiceIndex, - aSrcIndex, - &KTunnelingTypeVendorId, - aSrcTunnelingType.get_vendor_id(), - &KTunnelingType, - aSrcTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &KMsChapV2TableName, + &KServiceType, aSrcIndexType, &KServiceIndex, aSrcIndex, &KTunnelingType, aSrcTunnelingVendorType); RDbView view; @@ -644,15 +534,14 @@ CleanupStack::PushL(colSet); view.SetColL(colSet->ColNo(KServiceType), static_cast(aDestIndexType)); + view.SetColL(colSet->ColNo(KServiceIndex), aDestIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type()); + + view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingVendorType); view.PutL(); - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(3); // view, colset, buf } void EapMsChapV2DbUtils::DeleteConfigurationL( @@ -660,88 +549,97 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapMsChapV2DbUtils::DeleteConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::DeleteConfigurationL()\n")); +#else - RDbNamedDatabase aDatabase; - RFs aFileServerSession; + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES - TInt error(KErrNone); - TFileName aPrivateDatabasePathName; + RDbs session; + RDbNamedDatabase database; + // Connect to the DBMS server. + User::LeaveIfError(session.Connect()); + CleanupClosePushL(session); + +#ifdef SYMBIAN_SECURE_DBMS - error = aFileServerSession.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::DeleteConfigurationL(): - aFileServerSession.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapPluginTools::CreateDatabaseLC( - aDatabase, - aFileServerSession, - error, - KEapMsChapV2DatabaseName, - aPrivateDatabasePathName); - - if(error == KErrNone) + // Create the secure shared database with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = database.Create(session, KDatabaseName, KSecureUIDFormat); + + if(err == KErrNone) { // Database was created so it was empty. No need for further actions. - aDatabase.Destroy(); - CleanupStack::PopAndDestroy(&aDatabase); - CleanupStack::PopAndDestroy(&aFileServerSession); + database.Destroy(); + CleanupStack::PopAndDestroy(); return; - } - else if (error != KErrAlreadyExists) + + } + else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::DeleteConfigurationL(): - calls aDatabase.Open()\n"))); - - error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); + // Database existed, open it. + User::LeaveIfError(database.Open(session, KDatabaseName, KSecureUIDFormat)); + CleanupClosePushL(database); + +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + TInt err = database.Create(fsSession, KDatabaseName); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::DeleteConfigurationL(): - Opened private DB for EAP-MsChapV2. error=%d\n"), error)); - - User::LeaveIfError(error); + if(err == KErrNone) + { + // Database was created so it was empty. No need for further actions. + database.Destroy(); + CleanupStack::PopAndDestroy(2); // fsSession, database session + return; + + } + else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + + CleanupStack::PopAndDestroy(); // close fsSession + + User::LeaveIfError(database.Open(session, KDatabaseName)); + CleanupClosePushL(database); + +#endif // #ifdef SYMBIAN_SECURE_DBMS HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); // Main settings table - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQL, - &KMsChapV2TableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); - + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQL, &KMsChapV2TableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view RDbView view; - User::LeaveIfError(view.Prepare(aDatabase,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); // Delete rows if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); - CleanupStack::PopAndDestroy(&aDatabase); - CleanupStack::PopAndDestroy(&aFileServerSession); + // Close database + CleanupStack::PopAndDestroy(4); // view, buf, database, session } // End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2Proxy.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2Proxy.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2Proxy.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 13.1.5 % +* %version: 16 % */ // This is enumeration of EAPOL source code. @@ -32,7 +32,6 @@ #include "EapMsChapV2.h" #include #include -#include "EapTraceSymbian.h" #include "EapolUID.h" @@ -46,9 +45,6 @@ EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ImplementationGroupProxy(): CEapMsChapV2\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: ImplementationGroupProxy(): CEapMsChapV2\n")); - aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); return ImplementationTable; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiConnection.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiConnection.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,140 @@ +/* +* 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. +* +*/ + +/* +* %version: 10.1.2 % +*/ + +// This is enumeration of EAPOL source code. +#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + #undef EAP_FILE_NUMBER_ENUM + #define EAP_FILE_NUMBER_ENUM 298 + #undef EAP_FILE_NUMBER_DATE + #define EAP_FILE_NUMBER_DATE 1127594498 +#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + +#include "EapMsChapV2DbUtils.h" +#include +#include + +CEapMsChapV2UiConnection::CEapMsChapV2UiConnection( + const TIndexType aIndexType, + const TInt aIndex, + const TInt aTunnelingType, + const TInt aEAPType) + : iIndexType(aIndexType) + , iIndex(aIndex) + , iTunnelingType(aTunnelingType) + , iIsConnected(EFalse) + , iDataConn(NULL) + , iEAPType(aEAPType) +{ +} + + +CEapMsChapV2UiConnection::~CEapMsChapV2UiConnection() +{ +} + + +TInt CEapMsChapV2UiConnection::Connect() +{ +#ifdef USE_EAP_EXPANDED_TYPES + + eap_type_value_e tunnelingType(static_cast(iTunnelingType)); + +#else + + eap_type_value_e tunnelingType = static_cast(iTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + TRAPD(err, EapMsChapV2DbUtils::OpenDatabaseL( + iDbNamedDatabase, + iDbs, + iIndexType, + iIndex, + tunnelingType)); + if (err == KErrNone) + { + iIsConnected = ETrue; + } + + return err; +} + + +TInt CEapMsChapV2UiConnection::Close() +{ + if (iIsConnected) + { + iDbNamedDatabase.Close(); + iDbs.Close(); + } + iIsConnected = EFalse; + + return KErrNone; +} + + +CEapMsChapV2UiDataConnection * CEapMsChapV2UiConnection::GetDataConnection() +{ + if (!iDataConn) + { + iDataConn = new CEapMsChapV2UiDataConnection(this); + } + + return iDataConn; +} + +TInt CEapMsChapV2UiConnection::GetDatabase(RDbNamedDatabase & aDatabase) +{ + if (iIsConnected == EFalse) + { + return KErrSessionClosed; + } + + aDatabase = iDbNamedDatabase; + return KErrNone; +} + + +TIndexType CEapMsChapV2UiConnection::GetIndexType() +{ + return iIndexType; +} + + +TInt CEapMsChapV2UiConnection::GetIndex() +{ + return iIndex; +} + + +TInt CEapMsChapV2UiConnection::GetTunnelingType() +{ + return iTunnelingType; +} + +TInt CEapMsChapV2UiConnection::GetBearerEAPType() +{ + return iEAPType; +} + +// End of file + + diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiDataConnection.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiDataConnection.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,253 @@ +/* +* 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. +* +*/ + +/* +* %version: 12.1.2.1.2 % +*/ + +// This is enumeration of EAPOL source code. +#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + #undef EAP_FILE_NUMBER_ENUM + #define EAP_FILE_NUMBER_ENUM 300 + #undef EAP_FILE_NUMBER_DATE + #define EAP_FILE_NUMBER_DATE 1127594498 +#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + +#include +#include "EapMsChapV2DbUtils.h" +#include "EapMsChapV2DbParameterNames.h" +#include "EapMsChapV2DbDefaults.h" +#include +#include +#include +#include "eap_am_trace_symbian.h" + +const TUint KMaxSqlQueryLength = 256; + + +CEapMsChapV2UiDataConnection::CEapMsChapV2UiDataConnection(CEapMsChapV2UiConnection * aUiConn) +: iIsOpened(EFalse) +, iUiConn(aUiConn) +, iColSet(NULL) +, iDataPtr(NULL) +{ +} + + +CEapMsChapV2UiDataConnection::~CEapMsChapV2UiDataConnection() +{ + if (iUiConn) + { + Close(); + iUiConn = NULL; + } +} + + +TInt CEapMsChapV2UiDataConnection::Open() +{ + if (iIsOpened) + { + return KErrAlreadyExists; + } + + TInt err = iUiConn->GetDatabase(iDatabase); + if (err != KErrNone) + { + return err; + } + + iIsOpened = ETrue; + return KErrNone; +} + + +TInt CEapMsChapV2UiDataConnection::GetData(CEapMsChapV2UiMsChapV2Data ** aDataPtr) +{ + if (aDataPtr == NULL) + { + return KErrArgument; + } + if (iIsOpened == EFalse) + { + return KErrSessionClosed; + } + iDataPtr = new CEapMsChapV2UiMsChapV2Data(); + if (!iDataPtr) + { + return KErrNoMemory; + } + + TRAPD(err, FetchDataL()); + if (err != KErrNone) + { + delete iDataPtr; + iDataPtr = NULL; + + delete iColSet; + iColSet = NULL; + + iView.Close(); + + return err; + } + + *aDataPtr = iDataPtr; + + return KErrNone; +} + + +TInt CEapMsChapV2UiDataConnection::Update() +{ + TRAPD(err, iView.UpdateL()); + if (err != KErrNone) + { + return err; + } + + // Validate the length of username and password. + if(iDataPtr->GetUsername().Length() > KMaxUsernameLengthInDB + || iDataPtr->GetPassword().Length() > KMaxPasswordLengthInDB) + { + // Username or password too long. Can not be stored in DB. + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2UiDataConnection::Update: Too long username or password. Length: UN=%d, PW=%d\n"), + iDataPtr->GetUsername().Length(), + iDataPtr->GetPassword().Length())); + + return KErrArgument; + } + + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_MSCHAPV2_username_literal), iDataPtr->GetUsername())); + if (err != KErrNone) + { + return err; + } + + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal), iDataPtr->GetPassword())); + if (err != KErrNone) + { + return err; + } + + if (*(iDataPtr->GetPasswordPrompt())) + { + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EMSCHAPV2PasswordPromptOn)); + if (err != KErrNone) + { + return err; + } + } + else + { + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EMSCHAPV2PasswordPromptOff)); + if (err != KErrNone) + { + return err; + } + } + + // Last full authentication time should be made zero when EAP configurations are modified. + // This makes sure that the next authentication with this EAP would be full authentication + // instead of reauthentication even if the session is still valid. + + TRAP(err, iView.SetColL(iColSet->ColNo(KMSCHAPv2LastFullAuthTime), default_FullAuthTime)); + if (err != KErrNone) + { + return err; + } + + EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: EAP-Type=MSCHAPv2 (or plain), Resetting Full Auth Time since settings are modified\n"))); + + TRAP(err, iView.PutL()); + + return err; +} + + +TInt CEapMsChapV2UiDataConnection::Close() +{ + if (iIsOpened == EFalse) + { + return KErrNone; + } + + delete iDataPtr; + iDataPtr = NULL; + + delete iColSet; + iColSet = NULL; + + iView.Close(); + + iUiConn = NULL; + + return KErrNone; +} + + +void CEapMsChapV2UiDataConnection::FetchDataL() +{ + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = buf->Des(); + + // Form the query. Query everything. + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, + &KMsChapV2TableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + // Evaluate view + User::LeaveIfError(iView.Prepare(iDatabase, TDbQuery(sqlStatement))); + User::LeaveIfError(iView.EvaluateAll()); + + // Get the first (and only) row + iView.FirstL(); + iView.GetL(); + + // Get column set so we get the correct column numbers + delete iColSet; + iColSet = NULL; + iColSet = iView.ColSetL(); + + // Start fetching the values + + // Prompt password + TUint intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal)); + if (intValue == 0) + { + *(iDataPtr->GetPasswordPrompt()) = EFalse; + } + else + { + *(iDataPtr->GetPasswordPrompt()) = ETrue; + } + + // username + iDataPtr->GetUsername().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_MSCHAPV2_username_literal))); + + // password + iDataPtr->GetPassword().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal))); + + CleanupStack::PopAndDestroy(buf); +} + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiMsChapV2Data.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiMsChapV2Data.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,60 @@ +/* +* 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. +* +*/ + +/* +* %version: 7.1.2 % +*/ + +// This is enumeration of EAPOL source code. +#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + #undef EAP_FILE_NUMBER_ENUM + #define EAP_FILE_NUMBER_ENUM 302 + #undef EAP_FILE_NUMBER_DATE + #define EAP_FILE_NUMBER_DATE 1127594498 +#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + +#include + + +CEapMsChapV2UiMsChapV2Data::CEapMsChapV2UiMsChapV2Data() +{ +} + + +CEapMsChapV2UiMsChapV2Data::~CEapMsChapV2UiMsChapV2Data() +{ +} + + +TDes& CEapMsChapV2UiMsChapV2Data::GetUsername() +{ + return iUsername; +} + + +TDes& CEapMsChapV2UiMsChapV2Data::GetPassword() +{ + return iPassword; +} + + +TBool * CEapMsChapV2UiMsChapV2Data::GetPasswordPrompt() +{ + return &iPasswordPrompt; +} + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/protected_setup/EapProtectedSetupInterface.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/EapProtectedSetupInterface.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/EapProtectedSetupInterface.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 6.1.2 % +* %version: 8 % */ // This is enumeration of EAPOL source code. @@ -36,7 +36,7 @@ // ================= MEMBER FUNCTIONS ======================= -CEapProtectedSetupInterface::CEapProtectedSetupInterface(abs_eap_am_tools_c* const aTools, CEapAmProtectedSetupSymbian* const aParent) +CEapProtectedSetupInterface::CEapProtectedSetupInterface(abs_eap_am_tools_c* const aTools, eap_am_type_protected_setup_symbian_c* const aParent) : CActive(CActive::EPriorityStandard) , iParent(aParent) , m_am_tools(aTools) @@ -50,7 +50,7 @@ //-------------------------------------------------- CEapProtectedSetupInterface* CEapProtectedSetupInterface::NewL(abs_eap_am_tools_c* const aTools, - CEapAmProtectedSetupSymbian* const aParent) + eap_am_type_protected_setup_symbian_c* const aParent) { CEapProtectedSetupInterface* self = new(ELeave) CEapProtectedSetupInterface(aTools, aParent); CleanupStack::PushL(self); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/protected_setup/eap_am_type_protected_setup_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/eap_am_type_protected_setup_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/eap_am_type_protected_setup_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 18.1.4.1.12 % +* %version: 18.1.8 % */ // This is enumeration of EAPOL source code. @@ -34,6 +34,7 @@ #include "eap_am_tools.h" #include "eap_state_notification.h" #include "eap_config.h" +#include #include "eap_type_simple_config_types.h" #include "eap_tlv_message_data.h" @@ -41,7 +42,7 @@ #include "simple_config_credential.h" #include "abs_eap_configuration_if.h" -#include "EapTraceSymbian.h" +#include "eap_am_trace_symbian.h" #include static const char EAP_AM_TYPE_SIMPLE_CONFIG_MEMORY_STORE_KEY[] = "eap_am_type_simple_config_simulator_c credential_store"; @@ -50,12 +51,12 @@ // -EAP_FUNC_EXPORT CEapAmProtectedSetupSymbian::CEapAmProtectedSetupSymbian( +EAP_FUNC_EXPORT eap_am_type_protected_setup_symbian_c::eap_am_type_protected_setup_symbian_c( abs_eap_am_tools_c * const tools, abs_eap_base_type_c * const partner, - const TIndexType /* aIndexType */, + const TIndexType aIndexType, const TInt aIndex, - const eap_type_value_e /* aTunnelingType */, + const eap_type_value_e aTunnelingType, const eap_type_value_e eap_type, const bool is_client_when_true, const eap_am_network_id_c * const receive_network_id, @@ -91,7 +92,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: %s: function: CEapAmProtectedSetupSymbian(): this = 0x%08x\n"), + (EAPL("SIMPLE_CONFIG: %s: function: eap_am_type_protected_setup_symbian_c(): this = 0x%08x\n"), (m_is_client == true ? "client": "server"), this)); @@ -118,7 +119,7 @@ //-------------------------------------------------- -void CEapAmProtectedSetupSymbian::ConstructL() +void eap_am_type_protected_setup_symbian_c::ConstructL() { if (m_is_client == true) { @@ -138,7 +139,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT CEapAmProtectedSetupSymbian* CEapAmProtectedSetupSymbian::NewL( +eap_am_type_protected_setup_symbian_c* eap_am_type_protected_setup_symbian_c::NewL( abs_eap_am_tools_c * const tools, abs_eap_base_type_c * const partner, const TIndexType aIndexType, @@ -149,7 +150,7 @@ const eap_am_network_id_c * const receive_network_id, abs_eap_configuration_if_c * const configuration_if) { - CEapAmProtectedSetupSymbian* self = new (ELeave) CEapAmProtectedSetupSymbian( + eap_am_type_protected_setup_symbian_c* self = new (ELeave) eap_am_type_protected_setup_symbian_c( tools, partner, aIndexType, @@ -176,7 +177,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT CEapAmProtectedSetupSymbian::~CEapAmProtectedSetupSymbian() +EAP_FUNC_EXPORT eap_am_type_protected_setup_symbian_c::~eap_am_type_protected_setup_symbian_c() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -184,7 +185,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: %s: function: ~CEapAmProtectedSetupSymbian(): this = 0x%08x\n"), + (EAPL("SIMPLE_CONFIG: %s: function: ~eap_am_type_protected_setup_symbian_c(): this = 0x%08x\n"), (m_is_client == true ? "client": "server"), this)); @@ -200,7 +201,7 @@ //-------------------------------------------------- -abs_simple_config_am_services_c * CEapAmProtectedSetupSymbian::get_simple_config_am_partner() +abs_simple_config_am_services_c * eap_am_type_protected_setup_symbian_c::get_simple_config_am_partner() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_ASSERT_ALWAYS(m_simple_config_am_partner != 0); @@ -210,7 +211,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT void CEapAmProtectedSetupSymbian::set_simple_config_am_partner(abs_simple_config_am_services_c * const simple_config_am_partner) +EAP_FUNC_EXPORT void eap_am_type_protected_setup_symbian_c::set_simple_config_am_partner(abs_simple_config_am_services_c * const simple_config_am_partner) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); m_simple_config_am_partner = simple_config_am_partner; @@ -219,7 +220,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT void CEapAmProtectedSetupSymbian::set_am_partner(abs_eap_am_type_simple_config_c * const partner) +EAP_FUNC_EXPORT void eap_am_type_protected_setup_symbian_c::set_am_partner(abs_eap_am_type_simple_config_c * const partner) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -228,13 +229,13 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::configure() +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::configure() { EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: %s: function: CEapAmProtectedSetupSymbian::configure()\n"), + (EAPL("SIMPLE_CONFIG: %s: function: eap_am_type_protected_setup_symbian_c::configure()\n"), (m_is_client == true ? "client": "server"))); if (m_configured == true) @@ -242,7 +243,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: %s: function: CEapAmProtectedSetupSymbian::configure(): Already configured.\n"), + (EAPL("SIMPLE_CONFIG: %s: function: eap_am_type_protected_setup_symbian_c::configure(): Already configured.\n"), (m_is_client == true ? "client": "server"))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); @@ -253,7 +254,7 @@ { eap_variable_data_c use_manual_username(m_am_tools); - eap_status_e status = type_configure_read( + eap_status_e status = m_partner->read_configure( cf_str_EAP_SIMPLE_CONFIG_use_manual_username.get_field(), &use_manual_username); if (status == eap_status_ok @@ -273,7 +274,7 @@ if (m_use_manual_username == true) { - eap_status_e status = type_configure_read( + eap_status_e status = m_partner->read_configure( cf_str_EAP_SIMPLE_CONFIG_manual_username.get_field(), &m_manual_username); if (status == eap_status_ok @@ -325,7 +326,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::reset() +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::reset() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); m_device_parameters_valid = false; @@ -335,14 +336,14 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::shutdown() +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::shutdown() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: %s: function: CEapAmProtectedSetupSymbian::shutdown(): ") + (EAPL("SIMPLE_CONFIG: %s: function: eap_am_type_protected_setup_symbian_c::shutdown(): ") EAPL("this = 0x%08x\n"), (m_is_client == true ? "client": "server"), this)); @@ -386,7 +387,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("EAP_type_SIMPLE_CONFIG: CEapAmProtectedSetupSymbian::shutdown():") + (EAPL("EAP_type_SIMPLE_CONFIG: eap_am_type_protected_setup_symbian_c::shutdown():") EAPL("credentials removed from eapol\n"))); eap_tlv_message_data_c tlv_data(m_am_tools); @@ -416,7 +417,7 @@ //-------------------------------------------------- -void CEapAmProtectedSetupSymbian::send_error_notification(const eap_status_e error) +void eap_am_type_protected_setup_symbian_c::send_error_notification(const eap_status_e error) { { eap_general_state_variable_e general_state_variable(eap_general_state_authentication_error); @@ -447,7 +448,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::authentication_finished( +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::authentication_finished( const bool true_when_successfull, const bool true_when_session_resumed) { @@ -469,13 +470,13 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::query_eap_identity( - const eap_am_network_id_c * const /* receive_network_id */, +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::query_eap_identity( + const eap_am_network_id_c * const receive_network_id, const u8_t eap_identifier, - bool * const /* use_manual_username */, + bool * const use_manual_username, eap_variable_data_c * const manual_username, - bool *const /* use_manual_realm */, - eap_variable_data_c * const /* manual_realm */ + bool *const use_manual_realm, + eap_variable_data_c * const manual_realm ) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -495,12 +496,6 @@ if (m_use_manual_username == true && m_manual_username.get_is_valid_data() == true) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: %s: function: query_eap_identity(): manual username\n"), - (m_is_client == true ? "client": "server"))); - status = manual_username->set_copy_of_buffer(&m_manual_username); } @@ -539,7 +534,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::cancel_identity_query() +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::cancel_identity_query() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -565,7 +560,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT void CEapAmProtectedSetupSymbian::set_is_valid() +EAP_FUNC_EXPORT void eap_am_type_protected_setup_symbian_c::set_is_valid() { m_is_valid = true; } @@ -573,7 +568,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT bool CEapAmProtectedSetupSymbian::get_is_valid() +EAP_FUNC_EXPORT bool eap_am_type_protected_setup_symbian_c::get_is_valid() { return m_is_valid; } @@ -581,7 +576,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::type_configure_read( +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::type_configure_read( const eap_configuration_field_c * const field, eap_variable_data_c * const data) { @@ -644,6 +639,7 @@ } // if (!wanted_field.compare(&type_field)) + // NOTE: This is for simulation. // Read is routed to partner object. status = m_partner->read_configure( field, @@ -660,20 +656,18 @@ //-------------------------------------------------- // -void CEapAmProtectedSetupSymbian::read_device_passwordL( +void eap_am_type_protected_setup_symbian_c::read_device_passwordL( eap_config_string /*field*/, const u32_t /*field_length*/, - eap_variable_data_c * const /* data */) + eap_variable_data_c * const data) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); // Get the things from commsdat here. - -#if 0 - + // We need PSK (PIN code for protected setup) from the CommsDat. // CommDbIf is used to get the PSK. - + CWLanSettings* wlan_settings = new(ELeave) CWLanSettings; CleanupStack::PushL(wlan_settings); SWLANSettings wlanSettings; @@ -688,7 +682,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( - EAPL("ERROR: CEapAmProtectedSetupSymbian::read_device_passwordL() Connecting to CommsDat failed!\n"))); + EAPL("ERROR: eap_am_type_protected_setup_symbian_c::read_device_passwordL() Connecting to CommsDat failed!\n"))); User::Leave(KErrCouldNotConnect); } @@ -696,7 +690,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( - EAPL("CEapAmProtectedSetupSymbian::read_device_passwordL() Connected to CommDbIf.\n"))); + EAPL("eap_am_type_protected_setup_symbian_c::read_device_passwordL() Connected to CommDbIf.\n"))); error = wlan_settings->GetWlanSettingsForService(m_index, wlanSettings); if ( error != KErrNone) @@ -704,7 +698,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( - EAPL("ERROR: CEapAmProtectedSetupSymbian::read_device_passwordL() GetWlanSettingsForService failed, error=%d\n"), + EAPL("ERROR: eap_am_type_protected_setup_symbian_c::read_device_passwordL() GetWlanSettingsForService failed, error=%d\n"), error)); wlan_settings->Disconnect(); @@ -771,15 +765,13 @@ wlan_settings->Disconnect(); CleanupStack::PopAndDestroy(wlan_settings); -#endif - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::type_configure_write( +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::type_configure_write( const eap_configuration_field_c * const field, eap_variable_data_c * const data) { @@ -795,7 +787,7 @@ //-------------------------------------------------- -abs_eap_am_type_simple_config_c * CEapAmProtectedSetupSymbian::get_am_partner() +abs_eap_am_type_simple_config_c * eap_am_type_protected_setup_symbian_c::get_am_partner() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -804,7 +796,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::query_network_and_device_parameters( +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::query_network_and_device_parameters( const simple_config_state_e state) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -816,7 +808,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: %s: CEapAmProtectedSetupSymbian::query_network_and_device_parameters()\n"), + (EAPL("SIMPLE_CONFIG: %s: eap_am_type_protected_setup_symbian_c::query_network_and_device_parameters()\n"), (m_is_client == true ? "client": "server"))); eap_status_e status = eap_status_process_general_error; @@ -828,7 +820,7 @@ { EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapAmProtectedSetupSymbian::query_network_and_device_parameters: Parameters exist, completing query immediately."))); + (_L("eap_am_type_protected_setup_symbian_c::query_network_and_device_parameters: Parameters exist, completing query immediately."))); // pass the parameters status = get_simple_config_am_partner()->complete_query_network_and_device_parameters( @@ -936,7 +928,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapAmProtectedSetupSymbian::query_network_and_device_parameters() m_Device_Password_ID=%d\n"), + (EAPL("eap_am_type_protected_setup_symbian_c::query_network_and_device_parameters() m_Device_Password_ID=%d\n"), m_Device_Password_ID)); { @@ -1105,7 +1097,7 @@ //-------------------------------------------------- // This is always synchronous call. -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::save_simple_config_session( +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::save_simple_config_session( const simple_config_state_e state, EAP_TEMPLATE_CONST eap_array_c * const credential_array, const eap_variable_data_c * const new_password, @@ -1208,7 +1200,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::received_registrar_information( +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::received_registrar_information( EAP_TEMPLATE_CONST eap_array_c * const M2D_payloads) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1289,7 +1281,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::cancel_query_network_and_device_parameters() +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::cancel_query_network_and_device_parameters() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1314,7 +1306,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::load_module( +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::load_module( const eap_type_value_e eap_type, const eap_type_value_e tunneling_type, abs_eap_base_type_c * const partner, @@ -1326,7 +1318,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapAmProtectedSetupSymbian::load_module(0x%08x)\n"), + (EAPL("eap_am_type_protected_setup_symbian_c::load_module(0x%08x)\n"), convert_eap_type_to_u32_t(eap_type))); eap_status_e status = m_partner->load_module( @@ -1343,13 +1335,13 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::check_is_valid_eap_type(const eap_type_value_e eap_type) +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::check_is_valid_eap_type(const eap_type_value_e eap_type) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapAmProtectedSetupSymbian::check_is_valid_eap_type(0x%08x)\n"), + (EAPL("eap_am_type_protected_setup_symbian_c::check_is_valid_eap_type(0x%08x)\n"), convert_eap_type_to_u32_t(eap_type))); eap_status_e status = m_partner->check_is_valid_eap_type( @@ -1361,7 +1353,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::get_eap_type_list( +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::get_eap_type_list( eap_array_c * const eap_type_list) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1374,13 +1366,13 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::unload_module(const eap_type_value_e eap_type) +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::unload_module(const eap_type_value_e eap_type) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapAmProtectedSetupSymbian::unload_module(0x%08x)\n"), + (EAPL("eap_am_type_protected_setup_symbian_c::unload_module(0x%08x)\n"), convert_eap_type_to_u32_t(eap_type))); eap_status_e status = m_partner->unload_module( @@ -1392,7 +1384,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::complete_protected_setup_device_paramsL( +EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::complete_protected_setup_device_paramsL( const RMobilePhone::TMobilePhoneIdentityV1 &phone_identity, const eap_status_e completion_status ) { @@ -1499,7 +1491,7 @@ // since there is nothing better for the purpose. EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapAmProtectedSetupSymbian::complete_protected_setup_device_paramsL: Uses model as device name."))); + (_L("eap_am_type_protected_setup_symbian_c::complete_protected_setup_device_paramsL: Uses model as device name."))); status = m_network_and_device_parameters.copy_attribute_data( simple_config_Attribute_Type_Device_Name, @@ -1611,23 +1603,23 @@ //-------------------------------------------------- -void CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL(const TDesC16& aFromUnicode, TDes8& aToAscii) +void eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL(const TDesC16& aFromUnicode, TDes8& aToAscii) { EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL:From TEXT", + ("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL:From TEXT", aFromUnicode.Ptr(), aFromUnicode.Size())); if(aFromUnicode.Length() <= 0) { EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL: Return: NOTHING TO CONVERT"))); + (_L("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL: Return: NOTHING TO CONVERT"))); return; } EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL, aFromUnicode.Length=%d, aFromUnicode.Size=%d"), + (_L("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL, aFromUnicode.Length=%d, aFromUnicode.Size=%d"), aFromUnicode.Length(), aFromUnicode.Size())); // Convert from Unicode to ascii. @@ -1635,7 +1627,7 @@ TPtr8 aFromUnicodePtr8 = aFromUnicodeBuf8->Des(); EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL, aFromUnicodePtr8.Length=%d, aFromUnicodePtr8.Size=%d, aFromUnicodePtr8.MaxLength=%d, aFromUnicodePtr8.MaxSize=%d"), + (_L("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL, aFromUnicodePtr8.Length=%d, aFromUnicodePtr8.Size=%d, aFromUnicodePtr8.MaxLength=%d, aFromUnicodePtr8.MaxSize=%d"), aFromUnicodePtr8.Length(), aFromUnicodePtr8.Size(), aFromUnicodePtr8.MaxLength(), aFromUnicodePtr8.MaxSize())); aFromUnicodePtr8.Copy(aFromUnicode); // Unicode -> ascii. @@ -1645,7 +1637,7 @@ CleanupStack::PopAndDestroy(aFromUnicodeBuf8); // Delete aFromUnicodeBuf8. EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL:To ASCII", + ("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL:To ASCII", aToAscii.Ptr(), aToAscii.Size())); } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/inc/EapProtectedSetup.h --- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/inc/EapProtectedSetup.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/inc/EapProtectedSetup.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,21 +16,21 @@ */ /* -* %version: 11 % +* %version: 4.1.2 % */ #ifndef _EAPPROTECTEDSETUP_H_ #define _EAPPROTECTEDSETUP_H_ // INCLUDES -#include +#include #include "eap_header.h" // CLASS DECLARATION /** * Class that implements the generic EAP type interface for EAP protected setup (EAP-WSC). */ -class CEapProtectedSetup : public CEapTypePlugin +class CEapProtectedSetup : public CEapType { public: @@ -63,13 +63,16 @@ const eap_am_network_id_c * const receive_network_id, abs_eap_configuration_if_c * const configuration_if); - + /** + * Invokes the configuration UI. This doesn't do anything. + **/ + TInt InvokeUiL(); /** * Gets information about EAP type. * @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack. */ - CEapTypeInfo* GetInfoL(); + CEapTypeInfo* GetInfoLC(); /** * Deletes EAP type configuration @@ -91,7 +94,7 @@ * EAP type. * @param aTunnelingType Type number for the tunneling type */ - void SetTunnelingType(const TEapExpandedType aTunnelingType); + void SetTunnelingType(const TInt aTunnelingType); /** * Changes the index of the saved parameters. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/inc/EapProtectedSetupGlobal.h --- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/inc/EapProtectedSetupGlobal.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/inc/EapProtectedSetupGlobal.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 4 % */ #ifndef _EAPPROTECTEDSETUPGLOBAL_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/2000b003.rss --- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/2000b003.rss Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/2000b003.rss Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 4.1.2 % +* %version: 7 % */ // INCLUDES diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/EapProtectedSetup.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/EapProtectedSetup.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/EapProtectedSetup.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 19 % +* %version: 11.1.2 % */ // This is enumeration of EAPOL source code. @@ -40,8 +40,9 @@ #include #include "eap_am_type_protected_setup_symbian.h" #include "EapProtectedSetupGlobal.h" -#include "EapTraceSymbian.h" -#include "EapConversion.h" +#include "eap_am_trace_symbian.h" + +//#include "EapAkaDbUtils.h" #include "eap_am_tools_symbian.h" @@ -95,7 +96,7 @@ (_L("CEapProtectedSetup::GetStackInterfaceL - Start"))); // Create AM - CEapAmProtectedSetupSymbian* amEapType = CEapAmProtectedSetupSymbian::NewL( + eap_am_type_protected_setup_symbian_c* amEapType = eap_am_type_protected_setup_symbian_c::NewL( aTools, aPartner, iIndexType, @@ -110,7 +111,7 @@ { EAP_TRACE_DEBUG_SYMBIAN( - (_L("ERROR: GetStackInterfaceL : CEapAmProtectedSetupSymbian(): failed."))); + (_L("ERROR: GetStackInterfaceL : eap_am_type_protected_setup_symbian_c(): failed."))); delete amEapType; User::Leave(KErrNoMemory); @@ -182,18 +183,27 @@ } // ---------------------------------------------------------- +TInt CEapProtectedSetup::InvokeUiL() +{ + EAP_TRACE_DEBUG_SYMBIAN( + (_L("ERROR: CEapProtectedSetup::InvokeUiL - THIS IS NOT SUPPORTED"))); - + TInt buttonId(0); + + // This is a dummy function. + + return buttonId; +} // ---------------------------------------------------------- - -CEapTypeInfo* CEapProtectedSetup::GetInfoL() +CEapTypeInfo* CEapProtectedSetup::GetInfoLC() { CEapTypeInfo* info = new(ELeave) CEapTypeInfo( (TDesC&)KReleaseDate, (TDesC&)KEapTypeVersion, (TDesC&)KManufacturer); + CleanupStack::PushL(info); return info; } @@ -213,20 +223,14 @@ // ---------------------------------------------------------- -void CEapProtectedSetup::SetTunnelingType(const TEapExpandedType aTunnelingType) +void CEapProtectedSetup::SetTunnelingType(const TInt aTunnelingType) { - EAP_TRACE_DATA_DEBUG_SYMBIAN( - (EAPL("CEapProtectedSetup::SetTunnelingType - tunneling type"), - aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length())); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapProtectedSetup::SetTunnelingType - tunneling type=%d"), + aTunnelingType)); - eap_type_value_e aInternalType; - - TInt err = CEapConversion::ConvertExpandedEAPTypeToInternalType( - &aTunnelingType, - &aInternalType); - - iTunnelingType = aInternalType; - + // Vendor id is eap_type_vendor_id_ietf always in this plugin. + iTunnelingType.set_eap_type_values(eap_type_vendor_id_ietf, aTunnelingType); } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/EapProtectedSetupProxy.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/EapProtectedSetupProxy.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/EapProtectedSetupProxy.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 3.1.2 % +* %version: 6 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/eap_am_type_securid_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/eap_am_type_securid_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/eap_am_type_securid_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 29.1.36 % +* %version: 32 % */ // This is enumeration of EAPOL source code. @@ -39,17 +39,14 @@ #include "eap_am_type_securid_symbian.h" #include "EapSecurIDDbParameterNames.h" #include "EapSecurIDDbUtils.h" -#include "EapPluginDbDefaults.h" -#include "eap_auth_notifier.h" - - +#include "EapSecurIDNotifierStructs.h" #include "EapGtcDbParameterNames.h" #include "EapGtcDbUtils.h" #include "EapSecurIDNotifierUids.h" #include "eap_configuration_field.h" #include "eap_state_notification.h" -#include "EapTraceSymbian.h" +#include "eap_am_trace_symbian.h" const TUint KMaxSqlQueryLength = 256; const TUint KMaxDBFieldNameLength = 255; @@ -78,9 +75,6 @@ delete m_dialog_data_pckg_ptr; delete m_message_buf; - delete iEapAuthNotifier; - iEapAuthNotifier = 0; - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } @@ -96,11 +90,52 @@ (EAPL("eap_am_type_securid_symbian_c::shutdown(): this = 0x%08x\n"), this)); + if( IsActive() ) + { + Cancel(); // Cancel only if active. + } + else + { + if( m_is_notifier_connected ) + { + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::shutdown - calling m_notifier.CancelNotifier(..)\n"))); + + TInt error = m_notifier.CancelNotifier(KEapSecurIDIdentityQueryUid); + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::shutdown - CancelNotifier(KEapSecurIDIdentityQueryUid) error=%d\n"), error)); + + error = m_notifier.CancelNotifier(KEapSecurIDPasscodeQueryUid); + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::shutdown - CancelNotifier(KEapSecurIDPasscodeQueryUid) error=%d\n"), error)); + + + error = m_notifier.CancelNotifier(KEapSecurIDPincodeQueryUid); + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::shutdown - CancelNotifier(KEapSecurIDPincodeQueryUid) error=%d\n"), error)); + + + error = m_notifier.CancelNotifier(KEapGtcIdentityQueryUid); + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::shutdown - CancelNotifier(KEapGtcIdentityQueryUid) error=%d\n"), error)); + + + error = m_notifier.CancelNotifier(KEapGtcUserInputQueryUid); + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::shutdown - CancelNotifier(KEapGtcUserInputQueryUid) error=%d\n"), error)); + + + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::shutdown - calling m_notifier.Close(), prev error=%d\n"), error)); + + m_notifier.Close(); // Call close only if it is connected. + + m_is_notifier_connected = false; + } + } + m_shutdown_was_called = true; - m_partner->cancel_timer(this, EHandlingTimerCall); - EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, @@ -136,12 +171,22 @@ , m_shutdown_was_called(false) , m_eap_type(aEapType) , m_is_notifier_connected(false) - , m_max_session_time(0) - , iEapAuthNotifier(0) - + , m_max_session_time(0) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); +#ifdef USE_EAP_EXPANDED_TYPES + + m_tunneling_vendor_type = m_tunneling_type.get_vendor_type(); + m_eap_vendor_type = m_eap_type.get_vendor_type(); + +#else + + m_tunneling_vendor_type = static_cast(m_tunneling_type); + m_eap_vendor_type = static_cast(m_eap_type); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + if (receive_network_id != 0 && receive_network_id->get_is_valid_data() == true) { @@ -200,10 +245,6 @@ void eap_am_type_securid_symbian_c::ConstructL() { - TInt error = m_session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_type_securid_symbian_c::ConstructL(): - m_session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - // Open/create database if (m_eap_type == eap_type_generic_token_card) { @@ -214,8 +255,8 @@ EapSecurIDDbUtils::OpenDatabaseL(m_database, m_session, m_index_type, m_index, m_tunneling_type); } - m_dialog_data_ptr = new(ELeave) CEapAuthNotifier::TEapDialogInfo; - m_dialog_data_pckg_ptr = new(ELeave) TPckg (*m_dialog_data_ptr); + m_dialog_data_ptr = new(ELeave) TEapSecurIDStruct; + m_dialog_data_pckg_ptr = new(ELeave) TPckg (*m_dialog_data_ptr); CActiveScheduler::Add(this); } @@ -281,6 +322,199 @@ EAPL("m_state, iStatus.Int()=%d\n"), m_state, iStatus.Int())); + if (iStatus.Int() == KErrCancel) + { + delete m_message_buf; + m_message_buf = NULL; + get_am_partner()->finish_unsuccessful_authentication(true); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; + } + + if (iStatus.Int() != KErrNone) + { + delete m_message_buf; + m_message_buf = NULL; + // Something is very wrong... + + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: EAP - SecurID notifier or dialog\n"))); + + send_error_notification(eap_status_authentication_failure); + + get_am_partner()->finish_unsuccessful_authentication(false); + + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; + } + + switch (m_state) + { + case EHandlingIdentityQuery: + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::RunL(): EHandlingIdentityQuery\n"))); + + eap_variable_data_c identity(m_am_tools); + + eap_status_e status = identity.set_copy_of_buffer( + m_dialog_data_ptr->iIdentity.Ptr(), + m_dialog_data_ptr->iIdentity.Size()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void)EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + eap_variable_data_c identity_utf8(m_am_tools); + status = m_am_tools->convert_unicode_to_utf8(identity_utf8, identity); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void)EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + status = get_am_partner()->complete_eap_identity_query(&identity_utf8); + } + break; + + case EHandlingPasscodeQuery: + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::RunL(): EHandlingPasscodeQuery\n"))); + + eap_variable_data_c passcode(m_am_tools); + + eap_status_e status = passcode.set_copy_of_buffer( + m_dialog_data_ptr->iPasscode.Ptr(), + m_dialog_data_ptr->iPasscode.Size()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void)EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + eap_variable_data_c passcode_utf8(m_am_tools); + status = m_am_tools->convert_unicode_to_utf8(passcode_utf8, passcode); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void)EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + status = get_am_partner()->client_securid_complete_passcode_query(&passcode_utf8); + } + break; + + case EHandlingPincodeQuery: + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::RunL(): EHandlingPincodeQuery\n"))); + + eap_variable_data_c pincode(m_am_tools); + + eap_status_e status = pincode.set_copy_of_buffer( + m_dialog_data_ptr->iPincode.Ptr(), + m_dialog_data_ptr->iPincode.Size()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void)EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + eap_variable_data_c passcode(m_am_tools); + + status = passcode.set_copy_of_buffer( + m_dialog_data_ptr->iPasscode.Ptr(), + m_dialog_data_ptr->iPasscode.Size()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void)EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + + eap_variable_data_c pincode_utf8(m_am_tools); + status = m_am_tools->convert_unicode_to_utf8(pincode_utf8, pincode); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void)EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + eap_variable_data_c passcode_utf8(m_am_tools); + status = m_am_tools->convert_unicode_to_utf8(passcode_utf8, passcode); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void)EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + status = get_am_partner()->client_securid_complete_pincode_query(&passcode_utf8, &passcode_utf8); + } + break; + + case EHandlingGTCQuery: + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::RunL(): EHandlingGTCQuery\n"))); + + delete m_message_buf; + m_message_buf = NULL; + + eap_variable_data_c passcode(m_am_tools); + + eap_status_e status = passcode.set_copy_of_buffer( + m_dialog_data_ptr->iPasscode.Ptr(), + m_dialog_data_ptr->iPasscode.Size()); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void)EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + eap_variable_data_c passcode_utf8(m_am_tools); + status = m_am_tools->convert_unicode_to_utf8(passcode_utf8, passcode); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + (void)EAP_STATUS_RETURN(m_am_tools, status); + return; + } + + // User must have entered some password and pressed OK. + // Treat this as a full authentication and update the Last Auth Time. + status = store_authentication_time(); + if (status != eap_status_ok) + { + // Storing failed. Don't care. + EAP_TRACE_ERROR(m_am_tools, + TRACE_FLAGS_DEFAULT, ( + EAPL("eap_am_type_securid_symbian_c:Storing Last Full Authentication time failed, status=%d, but continuing\n"), + status)); + + status = eap_status_ok; + } + + status = get_am_partner()->client_gtc_complete_user_input_query(&passcode_utf8); + } + break; + + default: + EAP_TRACE_ERROR( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: EAP - SecurID illegal state in RunL.\n"))); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; + } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } @@ -289,8 +523,34 @@ void eap_am_type_securid_symbian_c::DoCancel() { - iEapAuthNotifier->Cancel(); + if( m_is_notifier_connected ) + { + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::DoCancel - calling m_notifier.CancelNotifier(..)\n"))); + + TInt error = m_notifier.CancelNotifier(KEapSecurIDIdentityQueryUid); + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::DoCancel - CancelNotifier(KEapSecurIDIdentityQueryUid) error=%d\n"), error)); + + error = m_notifier.CancelNotifier(KEapSecurIDPasscodeQueryUid); + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::DoCancel - CancelNotifier(KEapSecurIDPasscodeQueryUid) error=%d\n"), error)); + error = m_notifier.CancelNotifier(KEapSecurIDPincodeQueryUid); + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::DoCancel - CancelNotifier(KEapSecurIDPincodeQueryUid) error=%d\n"), error)); + + error = m_notifier.CancelNotifier(KEapGtcIdentityQueryUid); + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::DoCancel - CancelNotifier(KEapGtcIdentityQueryUid) error=%d\n"), error)); + + error = m_notifier.CancelNotifier(KEapGtcUserInputQueryUid); + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::DoCancel - CancelNotifier(KEapGtcUserInputQueryUid) error=%d\n"), error)); + + m_notifier.Close(); // Call close only if it is connected. + + m_is_notifier_connected = false; + } } //-------------------------------------------------- @@ -302,11 +562,9 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_ASSERT(data != 0); - // Trap must be set here because the OS independent portion of EAP SecurID // that calls this function does not know anything about Symbian. eap_status_e status(eap_status_ok); - TRAPD(err, type_configure_readL( field->get_field(), field->get_field_length(), @@ -336,15 +594,6 @@ eap_variable_data_c * const data) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::type_configure_readL(): m_index_type=%d, m_index=%d, m_tunneling_type=0xfe%06x%08x\n"), - m_index_type, - m_index, - m_tunneling_type.get_vendor_id(), - m_tunneling_type.get_vendor_type())); - EAP_UNREFERENCED_PARAMETER(field_length); // Create a buffer for the ascii strings - initialised with the argument @@ -360,38 +609,17 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); if (m_eap_type == eap_type_securid) { - sqlStatement.Format( - KSQLQueryRow, - &unicodeString, - &KSecurIDTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + sqlStatement.Format(KSQLQueryRow, &unicodeString, &KSecurIDTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); } else { - sqlStatement.Format( - KSQLQueryRow, - &unicodeString, - &KGtcTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); - } - + sqlStatement.Format(KSQLQueryRow, &unicodeString, &KGtcTableName, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); + } RDbView view; User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); @@ -501,7 +729,7 @@ // Read Maximum Session Validity Time from the config file eap_variable_data_c sessionTimeFromFile(m_am_tools); - eap_status_e status = type_configure_read( + eap_status_e status = m_partner->read_configure( cf_str_EAP_GTC_max_session_validity_time.get_field(), &sessionTimeFromFile); @@ -563,70 +791,51 @@ eap_variable_data_c * const /*passcode*/, bool is_first_query) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::show_passcode_query_dialog(): is_first_query=%d\n"), - is_first_query)); - - eap_status_e status = eap_status_pending_request; - - m_state = EHandlingPasscodeQuery; - - TInt err1 = KErrNone; - - TRAPD(err, err1 = IsDlgReadyToCompleteL()); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::show_passcode_query_dialog(): err=%d result=%d\n"), - err, err1)); - - if ((err1 == KErrCancel) || err) - { - TEapExpandedType aEapType(*EapExpandedTypeGtc.GetType()); + if (!IsActive()) + { + m_state = EHandlingPasscodeQuery; - if (iEapAuthNotifier == 0) - { - TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this )); - if (err) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure); - } - } - - if (is_first_query != true) - { - TRAPD(err1, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeGtcChallengeDialog, m_dialog_data_ptr, aEapType)); - if (err1) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure); - } - } + if (is_first_query == true) + { + m_dialog_data_ptr->iIsFirstQuery = ETrue; + } else - { - TRAPD(err2, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeGTCQueryDialog, m_dialog_data_ptr, aEapType)); - if (err2) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure); - } - } - - } - else { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::show_passcode_query_dialog(): EHandlingTimerCall\n"))); - - if(m_partner->set_timer(this,EHandlingTimerCall,0 /*data*/,2 /*time ms*/) != eap_status_ok) - status = eap_status_process_general_error; + m_dialog_data_ptr->iIsFirstQuery = EFalse; } + if( !m_is_notifier_connected ) + { + TInt error = m_notifier.Connect(); + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::show_passcode_query_dialog - m_notifier.Connect() returned error=%d\n"), error)); + + if( error != KErrNone) + { + // Can not connect to notifier. + return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); + } + + m_is_notifier_connected = true; // Got connectted to notifier. + } - return EAP_STATUS_RETURN(m_am_tools, status); + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::show_passcode_query_dialog - StartNotifierAndGetResponse - KEapSecurIDPasscodeQueryUid \n"))); + + m_notifier.StartNotifierAndGetResponse( + iStatus, + KEapSecurIDPasscodeQueryUid, + *m_dialog_data_pckg_ptr, + *m_dialog_data_pckg_ptr); + + SetActive(); + } + else + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c: Already active when tried to show passcode query dialog.\n"))); + return eap_status_process_general_error; + } + + return eap_status_pending_request; } //-------------------------------------------------- @@ -644,83 +853,80 @@ message, message_length)); - eap_status_e status = eap_status_pending_request; - - m_state = EHandlingGTCQuery; - - TInt err1 = KErrNone; - - TRAPD(err, err1 = IsDlgReadyToCompleteL()); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::show_gtc_query_dialog(): err=%d, result=%d, is_first_query=%d\n"), - err, - err1, - is_first_query)); + if (!IsActive()) + { + m_state = EHandlingGTCQuery; - if ((err1 == KErrCancel) || err) - { eap_variable_data_c message_utf8(m_am_tools); eap_status_e status = message_utf8.set_buffer(message, message_length, false, false); if (status != eap_status_ok) - { + { return EAP_STATUS_RETURN(m_am_tools, status); - } + } eap_variable_data_c message_unicode(m_am_tools); status = m_am_tools->convert_utf8_to_unicode(message_unicode, message_utf8); if (status != eap_status_ok) - { + { return EAP_STATUS_RETURN(m_am_tools, status); - } - - m_dialog_data_ptr->iUidata.Copy((TText *)message_unicode.get_data(), message_unicode.get_data_length()); - - m_dialog_data_ptr->iPassword.Zero(); - - TEapExpandedType aEapType(*EapExpandedTypeGtc.GetType()); - - if (iEapAuthNotifier == 0) - { - TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this )); - if (err) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure); - } - } - - if (is_first_query != true) - { - TRAPD(err1, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeGtcChallengeDialog, m_dialog_data_ptr, aEapType)); - if (err1) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure); - } - } - else - { - TRAPD(err2, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeGTCUsernamePasswordDialog, m_dialog_data_ptr, aEapType)); - if (err2) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure); - } - } - - } - else - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::show_gtc_query_dialog(): EHandlingTimerCall\n"))); - - if(m_partner->set_timer(this,EHandlingTimerCall, 0 /*data*/, 2 /*time ms*/) != eap_status_ok) - status = eap_status_process_general_error; } - return EAP_STATUS_RETURN(m_am_tools, status); + TRAPD(err, m_message_buf = HBufC8::NewL(message_unicode.get_data_length())); + if (err != KErrNone) + { + return eap_status_allocation_error; + } + TPtr8 messageBufPtr = m_message_buf->Des(); + messageBufPtr.Copy(message_unicode.get_data(), message_unicode.get_data_length()); + + if (is_first_query == true) + { + m_dialog_data_ptr->iIsFirstQuery = ETrue; + } + else + { + m_dialog_data_ptr->iIsFirstQuery = EFalse; + } + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::show_gtc_query_dialog - before m_notifier.Connect(), m_is_notifier_connected=%d\n"), m_is_notifier_connected)); + + if( !m_is_notifier_connected ) + { + TInt error = m_notifier.Connect(); + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::show_gtc_query_dialog - m_notifier.Connect() returned error=%d\n"), error)); + + if( error != KErrNone) + { + // Can not connect to notifier. + return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); + } + + m_is_notifier_connected = true; // Got connectted to notifier. + } + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eap_am_type_securid_symbian_c::show_gtc_query_dialog: m_message_buf"), + m_message_buf->Ptr(), + m_message_buf->Size())); + + m_notifier.StartNotifierAndGetResponse( + iStatus, + KEapGtcUserInputQueryUid, + *m_message_buf, + *m_dialog_data_pckg_ptr); + + SetActive(); + } + else + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c: Already active when tried to show GTC query dialog.\n"))); + return eap_status_process_general_error; + } + + return eap_status_pending_request; } //-------------------------------------------------- @@ -732,426 +938,51 @@ { EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::_pincode_query_dialog - start - is_first_query=%d\n"), is_first_query)); - eap_status_e status = eap_status_pending_request; - - TEapExpandedType aEapType(*EapExpandedTypeGtc.GetType()); - - m_state = EHandlingPincodeQuery; - - TInt err1 = KErrNone; - - TRAPD(err, err1 = IsDlgReadyToCompleteL()); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::show_pincode_query_dialog(): err=%d, result= %d is_first_query=%d\n"), - err, - err1, - is_first_query)); - - if ((err1 == KErrCancel) || err) - { + if (!IsActive()) + { + m_state = EHandlingPincodeQuery; - if (iEapAuthNotifier == 0) - { - TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this )); - if (err) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure); - } - } - - if (is_first_query != true) - { - TRAPD(err1, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeGtcChallengeDialog, m_dialog_data_ptr, aEapType)); - if (err1) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure); - } - } + if (is_first_query == true) + { + m_dialog_data_ptr->iIsFirstQuery = ETrue; + } else - { - TRAPD(err2, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeGTCQueryDialog, m_dialog_data_ptr, aEapType)); - if (err2) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure); - } - } - - } - else { - if(m_partner->set_timer(this,EHandlingTimerCall, 0 /*data*/, 2 /*time ms*/) != eap_status_ok) - status = eap_status_process_general_error; + m_dialog_data_ptr->iIsFirstQuery = EFalse; } - - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -TInt eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL() - { - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL(): m_index_type=%d, m_index=%d, m_tunneling_type=0xfe%06x%08x\n"), - m_index_type, - m_index, - m_tunneling_type.get_vendor_id(), - m_tunneling_type.get_vendor_type())); - - TInt status = KErrNone; - HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); - TPtr sqlStatement = buf->Des(); - - // Query all the relevant parameters - _LIT(KSQLQuery, "SELECT %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format( - KSQLQuery, - &cf_str_EAP_GTC_passcode_prompt_literal, - &cf_str_EAP_GTC_identity_literal, - &cf_str_EAP_GTC_passcode_literal, - &KGtcTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); - - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL(): Reads database\n"))); - - RDbView view; - // Evaluate view - User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); - CleanupClosePushL(view); - - User::LeaveIfError(view.EvaluateAll()); - - // Get the first (and only) row - view.FirstL(); - view.GetL(); - - // Get column set so we get the correct column numbers - CDbColSet* colSet = view.ColSetL(); - CleanupStack::PushL(colSet); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL(): Reads database\n"))); - - TPtrC username = view.ColDes(colSet->ColNo( cf_str_EAP_GTC_identity_literal ) ); + if( !m_is_notifier_connected ) + { + TInt error = m_notifier.Connect(); + + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::show_pincode_query_dialog - m_notifier.Connect() returned error=%d\n"), error)); + + if( error != KErrNone) + { + // Can not connect to notifier. + return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); + } + + m_is_notifier_connected = true; // Got connectted to notifier. + } - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL(): username"), - username.Ptr(), - username.Size())); - - TPtrC password = view.ColDes(colSet->ColNo( cf_str_EAP_GTC_passcode_literal ) ); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL(): password"), - password.Ptr(), - password.Size())); - - TUint prompt = view.ColUint(colSet->ColNo(cf_str_EAP_GTC_passcode_prompt_literal)); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL(): prompt=%d\n"), - prompt)); - - - if ((EEapDbFalse != prompt) - || (username.Size() == 0) - || (password.Size() == 0)) - { + EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::show_pincode_query_dialog - StartNotifierAndGetResponse - KEapSecurIDPincodeQueryUid \n"))); - if (username.Size() == 0) - { - m_dialog_data_ptr->iUsername.Zero(); - } - else - { - m_dialog_data_ptr->iUsername.Copy(username); - } + m_notifier.StartNotifierAndGetResponse( + iStatus, + KEapSecurIDPincodeQueryUid, + *m_dialog_data_pckg_ptr, + *m_dialog_data_pckg_ptr); - status = KErrCancel; - } + SetActive(); + } else - { - status = KErrNone; - m_dialog_data_ptr->iUsername.Copy(username); - m_dialog_data_ptr->iPassword.Copy(password); - } - - CleanupStack::PopAndDestroy(colSet); // Delete colSet. - CleanupStack::PopAndDestroy(&view); // Close view. - CleanupStack::PopAndDestroy(buf); // Delete buf. - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::IsDlgReadyToCompleteL(): status=%d\n"), - status)); - - return status; - } - -EAP_FUNC_EXPORT eap_status_e eap_am_type_securid_symbian_c::timer_expired( - const u32_t id , void * data) { - EAP_UNREFERENCED_PARAMETER(id); // in release - EAP_UNREFERENCED_PARAMETER(data); // in release - - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("TIMER: [0x%08x]->eap_am_type_securid_symbian_c::timer_expired(id 0x%02x, data 0x%08x).\n"), - this, id, data)); - - DlgComplete(KErrNone); - return eap_status_ok; + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c: Already active when tried to show identity query dialog.\n"))); + return eap_status_process_general_error; } -EAP_FUNC_EXPORT eap_status_e eap_am_type_securid_symbian_c::timer_delete_data( - const u32_t id, void *data) - { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_UNREFERENCED_PARAMETER(id); // in release - EAP_UNREFERENCED_PARAMETER(data); // in release - - eap_status_e status = eap_status_ok; - - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("TIMER: [0x%08x]->eap_am_type_securid_symbian_c::timer_delete_data(id 0x%02x, data 0x%08x).\n"), - this, id, data)); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - - } - -//-------------------------------------------------- - -EAP_FUNC_EXPORT void eap_am_type_securid_symbian_c::DlgComplete( TInt aStatus ) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): m_index_type=%d, m_index=%d, m_tunneling_type=0xfe%06x%08x\n"), - m_index_type, - m_index, - m_tunneling_type.get_vendor_id(), - m_tunneling_type.get_vendor_type())); - - if (aStatus == KErrCancel) - { - delete m_message_buf; - m_message_buf = NULL; - get_am_partner()->finish_unsuccessful_authentication(true); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - } - - if (aStatus != KErrNone) - { - delete m_message_buf; - m_message_buf = NULL; - // Something is very wrong... - - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: EAP - SecurID notifier or dialog\n"))); - - send_error_notification(eap_status_authentication_failure); - - get_am_partner()->finish_unsuccessful_authentication(false); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - } - - switch (m_state) - { - case EHandlingIdentityQuery: - { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingIdentityQuery\n"))); - - eap_variable_data_c identity(m_am_tools); - - eap_status_e status = identity.set_copy_of_buffer( - m_dialog_data_ptr->iUsername.Ptr(), - m_dialog_data_ptr->iUsername.Size()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - eap_variable_data_c identity_utf8(m_am_tools); - status = m_am_tools->convert_unicode_to_utf8(identity_utf8, identity); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - status = get_am_partner()->complete_eap_identity_query(&identity_utf8); - } - break; - - case EHandlingPasscodeQuery: - { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingPasscodeQuery\n"))); - - eap_variable_data_c passcode(m_am_tools); - - eap_status_e status = passcode.set_copy_of_buffer( - m_dialog_data_ptr->iPassword.Ptr(), - m_dialog_data_ptr->iPassword.Size()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - eap_variable_data_c passcode_utf8(m_am_tools); - status = m_am_tools->convert_unicode_to_utf8(passcode_utf8, passcode); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - status = get_am_partner()->client_securid_complete_passcode_query(&passcode_utf8); - } - break; - - case EHandlingPincodeQuery: - { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingPincodeQuery\n"))); - - eap_variable_data_c pincode(m_am_tools); - - eap_status_e status = pincode.set_copy_of_buffer( - m_dialog_data_ptr->iUsername.Ptr(), - m_dialog_data_ptr->iUsername.Size()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - eap_variable_data_c passcode(m_am_tools); - - status = passcode.set_copy_of_buffer( - m_dialog_data_ptr->iPassword.Ptr(), - m_dialog_data_ptr->iPassword.Size()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - - eap_variable_data_c pincode_utf8(m_am_tools); - status = m_am_tools->convert_unicode_to_utf8(pincode_utf8, pincode); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - eap_variable_data_c passcode_utf8(m_am_tools); - status = m_am_tools->convert_unicode_to_utf8(passcode_utf8, passcode); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - status = get_am_partner()->client_securid_complete_pincode_query(&passcode_utf8, &passcode_utf8); - } - break; - - case EHandlingGTCQuery: - { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_securid_symbian_c::DlgComplete(): EHandlingGTCQuery\n"))); - - delete m_message_buf; - m_message_buf = NULL; - - eap_variable_data_c passcode(m_am_tools); - - eap_status_e status = passcode.set_copy_of_buffer( - m_dialog_data_ptr->iPassword.Ptr(), - m_dialog_data_ptr->iPassword.Size()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - eap_variable_data_c passcode_utf8(m_am_tools); - status = m_am_tools->convert_unicode_to_utf8(passcode_utf8, passcode); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - (void)EAP_STATUS_RETURN(m_am_tools, status); - return; - } - - // User must have entered some password and pressed OK. - // Treat this as a full authentication and update the Last Auth Time. - status = store_authentication_time(); - if (status != eap_status_ok) - { - // Storing failed. Don't care. - EAP_TRACE_ERROR(m_am_tools, - TRACE_FLAGS_DEFAULT, ( - EAPL("eap_am_type_securid_symbian_c:Storing Last Full Authentication time failed, status=%d, but continuing\n"), - status)); - - status = eap_status_ok; - } - - status = get_am_partner()->client_gtc_complete_user_input_query(&passcode_utf8); - } - break; - - default: - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: EAP - SecurID illegal state in DlgComplete().\n"))); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - } + return eap_status_pending_request; } //-------------------------------------------------- @@ -1224,29 +1055,13 @@ return EAP_STATUS_RETURN(m_am_tools, status); } + status = memory_store_key->add_data( + &m_tunneling_vendor_type, + sizeof(m_tunneling_vendor_type)); + if (status != eap_status_ok) { - u32_t vendor_id = m_tunneling_type.get_vendor_id(); - - status = memory_store_key->add_data( - &vendor_id, - sizeof(vendor_id)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - } - - { - u32_t vendor_type = m_tunneling_type.get_vendor_type(); - status = memory_store_key->add_data( - &vendor_type, - sizeof(vendor_type)); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1265,8 +1080,8 @@ if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::is_session_valid(): LEAVE - error=%d, Assuming session is invalid \n"), + TRACE_FLAGS_DEFAULT, ( + EAPL("eap_am_type_securid_symbian_c::is_session_valid - LEAVE - error=%d, Assuming session is invalid \n"), err)); sessionValidity = false; @@ -1283,34 +1098,23 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_securid_symbian_c::is_session_valid(): EAP-tunneling type=0xfe%06x%08x\n"), - m_tunneling_type.get_vendor_id(), - m_tunneling_type.get_vendor_type())); + EAP_TRACE_DEBUG(m_am_tools, + TRACE_FLAGS_DEFAULT, ( + EAPL("eap_am_type_securid_symbian_c::is_session_valid: EAP vendor type=%d\n"), + m_eap_vendor_type)); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); // Query all the relevant parameters - _LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); if (m_eap_type == eap_type_generic_token_card) { - sqlStatement.Format( - KSQLQuery, - &cf_str_EAP_GTC_max_session_validity_time_literal, - &KGTCLastFullAuthTime, - &KGtcTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + sqlStatement.Format(KSQLQuery, &cf_str_EAP_GTC_max_session_validity_time_literal, + &KGTCLastFullAuthTime, &KGtcTableName, + &KServiceType, m_index_type, + &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); } else { @@ -1324,7 +1128,7 @@ RDbView view; // Evaluate view - User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement))); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); @@ -1454,30 +1258,20 @@ EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, ( - EAPL("eap_am_type_securid_symbian_c::store_authentication_timeL: EAP-tunneling type=0xfe%06x%08x\n"), - m_tunneling_type.get_vendor_id(), - m_tunneling_type.get_vendor_type())); + EAPL("eap_am_type_securid_symbian_c::store_authentication_timeL: EAP Vendor Type=%d\n"), + m_eap_vendor_type)); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); // Query all the relevant parameters - _LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); if (m_eap_type == eap_type_generic_token_card) { - sqlStatement.Format( - KSQLQuery, - &KGTCLastFullAuthTime, - &KGtcTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + sqlStatement.Format(KSQLQuery, &KGTCLastFullAuthTime, &KGtcTableName, + &KServiceType, m_index_type, + &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); } else { @@ -1487,7 +1281,7 @@ CleanupStack::PopAndDestroy(buf); // Delete buf. User::Leave(KErrNotSupported); } - + RDbView view; // Evaluate view User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbDefaults.h --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbDefaults.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbDefaults.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,15 +16,20 @@ */ /* -* %version: % +* %version: 8.1.2 % */ #ifndef EAPGTCDBDEFAULTS_H #define EAPGTCDBDEFAULTS_H -#include "EapPluginDbDefaults.h" // LOCAL CONSTANTS +_LIT(default_EAP_GTC_identity, ""); + +const TInt64 default_MaxSessionTime = 0; // 0 means read from configuration file. +const TInt64 default_FullAuthTime = 0; + +const TUint KMaxIdentityLengthInDB = 255; #endif // EAPGTCDBDEFAULTS_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbParameterNames.h --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbParameterNames.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbParameterNames.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 11 % */ #ifndef EAPGTCDBPARAMETERNAMES_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbUtils.h --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbUtils.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbUtils.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.6 % +* %version: 10 % */ #ifndef EAPGTCDBUTILS_H @@ -29,10 +29,21 @@ // LOCAL CONSTANTS -// For EAP-GTC private database. Database will be in the private folder of EAP-server (20026FCB). -// The maximum length of database name is 0x40 (KDbMaxName), which is defined in d32dbms.h. +#ifdef SYMBIAN_SECURE_DBMS +// For EAP GTC secure database. +// Full path is not needed. The database eapgtc.dat will be saved in the +// data cage path for DBMS. So it will be in "\private\100012a5\eapgtc.dat" in C: drive. +// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h. + +_LIT(KGtcDatabaseName, "c:eapgtc.dat"); -_LIT(KEapGtcDatabaseName, "eapgtc.dat"); +_LIT(KGtcSecureUIDFormat, "SECURE[102072e9]"); // For the security policy. + +#else + +_LIT(KGtcDatabaseName, "c:\\system\\data\\eapgtc.dat"); + +#endif // #ifdef SYMBIAN_SECURE_DBMS _LIT(KGtcTableName, "eapgtc"); @@ -49,8 +60,8 @@ * @param aIndex Index */ static void OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, + RDbNamedDatabase& aDatabase, + RDbs& aSession, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); @@ -94,6 +105,7 @@ const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); + }; #endif // EAPGTCBUTILS_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurID.h --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurID.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurID.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,14 +16,14 @@ */ /* -* %version: 16 % +* %version: 9.1.2 % */ #ifndef EAPSECURID_H #define EAPSECURID_H // INCLUDES -#include +#include #include "eap_header.h" // LOCAL CONSTANTS @@ -32,7 +32,7 @@ /** * Class that implements the generic EAP type interface. Implements EAP SecurID protocol. */ -class CEapSecurID : public CEapTypePlugin +class CEapSecurID : public CEapType { public: /** @@ -92,13 +92,16 @@ #endif // #ifdef USE_EAP_SIMPLE_CONFIG - + /** + * Invokes the configuration UI. + **/ + TInt InvokeUiL(); /** * Gets information about EAP type. * @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack. */ - CEapTypeInfo* GetInfoL(); + CEapTypeInfo* GetInfoLC(); /** * Deletes EAP type configuration @@ -120,7 +123,7 @@ * EAP type. * @param aTunnelingType Type number for the tunneling type */ - void SetTunnelingType(const TEapExpandedType aTunnelingType); + void SetTunnelingType(const TInt aTunnelingType); /** * Changes the index of the saved parameters. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbDefaults.h --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbDefaults.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbDefaults.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #ifndef EAPSECURIDDBDEFAULTS_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbParameterNames.h --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbParameterNames.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbParameterNames.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5.1.2 % */ #ifndef EAPSECURIDDBPARAMETERNAMES_H @@ -28,7 +28,6 @@ _LIT(KServiceType, "ServiceType"); _LIT(KServiceIndex, "ServiceIndex"); -_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId"); _LIT(KTunnelingType, "TunnelingType"); #endif // EAPSECURIDDBPARAMETERNAMES_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbUtils.h --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbUtils.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbUtils.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 6.1.7 % +* %version: 8 % */ #ifndef EAPSECURIDDBUTILS_H @@ -29,10 +29,21 @@ // LOCAL CONSTANTS -// For EAP-GTC private database. Database will be in the private folder of EAP-server (20026FCB). -// The maximum length of database name is 0x40 (KDbMaxName), which is defined in d32dbms.h. +#ifdef SYMBIAN_SECURE_DBMS +// For EAP SecureID secure database. +// Full path is not needed. The database eapsecurid.dat will be saved in the +// data cage path for DBMS. So it will be in "\private\100012a5\eapsecurid.dat" in C: drive. +// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h. + +_LIT(KDatabaseName, "c:eapsecurid.dat"); -_LIT(KSecurIDDatabaseName, "eapsecurid.dat"); +_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy. + +#else + +_LIT(KDatabaseName, "c:\\system\\data\\eapsecurid.dat"); + +#endif // #ifdef SYMBIAN_SECURE_DBMS _LIT(KSecurIDTableName, "eapsecurid"); @@ -49,8 +60,8 @@ * @param aIndex Index */ static void OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, + RDbNamedDatabase& aDatabase, + RDbs& aSession, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDGlobal.h --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDGlobal.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDGlobal.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ #ifndef EAPSECURIDGLOBAL_H @@ -24,9 +24,9 @@ // LOCAL CONSTANTS -_LIT(KReleaseDate, ""); // Must be in format YYYYMMDD: (dates and months start from 0) +_LIT(KReleaseDate, "20040829:"); // Must be in format YYYYMMDD: (dates and months start from 0) _LIT(KEapTypeVersion, "1.0"); -_LIT(KManufacturer, ""); +_LIT(KManufacturer, "Nokia"); _LIT(KNokiaSignature, ""); _LIT(KExtraInfo1, ""); _LIT(KExtraInfo2, ""); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/101F8E74.rss --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/101F8E74.rss Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/101F8E74.rss Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 7.1.2 % +* %version: 10 % */ // INCLUDES diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcDbUtils.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcDbUtils.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcDbUtils.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 47 % +* %version: 18.1.2 % */ // This is enumeration of EAPOL source code. @@ -35,218 +35,177 @@ #include "EapGtcDbParameterNames.h" #include "EapSecurIDDbParameterNames.h" -#include -#include "EapPluginTools.h" +#include "eap_am_trace_symbian.h" const TUint KMaxSqlQueryLength = 512; const TInt KMicroSecsInAMinute = 60000000; // 60000000 micro seconds is 1 minute. // ================= MEMBER FUNCTIONS ======================= -void EapGtcDbUtils::OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - const TIndexType aIndexType, - const TInt aIndex, - const eap_type_value_e aTunnelingType) +void EapGtcDbUtils::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession, const TIndexType aIndexType, + const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapGtcDbUtils::OpenDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + +#else - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::OpenDatabaseL()\n")); + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=%d \n"), + aIndexType,aIndex,aTunnelingVendorType) ); // 1. Open/create a database - TInt error(KErrNone); - TFileName aPrivateDatabasePathName; + // Connect to the DBMS server. + User::LeaveIfError(aSession.Connect()); + CleanupClosePushL(aSession); + // aSession and aDatabase are pushed to the cleanup stack even though they may be member + // variables of the calling class and would be closed in the destructor anyway. This ensures + // that if they are not member variables they will be closed. Closing the handle twice + // does no harm. + +#ifdef SYMBIAN_SECURE_DBMS + + // Create the secure shared database with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = aDatabase.Create(aSession, KGtcDatabaseName, KGtcSecureUIDFormat); - EapPluginTools::CreateDatabaseLC( - aDatabase, - aFileServerSession, - error, - KEapGtcDatabaseName, - aPrivateDatabasePathName); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL - Created Secure DB for eapgtc.dat. err=%d\n"), err)); - if(error == KErrNone) + + if(err == KErrNone) { aDatabase.Close(); - } - else if (error != KErrAlreadyExists) + + } else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): - calls aDatabase.Open()\n"))); - - error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): - Opened private DB for EAP-GTC. error=%d\n"), error)); - - User::LeaveIfError(error); + User::LeaveIfError(aDatabase.Open(aSession, KGtcDatabaseName, KGtcSecureUIDFormat)); + CleanupClosePushL(aDatabase); + +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + TInt err = aDatabase.Create(fsSession, KGtcDatabaseName); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL - Created Non-Secure DB for eapgtc.dat. err=%d\n"), err)); + + + if(err == KErrNone) + { + aDatabase.Close(); + + } else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + CleanupStack::PopAndDestroy(); // close fsSession + + User::LeaveIfError(aDatabase.Open(aSession, KGtcDatabaseName)); + CleanupClosePushL(aDatabase); + +#endif // #ifdef SYMBIAN_SECURE_DBMS // 2. Create the eap-securid table to database (ignore error if exists) - // Table columns: - //// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant ///////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| EAP_GTC_identity | VARCHAR(255) | cf_str_EAP_GTC_identity_literal |// - //| EAP_GTC_max_session_validity_time | BIGINT | cf_str_EAP_GTC_max_session_validity_time_literal |// - //| EAP_GTC_last_full_authentication_time | BIGINT | KGTCLastFullAuthTime |// - //| EAP_GTC_password_prompt | UNSIGNED INTEGER | cf_str_EAP_GTC_passcode_prompt_literal |// - //| EAP_GTC_password | VARCHAR(255) | cf_str_EAP_GTC_passcode_literal |// +// Table columns: +//// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant ///////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| EAP_GTC_identity | VARCHAR(255) | cf_str_EAP_GTC_identity_literal |// +//| EAP_GTC_max_session_validity_time | BIGINT | cf_str_EAP_GTC_max_session_validity_time_literal |// +//| EAP_GTC_last_full_authentication_time | BIGINT | KGTCLastFullAuthTime |// ////////////////////////////////////////////////////////////////////////////////////////////////// - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls HBufC::NewLC()\n"))); - HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLCreateTable1, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(255), \ - %S BIGINT, \ - %S BIGINT, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(255))"); + _LIT(KSQLCreateTable1, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(255), \ + %S BIGINT, \ + %S BIGINT)"); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls sqlStatement.Format()\n"))); - sqlStatement.Format(KSQLCreateTable1, &KGtcTableName, &KServiceType, &KServiceIndex, - &KTunnelingTypeVendorId, &KTunnelingType, &cf_str_EAP_GTC_identity_literal, &cf_str_EAP_GTC_max_session_validity_time_literal, - &KGTCLastFullAuthTime, - &cf_str_EAP_GTC_passcode_prompt_literal, - &cf_str_EAP_GTC_passcode_literal); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls aDatabase.Execute()\n"))); + &KGTCLastFullAuthTime); - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapGtcDbUtils::OpenDatabaseL(): aDatabase.Execute() error=%d\n"), - error)); - - User::Leave(error); + User::Leave(err); } // 4. Check if database table contains a row for this service type and id - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls sqlStatement.Format()\n"))); - - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQLQueryRow, - &cf_str_EAP_GTC_identity_literal, - &KGtcTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_GTC_identity_literal, &KGtcTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); RDbView view; - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.Prepare()\n"))); - - error = view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): view.Prepare() error=%d\n"), - error)); - - User::LeaveIfError(error); + User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); // View must be closed when no longer needed CleanupClosePushL(view); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.EvaluateAll()\n"))); - - error = view.EvaluateAll(); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): view.EvaluateAll() error=%d\n"), - error)); - - User::LeaveIfError(error); + User::LeaveIfError(view.EvaluateAll()); // 5. If row is not found then add it - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.CountL()\n"))); - TInt rows = view.CountL(); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): view.CountL() rows=%d\n"), - rows)); - - CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(); // view if (rows == 0) { _LIT(KSQLInsert, "SELECT * FROM %S"); sqlStatement.Format(KSQLInsert, &KGtcTableName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.Prepare()\n"))); - - error = view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): view.Prepare() error=%d\n"), - error)); - + + view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly); CleanupClosePushL(view); // Get column set so we get the correct column numbers - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.ColSetL()\n"))); - CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.InsertL()\n"))); - view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast (aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); - view.SetColL(colSet->ColNo(cf_str_EAP_GTC_identity_literal), default_EAP_identity); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); + view.SetColL(colSet->ColNo(cf_str_EAP_GTC_identity_literal), default_EAP_GTC_identity); view.SetColL(colSet->ColNo(cf_str_EAP_GTC_max_session_validity_time_literal), default_MaxSessionTime); view.SetColL(colSet->ColNo(KGTCLastFullAuthTime), default_FullAuthTime); - view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_prompt_literal), default_EAP_password_prompt); - view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_literal), default_EAP_password); view.PutL(); - CleanupStack::PopAndDestroy( colSet ); + CleanupStack::PopAndDestroy( colSet ); // Delete colSet. - CleanupStack::PopAndDestroy( &view ); + CleanupStack::PopAndDestroy( &view ); // Close view. } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls aDatabase.Compact()\n"))); - + + CleanupStack::PopAndDestroy( buf ); // Delete buf + CleanupStack::Pop( &aDatabase ); + CleanupStack::Pop( &aSession ); + aDatabase.Compact(); - - CleanupStack::PopAndDestroy( buf ); - CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aFileServerSession ); } -// ---------------------------------------------------------- void EapGtcDbUtils::SetIndexL( RDbNamedDatabase& aDatabase, @@ -257,37 +216,25 @@ const TInt aNewIndex, const eap_type_value_e aNewTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapGtcDbUtils::SetIndexL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapGtcDbUtils::SetIndexL(): -Start- aNewIndexType=%d, aNewIndex=%d, aNewTunnelingType=0xfe%06x%08x\n"), - aNewIndexType, - aNewIndex, - aNewTunnelingType.get_vendor_id(), - aNewTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + TUint aNewTunnelingVendorType = aNewTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::SetIndexL()\n")); +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + TUint aNewTunnelingVendorType = static_cast(aNewTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQL, - &KGtcTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &KGtcTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); RDbView view; @@ -317,20 +264,17 @@ view.UpdateL(); - view.SetColL(colSet->ColNo(KServiceType), static_cast(aNewIndexType)); - view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KServiceType), static_cast(aNewIndexType)); + + view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex); + + view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType); view.PutL(); - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(3); // view, colset, buf } -// ---------------------------------------------------------- - void EapGtcDbUtils::SetConfigurationL( RDbNamedDatabase& aDatabase, const EAPSettings& aSettings, @@ -338,19 +282,18 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapGtcDbUtils::SetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::SetConfigurationL()\n")); +#else - EAP_TRACE_SETTINGS(&aSettings); + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES // Check if the settings are for the correct type - if (aSettings.iEAPExpandedType != (*EapExpandedTypeGtc.GetType())) + if (aSettings.iEAPType != EAPSettings::EEapGtc) { User::Leave(KErrNotSupported); } @@ -361,18 +304,9 @@ RDbView view; - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQLQuery, - &KGtcTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KGtcTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -397,7 +331,7 @@ { // Username too long. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapGtcDbUtils::SetConfigurationL(): Too long Username. Length=%d \n"), + EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::SetConfigurationL: Too long Username. Length=%d \n"), aSettings.iUsername.Length())); User::Leave(KErrArgument); @@ -417,61 +351,21 @@ view.SetColL(colSet->ColNo(cf_str_EAP_GTC_max_session_validity_time_literal), validityInMicro); } - + // Last full authentication time should be made zero when EAP configurations are modified. // This makes sure that the next authentication with this EAP would be full authentication // instead of reauthentication even if the session is still valid. - + view.SetColL(colSet->ColNo(KGTCLastFullAuthTime), default_FullAuthTime); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::SetConfigurationL(): Session Validity: Resetting Full Auth Time since settings are modified\n"))); - - // Password existence. - if (aSettings.iPasswordExistPresent - && !aSettings.iPasswordExist) - { - // Clear password from database. - view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_literal), KNullPasswordData); - view.SetColNullL(colSet->ColNo(cf_str_EAP_GTC_passcode_literal)); - } - - // Password - if (aSettings.iPasswordPresent) - { - // Validate length. - if(aSettings.iPassword.Length() > KMaxPasswordLengthInDB) - { - // Password too long. Can not be stored in DB. - - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapGtcDbUtils::SetConfigurationL(): Too long Password. Length=%d \n"), - aSettings.iPassword.Length())); + EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"), + aSettings.iEAPType )); - User::Leave(KErrArgument); - } - - // Length is ok. Set the value in DB. - view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_literal), aSettings.iPassword); - - } - - if (aSettings.iShowPassWordPromptPresent) - { - // If password was supplied set password prompting off - if (aSettings.iShowPassWordPrompt != EFalse) - view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_prompt_literal), EEapDbTrue); - else - view.SetColL(colSet->ColNo(cf_str_EAP_GTC_passcode_prompt_literal), EEapDbFalse); - } - view.PutL(); + CleanupStack::PopAndDestroy(3); // view, colset, buf - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); } -// ---------------------------------------------------------- - void EapGtcDbUtils::GetConfigurationL( RDbNamedDatabase& aDatabase, EAPSettings& aSettings, @@ -479,14 +373,15 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapGtcDbUtils::GetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::GetConfigurationL()\n")); +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); @@ -494,18 +389,9 @@ RDbView view; // Form the query - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQLQuery, - &KGtcTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &KGtcTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -522,38 +408,13 @@ CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - aSettings.iEAPExpandedType = *EapExpandedTypeGtc.GetType(); + aSettings.iEAPType = EAPSettings::EEapGtc; // Username TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_GTC_identity_literal)); aSettings.iUsername.Copy(username); aSettings.iUsernamePresent = ETrue; - // Password existence. - aSettings.iPasswordExistPresent = ETrue; - aSettings.iPasswordExist = ! view.IsColNull(colSet->ColNo(cf_str_EAP_GTC_passcode_literal)); - -#if defined(USE_EAP_PASSWORD_READ_FROM_DATABASE) - // Password - TPtrC password = view.ColDes(colSet->ColNo(cf_str_EAP_GTC_passcode_literal)); - aSettings.iPassword.Copy(password); - aSettings.iPasswordPresent = ETrue; -#else - EAP_TRACE_DEBUG_SYMBIAN((_L("WARNING: EapGtcDbUtils::GetConfigurationL(): Password read is disabled\n"))); -#endif //#if defined(USE_EAP_PASSWORD_READ_FROM_DATABASE) - - aSettings.iShowPassWordPromptPresent = ETrue; - - TUint aShow = view.ColUint(colSet->ColNo(cf_str_EAP_GTC_passcode_prompt_literal)); - if(aShow == EEapDbFalse) - { - aSettings.iShowPassWordPrompt = EFalse; - } - else - { - aSettings.iShowPassWordPrompt = ETrue; - } - // Session validity time TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(cf_str_EAP_GTC_max_session_validity_time_literal)); @@ -563,15 +424,9 @@ aSettings.iSessionValidityTime = static_cast(maxSessionTimeMin); aSettings.iSessionValidityTimePresent = ETrue; - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); - - EAP_TRACE_SETTINGS(&aSettings); + CleanupStack::PopAndDestroy(3); // view, colset, buf } -// ---------------------------------------------------------- - void EapGtcDbUtils::CopySettingsL( RDbNamedDatabase& aDatabase, const TIndexType aSrcIndexType, @@ -581,37 +436,25 @@ const TInt aDestIndex, const eap_type_value_e aDestTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapGtcDbUtils::CopySettingsL(): -Start- aSrcIndexType=%d, aSrcIndex=%d, aSrcTunnelingType=0xfe%06x%08x\n"), - aSrcIndexType, - aSrcIndex, - aSrcTunnelingType.get_vendor_id(), - aSrcTunnelingType.get_vendor_type())); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapGtcDbUtils::CopySettingsL(): -Start- aDestIndexType=%d, aDestTunnelingType=0xfe%06x%08x\n"), - aDestIndexType, - aDestIndex, - aDestTunnelingType.get_vendor_id(), - aDestTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aSrcTunnelingVendorType = aSrcTunnelingType.get_vendor_type(); + TUint aDestTunnelingVendorType = aDestTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::CopySettingsL()\n")); +#else + + TUint aSrcTunnelingVendorType = static_cast(aSrcTunnelingType); + TUint aDestTunnelingVendorType = static_cast(aDestTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQL, - &KGtcTableName, - &KServiceType, - aSrcIndexType, - &KServiceIndex, - aSrcIndex, - &KTunnelingTypeVendorId, - aSrcTunnelingType.get_vendor_id(), - &KTunnelingType, - aSrcTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &KGtcTableName, + &KServiceType, aSrcIndexType, &KServiceIndex, aSrcIndex, &KTunnelingType, aSrcTunnelingVendorType); RDbView view; @@ -642,91 +485,99 @@ CleanupStack::PushL(colSet); view.SetColL(colSet->ColNo(KServiceType), static_cast(aDestIndexType)); + view.SetColL(colSet->ColNo(KServiceIndex), aDestIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type()); + + view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingVendorType); view.PutL(); - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(3); // view, colset, buf } -// ---------------------------------------------------------- - void EapGtcDbUtils::DeleteConfigurationL( const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapGtcDbUtils::DeleteConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::DeleteConfigurationL()\n")); +#else - RDbNamedDatabase aDatabase; - RFs aFileServerSession; + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES - TInt error(KErrNone); - TFileName aPrivateDatabasePathName; + RDbs session; + RDbNamedDatabase database; + // Connect to the DBMS server. + User::LeaveIfError(session.Connect()); + CleanupClosePushL(session); + +#ifdef SYMBIAN_SECURE_DBMS - error = aFileServerSession.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::DeleteConfigurationL(): - aFileServerSession.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapPluginTools::CreateDatabaseLC( - aDatabase, - aFileServerSession, - error, - KEapGtcDatabaseName, - aPrivateDatabasePathName); - - if(error == KErrNone) + // Create the secure shared database with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = database.Create(session, KGtcDatabaseName, KGtcSecureUIDFormat); + + if(err == KErrNone) { // Database was created so it was empty. No need for further actions. - aDatabase.Destroy(); - CleanupStack::PopAndDestroy(&aDatabase); - CleanupStack::PopAndDestroy(&aFileServerSession); + database.Destroy(); + CleanupStack::PopAndDestroy(); return; - } - else if (error != KErrAlreadyExists) + + } + else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::DeleteConfigurationL(): - calls aDatabase.Open()\n"))); - - error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); + // Database existed, open it. + User::LeaveIfError(database.Open(session, KGtcDatabaseName, KGtcSecureUIDFormat)); + CleanupClosePushL(database); + +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + TInt err = database.Create(fsSession, KGtcDatabaseName); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::DeleteConfigurationL(): - Opened private DB for EAP-GTC. error=%d\n"), error)); - - User::LeaveIfError(error); + if(err == KErrNone) + { + // Database was created so it was empty. No need for further actions. + database.Destroy(); + CleanupStack::PopAndDestroy(2); // fsSession, database session + return; + + } + else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + + CleanupStack::PopAndDestroy(); // close fsSession + + User::LeaveIfError(database.Open(session, KGtcDatabaseName)); + CleanupClosePushL(database); + +#endif // #ifdef SYMBIAN_SECURE_DBMS HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); // Main settings table - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQL, - &KGtcTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); - + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQL, &KGtcTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view RDbView view; - User::LeaveIfError(view.Prepare(aDatabase,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); @@ -738,12 +589,8 @@ } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); - CleanupStack::PopAndDestroy(&aDatabase); - CleanupStack::PopAndDestroy(&aFileServerSession); + // Close database + CleanupStack::PopAndDestroy(4); // view, buf, database, session } -// ---------------------------------------------------------- - // End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiConnection.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiConnection.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,131 @@ +/* +* 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. +* +*/ + +/* +* %version: 10.1.2 % +*/ + +// This is enumeration of EAPOL source code. +#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + #undef EAP_FILE_NUMBER_ENUM + #define EAP_FILE_NUMBER_ENUM 339 + #undef EAP_FILE_NUMBER_DATE + #define EAP_FILE_NUMBER_DATE 1127594498 +#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + +#include "EapGtcDbUtils.h" +#include +#include + +CEapGtcUiConnection::CEapGtcUiConnection( + const TIndexType aIndexType, + const TInt aIndex, + const TInt aTunnelingType) + : iIndexType(aIndexType) + , iIndex(aIndex) + , iTunnelingType(aTunnelingType) + , iIsConnected(EFalse) + , iDataConn(NULL) +{ +} + + +CEapGtcUiConnection::~CEapGtcUiConnection() +{ +} + + +TInt CEapGtcUiConnection::Connect() +{ +#ifdef USE_EAP_EXPANDED_TYPES + + eap_type_value_e tunnelingType(static_cast(iTunnelingType)); + +#else + + eap_type_value_e tunnelingType = static_cast(iTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + TRAPD(err, EapGtcDbUtils::OpenDatabaseL( + iDbNamedDatabase, + iDbs, + iIndexType, + iIndex, + tunnelingType)); + if (err == KErrNone) + { + iIsConnected = ETrue; + } + + return err; +} + + +TInt CEapGtcUiConnection::Close() +{ + if (iIsConnected) + { + iDbNamedDatabase.Close(); + iDbs.Close(); + } + iIsConnected = EFalse; + + return KErrNone; +} + + +CEapGtcUiDataConnection * CEapGtcUiConnection::GetDataConnection() +{ + if (!iDataConn) + { + iDataConn = new CEapGtcUiDataConnection(this); + } + + return iDataConn; +} + +TInt CEapGtcUiConnection::GetDatabase(RDbNamedDatabase & aDatabase) +{ + if (iIsConnected == EFalse) + { + return KErrSessionClosed; + } + + aDatabase = iDbNamedDatabase; + return KErrNone; +} + + +TIndexType CEapGtcUiConnection::GetIndexType() +{ + return iIndexType; +} + + +TInt CEapGtcUiConnection::GetIndex() +{ + return iIndex; +} + + +TInt CEapGtcUiConnection::GetTunnelingType() +{ + return iTunnelingType; +} + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiDataConnection.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiDataConnection.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,217 @@ +/* +* 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. +* +*/ + +/* +* %version: 14.1.2.1.2 % +*/ + +// This is enumeration of EAPOL source code. +#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + #undef EAP_FILE_NUMBER_ENUM + #define EAP_FILE_NUMBER_ENUM 341 + #undef EAP_FILE_NUMBER_DATE + #define EAP_FILE_NUMBER_DATE 1127594498 +#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + +#include +#include "EapGtcDbUtils.h" +#include "EapSecurIDDbParameterNames.h" +#include "EapGtcDbParameterNames.h" +#include "EapGtcDbDefaults.h" +#include +#include +#include +#include "eap_am_trace_symbian.h" + +const TUint KMaxSqlQueryLength = 256; + + +CEapGtcUiDataConnection::CEapGtcUiDataConnection(CEapGtcUiConnection * aUiConn) +: iIsOpened(EFalse) +, iUiConn(aUiConn) +, iColSet(NULL) +, iDataPtr(NULL) +{ +} + + +CEapGtcUiDataConnection::~CEapGtcUiDataConnection() +{ + if (iUiConn) + { + Close(); + iUiConn = NULL; + } +} + + +TInt CEapGtcUiDataConnection::Open() +{ + if (iIsOpened) + { + return KErrAlreadyExists; + } + + TInt err = iUiConn->GetDatabase(iDatabase); + if (err != KErrNone) + { + return err; + } + + iIsOpened = ETrue; + return KErrNone; +} + + +TInt CEapGtcUiDataConnection::GetData(CEapGtcUiGtcData ** aDataPtr) +{ + if (aDataPtr == NULL) + { + return KErrArgument; + } + if (iIsOpened == EFalse) + { + return KErrSessionClosed; + } + iDataPtr = new CEapGtcUiGtcData(); + if (!iDataPtr) + { + return KErrNoMemory; + } + + TRAPD(err, FetchDataL()); + if (err != KErrNone) + { + delete iDataPtr; + iDataPtr = NULL; + + delete iColSet; + iColSet = NULL; + + iView.Close(); + + return err; + } + + *aDataPtr = iDataPtr; + + return KErrNone; +} + + +TInt CEapGtcUiDataConnection::Update() +{ + TRAPD(err, iView.UpdateL()); + if (err != KErrNone) + { + return err; + } + + // Validate the length of username/identity. + if(iDataPtr->GetIdentity().Length() > KMaxIdentityLengthInDB) + { + // Username or identity too long. Can not be stored in DB. + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapGtcUiDataConnection::Update: Too long username/identity. length =%d\n"), + iDataPtr->GetIdentity().Length())); + + return KErrArgument; + } + + TRAP(err, iView.SetColL(iColSet->ColNo(cf_str_EAP_GTC_identity_literal), iDataPtr->GetIdentity())); + if (err != KErrNone) + { + return err; + } + + // Last full authentication time should be made zero when EAP configurations are modified. + // This makes sure that the next authentication with this EAP would be full authentication + // instead of reauthentication even if the session is still valid. + + TRAP(err, iView.SetColL(iColSet->ColNo(KGTCLastFullAuthTime), default_FullAuthTime)); + if (err != KErrNone) + { + return err; + } + + EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: Resetting Full Auth Time since EAP-GTC settings are modified\n"))); + + TRAP(err, iView.PutL()); + + return err; +} + + +TInt CEapGtcUiDataConnection::Close() +{ + if (iIsOpened == EFalse) + { + return KErrNone; + } + + delete iDataPtr; + iDataPtr = NULL; + + delete iColSet; + iColSet = NULL; + + iView.Close(); + + iUiConn = NULL; + + return KErrNone; +} + + +void CEapGtcUiDataConnection::FetchDataL() +{ + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = buf->Des(); + + // Form the query. Query everything. + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, + &KGtcTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + + // Evaluate view + User::LeaveIfError(iView.Prepare(iDatabase, TDbQuery(sqlStatement))); + + User::LeaveIfError(iView.EvaluateAll()); + + // Get the first (and only) row + iView.FirstL(); + iView.GetL(); + + // Get column set so we get the correct column numbers + delete iColSet; + iColSet = NULL; + iColSet = iView.ColSetL(); + + // Start fetching the values + + // identity + iDataPtr->GetIdentity().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_GTC_identity_literal))); + + CleanupStack::PopAndDestroy(buf); +} + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiGtcData.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiGtcData.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,48 @@ +/* +* 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. +* +*/ + +/* +* %version: 8.1.2 % +*/ + +// This is enumeration of EAPOL source code. +#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + #undef EAP_FILE_NUMBER_ENUM + #define EAP_FILE_NUMBER_ENUM 343 + #undef EAP_FILE_NUMBER_DATE + #define EAP_FILE_NUMBER_DATE 1127594498 +#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) + +#include + + +CEapGtcUiGtcData::CEapGtcUiGtcData() +{ +} + + +CEapGtcUiGtcData::~CEapGtcUiGtcData() +{ +} + + +TDes& CEapGtcUiGtcData::GetIdentity() +{ + return iIdentity; +} + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurID.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurID.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurID.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 25 % +* %version: 15.1.2 % */ // This is enumeration of EAPOL source code. @@ -37,9 +37,10 @@ #include #include "EapGtcDbUtils.h" +#include +#include "EapGtcUi.h" + #include "eap_am_tools_symbian.h" -#include "EapConversion.h" -#include "EapTraceSymbian.h" // LOCAL CONSTANTS @@ -151,13 +152,36 @@ // ---------------------------------------------------------- -CEapTypeInfo* CEapSecurID::GetInfoL() +TInt CEapSecurID::InvokeUiL() +{ + TInt buttonId(0); + +#ifdef USE_EAP_EXPANDED_TYPES + + CEapGtcUiConnection uiConn(iIndexType, iIndex, iTunnelingType.get_vendor_type()); + +#else + + CEapGtcUiConnection uiConn(iIndexType, iIndex, iTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + CEapGtcUi* ui = CEapGtcUi::NewL(&uiConn); + CleanupStack::PushL(ui); + buttonId = ui->InvokeUiL(); + CleanupStack::PopAndDestroy(ui); + return buttonId; +} + +// ---------------------------------------------------------- + +CEapTypeInfo* CEapSecurID::GetInfoLC() { CEapTypeInfo* info = new(ELeave) CEapTypeInfo( (TDesC&) KReleaseDate, (TDesC&) KEapTypeVersion, (TDesC&) KManufacturer); - + CleanupStack::PushL(info); return info; } @@ -170,20 +194,19 @@ // ---------------------------------------------------------- -void CEapSecurID::SetTunnelingType(const TEapExpandedType aTunnelingType) - { - EAP_TRACE_DATA_DEBUG_SYMBIAN( - (EAPL("CEapSecurID::SetTunnelingType - tunneling type"), - aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length())); - - eap_type_value_e aInternalType; - - TInt err = CEapConversion::ConvertExpandedEAPTypeToInternalType( - &aTunnelingType, - &aInternalType); - - iTunnelingType = aInternalType; - } +void CEapSecurID::SetTunnelingType(const TInt aTunnelingType) +{ +#ifdef USE_EAP_EXPANDED_TYPES + + // Vendor id is eap_type_vendor_id_ietf always in this plugin. + iTunnelingType.set_eap_type_values(eap_type_vendor_id_ietf, aTunnelingType); + +#else + + iTunnelingType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES +} // ---------------------------------------------------------- void CEapSecurID::SetIndexL( @@ -207,16 +230,13 @@ RDbNamedDatabase db; - RFs session; + RDbs session; + + EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSecurID::SetIndexL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); - + EapGtcDbUtils::SetIndexL( db, iIndexType, @@ -229,27 +249,22 @@ iIndexType = aIndexType; iIndex = aIndex; - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + CleanupStack::PopAndDestroy(2); // db + + } void CEapSecurID::SetConfigurationL(const EAPSettings& aSettings) { RDbNamedDatabase db; - RFs session; + RDbs session; + + // This also creates the IAP entry if it doesn't exist + EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSecurID::SetConfigurationL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - // This also creates the IAP entry if it doesn't exist - EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); EapGtcDbUtils::SetConfigurationL( db, @@ -257,28 +272,21 @@ iIndexType, iIndex, iTunnelingType); - - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + + CleanupStack::PopAndDestroy(2); // db, session } void CEapSecurID::GetConfigurationL(EAPSettings& aSettings) { RDbNamedDatabase db; - RFs session; + RDbs session; + + // This also creates the IAP entry if it doesn't exist + EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSecurID::GetConfigurationL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - // This also creates the IAP entry if it doesn't exist - EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); EapGtcDbUtils::GetConfigurationL( db, @@ -286,12 +294,8 @@ iIndexType, iIndex, iTunnelingType); - - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + + CleanupStack::PopAndDestroy(2); // db, session } void CEapSecurID::CopySettingsL( @@ -315,16 +319,13 @@ RDbNamedDatabase db; - RFs session; + RDbs session; + + EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSecurID::CopySettingsL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); - + EapGtcDbUtils::CopySettingsL( db, iIndexType, @@ -333,12 +334,9 @@ aDestinationIndexType, aDestinationIndex, iTunnelingType); - - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + + CleanupStack::PopAndDestroy(2); // db + } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurIDDbUtils.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurIDDbUtils.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurIDDbUtils.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 29 % +* %version: 14.1.2 % */ // This is enumeration of EAPOL source code. @@ -34,64 +34,88 @@ #include "EapSecurIDDbDefaults.h" #include "EapSecurIDDbParameterNames.h" -#include -#include "EapPluginTools.h" +#include "eap_am_trace_symbian.h" const TUint KMaxSqlQueryLength = 512; // ================= MEMBER FUNCTIONS ======================= -void EapSecurIDDbUtils::OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - const TIndexType aIndexType, - const TInt aIndex, - const eap_type_value_e aTunnelingType) +void EapSecurIDDbUtils::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession, const TIndexType aIndexType, + const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapSecurIDDbUtils::OpenDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSecurIDDbUtils::OpenDatabaseL()\n")); +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES // 1. Open/create a database - - TInt error(KErrNone); - TFileName aPrivateDatabasePathName; + + // Connect to the DBMS server. + User::LeaveIfError(aSession.Connect()); + CleanupClosePushL(aSession); + // aSession and aDatabase are pushed to the cleanup stack even though they may be member + // variables of the calling class and would be closed in the destructor anyway. This ensures + // that if they are not member variables they will be closed. Closing the handle twice + // does no harm. + +#ifdef SYMBIAN_SECURE_DBMS + + // Create the secure shared database with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = aDatabase.Create(aSession, KDatabaseName, KSecureUIDFormat); - EapPluginTools::CreateDatabaseLC( - aDatabase, - aFileServerSession, - error, - KSecurIDDatabaseName, - aPrivateDatabasePathName); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapSecurIDDbUtils::OpenDatabaseL - Created Secure DB for eapsecurid.dat. err=%d\n"), err)); - if(error == KErrNone) + + if(err == KErrNone) { aDatabase.Close(); - } - else if (error != KErrAlreadyExists) + + } else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapSecurIDDbUtils::OpenDatabaseL(): - calls aDatabase.Open()\n"))); - - error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapSecurIDDbUtils::OpenDatabaseL(): - Opened private DB for EAP-SecurID. error=%d\n"), error)); - - User::LeaveIfError(error); + User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName, KSecureUIDFormat)); + CleanupClosePushL(aDatabase); + +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + TInt err = aDatabase.Create(fsSession, KDatabaseName); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapSecurIDDbUtils::OpenDatabaseL - Created Non-Secure DB for eapsecurid.dat. err=%d\n"), err)); + + + if(err == KErrNone) + { + aDatabase.Close(); + + } else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + CleanupStack::PopAndDestroy(); // close fsSession + + User::LeaveIfError(aDatabase.Open(aSession, KDatabaseName)); + CleanupClosePushL(aDatabase); + +#endif // #ifdef SYMBIAN_SECURE_DBMS // 2. Create the eap-securid table to database (ignore error if exists) // Table columns: //// NAME ///////////////////////////////////////////////// TYPE ////////////// Constant ///////// //| ServiceType | UNSIGNED INTEGER | KServiceType |// //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// //| EAP_SECURID_identity | VARCHAR(255) | cf_str_EAP_SECURID_identity_literal |// ////////////////////////////////////////////////////////////////////////////////////////////////// @@ -99,43 +123,22 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLCreateTable1, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(255))"); - - sqlStatement.Format(KSQLCreateTable1, - &KSecurIDTableName, - &KServiceType, - &KServiceIndex, - &KTunnelingTypeVendorId, - &KTunnelingType, - &cf_str_EAP_SECURID_identity_literal); - - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + _LIT(KSQLCreateTable1, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(255))"); + sqlStatement.Format(KSQLCreateTable1, &KSecurIDTableName, &KServiceType, &KServiceIndex, &KTunnelingType, &cf_str_EAP_SECURID_identity_literal); + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } // 4. Check if database table contains a row for this service type and id - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQLQueryRow, - &cf_str_EAP_SECURID_identity_literal, - &KSecurIDTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); - + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_SECURID_identity_literal, &KSecurIDTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); // View must be closed when no longer needed @@ -143,7 +146,7 @@ User::LeaveIfError(view.EvaluateAll()); // 5. If row is not found then add it TInt rows = view.CountL(); - CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(); // view if (rows == 0) { _LIT(KSQLInsert, "SELECT * FROM %S"); @@ -159,8 +162,7 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast (aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); view.SetColL(colSet->ColNo(cf_str_EAP_SECURID_identity_literal), default_EAP_SECURID_identity); view.PutL(); @@ -169,11 +171,9 @@ CleanupStack::PopAndDestroy( &view ); // Close view. } + CleanupStack::PopAndDestroy(); // sqlStatement + CleanupStack::Pop(2); // database, session aDatabase.Compact(); - - CleanupStack::PopAndDestroy( buf ); - CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aFileServerSession ); } // End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurIDProxy.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurIDProxy.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurIDProxy.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 9.1.2 % +* %version: 12 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/sim/symbian/eap_am_type_sim_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/sim/symbian/eap_am_type_sim_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/sim/symbian/eap_am_type_sim_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/symbian/plugin/common/EapTypeInfo.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/symbian/plugin/common/EapTypeInfo.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/symbian/plugin/common/EapTypeInfo.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 7 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/symbian/plugin/include/EapPluginDbDefaults.h --- a/eapol/eapol_framework/eapol_symbian/am/type/symbian/plugin/include/EapPluginDbDefaults.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 7 % -*/ - -#if !defined(_EAPPLUGINDBDEFAULTS_H_) -#define _EAPPLUGINDBDEFAULTS_H_ - -enum TEapDbBoolean -{ - EEapDbFalse, - EEapDbTrue, - EEapDbNotValid, // This indicates that the value is not configured. -}; - -// LOCAL CONSTANTS - -_LIT(KEapSecureUIDFormat, "SECURE[102072e9]"); // For the security policy. - -const TUint default_EAP_password_prompt = EEapDbTrue; - -_LIT(default_EAP_identity, ""); -_LIT(default_EAP_username, ""); -_LIT(default_EAP_realm, ""); -_LIT(default_EAP_password, ""); - -_LIT(KNullPasswordData, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"); - -const TInt64 default_MaxSessionTime = 0; // 0 means read from configuration file. -const TInt64 default_FullAuthTime = 0; - -const TUint KMaxIdentityLengthInDB = 255; -const TUint KMaxUsernameLengthInDB = 255; -const TUint KMaxRealmLengthInDB = 255; -const TUint KMaxPasswordLengthInDB = 255; - -#if !defined(USE_EAP_FILECONFIG) - const TInt default_EAP_TRACE_disable_traces = 0; - const TInt default_EAP_TRACE_enable_function_traces = 0; - const TInt default_EAP_TRACE_only_trace_messages = 0; - const TInt default_EAP_TRACE_only_test_vectors = 0; - const TInt default_EAP_CORE_session_timeout = 120000; // ms = 120 seconds = 2 minutes. - const TInt default_EAP_ERROR_TEST_enable_random_errors = 0; - const TInt default_EAP_ERROR_TEST_send_original_packet_first = 0; - const TInt default_EAP_ERROR_TEST_generate_multiple_error_packets = 2; - const TInt default_EAP_ERROR_TEST_manipulate_ethernet_header = 0; - const TInt default_EAP_ERROR_TEST_error_probability = 8000000; - const TInt default_EAP_test_default_type = 18; // EAP-SIM - const TInt default_EAP_CORE_retransmission_counter = 0; -#endif //#if !defined(USE_EAP_FILECONFIG) - -#endif // _EAPPLUGINDBDEFAULTS_H_ - - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/EapTlsPeapCertInterface.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/EapTlsPeapCertInterface.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/EapTlsPeapCertInterface.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 38.1.26 % +* %version: 43 % */ // This is enumeration of EAPOL source code. @@ -34,13 +34,10 @@ #include #include #include "eap_tlv_message_data.h" -#include "EapTraceSymbian.h" -#include "eap_automatic_variable.h" +#include "eap_am_trace_symbian.h" -#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE) - const TText8 KKeyStoreHandlePrefix[] = "EapTlsPeapKeyStoreHandler"; - const TText8 KKeyStoreHandleKey[] = "CEapTlsPeapCertInterface KeyStore handle"; -#endif //#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE) +const TText8 KKeyStoreHandlePrefix[] = "EapTlsPeapKeyStoreHandler"; +const TText8 KKeyStoreHandleKey[] = "CEapTlsPeapCertInterface KeyStore handle"; enum TAlgorithmAndSignedType { @@ -64,14 +61,6 @@ CEapTlsPeapCertInterface* CEapTlsPeapCertInterface::NewL(abs_eap_am_tools_c* const aTools, eap_am_type_tls_peap_symbian_c* const aParent) { - EAP_TRACE_DEBUG( - aTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::NewL()\n"))); - - EAP_TRACE_RETURN_STRING(aTools, "returns: CEapTlsPeapCertInterface::NewL()"); - - CEapTlsPeapCertInterface* self = new(ELeave) CEapTlsPeapCertInterface(aTools, aParent); CleanupStack::PushL(self); self->ConstructL(); @@ -83,22 +72,14 @@ CEapTlsPeapCertInterface::CEapTlsPeapCertInterface(abs_eap_am_tools_c* const aTools, eap_am_type_tls_peap_symbian_c* const aParent) : CActive(CActive::EPriorityStandard) -, iParent(aParent) -, m_am_tools(aTools) -, iAllowedUserCerts(1) -, iEncodedCertificate(0) -, iCertPtr(0,0) -, iMatchingUserCertInfos(1) -, iCAIndex(0) -, iUseAutomaticCaCertificate(EFalse) +,iParent(aParent) +,m_am_tools(aTools) +,iAllowedUserCerts(1) +,iEncodedCertificate(0) +,iCertPtr(0,0) +,iMatchingUserCertInfos(1) +,iCAIndex(0) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::CEapTlsPeapCertInterface()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::CEapTlsPeapCertInterface()"); - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } @@ -107,13 +88,8 @@ void CEapTlsPeapCertInterface::ConstructL() { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::ConstructL()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::ConstructL()"); - + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + User::LeaveIfError(iFs.Connect()); CActiveScheduler::Add(this); @@ -130,80 +106,19 @@ CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface() { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface()"); - - if(IsActive()) - { - Cancel(); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iMatchingUserCerts.ResetAndDestroy(): count=%d\n"), - iMatchingUserCerts.Count())); - + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + iMatchingUserCerts.ResetAndDestroy(); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iMatchingUserCertInfos.ResetAndDestroy(): count=%d\n"), - iMatchingUserCertInfos.Count())); - - iMatchingUserCertInfos.ResetAndDestroy(); + iMatchingUserCertInfos.Reset(); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iAllowedUserCerts.ResetAndDestroy(): count=%d\n"), - iAllowedUserCerts.Count())); - - iAllowedUserCerts.ResetAndDestroy(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iAllowedCACerts.ResetAndDestroy(): count=%d\n"), - iAllowedCACerts.Count())); - - iAllowedCACerts.ResetAndDestroy(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iRootCerts.ResetAndDestroy(): count=%d\n"), - iRootCerts.Count())); + iAllowedUserCerts.Reset(); iRootCerts.ResetAndDestroy(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iUserCertChain.ResetAndDestroy(): count=%d\n"), - iUserCertChain.Count())); - iUserCertChain.ResetAndDestroy(); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iCertAuthorities.ResetAndDestroy(): count=%d\n"), - iCertAuthorities.Count())); - iCertAuthorities.ResetAndDestroy(); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iCertInfos.Reset(): count=%d\n"), - iCertInfos.Count())); - TInt i(0); for (i = 0; i < iCertInfos.Count(); i++) { @@ -211,23 +126,12 @@ } iCertInfos.Reset(); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iKeyInfos.Reset(): count=%d\n"), - iKeyInfos.Count())); - for (i = 0; i < iKeyInfos.Count(); i++) { iKeyInfos[i]->Release(); } iKeyInfos.Reset(); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): delete rest\n"))); - delete iCertFilter; delete iCertStore; delete iCertChain; @@ -242,15 +146,9 @@ delete iRSASignature; delete iDSASignature; delete iKeyFilter; - -#if !defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE) - - delete iKeyStore; - -#endif //#if !defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE) + + iFs.Close(); - iFs.Close(); - EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, @@ -262,7 +160,7 @@ //-------------------------------------------------- void CEapTlsPeapCertInterface::GetMatchingCertificatesL( - const RPointerArray& aAllowedUserCerts, + const RArray& aAllowedUserCerts, const TBool aUseCertAuthoritiesFilter, EAP_TEMPLATE_CONST eap_array_c * const aCertAuthorities, const TBool aUseCertTypesFilter, @@ -270,61 +168,54 @@ const TBool aUseAllowedCipherSuitesFilter, const RArray& aAllowedCipherSuites) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::GetMatchingCertificatesL(): Total allowed user certs=%d, aAllowedUserCerts=0x%08x, iAllowedUserCerts=0x%08x, aCertAuthorities=0x%08x, aCertTypes=0x%08x, aAllowedCipherSuites=0x%08x\n"), - aAllowedUserCerts.Count(), - &aAllowedUserCerts, - &iAllowedUserCerts, - aCertAuthorities, - aCertTypes, - &aAllowedCipherSuites)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::GetMatchingCertificatesL()"); - + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + iUseCertAuthoritiesFilter = aUseCertAuthoritiesFilter; iUseCertTypesFilter = aUseCertTypesFilter; iUseAllowedCipherSuitesFilter = aUseAllowedCipherSuitesFilter; + iAllowedUserCerts.Reset(); + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::GetMatchingCertificatesL(): iAllowedUserCerts.Count()=%d\n"), - iAllowedUserCerts.Count())); - - iAllowedUserCerts.ResetAndDestroy(); + (EAPL("CEapTlsPeapCertInterface::GetMatchingCertificatesL: Total allowed user certs=%d\n"), + aAllowedUserCerts.Count())); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::GetMatchingCertificatesL(): UseCertAuthoritiesFilter=%d, UseCertTypesFilter=%d, UseAllowedCipherSuitesFilter=%d\n"), - iUseCertAuthoritiesFilter, - iUseCertTypesFilter, - iUseAllowedCipherSuitesFilter)); + (EAPL("CEapTlsPeapCertInterface::GetMatchingCertificatesL:UseCertAuthoritiesFilter=%d, UseCertTypesFilter=%d, UseAllowedCipherSuitesFilter=%d\n"), + iUseCertAuthoritiesFilter,iUseCertTypesFilter,iUseAllowedCipherSuitesFilter)); for (TInt j = 0; j < aAllowedUserCerts.Count(); j++) { - EapCertificateEntry * const copy_cert = aAllowedUserCerts[j]->Copy(); - if (copy_cert == 0) - { - User::Leave(KErrNoMemory); - } + iAllowedUserCerts.AppendL(aAllowedUserCerts[j]); + +#if defined(_DEBUG) || defined(DEBUG) - iAllowedUserCerts.AppendL(copy_cert); - - EAP_TRACE_SETTINGS(copy_cert); + // This is just for the debug prints. + TCertLabel tempLabel = iAllowedUserCerts[j].iLabel; + TKeyIdentifier tempSubjectKeyId = iAllowedUserCerts[j].iSubjectKeyId; + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapTlsPeapCertInterface::GetMatchingCertificatesL: details of allowed user certs,Label=%S\n"), + &tempLabel)); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "GetMatchingCertificatesL : Subject Key Id:", + tempSubjectKeyId.Ptr(), tempSubjectKeyId.Size() ) ); +#endif } if (iCertAuthorities.Count() > 0) { iCertAuthorities.ResetAndDestroy(); } - - if (aUseCertAuthoritiesFilter - && aCertAuthorities) + if (aUseCertAuthoritiesFilter) { for (TUint i = 0; i < aCertAuthorities->get_object_count(); i++) { @@ -335,8 +226,8 @@ // Try to form distiguished name CX500DistinguishedName* tmp = 0; - TRAPD(error, tmp = CX500DistinguishedName::NewL(ptr)); - if (error == KErrNone) + TRAPD(err, tmp = CX500DistinguishedName::NewL(ptr)); + if (err == KErrNone) { CleanupStack::PushL(tmp); // Distinguished name was found -> add it to array. @@ -374,7 +265,7 @@ if (iCertStore == 0) { - iCertStore = CUnifiedCertStore::NewL(iFs, EFalse); + iCertStore = CUnifiedCertStore::NewL(iFs, false); iCertStore->Initialize(iStatus); } else @@ -389,22 +280,16 @@ //-------------------------------------------------- -void CEapTlsPeapCertInterface::ReadCertificateL(EapCertificateEntry& aCertInfo, const TBool aRetrieveChain) +void CEapTlsPeapCertInterface::ReadCertificateL(SCertEntry& aCertInfo, const TBool aRetrieveChain) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::ReadCertificateL()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::ReadCertificateL()"); - + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); iCertInfo = aCertInfo; iRetrieveChain = aRetrieveChain; iState = EReadCertInitStore; if (iCertStore == 0) { - iCertStore = CUnifiedCertStore::NewL(iFs, EFalse); + iCertStore = CUnifiedCertStore::NewL(iFs, false); iCertStore->Initialize(iStatus); } else @@ -418,21 +303,17 @@ //-------------------------------------------------- -void CEapTlsPeapCertInterface::ReadCACertificateL(EapCertificateEntry& aCertInfo) +void CEapTlsPeapCertInterface::ReadCACertificateL(SCertEntry& aCertInfo) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::ReadCACertificateL()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::ReadCACertificateL()"); - + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapTlsPeapCertInterface::ReadCACertificateL.\n"))); + iCertInfo = aCertInfo; iState = EReadCACertInitStore; if (iCertStore == 0) { - iCertStore = CUnifiedCertStore::NewL(iFs, EFalse); + iCertStore = CUnifiedCertStore::NewL(iFs, false); iCertStore->Initialize(iStatus); } else @@ -447,48 +328,19 @@ //-------------------------------------------------- -void CEapTlsPeapCertInterface::ValidateChainL( - TDesC8& aCertChain, - RPointerArray& aAllowedCACerts, - const TBool aUseAutomaticCaCertificate) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::ValidateChainL(): aUseAutomaticCaCertificate=%d\n"), - aUseAutomaticCaCertificate)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::ValidateChainL()"); - - iUseAutomaticCaCertificate = aUseAutomaticCaCertificate; +void CEapTlsPeapCertInterface::ValidateChainL(TDesC8& aCertChain, RArray& aAllowedCACerts) +{ + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); iCAIndex = 0; - iAllowedCACerts.ResetAndDestroy(); - - if (!iUseAutomaticCaCertificate) - { - for (TInt j = 0; j < aAllowedCACerts.Count(); j++) - { - EapCertificateEntry * const copy_cert = aAllowedCACerts[j]->Copy(); - if (copy_cert == 0) - { - User::Leave(KErrNoMemory); - } - - iAllowedCACerts.AppendL(copy_cert); - - EAP_TRACE_SETTINGS(copy_cert); - } - } - + iAllowedCACerts = aAllowedCACerts; delete iInputCertChain; iInputCertChain = 0; iInputCertChain = aCertChain.AllocL(); iState = EValidateChainInitStore; - if (iCertStore == 0) { - iCertStore = CUnifiedCertStore::NewL(iFs, EFalse); + iCertStore = CUnifiedCertStore::NewL(iFs, false); iCertStore->Initialize(iStatus); } else @@ -496,9 +348,7 @@ TRequestStatus* status = &iStatus; User::RequestComplete(status, KErrNone); } - SetActive(); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } @@ -506,13 +356,13 @@ void CEapTlsPeapCertInterface::DoCancel() { + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapTlsPeapCertInterface::DoCancel()\n"))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::DoCancel()"); - if (iCertStore != 0 && iCertStore->IsActive()) { EAP_TRACE_DEBUG( @@ -610,23 +460,15 @@ //-------------------------------------------------- void CEapTlsPeapCertInterface::SignL( - const TKeyIdentifier& aKeyId, + TKeyIdentifier& aKeyId, const TDesC8& aHashIn, const TUint aSignatureLength) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::SignL()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::SignL()"); - + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); iKeyIdentifier = aKeyId; if (aHashIn.Size() > KMaxHashLength) { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Illegal hash size %d to SignL(), shoudbe <= %d.\n"), - aHashIn.Size(), - KMaxHashLength)); + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Illegal hash size to SignL.\n"))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); User::Leave(KErrGeneral); } @@ -654,9 +496,6 @@ if (iKeyStore == 0) { - -#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE) - // Try to get the keystore class pointer from memory store eap_variable_data_c key(m_am_tools); eap_status_e status = key.set_copy_of_buffer(KKeyStoreHandlePrefix, sizeof(KKeyStoreHandlePrefix)); @@ -675,17 +514,12 @@ eap_tlv_message_data_c tlv_data(m_am_tools); status = m_am_tools->memory_store_get_data(&key, &tlv_data); - if (status != eap_status_ok) { - -#endif //#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE) - - EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("EAP_type_TLSPEAP: CEapTlsPeapCertInterface::SignL(): cannot get previous CUnifiedKeyStore handle.\n"))); + (EAPL("EAP_type_TLSPEAP: cannot get previous keystore handle.\n"))); // At this point we can set the passphrase timeout because it the passphrase @@ -696,8 +530,6 @@ iKeyStore = CUnifiedKeyStore::NewL(iFs); iKeyStore->Initialize(iStatus); -#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE) - status = tlv_data.add_message_data( eap_type_tlspeap_stored_keystore_handle, sizeof(iKeyStore), @@ -772,24 +604,15 @@ User::Leave(KErrGeneral); } } - -#endif //#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE) - } else { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("EAP_type_TLSPEAP: CEapTlsPeapCertInterface::SignL(): uses previous CUnifiedKeyStore handle.\n"))); - // Skip passphrase setting because it clears the passphrase cache iState = ESetPassphraseTimeout; TRequestStatus* status = &iStatus; User::RequestComplete(status, KErrNone); } - SetActive(); @@ -800,16 +623,10 @@ //-------------------------------------------------- void CEapTlsPeapCertInterface::DecryptL( - const TKeyIdentifier& aKeyId, + TKeyIdentifier& aKeyId, const TDesC8& aDataIn) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::DecryptL()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::DecryptL()"); - + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); iKeyIdentifier = aKeyId; delete iDataIn; @@ -833,9 +650,6 @@ // Try to get the keystore handler class from memory store if (iKeyStore == 0) { - -#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE) - // Try to get the keystore class pointer from memory store eap_variable_data_c key(m_am_tools); eap_status_e status = key.set_copy_of_buffer(KKeyStoreHandlePrefix, sizeof(KKeyStoreHandlePrefix)); @@ -854,22 +668,16 @@ eap_tlv_message_data_c tlv_data(m_am_tools); status = m_am_tools->memory_store_get_data(&key, &tlv_data); - if (status != eap_status_ok) { - -#endif //#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE) - EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("EAP_type_TLSPEAP: CEapTlsPeapCertInterface::DecryptL(): cannot get previous CUnifiedKeyStore handle.\n"))); + (EAPL("EAP_type_TLSPEAP: cannot get previous keystore handle.\n"))); iKeyStore = CUnifiedKeyStore::NewL(iFs); iKeyStore->Initialize(iStatus); -#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE) - status = tlv_data.add_message_data( eap_type_tlspeap_stored_keystore_handle, sizeof(iKeyStore), @@ -895,7 +703,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("EAP_type_TLSPEAP: CEapTlsPeapCertInterface::DecryptL(): Found previous keystore handle.\n"))); + (EAPL("EAP_type_TLSPEAP: Found previous keystore handle.\n"))); // Parse read data. eap_array_c tlv_blocks(m_am_tools); @@ -938,23 +746,14 @@ User::Leave(KErrGeneral); } } - -#endif //#if defined(USE_EAP_TLS_PEAP_UNIFIED_KEY_STORE_CACHE) - } else { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("EAP_type_TLSPEAP: CEapTlsPeapCertInterface::DecryptL(): uses previous CUnifiedKeyStore handle.\n"))); - TRequestStatus* status = &iStatus; User::RequestComplete(status, KErrNone); } - SetActive(); - + SetActive(); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } @@ -962,51 +761,49 @@ void CEapTlsPeapCertInterface::RunL() { + EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapTlsPeapCertInterface::RunL(): TEMP iStatus=%d, iState=%d"), + iStatus.Int(), iState)); + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::RunL(): TEMP iStatus=%d, iState=%d\n"), - iStatus.Int(), - iState)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::RunL()"); + (EAPL("CEapTlsPeapCertInterface::RunL(): iStatus %d\n"), + iStatus.Int())); if (!(iStatus.Int() == KErrNone)) { EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: EAP-TLS certificate interface failed: error=%d.\n"), + (EAPL("ERROR: EAP-TLS certificate interface failed: %d.\n"), iStatus.Int())); iParent->SendErrorNotification(eap_status_user_cancel_authentication); if(iState == ESignOpenKeyStore) { // User probably cancelled the keystore password query. - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::RunL(): ESignOpenKeyStore Failed\n"))); - + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapTlsPeapCertInterface::RunL(): ESignOpenKeyStore Failed"))); + if(iRSASigner != NULL) { iRSASigner->Release(); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::RunL(): iRSASigner->Release() OK\n"))); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapTlsPeapCertInterface::RunL(): iRSASigner->Release() OK"))); + } if(iDSASigner != NULL) { iDSASigner->Release(); - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::RunL(): iDSASigner->Release() OK\n"))); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapTlsPeapCertInterface::RunL(): iDSASigner->Release() OK"))); } } @@ -1033,12 +830,12 @@ } iCertInfos.Reset(); - TRAPD(error, iCertFilter = CCertAttributeFilter::NewL()); - if (error != KErrNone) + TRAPD(err, iCertFilter = CCertAttributeFilter::NewL()); + if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray tmp(sizeof(EapCertificateEntry)); + CArrayFixFlat tmp(sizeof(SCertEntry)); m_am_tools->enter_global_mutex(); @@ -1069,7 +866,7 @@ (EAPL("CEapTlsPeapCertInterface::RunL(): EGetMatchingCertsInitialize, Total Certs: iCertInfos.Count()=%d\n"), iCertInfos.Count())); - iMatchingUserCertInfos.ResetAndDestroy(); + iMatchingUserCertInfos.Reset(); // Remove non-allowed TInt i(0); @@ -1078,10 +875,10 @@ { for (j = 0; j < iAllowedUserCerts.Count(); j++) { - if ( (iCertInfos[i]->Label().Compare(*(iAllowedUserCerts[j]->GetLabel())) == 0 + if ( (iCertInfos[i]->Label().Compare(iAllowedUserCerts[j].iLabel) == 0 || iCertInfos[i]->Label().Length() == 0 - || iAllowedUserCerts[j]->GetLabel()->Length() == 0) - && iCertInfos[i]->SubjectKeyId() == iAllowedUserCerts[j]->GetSubjectKeyId()) + || iAllowedUserCerts[j].iLabel.Length() == 0) + && iCertInfos[i]->SubjectKeyId() == iAllowedUserCerts[j].iSubjectKeyId) { EAP_TRACE_DEBUG( @@ -1089,19 +886,14 @@ TRACE_FLAGS_DEFAULT, (EAPL("RunL(): EGetMatchingCertsInitialize, Found a Matching USER cert\n"))); - EAP_TRACE_DATA_DEBUG( + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("RunL(): EGetMatchingCertsInitialize, Label of matching cert"), - iCertInfos[i]->Label().Ptr(), - iCertInfos[i]->Label().Size())); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("RunL(): EGetMatchingCertsInitialize, SubjectkeyID of matching cert"), - iCertInfos[i]->SubjectKeyId().Ptr(), - iCertInfos[i]->SubjectKeyId().Size())); + (EAPL("RunL(): EGetMatchingCertsInitialize,Label of matching cert=%S\n"), + &(iCertInfos[i]->Label()))); + + EAP_TRACE_DATA_DEBUG_SYMBIAN(("RunL(): EGetMatchingCertsInitialize,SubjectkeyID of matching cert", + iCertInfos[i]->SubjectKeyId().Ptr(), iCertInfos[i]->SubjectKeyId().Size())); break; } @@ -1112,8 +904,7 @@ iCertInfos.Remove(i); i--; } - } - + } if (iCertInfos.Count() == 0) { EAP_TRACE_DEBUG( @@ -1122,16 +913,23 @@ (EAPL("CEapTlsPeapCertInterface::RunL(): EGetMatchingCertsInitialize - No matching Certificates.\n"))); // No matching certs - - // Timeout handles error situation - RPointerArray empty(sizeof(EapCertificateEntry)); - + + CArrayFixFlat* tmp = NULL; + + TRAPD(err, tmp = new (ELeave) CArrayFixFlat(1) ); + if (tmp == 0 || err != KErrNone) + { + // Timeout handles error situation + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); + } + m_am_tools->enter_global_mutex(); - - iParent->complete_get_matching_certificates(empty, eap_status_illegal_certificate); //Failure - + + iParent->complete_get_matching_certificates(*tmp, eap_status_illegal_certificate); //Failure + m_am_tools->leave_global_mutex(); + delete tmp; break; } @@ -1144,32 +942,29 @@ iEncodedCertificate->Des().SetLength(0); - HBufC8 * tmpCert = 0; - TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(iCertInfos[iUserCertIndex]->Size())); - if (error != KErrNone) + TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(iCertInfos[iUserCertIndex]->Size())); + if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - - RPointerArray empty(sizeof(EapCertificateEntry)); - + + CArrayFixFlat tmp(sizeof(SCertEntry)); + m_am_tools->enter_global_mutex(); - - iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure - + + iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure + m_am_tools->leave_global_mutex(); break; } - - iEncodedCertificate = tmpCert; - + iCertPtr.Set(iEncodedCertificate->Des()); iCertStore->Retrieve( *(iCertInfos[iUserCertIndex]), iCertPtr, iStatus); - + SetActive(); } break; @@ -1182,16 +977,16 @@ (EAPL("CEapTlsPeapCertInterface::RunL(): EGetMatchingCertsLoop\n"))); CX509Certificate* cert = 0; - TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); - if (error != KErrNone || cert == 0) + TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); + if (err != KErrNone || cert == 0) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray empty(sizeof(EapCertificateEntry)); + CArrayFixFlat tmp(sizeof(SCertEntry)); m_am_tools->enter_global_mutex(); - iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure + iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1203,57 +998,37 @@ delete cert; EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray empty(sizeof(EapCertificateEntry)); + CArrayFixFlat tmp(sizeof(SCertEntry)); m_am_tools->enter_global_mutex(); - iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure + iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; } - + // No need to validate iCertInfos here as the execution doesn't come to this case if iCertInfos // is empty, check is done in the above case. - - EapCertificateEntry * entry = new EapCertificateEntry; - if (entry == 0) - { - // Timeout handles error situation - EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - - RPointerArray empty(sizeof(EapCertificateEntry)); - - m_am_tools->enter_global_mutex(); - - iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure - - m_am_tools->leave_global_mutex(); - - delete entry; - - break; - } - - entry->SetLabel(iCertInfos[iUserCertIndex]->Label()); - entry->SetSubjectKeyId(iCertInfos[iUserCertIndex]->SubjectKeyId()); + + SCertEntry entry; + entry.iLabel.Copy(iCertInfos[iUserCertIndex]->Label()); + entry.iSubjectKeyId = iCertInfos[iUserCertIndex]->SubjectKeyId(); - TRAP(error, iMatchingUserCertInfos.AppendL(entry)); - if (error != KErrNone) + TRAP(err, iMatchingUserCertInfos.AppendL(entry)); + if (err != KErrNone) { EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray empty(sizeof(EapCertificateEntry)); - + CArrayFixFlat tmp(sizeof(SCertEntry)); + m_am_tools->enter_global_mutex(); - iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure + iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); - delete entry; - break; } @@ -1280,15 +1055,13 @@ // Matches break; } - } // for() - + } if (j == iCertAuthorities.Count()) { // No match. Remove delete iMatchingUserCerts[i]; iMatchingUserCerts.Remove(i); - delete iMatchingUserCertInfos[i]; - iMatchingUserCertInfos.Remove(i); + iMatchingUserCertInfos.Delete(i); i--; EAP_TRACE_DEBUG( @@ -1299,8 +1072,7 @@ } } // Check Certificate types - if (iUseCertTypesFilter - && iCertTypes != 0) + if (iUseCertTypesFilter) { for (i = 0; i < (TInt) iMatchingUserCerts.Count(); i++) { @@ -1312,33 +1084,27 @@ for (j = 0; j < iCertTypes->get_object_count(); j++) { u8_t* val = iCertTypes->get_object(j); - - if (val != 0) + if (algorithm == ERSA + && (*val == ERSASign + || *val == ERSASignWithFixedDH + || *val == ERSASignWithEphemeralDH)) { - if (algorithm == ERSA - && (*val == ERSASign - || *val == ERSASignWithFixedDH - || *val == ERSASignWithEphemeralDH)) - { - break; - } - else if (algorithm == EDSA - && (*val == EDSASign - || *val == EDSASignWithFixedDH - || *val == EDSASignWithEphemeralDH)) - { - break; - } + break; } - } // for() - + if (algorithm == EDSA + && (*val == EDSASign + || *val == EDSASignWithFixedDH + || *val == EDSASignWithEphemeralDH)) + { + break; + } + } if (j == iCertTypes->get_object_count()) { // No match. Remove delete iMatchingUserCerts[i]; iMatchingUserCerts.Remove(i); - delete iMatchingUserCertInfos[i]; - iMatchingUserCertInfos.Remove(i); + iMatchingUserCertInfos.Delete(i); i--; EAP_TRACE_DEBUG( @@ -1350,7 +1116,6 @@ } } - // Check cipher suites if (iUseAllowedCipherSuitesFilter) { @@ -1370,8 +1135,7 @@ // No match. Remove delete iMatchingUserCerts[i]; iMatchingUserCerts.Remove(i); - delete iMatchingUserCertInfos[i]; - iMatchingUserCertInfos.Remove(i); + iMatchingUserCertInfos.Delete(i); i--; EAP_TRACE_DEBUG( @@ -1396,24 +1160,21 @@ iEncodedCertificate->Des().SetLength(0); - HBufC8 * tmpCert = 0; - TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(iCertInfos[iUserCertIndex]->Size())); - if (error != KErrNone) + TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(iCertInfos[iUserCertIndex]->Size())); + if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray empty(sizeof(EapCertificateEntry)); + CArrayFixFlat tmp(sizeof(SCertEntry)); m_am_tools->enter_global_mutex(); - iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure + iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; } - - iEncodedCertificate = tmpCert; iCertPtr.Set(iEncodedCertificate->Des()); @@ -1444,16 +1205,16 @@ } iCertInfos.Reset(); - TRAPD(error, iCertFilter = CCertAttributeFilter::NewL()); - if (error != KErrNone || iCertFilter == 0) + TRAPD(err, iCertFilter = CCertAttributeFilter::NewL()); + if (err != KErrNone || iCertFilter == 0) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1462,13 +1223,10 @@ iCertFilter->SetFormat(EX509Certificate); iCertFilter->SetOwnerType(EUserCertificate); - iCertFilter->SetSubjectKeyId(iCertInfo.GetSubjectKeyId()); - - if (iCertInfo.GetLabel()->Size() > 0) - { - iCertFilter->SetLabel(*(iCertInfo.GetLabel())); // We can not use Label in the filter as certificates saved + iCertFilter->SetSubjectKeyId(iCertInfo.iSubjectKeyId); + if (iCertInfo.iLabel.Size()>0) + iCertFilter->SetLabel(iCertInfo.iLabel); // We can not use Label in the filter as certificates saved // by using SetConfigurationL (OMA DM etc uses it) will not have Label. - } iState = EReadCertList; iCertStore->List( @@ -1492,11 +1250,11 @@ { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EReadCertList iCertInfos.Count = 0.\n"))); - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(empty, eap_status_illegal_certificate); //Failure + iParent->complete_read_own_certificate(tmp, eap_status_illegal_certificate); //Failure m_am_tools->leave_global_mutex(); @@ -1511,24 +1269,21 @@ iEncodedCertificate->Des().SetLength(0); - HBufC8 * tmpCert = 0; - TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(info->Size())); - if (error != KErrNone) + TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size())); + if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; } - - iEncodedCertificate = tmpCert; iCertPtr.Set(iEncodedCertificate->Des()); @@ -1548,16 +1303,16 @@ (EAPL("CEapTlsPeapCertInterface::RunL(): EReadCert\n"))); CX509Certificate* cert = 0; - TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); - if (error != KErrNone) + TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); + if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1570,11 +1325,11 @@ delete cert; EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1592,7 +1347,7 @@ iState = ERetrieveChainInitStore; if (iCertStore == 0) { - iCertStore = CUnifiedCertStore::NewL(iFs, EFalse); + iCertStore = CUnifiedCertStore::NewL(iFs, false); iCertStore->Initialize(iStatus); } else @@ -1626,16 +1381,16 @@ } iCertInfos.Reset(); - TRAPD(error, iCertFilter = CCertAttributeFilter::NewL()); - if (error != KErrNone) + TRAPD(err, iCertFilter = CCertAttributeFilter::NewL()); + if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1700,25 +1455,21 @@ iState = ECreateCertChain; iEncodedCertificate->Des().SetLength(0); - - HBufC8 * tmpCert = 0; - TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(info->Size())); - if (error != KErrNone) + TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size())); + if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; } - - iEncodedCertificate = tmpCert; iCertPtr.Set(iEncodedCertificate->Des()); @@ -1739,16 +1490,16 @@ (EAPL("CEapTlsPeapCertInterface::RunL(): ECreateCertChain\n"))); CX509Certificate* cert = 0; - TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); - if (error != KErrNone || cert == 0) + TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); + if (err != KErrNone || cert == 0) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1757,33 +1508,24 @@ #if defined(_DEBUG) || defined(DEBUG) - { // No need to validate iCertInfos in here as it is done in case: EGetAllCerts CCTCertInfo* tempInfo; tempInfo = iCertInfos[iCAIndex]; // These are for the trace debug. TCertLabel label = tempInfo->Label(); - TKeyIdentifier SubjectKeyId = tempInfo->SubjectKeyId(); + TKeyIdentifier KeyIdentifier = tempInfo->SubjectKeyId(); TKeyIdentifier IssuerId = tempInfo->IssuerKeyId(); TCertificateFormat format = tempInfo->CertificateFormat(); TCertificateOwnerType ownerType = tempInfo->CertificateOwnerType(); - EAP_TRACE_DEBUG_SYMBIAN((_L("\n CEapTlsPeapCertInterface::RunL() : About to retrieve Cert with details, Label = %S"), - &label)); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("Other detials- Format=%d, Owner type=%d, IsDeletable=%d, Type UID=%d\n"), - format, - ownerType, - tempInfo->IsDeletable(), - tempInfo->Type())); + EAP_TRACE_DEBUG_SYMBIAN((_L("\n CEapTlsPeapCertInterface::RunL() : About to retrieve Cert with details, Label = %S"), &label)); + EAP_TRACE_DEBUG_SYMBIAN((_L("Other detials- Format=%d, Owner type=%d, IsDeletable=%d, Type UID=%d"), + format, ownerType, tempInfo->IsDeletable(), tempInfo->Type())); EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Subject key Id is"), - SubjectKeyId.Ptr(), - SubjectKeyId.Size())); + KeyIdentifier.Ptr(), + KeyIdentifier.Size())); EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Issuer Id is"), IssuerId.Ptr(), @@ -1811,15 +1553,14 @@ } else { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("WARNING: No extension for this certificate\n"))); + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("WARNING: No extension for this certificate\n"))); } } else { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: No Certs here!\n"))); } - } - + #endif @@ -1829,11 +1570,11 @@ delete cert; EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1887,42 +1628,42 @@ const CSubjectPublicKeyInfo& key = iRootCerts[i]->PublicKey(); const TPtrC8 params = key.EncodedParams(); - TRAPD(error, dsaParams = CX509DSAPublicKey::DSAParametersL(params)); - if (error != KErrNone) + TRAPD(err, dsaParams = CX509DSAPublicKey::DSAParametersL(params)); + if (err != KErrNone) { - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); return; } - TRAP(error, signParams = CSigningKeyParameters::NewL()); - if (error != KErrNone) + TRAP(err, signParams = CSigningKeyParameters::NewL()); + if (err != KErrNone) { - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); delete dsaParams; return; } - TRAP(error, signParams->SetDSAParamsL(*dsaParams)); - if (error != KErrNone) + TRAP(err, signParams->SetDSAParamsL(*dsaParams)); + if (err != KErrNone) { - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1931,13 +1672,13 @@ return; } - TRAP(error, iUserCertChain[iUserCertChain.Count()-1]->SetParametersL(*signParams)); - if (error != KErrNone) + TRAP(err, iUserCertChain[iUserCertChain.Count()-1]->SetParametersL(*signParams)); + if (err != KErrNone) { - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1955,12 +1696,11 @@ delete dsaParams; delete signParams; EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -2001,26 +1741,24 @@ (EAPL("CEapTlsPeapCertInterface::RunL()- ECreateCertChain - Before Retrieve(): iCAIndex=%d, size=%d\n"), iCAIndex, info->Size())); + + iEncodedCertificate->Des().SetLength(0); - - HBufC8 * tmpCert = 0; - TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(info->Size())); - if (error != KErrNone) + TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size())); + if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; } - - iEncodedCertificate = tmpCert; iCertPtr.Set(iEncodedCertificate->Des()); @@ -2051,16 +1789,15 @@ } iCertInfos.Reset(); - TRAPD(error, iCertFilter = CCertAttributeFilter::NewL()); - if (error != KErrNone) + TRAPD(err, iCertFilter = CCertAttributeFilter::NewL()); + if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; @@ -2068,13 +1805,10 @@ iCertFilter->SetFormat(EX509Certificate); iCertFilter->SetOwnerType(ECACertificate); - iCertFilter->SetSubjectKeyId(iCertInfo.GetSubjectKeyId()); - - if (iCertInfo.GetLabel()->Size() > 0) - { - iCertFilter->SetLabel(*(iCertInfo.GetLabel()));// We can not use Label in the filter as certificates saved + iCertFilter->SetSubjectKeyId(iCertInfo.iSubjectKeyId); + if (iCertInfo.iLabel.Size()>0) + iCertFilter->SetLabel(iCertInfo.iLabel);// We can not use Label in the filter as certificates saved // by using SetConfigurationL (OMA DM etc uses it) will not have Label. - } iState = EReadCACertList; iCertStore->List( @@ -2097,12 +1831,11 @@ if (iCertInfos.Count() == 0) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EReadCACertList iCertInfos.Count = 0.\n"))); - - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; @@ -2116,23 +1849,19 @@ iEncodedCertificate->Des().SetLength(0); - HBufC8 * tmpCert = 0; - TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(info->Size())); - if (error != KErrNone) + TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size())); + if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; } - - iEncodedCertificate = tmpCert; iCertPtr.Set(iEncodedCertificate->Des()); @@ -2159,16 +1888,15 @@ iEncodedCertificate->Size())); CX509Certificate* cert = 0; - TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); - if (error != KErrNone) + TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); + if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; @@ -2180,12 +1908,11 @@ { delete cert; EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - - RPointerArray empty; + RPointerArray tmp; m_am_tools->enter_global_mutex(); - iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure + iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; @@ -2212,26 +1939,23 @@ } iCertInfos.Reset(); - TRAPD(error, iCertFilter = CCertAttributeFilter::NewL()); - if (error != KErrNone) + TRAPD(err, iCertFilter = CCertAttributeFilter::NewL()); + if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - - const CPKIXValidationResult * const empty = 0; + CPKIXValidationResult* tmp = 0; m_am_tools->enter_global_mutex(); - iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure. + iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure. m_am_tools->leave_global_mutex(); break; } - iCertFilter->SetOwnerType(ECACertificate); iCertFilter->SetFormat(EX509Certificate); iState = EValidateChainGetCACertList; - iCertStore->List( iCertInfos, *iCertFilter, @@ -2248,89 +1972,74 @@ (EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainGetCACertList\n"))); int index; - TIdentityRelation comparator(&EapTlsPeapUtils::CompareSCertEntries); - - if (iUseAutomaticCaCertificate) - { - // All CA certificates are allowed. - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainGetCACertList: All CA certificates are allowed.\n"))); - } - else + TIdentityRelation comparator(&EapTlsPeapUtils::CompareSCertEntries); + // Remove disallowed CA certs from the array + for (TInt i = 0; i < iCertInfos.Count(); i++) { - // Remove disallowed CA certs from the array - for (TInt i = 0; i < iCertInfos.Count(); i++) + SCertEntry certEntry; + certEntry.iLabel.Copy(iCertInfos[i]->Label()); + certEntry.iSubjectKeyId.Copy(iCertInfos[i]->SubjectKeyId()); + index = iAllowedCACerts.Find(certEntry, comparator); + + if (index == KErrNotFound) { - EapCertificateEntry certEntry; - certEntry.SetLabel(iCertInfos[i]->Label()); - certEntry.SetSubjectKeyId(iCertInfos[i]->SubjectKeyId()); - index = iAllowedCACerts.Find(&certEntry, comparator); - - if (index == KErrNotFound) - { - // Remove - iCertInfos[i]->Release(); - iCertInfos.Remove(i); - i--; - } + // Remove + iCertInfos[i]->Release(); + iCertInfos.Remove(i); + i--; } } - if (iCertInfos.Count() == 0) { // Create new validation result for this failure case. // CPKIXValidationResult does include a Reset-member function // but it is not in x500.lib as the documentation says. - const CPKIXValidationResult * const empty = 0; - - EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: No cert infos\n"))); - + CPKIXValidationResult* validationResult = 0; + TRAPD(err, validationResult = CPKIXValidationResult::NewL()); + if (err != KErrNone) + { + // Do nothing. Session timeout takes care of cleanup... + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); + } m_am_tools->enter_global_mutex(); - iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure. + iParent->complete_validate_chain(*validationResult, eap_status_ca_certificate_unknown); //Failure. + + m_am_tools->leave_global_mutex(); + delete validationResult; + break; + } + + CCTCertInfo* info; + info = iCertInfos[0]; + iCAIndex = 0; + + iState = EValidateChainGetCACert; + + iEncodedCertificate->Des().SetLength(0); + TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size())); + if (err != KErrNone) + { + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); + + CPKIXValidationResult* tmp = 0; + + m_am_tools->enter_global_mutex(); + + iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure. m_am_tools->leave_global_mutex(); break; } - - { - CCTCertInfo* info; - info = iCertInfos[0]; - iCAIndex = 0; - - iState = EValidateChainGetCACert; - - iEncodedCertificate->Des().SetLength(0); + + iCertPtr.Set(iEncodedCertificate->Des()); - HBufC8 * tmpCert = 0; - TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(info->Size())); - if (error != KErrNone) - { - EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - - const CPKIXValidationResult * const empty = 0; - - m_am_tools->enter_global_mutex(); - - iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure. - - m_am_tools->leave_global_mutex(); - break; - } - - iEncodedCertificate = tmpCert; - - iCertPtr.Set(iEncodedCertificate->Des()); - - iCertStore->Retrieve( - *info, - iCertPtr, - iStatus); - - SetActive(); - } + iCertStore->Retrieve( + *info, + iCertPtr, + iStatus); + + SetActive(); } break; @@ -2342,16 +2051,15 @@ (EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainGetCACert\n"))); CX509Certificate* cert = 0; - TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); - if (error != KErrNone) + TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); + if (err != KErrNone) { - EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - - const CPKIXValidationResult * const empty = 0; + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); + CPKIXValidationResult* tmp = 0; m_am_tools->enter_global_mutex(); - iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure. + iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure. m_am_tools->leave_global_mutex(); break; @@ -2361,13 +2069,12 @@ if (iRootCerts.Append(cert) != KErrNone) { delete cert; - EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - - const CPKIXValidationResult * const empty = 0; + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); + CPKIXValidationResult* tmp = 0; m_am_tools->enter_global_mutex(); - iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure. + iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure. m_am_tools->leave_global_mutex(); break; @@ -2379,46 +2086,35 @@ delete iCertChain; iCertChain = 0; - TRAPD(error, iCertChain = CPKIXCertChain::NewL(iFs, *iInputCertChain, iRootCerts)); - if (error != KErrNone) + TRAPD(err, iCertChain = CPKIXCertChain::NewL(iFs, *iInputCertChain, iRootCerts)); + if (err != KErrNone) { - EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EAP-TLS error %d.\n"), error)); - - const CPKIXValidationResult * const empty = 0; + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EAP-TLS error %d.\n"), err)); + CPKIXValidationResult* tmp = 0; m_am_tools->enter_global_mutex(); - iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure. + iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure. m_am_tools->leave_global_mutex(); break; } - // Set the current time iTime.UniversalTime(); iState = EValidateChainEnd; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainGetCACert, calls iCertChain->ValidateL(), count of root CA certificates = %d\n"), - iRootCerts.Count())); - - TRAP(error, iCertChain->ValidateL(*iValidationResult, iTime, iStatus)); - if (error != KErrNone) + TRAP(err, iCertChain->ValidateL(*iValidationResult, iTime, iStatus)); + if (err != KErrNone) { - EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Error in certificate validation in EAP-TLS, error = %d.\n"), - error)); - - const CPKIXValidationResult * const empty = 0; + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Error in certificate validation in EAP-TLS.\n"))); + CPKIXValidationResult* tmp = 0; m_am_tools->enter_global_mutex(); - iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure. + iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure. m_am_tools->leave_global_mutex(); break; - } + } SetActive(); // Validate. } else @@ -2429,24 +2125,19 @@ iState = EValidateChainGetCACert; iEncodedCertificate->Des().SetLength(0); - - HBufC8 * tmpCert = 0; - TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(info->Size())); - if (error != KErrNone) + TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size())); + if (err != KErrNone) { - EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - - const CPKIXValidationResult * const empty = 0; + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); + CPKIXValidationResult* tmp = 0; m_am_tools->enter_global_mutex(); - iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure. + iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure. m_am_tools->leave_global_mutex(); break; } - - iEncodedCertificate = tmpCert; iCertPtr.Set(iEncodedCertificate->Des()); @@ -2465,12 +2156,11 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainEnd, iValidationResult->Error().iReason=%d\n"), - iValidationResult->Error().iReason)); + (EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainEnd\n"))); m_am_tools->enter_global_mutex(); - - iParent->complete_validate_chain(iValidationResult, eap_status_ok); + + iParent->complete_validate_chain(*iValidationResult, eap_status_ok); m_am_tools->leave_global_mutex(); // Ignore error because there is nothing that can be done. @@ -2500,8 +2190,8 @@ delete iKeyFilter; iKeyFilter = 0; - iKeyFilter = new (ELeave) TCTKeyAttributeFilter; - if (!iKeyFilter) + TRAPD(err, iKeyFilter = new (ELeave) TCTKeyAttributeFilter); + if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); RInteger tmp; @@ -2623,12 +2313,12 @@ CleanupStack::PushL(R); iParent->complete_sign(R, reinterpret_cast(iRSASignature->S()), eap_status_ok); + + CleanupStack::PopAndDestroy(); delete iRSASignature; iRSASignature = 0; - CleanupStack::PopAndDestroy(); - iRSASigner->Release(); // This seems to be needed. } else @@ -2655,8 +2345,8 @@ delete iKeyFilter; iKeyFilter = 0; - iKeyFilter = new (ELeave) TCTKeyAttributeFilter; - if (!iKeyFilter) + TRAPD(err, iKeyFilter = new (ELeave) TCTKeyAttributeFilter); + if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); TBuf8<1> tmp; @@ -2744,17 +2434,13 @@ return; } -//-------------------------------------------------- - void CEapTlsPeapCertInterface::CancelSignWithPrivateKey() { EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::CancelSignWithPrivateKey(): iState=%d (13=ESign)\n"), - iState)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::CancelSignWithPrivateKey()"); + (EAPL("CEapTlsPeapCertInterface::CancelSignWithPrivateKey():Cancelling Signing - iState=%d (13=ESign)\n"), + iState)); if(IsActive()) { @@ -2782,6 +2468,4 @@ } } - -//-------------------------------------------------- // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/eap_am_type_tls_peap_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/eap_am_type_tls_peap_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/eap_am_type_tls_peap_symbian.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 256 % +* %version: 253 % */ // This is enumeration of EAPOL source code. @@ -53,7 +53,7 @@ #include #include "EapTlsPeapTimerValues.h" #include "eap_state_notification.h" -#include "EapTraceSymbian.h" +#include "eap_am_trace_symbian.h" #include "eap_automatic_variable.h" #if defined(USE_FAST_EAP_TYPE) @@ -65,49 +65,36 @@ #include "eap_tlv_header.h" #include "eap_tlv_message_data.h" #endif -#include - + +#include "eap_ttls_pap_active.h" #ifdef USE_PAC_STORE - #include "pac_store_db_symbian.h" - #include +#include "pac_store_db_symbian.h" +#include #endif +#ifdef USE_EAP_EXPANDED_TYPES #include "eap_header_string.h" +#endif //#ifdef USE_EAP_EXPANDED_TYPES #if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS) - #include "eap_config.h" - #include "eap_file_config.h" - #include "eap_am_file_input_symbian.h" +#include "eap_config.h" +#include "eap_file_config.h" +#include "eap_am_file_input_symbian.h" #endif -#include "EapConfigToolsSymbian.h" -#include "EapConversion.h" -#include "EapPluginTools.h" - -#include - - const TUint KMaxSqlQueryLength = 512; const TUint KMaxDBFieldNameLength = 255; const TUint KDSASignatureLength = 40; const TInt KDefaultColumnInView_One = 1; // For DB view. const TInt KMicroSecsInASecond = 1000000; // 1000000 micro seconds is 1 second. - -#ifdef USE_FAST_EAP_TYPE - -const TUint KMaxDeviceSeedLength = RMobilePhone::KPhoneManufacturerIdSize+ - RMobilePhone::KPhoneModelIdSize+ - RMobilePhone::KPhoneSerialNumberSize; -const TUint KMaxDeviceSeedSize = 2*KMaxDeviceSeedLength; -#endif + /** * Length of the MAC address */ #ifdef USE_FAST_EAP_TYPE - const TUint8 KMacAddressLength = 6; + const TUint8 KMacAddressLength = 6; #endif - //-------------------------------------------------- eap_am_type_tls_peap_symbian_c::eap_am_type_tls_peap_symbian_c( @@ -129,7 +116,8 @@ #if defined(USE_FAST_EAP_TYPE) , m_tls_application(0) //, iWaitNoteCancelled( EFalse ) - + , iEapFastActiveWaitNote( NULL ) + , iEapFastActiveNotes( NULL ) #endif //#if defined(USE_FAST_EAP_TYPE) , m_is_valid(false) , m_is_client(aIsClient) @@ -150,7 +138,7 @@ , m_param_q(aTools) , m_param_g(aTools) , m_shutdown_was_called(false) - + , m_identity_info(0) , m_tunneled_type(eap_type_none) , m_verify_certificate_realm(true) , m_allow_subdomain_matching(false) @@ -160,7 +148,6 @@ , m_use_manual_realm(false) , m_manual_realm(aTools) , m_tls_peap_server_authenticates_client_policy_flag(true) - , m_use_automatic_ca_certificate(false) , m_configured(false) , m_max_session_time(0) #if defined(USE_EAP_TLS_SESSION_TICKET) @@ -189,98 +176,101 @@ , m_ready_references_and_data_blocks(aTools) , m_serv_unauth_prov_mode(false) , m_serv_auth_prov_mode(false) - + , m_is_notifier_connected(false) , m_notifier_data_to_user(NULL) , m_notifier_data_pckg_to_user(NULL) - - , iMMETELConnectionStatus(false) + , m_notifier_data_from_user(NULL) + , m_notifier_data_pckg_from_user(NULL) , m_completed_with_zero(false) , m_verificationStatus(false) - , m_pacStorePWBuf8(0) - , m_userAction(EEapFastNotifierUserActionOk) - , m_pacStoreDataRefType(eap_pac_store_data_type_none) , m_data_reference(m_am_tools) + , m_notifier_complete(false) , m_userResponse(m_am_tools) - , m_pending_operation(eap_fast_pac_store_pending_operation_none) , m_both_completed(0) , m_both_asked(0) - , m_ready_references_array_index(0) - , m_provisioning_mode(eap_fast_completion_operation_none) - , iCompletionOperation(eap_fast_completion_operation_none) - , iCompletion(eap_fast_initialize_pac_store_completion_none) #endif //#if defined(USE_FAST_EAP_TYPE) - , m_notifier_complete(false) - #ifdef USE_PAC_STORE ,iPacStoreDb(NULL) #endif #ifdef USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS - , m_skip_user_interactions(false) - , m_fileconfig(0) +, m_skip_user_interactions(false) +, m_fileconfig(0) #endif - - , iEapTtlsPapMaxSessionConfigTime( 0 ) - - - - , iPacStoreDeviceSeed(0) - - , iEapAuthNotifier(0) - + + + + , iEapTtlsPapMaxSessionConfigTime( 0 ) + , iEapTtlsPapActive( NULL ) + { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); +#ifdef USE_EAP_EXPANDED_TYPES + + m_tunneling_vendor_type = m_tunneling_type.get_vendor_type(); + m_current_eap_vendor_type = m_current_eap_type.get_vendor_type(); + +#else + + m_tunneling_vendor_type = static_cast(m_tunneling_type); + m_current_eap_vendor_type = static_cast(m_current_eap_type); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + // Set the database table name based on the type - if (m_current_eap_type == eap_type_tls) - { - m_db_table_name = KTlsDatabaseTableName; - m_db_user_cert_table_name = KTlsAllowedUserCertsDatabaseTableName; - m_db_ca_cert_table_name = KTlsAllowedCACertsDatabaseTableName; - m_db_cipher_suite_table_name = KTlsAllowedCipherSuitesDatabaseTableName; - m_db_name = KTlsDatabaseName; - } - else if (m_current_eap_type == eap_type_peap) - { - m_db_table_name = KPeapDatabaseTableName; - m_db_user_cert_table_name = KPeapAllowedUserCertsDatabaseTableName; - m_db_ca_cert_table_name = KPeapAllowedCACertsDatabaseTableName; - m_db_cipher_suite_table_name = KPeapAllowedCipherSuitesDatabaseTableName; - m_db_name = KPeapDatabaseName; - } - else if (m_current_eap_type == eap_expanded_type_ttls_plain_pap.get_type() - || m_current_eap_type == eap_type_ttls) - { - m_db_table_name = KTtlsDatabaseTableName; - m_db_user_cert_table_name = KTtlsAllowedUserCertsDatabaseTableName; - m_db_ca_cert_table_name = KTtlsAllowedCACertsDatabaseTableName; - m_db_cipher_suite_table_name = KTtlsAllowedCipherSuitesDatabaseTableName; - m_db_name = KTtlsDatabaseName; - } + switch (m_current_eap_vendor_type) + { + case eap_type_tls: + m_db_table_name = KTlsDatabaseTableName; + m_db_user_cert_table_name = KTlsAllowedUserCertsDatabaseTableName; + m_db_ca_cert_table_name = KTlsAllowedCACertsDatabaseTableName; + m_db_cipher_suite_table_name = KTlsAllowedCipherSuitesDatabaseTableName; + m_db_name = KTlsDatabaseName; + break; + + case eap_type_peap: + m_db_table_name = KPeapDatabaseTableName; + m_db_user_cert_table_name = KPeapAllowedUserCertsDatabaseTableName; + m_db_ca_cert_table_name = KPeapAllowedCACertsDatabaseTableName; + m_db_cipher_suite_table_name = KPeapAllowedCipherSuitesDatabaseTableName; + m_db_name = KPeapDatabaseName; + break; + + case eap_type_ttls_plain_pap: + // use the same case as for eap_type_ttls; + // break is not needed + + case eap_type_ttls: + m_db_table_name = KTtlsDatabaseTableName; + m_db_user_cert_table_name = KTtlsAllowedUserCertsDatabaseTableName; + m_db_ca_cert_table_name = KTtlsAllowedCACertsDatabaseTableName; + m_db_cipher_suite_table_name = KTtlsAllowedCipherSuitesDatabaseTableName; + m_db_name = KTtlsDatabaseName; + break; #if defined (USE_FAST_EAP_TYPE) - else if (m_current_eap_type == eap_type_fast) - { - m_db_table_name = KFastGeneralSettingsDBTableName; // General settings - m_db_fast_special_table_name = KFastSpecialSettingsDBTableName; // Special settings for only FAST - m_db_user_cert_table_name = KFastAllowedUserCertsDatabaseTableName; - m_db_ca_cert_table_name = KFastAllowedCACertsDatabaseTableName; - m_db_cipher_suite_table_name = KFastAllowedCipherSuitesDatabaseTableName; - m_db_name = KFastDatabaseName; - } + case eap_type_fast: + m_db_table_name = KFastGeneralSettingsDBTableName; // General settings + m_db_fast_special_table_name = KFastSpecialSettingsDBTableName; // Special settings for only FAST + m_db_user_cert_table_name = KFastAllowedUserCertsDatabaseTableName; + m_db_ca_cert_table_name = KFastAllowedCACertsDatabaseTableName; + m_db_cipher_suite_table_name = KFastAllowedCipherSuitesDatabaseTableName; + m_db_name = KFastDatabaseName; + break; #endif // #if defined (USE_FAST_EAP_TYPE) - else - { - // Unsupported type - // Should never happen - EAP_TRACE_ERROR(m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("Unsupported EAP type, m_current_eap_vendor_type=0xfe%06x%08x\n"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type())); - - return; + default: + { + // Unsupported type + // Should never happen + EAP_TRACE_ERROR(m_am_tools, + TRACE_FLAGS_DEFAULT, ( + EAPL("Unsupported EAP type, m_current_eap_vendor_type=%d \n"), + m_current_eap_vendor_type)); + + return; + } } if (receive_network_id != 0 @@ -320,7 +310,7 @@ && aEapType != eap_type_ttls #endif // #if defined(USE_TTLS_EAP_TYPE) - && aEapType != eap_expanded_type_ttls_plain_pap.get_type() + && aEapType != eap_type_ttls_plain_pap #if defined (USE_FAST_EAP_TYPE) && aEapType != eap_type_fast @@ -358,10 +348,6 @@ // void eap_am_type_tls_peap_symbian_c::ConstructL() { - TInt error = m_session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_type_tls_peap_symbian_c::ConstructL(): - m_session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - // Open/create database EapTlsPeapUtils::OpenDatabaseL(m_database, m_session, m_index_type, m_index, m_tunneling_type, m_current_eap_type); @@ -386,13 +372,30 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::ConstructL Opened PAC store"))); } - m_info_array.ResetAndDestroy(); + m_info_array.Reset(); #endif // End: #ifdef USE_FAST_EAP_TYPE #endif // End: #ifdef USE_PAC_STORE - m_notifier_data_to_user = new(ELeave) CEapAuthNotifier::TEapDialogInfo; - m_notifier_data_pckg_to_user = new(ELeave) TPckg (*m_notifier_data_to_user); +#ifdef USE_FAST_EAP_TYPE + + if(m_current_eap_type == eap_type_fast) + { + m_notifier_data_to_user = new(ELeave) TEapFastNotifierStruct; + m_notifier_data_pckg_to_user = new(ELeave) TPckg (*m_notifier_data_to_user); + + EAP_TRACE_DATA_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eap_am_type_tls_peap_symbian_c::ConstructL m_notifier_data_pckg_to_user"), + m_notifier_data_pckg_to_user->Ptr(), + m_notifier_data_pckg_to_user->Size())); + + m_notifier_data_from_user = new(ELeave) TEapFastNotifierStruct; + m_notifier_data_pckg_from_user = new(ELeave) TPckg (*m_notifier_data_from_user); + } +#endif // End: #ifdef USE_FAST_EAP_TYPE + } @@ -421,27 +424,48 @@ m_cert_if->Cancel(); } } - - if (iEapAuthNotifier != 0) - { - iEapAuthNotifier->Cancel(); - } - - - - -#if defined(USE_FAST_EAP_TYPE) - - - -#endif + + if ( iEapTtlsPapActive ) + { + if ( iEapTtlsPapActive->IsActive() ) + { + EAP_TRACE_DEBUG_SYMBIAN( + ( _L( " eap_am_type_tls_peap_symbian_c::shutdown() \ + Cancelling iEapTtlsPapActive." ) ) ); + iEapTtlsPapActive->Cancel(); + } + EAP_TRACE_DEBUG_SYMBIAN( + ( _L( " eap_am_type_tls_peap_symbian_c::shutdown() \ + Deleting iEapTtlsPapActive." ) ) ); + delete iEapTtlsPapActive; + iEapTtlsPapActive = NULL; + } + +#if defined(USE_FAST_EAP_TYPE) + if( m_is_notifier_connected ) + { + EAP_TRACE_DEBUG_SYMBIAN( + (_L(" eap_am_type_tls_peap_symbian_c::shutdown - calling m_notifier.CancelNotifier"))); + if(IsActive()) + { + TInt error = m_notifier.CancelNotifier(KEapFastNotifierUid); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("eap_am_type_tls_peap_symbian_c::shutdown - CancelNotifier=%d"), error)); + } + EAP_TRACE_DEBUG_SYMBIAN( + (_L(" eap_am_type_securid_symbian_c::shutdown - calling m_notifier.Close()"))); + + m_notifier.Close(); // Call close only if it is connected. + + m_is_notifier_connected = false; + + } // End: if( m_is_notifier_connected ) if (m_partner != NULL) { EAP_TRACE_DEBUG_SYMBIAN( (_L(" eap_am_type_tls_peap_symbian_c::shutdown - Cancel timers ..."))); -#if defined(USE_FAST_EAP_TYPE) m_partner->cancel_timer( this, KRemoveIAPReferenceTimerID); @@ -458,28 +482,36 @@ this, KHandleReadPacstoreTimerID); - m_partner->cancel_timer( - this, - KHandleCompletePacstoreNokTimerID); - - m_partner->cancel_timer( - this, - KHandleCompletePacstoreOkTimerID); - -#endif EAP_TRACE_DEBUG_SYMBIAN( (_L(" eap_am_type_tls_peap_symbian_c::shutdown - Timers canceled"))); } -#if defined(USE_FAST_EAP_TYPE) - + if ( iEapFastActiveWaitNote ) + { + if ( iEapFastActiveWaitNote->IsActive() ) + { + iEapFastActiveWaitNote->Cancel(); + } + delete iEapFastActiveWaitNote; + iEapFastActiveWaitNote = NULL; + } + + if ( iEapFastActiveNotes ) + { + if ( iEapFastActiveNotes->IsActive() ) + { + iEapFastActiveNotes->Cancel(); + } + delete iEapFastActiveNotes; + iEapFastActiveNotes = NULL; + } #endif // #if defined(USE_FAST_EAP_TYPE) - m_allowed_server_certs.ResetAndDestroy(); - m_allowed_ca_certs.ResetAndDestroy(); + m_allowed_server_certs.Reset(); + m_allowed_ca_certs.Close(); m_allowed_cipher_suites.Close(); - m_allowed_user_certs.ResetAndDestroy(); + m_allowed_user_certs.Reset(); #ifdef USE_PAC_STORE #ifdef USE_FAST_EAP_TYPE @@ -489,7 +521,13 @@ iPacStoreDb->Close(); } - m_info_array.ResetAndDestroy(); + TInt count=0; + while (count < m_info_array.Count()) + { + delete m_info_array[count].iData; + delete m_info_array[count].iReference; + } + m_info_array.Reset(); EAP_TRACE_DEBUG_SYMBIAN( (_L(" eap_am_type_tls_peap_symbian_c::shutdown - Arrays cleared"))); @@ -513,6 +551,7 @@ return eap_status_ok; } + //-------------------------------------------------- EAP_FUNC_EXPORT eap_am_type_tls_peap_symbian_c::~eap_am_type_tls_peap_symbian_c() @@ -532,14 +571,26 @@ m_database.Close(); m_session.Close(); - delete m_notifier_data_to_user; - delete m_notifier_data_pckg_to_user; +#ifdef USE_FAST_EAP_TYPE + + if(m_current_eap_type == eap_type_fast) + { + delete m_notifier_data_to_user; + delete m_notifier_data_pckg_to_user; + + delete m_notifier_data_from_user; + delete m_notifier_data_pckg_from_user; + } +#endif // End: #ifdef USE_FAST_EAP_TYPE delete m_cert_if; delete m_ca_certificate; delete m_own_certificate; delete m_peer_certificate; + delete m_identity_info; + +#ifdef USE_EAP_EXPANDED_TYPES m_enabled_tunneling_exp_eap_array.ResetAndDestroy(); m_disabled_tunneling_exp_eap_array.ResetAndDestroy(); @@ -549,306 +600,24 @@ TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_tls_peap_symbian_c::~eap_am_type_tls_peap_symbian_c() tunneling done.\n"))); +#else + + m_iap_eap_array.ResetAndDestroy(); + +#endif // #ifdef USE_EAP_EXPANDED_TYPES + #ifdef USE_PAC_STORE delete iPacStoreDb; -#endif // #ifdef USE_PAC_STORE - - delete iEapAuthNotifier; - iEapAuthNotifier = 0; - +#endif // End: #ifdef USE_PAC_STORE + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } //-------------------------------------------------- -EAP_FUNC_EXPORT void eap_am_type_tls_peap_symbian_c::DlgComplete( TInt aStatus ) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("TLS: function: eap_am_type_tls_peap_symbian_c::DlgComplete(): m_notifier_complete=%d, m_state=%d\n"), - m_notifier_complete, - m_state)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_type_tls_peap_symbian_c::DlgComplete()"); - -#ifdef USE_FAST_EAP_TYPE - m_userAction = EEapFastNotifierUserActionOk; -#endif - - eap_status_e status = m_am_tools->convert_am_error_to_eapol_error(aStatus); - - if(m_notifier_complete) - { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL( "m_notifier_data_pckg_to_user" ), - m_notifier_data_pckg_to_user->Ptr(), - m_notifier_data_pckg_to_user->Size() ) ); - - if ( aStatus == KErrCancel ) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("TLS: function: eap_am_type_tls_peap_symbian_c::DlgComplete(): User cancelled the dialog\n"))); - -#ifdef USE_FAST_EAP_TYPE - m_userAction = EEapFastNotifierUserActionCancel; -#endif - } - else if( aStatus != KErrNone ) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: TLS: function: eap_am_type_tls_peap_symbian_c::DlgComplete(): dialog error=%d\n"), - aStatus)); - - TBuf8 userNameUtf8; - TBuf8 challengeUtf8; - userNameUtf8.Zero(); - challengeUtf8.Zero(); - - CompleteQueryTtlsPapUserNameAndPassword( - status, userNameUtf8, challengeUtf8 ); - - return; // m_am_tools->convert_am_error_to_eapol_error(aStatus); - } - - if ( m_notifier_data_to_user->iPassword.Size() > 0 ) - { - HBufC8* notifier_data8 = NULL; - TRAPD(err, notifier_data8 = HBufC8::NewL(m_notifier_data_to_user->iPassword.Size())); - if (err) - { - return; - } - TPtr8 notifier_dataPtr8 = notifier_data8->Des(); - - notifier_dataPtr8.Copy(m_notifier_data_to_user->iPassword); // Unicode -> ascii. - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL( "eap_am_type_tls_peap_symbian_c::DlgComplete PW from UI (8bits)" ), - notifier_dataPtr8.Ptr(), - notifier_dataPtr8.Size() ) ); - -#ifdef USE_FAST_EAP_TYPE - status = m_userResponse.set_copy_of_buffer( - notifier_dataPtr8.Ptr(), - notifier_dataPtr8.Size()); -#endif - CleanupStack::PopAndDestroy( notifier_data8 ); - } - } - - m_notifier_complete = 0; - - if ( m_state == EPapChallenge) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("TLS: function: eap_am_type_tls_peap_symbian_c::DlgComplete(): EPapChallenge\n"))); - - m_state = EPapUserNameAndPassword; - TEapExpandedType aEapType(*EapExpandedTypeTtlsPap.GetType()); - - if (iEapAuthNotifier == 0) - { - TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this )); - if (err) - { - eap_variable_data_c userNameUtf8( m_am_tools ); - eap_variable_data_c passwordUtf8( m_am_tools ); - - (void) m_tls_am_partner-> - complete_query_ttls_pap_username_and_password( - &userNameUtf8, &passwordUtf8, eap_status_process_general_error); - return; - } - } - - - TTtlsPapDbInfo aInDbInfo; - TRAPD(err2, ReadTtlsPapDbL(aInDbInfo)); - if (err2) - { - eap_variable_data_c userNameUtf8( m_am_tools ); - eap_variable_data_c passwordUtf8( m_am_tools ); - - (void) m_tls_am_partner-> - complete_query_ttls_pap_username_and_password( - &userNameUtf8, &passwordUtf8, eap_status_process_general_error); - return; - } - - m_notifier_data_to_user->iPasswordPromptEnabled = aInDbInfo.iUsrPwdInfo.iPasswordPromptEnabled; - - if (m_notifier_data_to_user->iPasswordPromptEnabled || - (aInDbInfo.iUsrPwdInfo.iUserName.Size() == 0 && - aInDbInfo.iUsrPwdInfo.iPassword.Size() == 0)) - { - m_notifier_data_to_user->iUsername.Zero(); - m_notifier_data_to_user->iPassword.Zero(); - - TRAPD(err3,SetTtlsPapColumnToNullL( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal )); - if (err3) - { - eap_variable_data_c userNameUtf8( m_am_tools ); - eap_variable_data_c passwordUtf8( m_am_tools ); - - (void) m_tls_am_partner-> - complete_query_ttls_pap_username_and_password( - &userNameUtf8, &passwordUtf8, eap_status_process_general_error); - return; - } - - if (iEapAuthNotifier == 0) - { - TRAPD(err4, iEapAuthNotifier = CEapAuthNotifier::NewL( *this )); - if (err4) - { - eap_variable_data_c userNameUtf8( m_am_tools ); - eap_variable_data_c passwordUtf8( m_am_tools ); - - (void) m_tls_am_partner-> - complete_query_ttls_pap_username_and_password( - &userNameUtf8, &passwordUtf8, eap_status_process_general_error); - return; - } - } - else - { - TRAPD(err5,iEapAuthNotifier->Cancel()); - if (err5) - { - eap_variable_data_c userNameUtf8( m_am_tools ); - eap_variable_data_c passwordUtf8( m_am_tools ); - - (void) m_tls_am_partner-> - complete_query_ttls_pap_username_and_password( - &userNameUtf8, &passwordUtf8, eap_status_process_general_error); - return; - } - } - - TRAPD(err6, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypePapAuthQueryDialog, m_notifier_data_to_user, aEapType)); - if (err6) - { - eap_variable_data_c userNameUtf8( m_am_tools ); - eap_variable_data_c passwordUtf8( m_am_tools ); - - (void) m_tls_am_partner-> - complete_query_ttls_pap_username_and_password( - &userNameUtf8, &passwordUtf8, eap_status_process_general_error); - return; - } - } - else - { - m_notifier_data_to_user->iUsername = aInDbInfo.iUsrPwdInfo.iUserName; - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password(): iUserName"), - m_notifier_data_to_user->iUsername.Ptr(), - m_notifier_data_to_user->iUsername.Size())); - - m_notifier_data_to_user->iPassword = aInDbInfo.iUsrPwdInfo.iPassword; - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password(): iPassword"), - m_notifier_data_to_user->iPassword.Ptr(), - m_notifier_data_to_user->iPassword.Size())); - - DlgComplete(KErrNone); - } - - } - else if ( m_state == EPapUserNameAndPassword ) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("TLS: function: eap_am_type_tls_peap_symbian_c::DlgComplete(): EPapUserNameAndPassword\n"))); - - TBuf8 userNameUtf8; - TBuf8 passwordUtf8; - userNameUtf8.Zero(); - passwordUtf8.Zero(); - - if (m_notifier_data_to_user->iUsername.Size()>0) - { - CnvUtfConverter::ConvertFromUnicodeToUtf8( userNameUtf8, m_notifier_data_to_user->iUsername ); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL( "userNameUtf8" ), - userNameUtf8.Ptr(), - userNameUtf8.Size() ) ); - } - - if (m_notifier_data_to_user->iPassword.Size()>0) - { - CnvUtfConverter::ConvertFromUnicodeToUtf8( passwordUtf8, m_notifier_data_to_user->iPassword ); - } - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL( "passwordUtf8" ), - passwordUtf8.Ptr(), - passwordUtf8.Size() ) ); - - CompleteQueryTtlsPapUserNameAndPassword( - status, userNameUtf8, passwordUtf8 ); - - TTtlsPapDbInfo aInDbInfo; - aInDbInfo.iUsrPwdInfo.iPasswordPromptEnabled = m_notifier_data_to_user->iPasswordPromptEnabled; - aInDbInfo.iUsrPwdInfo.iUserName.Copy(userNameUtf8); - aInDbInfo.iUsrPwdInfo.iPassword.Copy(passwordUtf8); - - TRAPD(err1, WriteTtlsPapDbL( aInDbInfo)); - if (err1) - { - // continue - } - } -#ifdef USE_FAST_EAP_TYPE - else if ( m_state == EPasswordCancel - || m_state == EMasterkeyQuery - || m_state == EPasswordQuery - || m_state == EWrongPassword - || m_state == EFilePasswordQuery ) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("TLS: function: eap_am_type_tls_peap_symbian_c::DlgComplete(): else\n"))); - - m_eap_fast_completion_status = m_partner->set_timer( - this, - KHandleReadPacstoreTimerID, - &aStatus, - 0); - return; - } -#endif //#ifdef USE_FAST_EAP_TYPE - -} - -//-------------------------------------------------- - // + void eap_am_type_tls_peap_symbian_c::RunL() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -858,17 +627,41 @@ iStatus.Int() , m_state)); #ifdef USE_FAST_EAP_TYPE + eap_status_e status(eap_status_ok); + + if (m_notifier_complete) + { + + TRAPD(err, CompleteNotifierL());// Only for the notifiers. + if (err != KErrNone) + { + EAP_TRACE_ERROR(m_am_tools, + TRACE_FLAGS_DEFAULT, ( + EAPL("eap_am_type_tls_peap_symbian_c::RunL LEAVE from CompleteNotifierL, Error =%d \n"), + err)); + } + + m_notifier_complete = EFalse; + } + + if ( m_state == EPasswordCancel || + m_state == EMasterkeyQuery || + m_state == EPasswordQuery || + m_state == EWrongPassword || + m_state == EFilePasswordQuery ) + { + m_eap_fast_completion_status = m_partner->set_timer( + this, + KHandleReadPacstoreTimerID, + &status, + 0); + return; + } if (m_state == ENone) { return; } - if ( m_state == EHandlingDeviceSeedQuery) - { - CompleteCreateDeviceSeedL( iStatus.Int() ); - - return; - } #endif // #ifdef USE_FAST_EAP_TYPE if (iStatus.Int() != KErrNone) @@ -908,11 +701,10 @@ 0, eap_status_process_general_error); return; - default: return; } - } // (iStatus.Int() != KErrNone) + } if (m_state == EHandlingIdentityQuery || m_state == EHandlingChainQuery) @@ -931,7 +723,7 @@ if(m_allowed_user_certs.Count() > 0) { - m_own_certificate_info = *m_allowed_user_certs[index]; + m_own_certificate_info = m_allowed_user_certs[index]; } TBool retrieve_chain; @@ -950,7 +742,7 @@ if(allowed_user_cert_count > 0) { - TRAP(err, m_cert_if->ReadCertificateL(*m_allowed_user_certs[index], retrieve_chain)); + TRAP(err, m_cert_if->ReadCertificateL(m_allowed_user_certs[index], retrieve_chain)); } if (err != KErrNone || allowed_user_cert_count <= 0) { @@ -990,124 +782,102 @@ } } } + else if (m_state == EHandlingManualIdentityQuery) + { + // Convert to 8-bit text + TBuf8 buf; + buf.Copy(m_identity_info->iUsername); + + eap_status_e status = m_manual_username.set_copy_of_buffer( + buf.Ptr(), + buf.Size()); + + if (status != eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: EAP-TLS: EHandlingIdentityQuery: Cannot read manual username.\n"))); + + get_am_partner()->complete_eap_identity_query( + 0, // 0 because identity query failed + &m_receive_network_id, + m_eap_identifier, + status, + false, + 0, + false, + 0); + } + + buf.Copy(m_identity_info->iRealm); + status = m_manual_realm.set_copy_of_buffer( + buf.Ptr(), + buf.Size()); + + if (status != eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: EAP-TLS: EHandlingIdentityQuery: Cannot read manual realm.\n"))); + + get_am_partner()->complete_eap_identity_query( + 0, // 0 because identity query failed + &m_receive_network_id, + m_eap_identifier, + status, + false, + 0, + false, + 0); + } + + // This must be true + m_use_manual_realm = true; + + if (m_identity_info->iUseManualUsername) + { + m_use_manual_username = true; + } + else + { + m_use_manual_username = false; + } + + + get_am_partner()->complete_eap_identity_query( + 0, // 0 because identity query failed + &m_receive_network_id, + m_eap_identifier, + eap_status_ok, + m_use_manual_username, + &m_manual_username, + m_use_manual_realm, + &m_manual_realm); + + TRAPD(err, SaveManualIdentityL( + m_identity_info->iUseManualUsername, + m_identity_info->iUsername, + ETrue, + m_identity_info->iRealm)); + + (void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err)); + + // Ignore return value on purpose. It's not fatal if saving fails. + + delete m_identity_info; + m_identity_info = 0; + + } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } //-------------------------------------------------- -#ifdef USE_FAST_EAP_TYPE -// -// --------------------------------------------------------- -// eap_am_type_tls_peap_symbian_c::CreateDeviceSeedAsync() -// --------------------------------------------------------- + // -eap_status_e eap_am_type_tls_peap_symbian_c::CreateDeviceSeedAsync() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("eap_am_type_tls_peap_symbian_c::CreateDeviceSeedAsync-Start ActiveStatus=%d"), - IsActive())); - - if ( IsActive() ) - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CreateDeviceSeedAsync: Already active when tried to create device seed"))); - - return eap_status_device_busy; - } - - eap_status_e status(eap_status_ok); - - m_state = EHandlingDeviceSeedQuery; - - // Create MMETEL connection. - TRAPD(error, CreateMMETelConnectionL()); - if(error !=KErrNone) - { - return m_am_tools->convert_am_error_to_eapol_error(error); - } - - iPhone.GetPhoneId( iStatus, iDeviceId ); - - SetActive(); - return status; -} // eap_am_type_tls_peap_symbian_c::CreateDeviceSeedAsynch() - -//-------------------------------------------------- - -void eap_am_type_tls_peap_symbian_c::CompleteCreateDeviceSeedL( TInt aStatus ) -{ - EAP_TRACE_DEBUG_SYMBIAN( - (_L("eap_am_type_tls_peap_symbian_c::CompleteCreateDeviceSeedL aStatus=%d"), - iStatus.Int())); - if ( aStatus != KErrNone ) - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("eap_am_type_tls_peap_symbian_c::CompleteCreateDeviceSeedL ERROR: aStatus=%d"), - iStatus.Int())); - } - EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Manufacturer"), - iDeviceId.iManufacturer.Ptr(), - iDeviceId.iManufacturer.Size())); - EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Model"), - iDeviceId.iModel.Ptr(), - iDeviceId.iModel.Size())); - EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Revision"), - iDeviceId.iRevision.Ptr(), - iDeviceId.iRevision.Size())); - EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("SerialNumber"), - iDeviceId.iSerialNumber.Ptr(), - iDeviceId.iSerialNumber.Size())); - - // Combine all the above four items. - TBuf deviceSeed16; - deviceSeed16 += iDeviceId.iManufacturer; - deviceSeed16 += iDeviceId.iModel; - deviceSeed16 += iDeviceId.iSerialNumber; - - TBuf8 deviceSeed8; - deviceSeed8.Copy(deviceSeed16); - - if ( iPacStoreDeviceSeed == NULL ) - { - iPacStoreDeviceSeed = new eap_variable_data_c(m_am_tools); - if ( iPacStoreDeviceSeed == NULL ) - { - User::Leave( KErrNoMemory ); - } - } - -#if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS) - const char DUMMY_SEED[]="empty"; - - - if (m_skip_user_interactions == true) - { - iPacStoreDeviceSeed->set_copy_of_buffer(DUMMY_SEED, sizeof(DUMMY_SEED)); - } - else -#endif //#if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS) - { - - if ( iPacStoreDeviceSeed != NULL ) - { - if( deviceSeed8.Size() > 0) - { - iPacStoreDeviceSeed->set_copy_of_buffer( - deviceSeed8.Ptr(), - deviceSeed8.Size()); - } - } - } - DisconnectMMETel(); - - ContinueInitializePacStore(); - -} // eap_am_type_tls_peap_symbian_c::CompleteCreateDeviceSeedL() - -#endif -//-------------------------------------------------- + void eap_am_type_tls_peap_symbian_c::DoCancel() { @@ -1119,12 +889,18 @@ { m_cert_if->Cancel(); } - if (iEapAuthNotifier != 0) - { - iEapAuthNotifier->Cancel(); - } - - + + if ( iEapTtlsPapActive ) + { + if ( iEapTtlsPapActive->IsActive() ) + { + EAP_TRACE_DEBUG_SYMBIAN( + ( _L( " eap_am_type_tls_peap_symbian_c::DoCancel() \ + Cancelling iEapTtlsPapActive." ) ) ); + iEapTtlsPapActive->Cancel(); + } + } + #if defined(USE_FAST_EAP_TYPE) m_partner->cancel_timer( @@ -1143,6 +919,23 @@ this, KHandleReadPacstoreTimerID); + if( m_is_notifier_connected ) + { + EAP_TRACE_DEBUG_SYMBIAN( + (_L(" eap_am_type_tls_peap_symbian_c::DoCancel - calling m_notifier.CancelNotifier"))); + if(IsActive()) + { + TInt error = m_notifier.CancelNotifier(KEapFastNotifierUid); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("eap_am_type_tls_peap_symbian_c::DoCancel:CancelNotifier=%d"), + error)); + } + + m_notifier.Close(); // Call close only if it is connected. + + m_is_notifier_connected = false; + + } // End: if( m_is_notifier_connected ) #endif // #if defined(USE_FAST_EAP_TYPE) @@ -1152,6 +945,7 @@ //-------------------------------------------------- // + eap_status_e eap_am_type_tls_peap_symbian_c::SaveManualIdentityL( const TBool use_manual_username, TDesC& manual_username, @@ -1161,11 +955,11 @@ EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); // Validate length. - if(manual_username.Length() > KMaxUsernameLengthInDB - || manual_realm.Length() > KMaxRealmLengthInDB) + if(manual_username.Length() > KMaxManualUsernameLengthInDB + || manual_realm.Length() > KMaxManualRealmLengthInDB) { // Username or realm too long. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_type_tls_peap_symbian_c::SaveManualIdentityL: Too long username or realm. Length: manual_username=%d, manual_realm=%d\n"), + EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_type_tls_peap_symbian_c::SaveManualIdentityL: Too long username or realm. Length: UN=%d, Realm=%d\n"), manual_username.Length(), manual_realm.Length())); User::Leave(KErrArgument); @@ -1176,19 +970,10 @@ RDbView view; - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format( - KSQL, - &m_db_table_name, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + sqlStatement.Format(KSQL, &m_db_table_name, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); @@ -1266,10 +1051,9 @@ // void eap_am_type_tls_peap_symbian_c::SendErrorNotification( const eap_status_e aError ) -{ + { send_error_notification( aError ); -} - + } //-------------------------------------------------- #if defined(USE_FAST_EAP_TYPE) @@ -1284,15 +1068,19 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } + + + // --------------------------------------------------------- // eap_am_type_tls_peap_symbian_c::IsProvisioningMode() // --------------------------------------------------------- // TBool eap_am_type_tls_peap_symbian_c::IsProvisioningMode() -{ + { return ( m_provisioning_mode == eap_fast_completion_operation_server_authenticated_provisioning_mode ) ? ETrue : EFalse; -} + } + // --------------------------------------------------------- // eap_am_type_tls_peap_symbian_c::CompleteQueryUserPermissionForAid() @@ -1301,7 +1089,7 @@ eap_status_e eap_am_type_tls_peap_symbian_c::CompleteQueryUserPermissionForAid( EEapFastNotifierUserAction aUserAction ) -{ + { EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::CompleteQueryUserPermissionForAid"))); if ( aUserAction == EEapFastNotifierUserActionOk ) @@ -1325,14 +1113,15 @@ m_pending_operation ); } return m_eap_fast_completion_status; -} + } + #endif //#if defined(USE_FAST_EAP_TYPE) //-------------------------------------------------- // -EAP_FUNC_EXPORT void eap_am_type_tls_peap_symbian_c::notify_configuration_error( +void eap_am_type_tls_peap_symbian_c::notify_configuration_error( const eap_status_e configuration_status) { if (m_is_client == true) @@ -1409,7 +1198,7 @@ { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, ( - EAPL("eap_am_type_tls_peap_symbian_c::configure(): ReadCertRowsToArrayL, User cert, Error =%d \n"), + EAPL("eap_am_type_tls_peap_symbian_c::configure - ReadCertRowsToArrayL, User cert, Error =%d \n"), err)); // Convert the leave error code to EAPOL stack error code. @@ -1435,7 +1224,7 @@ { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, ( - EAPL("eap_am_type_tls_peap_symbian_c::configure(): ReadCertRowsToArrayL, CA cert, Error =%d \n"), + EAPL("eap_am_type_tls_peap_symbian_c::configure - ReadCertRowsToArrayL, CA cert, Error =%d \n"), err)); // Convert the leave error code to EAPOL stack error code. @@ -1462,7 +1251,7 @@ { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, ( - EAPL("eap_am_type_tls_peap_symbian_c::configure(): ReadUintRowsToArrayL, CipherSuit, Error =%d \n"), + EAPL("eap_am_type_tls_peap_symbian_c::configure - ReadUintRowsToArrayL, CipherSuit, Error =%d \n"), err)); // Convert the leave error code to EAPOL stack error code. @@ -1485,6 +1274,8 @@ ) { +#ifdef USE_EAP_EXPANDED_TYPES + TRAPD(err, EapTlsPeapUtils::GetTunnelingExpandedEapDataL( m_database, m_am_tools, @@ -1494,12 +1285,24 @@ m_index, m_tunneling_type, m_current_eap_type)); + +#else + TRAPD(err, EapTlsPeapUtils::GetEapDataL( + m_database, + m_am_tools, + m_iap_eap_array, + m_index_type, + m_index, + m_tunneling_type, + m_current_eap_type)); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES if (err != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, ( - EAPL("eap_am_type_tls_peap_symbian_c::configure(): GetEapDataL or GetTunnelingExpandedEapDataL, Error =%d \n"), + EAPL("eap_am_type_tls_peap_symbian_c::configure - GetEapDataL or GetTunnelingExpandedEapDataL, Error =%d \n"), err)); // Convert the leave error code to EAPOL stack error code. @@ -1564,28 +1367,6 @@ //---------------------------------------------------------- - if (m_is_client == true) - { - eap_variable_data_c use_automatic_ca_certificate(m_am_tools); - - eap_status_e status = type_configure_read( - cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate.get_field(), - &use_automatic_ca_certificate); - if (status == eap_status_ok - && use_automatic_ca_certificate.get_is_valid_data() == true) - { - u32_t *use_automatic_ca_certificate_flag = reinterpret_cast( - use_automatic_ca_certificate.get_data(sizeof(u32_t))); - if (use_automatic_ca_certificate_flag != 0 - && *use_automatic_ca_certificate_flag != 0) - { - m_use_automatic_ca_certificate = true; - } - } - } - - //---------------------------------------------------------- - // This is only for server { eap_variable_data_c cipher_suite(m_am_tools); @@ -1607,6 +1388,75 @@ //---------------------------------------------------------- +#ifndef USE_EAP_EXPANDED_TYPES // This is not needed it seems. Still keeping it for normal EAP types. + // Intention of this is to get tunneled EAP types, but m_tunneled_type is not used + // anywhere other than this place. + + if (m_current_eap_type == eap_type_peap +#if defined(USE_TTLS_EAP_TYPE) + || m_current_eap_type == eap_type_ttls +#endif // #if defined(USE_TTLS_EAP_TYPE) + +#if defined(USE_FAST_EAP_TYPE) + || m_current_eap_type == eap_type_fast +#endif + + + ) + { + eap_variable_data_c tunneled_type(m_am_tools); + + eap_status_e status = type_configure_read( + cf_str_PEAP_tunneled_eap_type_hex_data.get_field(), + &tunneled_type); + if (status == eap_status_illegal_configure_type) + { + status = m_partner->read_configure( + cf_str_PEAP_tunneled_eap_type_u32_t.get_field(), + &tunneled_type); + } + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + else if (tunneled_type.get_is_valid_data() == true + && tunneled_type.get_data_length() == sizeof(u32_t) + && tunneled_type.get_data(sizeof(u32_t)) != 0) + { + m_tunneled_type = static_cast( + *reinterpret_cast(tunneled_type.get_data(sizeof(u32_t)))); + } + else if (tunneled_type.get_data_length() + == eap_expanded_type_c::get_eap_expanded_type_size() + && tunneled_type.get_data(tunneled_type.get_data_length()) != 0) + { + eap_expanded_type_c eap_type(eap_type_none); + + status = eap_type.set_expanded_type_data( + m_am_tools, + &tunneled_type); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = eap_type.get_type_data( + m_am_tools, + &m_tunneled_type); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + } + +#endif //#ifndef USE_EAP_EXPANDED_TYPES + + //---------------------------------------------------------- + { eap_variable_data_c use_manual_username(m_am_tools); @@ -1682,7 +1532,7 @@ { eap_variable_data_c use_session_ticket(m_am_tools); - eap_status_e status = type_configure_read( + eap_status_e status = m_partner->read_configure( cf_str_EAP_TLS_PEAP_use_session_ticket.get_field(), &use_session_ticket); if (status == eap_status_ok @@ -1753,48 +1603,60 @@ eap_status_e status(eap_status_ok); - if (m_current_eap_type == eap_type_tls) - { - status = type_configure_read( - cf_str_EAP_TLS_max_session_validity_time.get_field(), - &sessionTimeFromFile); - } - else if (m_current_eap_type == eap_type_peap) - { - status = type_configure_read( - cf_str_EAP_PEAP_max_session_validity_time.get_field(), - &sessionTimeFromFile); - } - else if (m_current_eap_type == eap_type_ttls) - { - status = type_configure_read( - cf_str_EAP_TTLS_max_session_validity_time.get_field(), - &sessionTimeFromFile); - } - else if (m_current_eap_type == eap_expanded_type_ttls_plain_pap.get_type()) - { + switch (m_current_eap_vendor_type) + { + case eap_type_tls: + { + status = m_partner->read_configure( + cf_str_EAP_TLS_max_session_validity_time.get_field(), + &sessionTimeFromFile); + } + break; + + case eap_type_peap: + { + status = m_partner->read_configure( + cf_str_EAP_PEAP_max_session_validity_time.get_field(), + &sessionTimeFromFile); + } + break; + + case eap_type_ttls: + { + status = m_partner->read_configure( + cf_str_EAP_TTLS_max_session_validity_time.get_field(), + &sessionTimeFromFile); + } + break; + + case eap_type_ttls_plain_pap: + { // read PAP session time - status = type_configure_read( + status = m_partner->read_configure( cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time.get_field(), &sessionTimeFromFile ); - } + } + break; + #if defined(USE_FAST_EAP_TYPE) - else if (m_current_eap_type == eap_type_fast) - { - status = type_configure_read( - cf_str_EAP_FAST_max_session_validity_time.get_field(), - &sessionTimeFromFile); - } + case eap_type_fast: + { + status = m_partner->read_configure( + cf_str_EAP_FAST_max_session_validity_time.get_field(), + &sessionTimeFromFile); + } + break; #endif - else - { - // Should never happen - EAP_TRACE_ERROR(m_am_tools, - TRACE_FLAGS_DEFAULT, ( - EAPL("eap_am_type_tls_peap_symbian_c::configure(): Unsupported EAP type, m_current_eap_vendor_type=0xfe%06x%08x\n"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type())); - } + + default: + { + // Should never happen + EAP_TRACE_ERROR(m_am_tools, + TRACE_FLAGS_DEFAULT, ( + EAPL("eap_am_type_tls_peap_symbian_c::configure - Unsupported EAP type, m_current_eap_vendor_type=%d \n"), + m_current_eap_vendor_type)); + } + } // set m_max_session_time if (status == eap_status_ok @@ -1895,130 +1757,88 @@ status = eap_status_ok; - if (m_use_automatic_ca_certificate == false) - { - if (m_allowed_ca_certs.Count() == 0) - { - // needed because of nonworking wrong settings + if (m_allowed_ca_certs.Count() == 0) + { + // needed because of nonworking wrong settings #if defined(USE_FAST_EAP_TYPE) - if(m_current_eap_type == eap_type_fast - && m_serv_auth_prov_mode != true) - { - // In the case of EAP-FAST, CA cert is must if m_serv_auth_prov_mode is TRUE. - status = eap_status_ok; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::configure(): No CA certificate but exception for EAP-FAST as m_serv_auth_prov_mode is FALSE and for all m_serv_unauth_prov_mode \n"))); - } - else + if(m_current_eap_type == eap_type_fast && + m_serv_auth_prov_mode != true) + { + // In the case of EAP-FAST, CA cert is must if m_serv_auth_prov_mode is TRUE. + status = eap_status_ok; + + EAP_TRACE_DEBUG(m_am_tools, + TRACE_FLAGS_DEFAULT, ( + EAPL("eap_am_type_tls_peap_symbian_c::configure - No CA certificate but exception for EAP-FAST as m_serv_auth_prov_mode is FALSE and for all m_serv_unauth_prov_mode \n"))); + } + else #endif // #if defined(USE_FAST_EAP_TYPE) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::configure(): Error - No CA certificate\n"))); - - // No root certificate selected. Cannot continue. - status = eap_status_ca_certificate_unknown; - send_error_notification(status); - } - } - else - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::configure(): %d CA certificates selected.\n"), - m_allowed_ca_certs.Count())); - } - } - else - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::configure(): %d CA certificate selected in automatic CA selection.\n"), - m_allowed_ca_certs.Count())); - } - - + { + EAP_TRACE_ERROR(m_am_tools, + TRACE_FLAGS_DEFAULT, ( + EAPL("eap_am_type_tls_peap_symbian_c::configure - Error - No CA certificate\n"))); + + // No root certificate selected. Cannot continue. + status = eap_status_ca_certificate_unknown; + send_error_notification(status); + } + } + if(m_allowed_user_certs.Count() == 0) - { + { #if defined(USE_FAST_EAP_TYPE) if(m_current_eap_type == eap_type_fast) - { + { m_use_manual_realm = true; if (m_use_manual_username == false) - { + { TRAPD(err, status=ConfigureL()); if (err != KErrNone) - { + { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, ( EAPL("eap_am_type_tls_peap_symbian_c::configure LEAVE from ConfigureL, Error =%d \n"), err)); + } } } - } #endif // #if defined(USE_FAST_EAP_TYPE) - } - else - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::configure(): %d user certificates selected.\n"), - m_allowed_user_certs.Count())); - } - - + } if (m_tls_peap_server_authenticates_client_policy_flag == true && m_allowed_user_certs.Count() == 0) { #if defined(USE_FAST_EAP_TYPE) - if (m_current_eap_type == eap_type_fast) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::configure(): No USER certificate, but in eap_fast it's not mandatory\n"))); - } - else + if (m_current_eap_type == eap_type_fast) + { + EAP_TRACE_DEBUG(m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eap_am_type_tls_peap_symbian_c::configure - No USER certificate, but in eap_fast it's not mandatory\n"))); + + } + else #endif // #if defined(USE_FAST_EAP_TYPE) { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::configure(): Error - No USER certificate\n"))); - - // No user certificate selected. Cannot continue. - status = eap_status_user_certificate_unknown; - send_error_notification(status); + EAP_TRACE_ERROR(m_am_tools, + TRACE_FLAGS_DEFAULT, ( + EAPL("eap_am_type_tls_peap_symbian_c::configure - Error - No USER certificate\n"))); + + // No user certificate selected. Cannot continue. + status = eap_status_user_certificate_unknown; + send_error_notification(status); } } if (m_allowed_cipher_suites.Count() == 0) { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::configure(): Error - No cipher suit\n"))); + EAP_TRACE_ERROR(m_am_tools, + TRACE_FLAGS_DEFAULT, ( + EAPL("eap_am_type_tls_peap_symbian_c::configure - Error - No cipher suit\n"))); // No sipher suites selected. Cannot continue. status = eap_status_illegal_cipher_suite; send_error_notification(status); } - else - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::configure(): %d cipher suites selected.\n"), - m_allowed_cipher_suites.Count())); - } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2029,21 +1849,19 @@ m_configured = true; - EAP_TRACE_DEBUG( - m_am_tools, + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::configure(): END \n"))); + (EAPL("eap_am_type_tls_peap_symbian_c::configure - END \n"))); return EAP_STATUS_RETURN(m_am_tools, status); } //-------------------------------------------------- - #if defined(USE_FAST_EAP_TYPE) eap_status_e eap_am_type_tls_peap_symbian_c::ConfigureL() -{ + { eap_status_e status(eap_status_ok); @@ -2052,8 +1870,7 @@ TempUserName.Copy(KTempUserName); - HBufC8* buf = HBufC8::NewLC(KMaxNotifItemLength); - + HBufC8* buf = HBufC8::NewLC(KIdentityFieldLength); TPtr8 bufPtr = buf->Des(); HBufC8* tempUserBuf8 = HBufC8::NewLC(KMacAddressLength); @@ -2133,13 +1950,13 @@ m_use_manual_username = true; return status; -} + } #endif // #if defined(USE_FAST_EAP_TYPE) //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::reset() +eap_status_e eap_am_type_tls_peap_symbian_c::reset() { return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); @@ -2173,8 +1990,6 @@ return EAP_STATUS_RETURN(m_am_tools, status); } -//-------------------------------------------------- - void eap_am_type_tls_peap_symbian_c::authentication_finishedL( const bool true_when_successful, const tls_session_type_e tls_session_type) @@ -2280,7 +2095,6 @@ // Get the own certificate only if it has already been retrieved if (m_own_certificate == 0) { - // Get the matching certificates. This function call is completed asyncronously by complete_get_matching_certificates() function call. TRAPD(err, m_cert_if->GetMatchingCertificatesL( m_allowed_user_certs, EFalse, @@ -2317,7 +2131,6 @@ return EAP_STATUS_RETURN(m_am_tools, status); } -//-------------------------------------------------- eap_status_e eap_am_type_tls_peap_symbian_c::complete_read_own_certificate( const RPointerArray& aCertChain, eap_status_e aStatus) @@ -2580,8 +2393,6 @@ return EAP_STATUS_RETURN(m_am_tools, status); } -//-------------------------------------------------- - eap_status_e eap_am_type_tls_peap_symbian_c::complete_read_ca_certificate( const RPointerArray& aCertChain, eap_status_e aStatus) { @@ -2771,8 +2582,6 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } -//-------------------------------------------------- - void eap_am_type_tls_peap_symbian_c::get_identities_from_distinguished_namesL( const CX509Certificate * const aCertificate, eap_variable_data_c * const aSubjectIdentity, @@ -2876,8 +2685,6 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } -//-------------------------------------------------- - void eap_am_type_tls_peap_symbian_c::get_identity_from_alternative_nameL( const CX509Certificate * const aCertificate, eap_variable_data_c * const aIdentity) @@ -3079,6 +2886,9 @@ //-------------------------------------------------- // +//-------------------------------------------------- + +// EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::timer_expired( const u32_t id, void *data) { @@ -3349,9 +3159,6 @@ TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_tls_peap_symbian_c::type_configure_read - Start\n"))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_type_tls_peap_symbian_c::type_configure_read()"); - - if (m_current_eap_type == eap_type_peap #if defined(USE_TTLS_EAP_TYPE) || m_current_eap_type == eap_type_ttls @@ -3360,7 +3167,7 @@ || m_current_eap_type == eap_type_fast #endif - || m_current_eap_type == eap_expanded_type_ttls_plain_pap.get_type() + || m_current_eap_type == eap_type_ttls_plain_pap ) { @@ -3423,6 +3230,8 @@ { // We are asked to return cf_str_PEAP_tunneled_eap_type_hex_data +#ifdef USE_EAP_EXPANDED_TYPES + // We need to return here the next ENABLED tunneled EAP type we should try. if (0 == m_enabled_tunneling_exp_eap_array.Count()) @@ -3440,35 +3249,108 @@ { // Get the first enabled EAP type (tunneling). + TBuf8 tmpExpEAP(m_enabled_tunneling_exp_eap_array[0]->iExpandedEAPType); //first item. + EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("type_configure_read:Enabled expanded tunneling EAP type:"), - m_enabled_tunneling_exp_eap_array[0]->GetValue().Ptr(), - m_enabled_tunneling_exp_eap_array[0]->GetValue().Length())); - - status = data->set_copy_of_buffer( - m_enabled_tunneling_exp_eap_array[0]->GetValue().Ptr(), - m_enabled_tunneling_exp_eap_array[0]->GetValue().Length()); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } + tmpExpEAP.Ptr(), + tmpExpEAP.Size())); + + status = data->set_copy_of_buffer(tmpExpEAP.Ptr(), KExpandedEAPTypeSize); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("EAP-PEAP or EAP-TTLS: Trying encapsulated EAP type:"), - m_enabled_tunneling_exp_eap_array[0]->GetValue().Ptr(), - m_enabled_tunneling_exp_eap_array[0]->GetValue().Length())); - } - + tmpExpEAP.Ptr(), + tmpExpEAP.Size())); + } + +#else // For normal EAP types. + + // We need to return here the next tunneled EAP type we should try. + TInt i; + + for (i = 0; i < m_iap_eap_array.Count(); i++) + { + // Find the first enabled EAP type (highest priority) + TEap *eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + // Convert the string to integer + TLex8 tmp(eapType->UID); + TInt val(0); + tmp.Val(val); + status = data->set_copy_of_buffer(reinterpret_cast(&val), sizeof(TUint)); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("EAP-PEAP: Trying encapsulated EAP type: %d.\n"), val)); + break; + } + } + if (i == m_iap_eap_array.Count()) + { + // Not found + if (m_is_client) + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: No configured encapsulated EAP types.\n"))); + } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_field); + } + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } // End of if (!wanted_field.compare(&type_field)) +#if !defined(USE_EAP_EXPANDED_TYPES) + + // cf_str_PEAP_accepted_tunneled_client_types_hex_data is available only for expaned EAP types. + // cf_str_PEAP_accepted_tunneled_client_types_u32array should be used otherwise. + // So for cf_str_PEAP_accepted_tunneled_client_types_hex_data and eap_configure_type_hex_data + // we should return eap_status_illegal_configure_field. + // This is needed only if USE_EAP_EXPANDED_TYPES is not defined. Otherwise the field + // cf_str_PEAP_accepted_tunneled_client_types_hex_data can be read from the database using + // type_configure_readL (let it fall through). + + eap_variable_data_c tunneled_type_field(m_am_tools); + + status = tunneled_type_field.set_buffer( + cf_str_PEAP_accepted_tunneled_client_types_hex_data.get_field()->get_field(), + cf_str_PEAP_accepted_tunneled_client_types_hex_data.get_field()->get_field_length(), + false, + false); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + if (!wanted_field.compare(&tunneled_type_field)) + { + // Check if the type is eap_configure_type_hex_data. + + if( eap_configure_type_hex_data == field->get_type() ) + { + // This field is used only for exapanded EAP types. + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_type); + } + } + +#else // For expanded EAP type. // cf_str_PEAP_accepted_tunneled_client_types_u32array is available only for normal EAP types. // So for cf_str_PEAP_accepted_tunneled_client_types_u32array and eap_configure_type_u32array @@ -3497,28 +3379,34 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_configure_type); } } + +#endif // End of #if !defined(USE_EAP_EXPANDED_TYPES) + } // End of if (m_current_eap_type == eap_type_peap - + TRAPD(err, type_configure_readL( field->get_field(), field->get_field_length(), data)); if (err != KErrNone) { - status = m_partner->read_configure(field, data); + status = m_am_tools->convert_am_error_to_eapol_error(err); } m_am_tools->trace_configuration( status, field, data); + + EAP_TRACE_DEBUG(m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eap_am_type_tls_peap_symbian_c::type_configure_read - End\n"))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } //-------------------------------------------------- - void eap_am_type_tls_peap_symbian_c::type_configure_readL( eap_config_string field, const u32_t field_length, @@ -3549,7 +3437,7 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); #if defined(USE_FAST_EAP_TYPE) @@ -3559,62 +3447,44 @@ if(m_current_eap_type == eap_type_fast && ((unicodeString.Compare(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal) == 0) || (unicodeString.Compare(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal) == 0) - || (unicodeString.Compare(KFASTWarnADHPNoPAC) == 0) - || (unicodeString.Compare(KFASTWarnADHPNoMatchingPAC) == 0) - || (unicodeString.Compare(KFASTWarnNotDefaultServer) == 0) + || (unicodeString.Compare(cf_str_EAP_FAST_warn_ADHP_no_PAC_literal) == 0) + || (unicodeString.Compare(cf_str_EAP_FAST_warn_ADHP_no_matching_PAC_literal) == 0) + || (unicodeString.Compare(cf_str_EAP_FAST_warn_ADHP_not_default_server_literal) == 0) || (unicodeString.Compare(KFASTPACGroupImportReferenceCollection) == 0) || (unicodeString.Compare(KFASTPACGroupDBReferenceCollection) == 0))) - { + { + if (unicodeString.Compare(cf_str_EAP_FAST_warn_ADHP_no_matching_PAC_literal) == 0) + { + unicodeString.Copy(KFASTWarnADHPNoMatchingPAC); + } + if (unicodeString.Compare(cf_str_EAP_FAST_warn_ADHP_no_PAC_literal) == 0) + { + unicodeString.Copy(KFASTWarnADHPNoPAC); + } + if (unicodeString.Compare(cf_str_EAP_FAST_warn_ADHP_not_default_server_literal) == 0) + { + unicodeString.Copy(KFASTWarnNotDefaultServer); + } EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_tls_peap_symbian_c::type_configure_readL This field will be read from EAP-FAST's special table\n"))); - sqlStatement.Format( - KSQLQueryRow, - &unicodeString, - &m_db_fast_special_table_name, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); - } + sqlStatement.Format(KSQLQueryRow, &unicodeString, &m_db_fast_special_table_name, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); + } else - { - sqlStatement.Format( - KSQLQueryRow, - &unicodeString, - &m_db_table_name, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); - } + { + sqlStatement.Format(KSQLQueryRow, &unicodeString, &m_db_table_name, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); + } #else - sqlStatement.Format( - KSQLQueryRow, - &unicodeString, - &m_db_table_name, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + sqlStatement.Format(KSQLQueryRow, &unicodeString, &m_db_table_name, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); #endif // End: #if defined(USE_FAST_EAP_TYPE) - + RDbView view; User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); @@ -3690,10 +3560,10 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } - //-------------------------------------------------- // + EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::type_configure_write( const eap_configuration_field_c * const field, eap_variable_data_c * const data) @@ -3730,21 +3600,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLInsert, "SELECT %s FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format( - KSQLInsert, - field_name.PtrZ(), - &m_db_table_name, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); - + _LIT(KSQLInsert, "SELECT %s FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLInsert, field_name.PtrZ(), &m_db_table_name, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); // Evaluate view RDbView view; User::LeaveIfError(view.Prepare(m_database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -3772,8 +3630,6 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } -//-------------------------------------------------- - void eap_am_type_tls_peap_symbian_c::WriteIntParamL( eap_config_string field, const u32_t field_length, @@ -3792,20 +3648,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLInsert, "SELECT %s FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format( - KSQLInsert, - field_name.PtrZ(), - &m_db_table_name, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLInsert, "SELECT %s FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLInsert, field_name.PtrZ(), &m_db_table_name, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); // Evaluate view RDbView view; @@ -3833,8 +3678,6 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } -//-------------------------------------------------- - void eap_am_type_tls_peap_symbian_c::WriteIntParamL( eap_config_string field, const u32_t field_length, @@ -3853,20 +3696,9 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLInsert, "SELECT %s FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format( - KSQLInsert, - field_name.PtrZ(), - &m_db_table_name, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLInsert, "SELECT %s FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLInsert, field_name.PtrZ(), &m_db_table_name, + &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); // Evaluate view RDbView view; @@ -3956,62 +3788,6 @@ //-------------------------------------------------- -eap_status_e eap_am_type_tls_peap_symbian_c::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) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::select_cipher_suite(), select_all_cipher_suites=%d, test_cipher_suite=%d, testcertAlgorithm=%d, certAlgorithm=%d\n"), - select_all_cipher_suites, - test_cipher_suite, - testcertAlgorithm, - certAlgorithm)); - - eap_status_e status(eap_status_ok); - - // Cipher suite must be allowed AND the algorithm must match the certificates algorithm. - // Also select_all_cipher_suites can be used to add all cipher suites to the list. - - TInt found = m_allowed_cipher_suites.Find(test_cipher_suite); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::select_cipher_suite(), found=%d, cipher suite=%d, KErrNotFound=%d\n"), - found, - test_cipher_suite, - KErrNotFound)); - - if (found != KErrNotFound - && (select_all_cipher_suites == true - || testcertAlgorithm == certAlgorithm)) - { - u16_t *tmp_object = new u16_t; - if (tmp_object == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - *tmp_object = eap_htons(test_cipher_suite); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::select_cipher_suite(), adds cipher suite=%d\n"), - test_cipher_suite)); - - status = cipher_suites->add_object(tmp_object, true); - } - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::query_cipher_suites_and_previous_session() { @@ -4024,18 +3800,18 @@ EAP_ASSERT_ALWAYS(m_is_client == true); eap_status_e status(eap_status_process_general_error); - + TAlgorithmId certAlgorithm(ERSA); bool select_all_cipher_suites = false; - + eap_variable_data_c session_id(m_am_tools); eap_variable_data_c master_secret(m_am_tools); tls_cipher_suites_e used_cipher_suite(tls_cipher_suites_TLS_NULL_WITH_NULL_NULL); tls_session_type_e tls_session_type(tls_session_type_full_authentication); eap_array_c cipher_suites(m_am_tools); - + #if defined(USE_FAST_EAP_TYPE) if(m_current_eap_type == eap_type_fast && @@ -4081,8 +3857,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("query_cipher_suites_and_previous_session(): No user or CA certificate. Read CA certificate. m_allowed_ca_certs.Count()=%d\n"), - m_allowed_ca_certs.Count())); + (EAPL("query_cipher_suites_and_previous_session(): No user or CA certificate. Read CA certificate.\n"))); if (m_allowed_ca_certs.Count() != 0) { @@ -4101,7 +3876,7 @@ { m_state = EHandlingCipherSuiteQuery; - TRAPD(err, m_cert_if->ReadCACertificateL(*m_allowed_ca_certs[0])); + TRAPD(err, m_cert_if->ReadCACertificateL(m_allowed_ca_certs[0])); if (err != KErrNone) { // Error occurred. Just select all cipher suites. @@ -4114,16 +3889,6 @@ } } } // End: if (m_allowed_ca_certs.Count() != 0) - else - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("query_cipher_suites_and_previous_session(): No allowed CA certificates. Sends all cipher suites and hopes best.\n"), - m_allowed_ca_certs.Count())); - - select_all_cipher_suites = true; - } } else if (m_own_certificate != 0) { @@ -4151,105 +3916,176 @@ certAlgorithm = public_key.AlgorithmId(); } - - - status = select_cipher_suite( - select_all_cipher_suites, - tls_cipher_suites_TLS_RSA_WITH_3DES_EDE_CBC_SHA, - certAlgorithm, - ERSA, - &cipher_suites); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = select_cipher_suite( - select_all_cipher_suites, - tls_cipher_suites_TLS_RSA_WITH_AES_128_CBC_SHA, - certAlgorithm, - ERSA, - &cipher_suites); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = select_cipher_suite( - select_all_cipher_suites, - tls_cipher_suites_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, - certAlgorithm, - EDSA, - &cipher_suites); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = select_cipher_suite( - select_all_cipher_suites, - tls_cipher_suites_TLS_DHE_DSS_WITH_AES_128_CBC_SHA, - certAlgorithm, - EDSA, - &cipher_suites); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = select_cipher_suite( - select_all_cipher_suites, - tls_cipher_suites_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, - certAlgorithm, - ERSA, - &cipher_suites); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = select_cipher_suite( - select_all_cipher_suites, - tls_cipher_suites_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, - certAlgorithm, - ERSA, - &cipher_suites); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = select_cipher_suite( - select_all_cipher_suites, - tls_cipher_suites_TLS_RSA_WITH_RC4_128_MD5, - certAlgorithm, - ERSA, - &cipher_suites); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - status = select_cipher_suite( - select_all_cipher_suites, - tls_cipher_suites_TLS_RSA_WITH_RC4_128_SHA, - certAlgorithm, - ERSA, - &cipher_suites); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - + + // IF cipher suite is allowed + if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_RSA_WITH_3DES_EDE_CBC_SHA) != KErrNotFound + // AND the algorithm matches the certificates algorithm + && (select_all_cipher_suites == true + || certAlgorithm == ERSA)) + // THEN add it to list. + { + u16_t *tmp_object = new u16_t; + if (tmp_object == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + *tmp_object = eap_htons(tls_cipher_suites_TLS_RSA_WITH_3DES_EDE_CBC_SHA); + + status = cipher_suites.add_object(tmp_object, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_RSA_WITH_AES_128_CBC_SHA) != KErrNotFound + // AND the algorithm matches the certificates algorithm + && (select_all_cipher_suites == true + || certAlgorithm == ERSA)) + // THEN add it to list. + { + u16_t *tmp_object = new u16_t; + if (tmp_object == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + *tmp_object = eap_htons(tls_cipher_suites_TLS_RSA_WITH_AES_128_CBC_SHA); + + status = cipher_suites.add_object(tmp_object, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA) != KErrNotFound + // AND the algorithm matches the certificates algorithm + && (select_all_cipher_suites == true + || certAlgorithm == EDSA)) + // THEN add it to list. + { + u16_t *tmp_object = new u16_t; + if (tmp_object == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + *tmp_object = eap_htons(tls_cipher_suites_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA); + + status = cipher_suites.add_object(tmp_object, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_DHE_DSS_WITH_AES_128_CBC_SHA) != KErrNotFound + // AND the algorithm matches the certificates algorithm + && (select_all_cipher_suites == true + || certAlgorithm == EDSA)) + // THEN add it to list. + { + u16_t *tmp_object = new u16_t; + if (tmp_object == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + *tmp_object = eap_htons(tls_cipher_suites_TLS_DHE_DSS_WITH_AES_128_CBC_SHA); + + status = cipher_suites.add_object(tmp_object, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA) != KErrNotFound + // AND the algorithm matches the certificates algorithm + && (select_all_cipher_suites == true + || certAlgorithm == ERSA)) + // THEN add it to list. + { + u16_t *tmp_object = new u16_t; + if (tmp_object == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + *tmp_object = eap_htons(tls_cipher_suites_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA); + + status = cipher_suites.add_object(tmp_object, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_DHE_RSA_WITH_AES_128_CBC_SHA) != KErrNotFound + // AND the algorithm matches the certificates algorithm + && (select_all_cipher_suites == true + || certAlgorithm == ERSA)) + // THEN add it to list. + { + u16_t *tmp_object = new u16_t; + if (tmp_object == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + *tmp_object = eap_htons(tls_cipher_suites_TLS_DHE_RSA_WITH_AES_128_CBC_SHA); + + status = cipher_suites.add_object(tmp_object, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_RSA_WITH_RC4_128_MD5) != KErrNotFound + // AND the algorithm matches the certificates algorithm + && (select_all_cipher_suites == true + || certAlgorithm == ERSA)) + // THEN add it to list. + { + u16_t *tmp_object = new u16_t; + if (tmp_object == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + *tmp_object = eap_htons(tls_cipher_suites_TLS_RSA_WITH_RC4_128_MD5); + + status = cipher_suites.add_object(tmp_object, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + if (m_allowed_cipher_suites.Find(tls_cipher_suites_TLS_RSA_WITH_RC4_128_SHA) != KErrNotFound + // AND the algorithm matches the certificates algorithm + && (select_all_cipher_suites == true + || certAlgorithm == ERSA)) + // THEN add it to list.) + { + u16_t *tmp_object = new u16_t; + if (tmp_object == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + *tmp_object = eap_htons(tls_cipher_suites_TLS_RSA_WITH_RC4_128_SHA); + + status = cipher_suites.add_object(tmp_object, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } if (is_session_valid()) { @@ -4347,7 +4183,6 @@ // Compression methods. TLS supports only null compression at the moment. eap_array_c compression_methods(m_am_tools); - { u8_t *tmp_object = new u8_t; if (tmp_object == 0) @@ -4356,7 +4191,6 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } *tmp_object = tls_compression_method_null; - status = compression_methods.add_object(tmp_object, true); if (status != eap_status_ok) { @@ -4365,7 +4199,6 @@ } } - status = get_tls_am_partner()->complete_query_cipher_suites_and_previous_session( tls_session_type, &cipher_suites, @@ -4611,11 +4444,9 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("\n"))); - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("TLS: %s: message_function: verify_certificate_chain()\n"), + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("TLS: %s: message_function: verify_certificate_chain_and_query_public_key()\n"), (m_is_client == true ? "client": "server"))); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_type_tls_peap_symbian_c::verify_certificate_chain()"); - EAP_ASSERT_ALWAYS(certificate_chain->get_object_count() > 0); eap_status_e status(eap_status_ok); @@ -4637,20 +4468,15 @@ return EAP_STATUS_RETURN(m_am_tools, status); } -//-------------------------------------------------- - void eap_am_type_tls_peap_symbian_c::verify_certificate_chainL( EAP_TEMPLATE_CONST eap_array_c * const certificate_chain, const tls_cipher_suites_e required_cipher_suite) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::verify_certificate_chainL(): Number of certificates in chain=%d\n"), + EAP_TRACE_DEBUG(m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("eap_am_type_tls_peap_symbian_c::verify_certificate_chainL: Number of certificates in chain=%d\n"), certificate_chain->get_object_count())); - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_type_tls_peap_symbian_c::verify_certificate_chainL()"); - eap_status_e status(eap_status_process_general_error); if (m_is_client) { @@ -4666,11 +4492,6 @@ || (m_use_manual_realm == true && m_manual_realm.get_is_valid_data() == true))) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::verify_certificate_chainL(): Does server certificate realm verification\n"))); - eap_variable_data_c client_subject_realm(m_am_tools); eap_variable_data_c manual_client_subject_realm(m_am_tools); eap_variable_data_c client_issuer_realm(m_am_tools); @@ -4884,29 +4705,10 @@ } } } - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Server certificate realm verification OK.\n"))); } - else - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::verify_certificate_chainL(): No server certificate realm verification\n"))); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - HBufC8* chain = HBufC8::NewL(1); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::verify_certificate_chainL(): Calls CleanupStack::PushL(chain)\n"))); - - CleanupStack::PushL(chain); - chain->Des().SetLength(0); - + + HBufC8* chain = HBufC8::NewL(0); HBufC8* temp; eap_variable_data_c* cert; @@ -4926,61 +4728,50 @@ #if defined(_DEBUG) || defined(DEBUG) - { - TPtr8 certPtr( - cert->get_data(cert->get_data_length()), - cert->get_data_length(), - cert->get_data_length()); - - CX509Certificate* x509Cert = CX509Certificate::NewL(certPtr); - - if( x509Cert != NULL ) - { - CleanupStack::PushL(x509Cert); - - TKeyIdentifier KeyIdentifier = x509Cert->KeyIdentifierL(); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("Key identifier is"), - KeyIdentifier.Ptr(), - KeyIdentifier.Size())); - - // This is for subject key id. - const CX509CertExtension* certExt = x509Cert->Extension(KSubjectKeyId); + TPtr8 certPtr( + cert->get_data(cert->get_data_length()), + cert->get_data_length(), + cert->get_data_length()); + CX509Certificate* x509Cert = CX509Certificate::NewL(certPtr); + + if( x509Cert != NULL ) + { + CleanupStack::PushL(x509Cert); + + TKeyIdentifier KeyIdentifier = x509Cert->KeyIdentifierL(); + + EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Key identifier is"), + KeyIdentifier.Ptr(), + KeyIdentifier.Size())); + + // This is for subject key id. + const CX509CertExtension* certExt = x509Cert->Extension(KSubjectKeyId); + + if (certExt) + { + const CX509SubjectKeyIdExt* subKeyExt = CX509SubjectKeyIdExt::NewLC(certExt->Data()); + EAP_UNREFERENCED_PARAMETER(subKeyExt); + + EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("The Subject key Id is:"), + subKeyExt->KeyId().Ptr(), + subKeyExt->KeyId().Size())); - if (certExt) - { - const CX509SubjectKeyIdExt* subKeyExt = CX509SubjectKeyIdExt::NewLC(certExt->Data()); - EAP_UNREFERENCED_PARAMETER(subKeyExt); - - EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("The Subject key Id is:"), - subKeyExt->KeyId().Ptr(), - subKeyExt->KeyId().Size())); - - CleanupStack::PopAndDestroy(); - } - else - { - EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: verify_certificate_chainL - No extension for this certificate\n"))); - } - - CleanupStack::PopAndDestroy(); - } - } + CleanupStack::PopAndDestroy(); // subKeyExt + } + else + { + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: verify_certificate_chainL - No extension for this certificate\n"))); + } + + CleanupStack::PopAndDestroy(x509Cert); + } + #endif - temp = chain->ReAllocL(chain->Length() + cert->get_data_length()); - - CleanupStack::Pop(chain); - - chain = temp; - CleanupStack::PushL(chain); - + temp = chain->ReAllocL(chain->Length() + cert->get_data_length()); + chain = temp; TPtr8 ptr = chain->Des(); - ptr.Append(cert->get_data(cert->get_data_length()), cert->get_data_length()); if (i == 0) { @@ -4991,120 +4782,42 @@ } m_peer_certificate = CX509Certificate::NewL(ptr); } - - } // for() - - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::verify_certificate_chainL(): calls chain->Des()\n"))); - + CleanupStack::Pop(); + } + CleanupStack::PushL(chain); TPtr8 certChain = chain->Des(); - TBool aUseAutomaticCaCertificate = (m_use_automatic_ca_certificate == true) ? ETrue : EFalse; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::verify_certificate_chainL(): calls m_cert_if->ValidateChainL()\n"))); - - m_cert_if->ValidateChainL(certChain, m_allowed_ca_certs, aUseAutomaticCaCertificate); - - CleanupStack::PopAndDestroy(chain); - + m_cert_if->ValidateChainL(certChain, m_allowed_ca_certs); + + CleanupStack::PopAndDestroy(); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - // This returns eap_status_pending_request User::Leave(KErrCompletion); } -//-------------------------------------------------- - -#if defined(USE_EAP_DEBUG_TRACE) - -static eap_const_string get_certificate_error_string(const enum TValidationError certificate_error) -{ -#if defined(USE_EAP_TRACE_STRINGS) - EAP_IF_RETURN_STRING(certificate_error, EValidatedOK) - else EAP_IF_RETURN_STRING(certificate_error, EChainHasNoRoot) - else EAP_IF_RETURN_STRING(certificate_error, ESignatureInvalid) - else EAP_IF_RETURN_STRING(certificate_error, EDateOutOfRange) - else EAP_IF_RETURN_STRING(certificate_error, ENameIsExcluded) - else EAP_IF_RETURN_STRING(certificate_error, ENameNotPermitted) - else EAP_IF_RETURN_STRING(certificate_error, ENotCACert) - else EAP_IF_RETURN_STRING(certificate_error, ECertificateRevoked) - else EAP_IF_RETURN_STRING(certificate_error, EUnrecognizedCriticalExtension) - else EAP_IF_RETURN_STRING(certificate_error, ENoBasicConstraintInCACert) - else EAP_IF_RETURN_STRING(certificate_error, ENoAcceptablePolicy) - else EAP_IF_RETURN_STRING(certificate_error, EPathTooLong) - else EAP_IF_RETURN_STRING(certificate_error, ENegativePathLengthSpecified) - else EAP_IF_RETURN_STRING(certificate_error, ENamesDontChain) - else EAP_IF_RETURN_STRING(certificate_error, ERequiredPolicyNotFound) - else EAP_IF_RETURN_STRING(certificate_error, EBadKeyUsage) - else EAP_IF_RETURN_STRING(certificate_error, ERootCertNotSelfSigned) - else EAP_IF_RETURN_STRING(certificate_error, ECriticalExtendedKeyUsage) - else EAP_IF_RETURN_STRING(certificate_error, ECriticalCertPoliciesWithQualifiers) - else EAP_IF_RETURN_STRING(certificate_error, ECriticalPolicyMapping) - else EAP_IF_RETURN_STRING(certificate_error, ECriticalDeviceId) - else EAP_IF_RETURN_STRING(certificate_error, ECriticalSid) - else EAP_IF_RETURN_STRING(certificate_error, ECriticalVid) - else EAP_IF_RETURN_STRING(certificate_error, ECriticalCapabilities) -#endif // #if defined(USE_EAP_TRACE_STRINGS) - { - EAP_UNREFERENCED_PARAMETER(certificate_error); - return EAPL("Unknown TValidationError"); - } -} - -#endif //#if defined(USE_EAP_DEBUG_TRACE) - -//-------------------------------------------------- void eap_am_type_tls_peap_symbian_c::complete_validate_chain( - const CPKIXValidationResult * const aValidationResult, - const eap_status_e aStatus) + CPKIXValidationResult& aValidationResult, eap_status_e aStatus) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - TValidationError validationError(EBadKeyUsage); - - if (aValidationResult != 0) - { - validationError = aValidationResult->Error().iReason; - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::complete_validate_chain(): Certificate chain validation reason=%d=%s, status=%d=%s\n"), - validationError, - get_certificate_error_string(validationError), - aStatus, - eap_status_string_c::get_status_string(aStatus))); - + if(aStatus != eap_status_ok) { get_tls_am_partner()->complete_verify_certificate_chain(aStatus); return; } - - eap_status_e result(eap_status_ok); - - if (validationError == EValidatedOK) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("Certificate chain validation OK. Reason: %d=%s\n"), - validationError, - get_certificate_error_string(validationError))); - + + eap_status_e result; + if (aValidationResult.Error().iReason == EValidatedOK) + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, + (EAPL("Certificate chain validation OK. Reason: %d\n"), + aValidationResult.Error().iReason)); result = eap_status_ok; } else { - if (validationError == EDateOutOfRange) + if (aValidationResult.Error().iReason == EDateOutOfRange) { send_error_notification(eap_status_certificate_expired); // Ignore error on purpose @@ -5115,12 +4828,9 @@ // Ignore error on purpose } - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Certificate chain validation FAILED. Reason: %d=%s\n"), - validationError, - get_certificate_error_string(validationError))); + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: Certificate chain validation FAILED. Reason: %d\n"), + aValidationResult.Error().iReason)); result = eap_status_illegal_certificate; } @@ -5141,63 +4851,203 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } -//-------------------------------------------------- - #if defined(USE_FAST_EAP_TYPE) #if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS) - eap_status_e eap_am_type_tls_peap_symbian_c::ReadFileConfig() -{ - eap_status_e status = eap_status_ok; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = EapConfigToolsSymbian::EapReadDefaultConfigFileSymbian( - m_am_tools, - &m_fileconfig); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_variable_data_c skip_user_interactions(m_am_tools); - - if (m_fileconfig != 0 - && m_fileconfig->get_is_valid() == true) - { - // Here we could try the final configuration option. - status = m_fileconfig->read_configure( - cf_str_EAP_skip_user_interactions_for_testing_purposes.get_field(), - &skip_user_interactions); - } - - if (status == eap_status_ok - && skip_user_interactions.get_is_valid_data() == true) - { - u32_t *skip_user_interactions_flag = reinterpret_cast( - skip_user_interactions.get_data(sizeof(u32_t))); - if (skip_user_interactions_flag != 0) - { - if (*skip_user_interactions_flag != 0) - { - m_skip_user_interactions = true; - } - else - { - m_skip_user_interactions = false; - } - } - } - - iPacStoreDb->SkipUserActions(m_skip_user_interactions); - - return status; -} - + { + eap_status_e status = eap_status_ok; + + eap_am_file_input_symbian_c * const fileio = new eap_am_file_input_symbian_c(m_am_tools); + + eap_automatic_variable_c automatic_fileio(m_am_tools, fileio); + + if (fileio != 0 + && fileio->get_is_valid() == true) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Initialize file configuration.\n"))); + + eap_variable_data_c file_name_c_data(m_am_tools); + + { + #if defined(EAPOL_SYMBIAN_VERSION_7_0_s) + eap_const_string const FILECONFIG_FILENAME_C + = "c:\\system\\data\\eap.conf"; + #else + eap_const_string const FILECONFIG_FILENAME_C + = "c:\\private\\101F8EC5\\eap.conf"; + #endif + + status = file_name_c_data.set_copy_of_buffer( + FILECONFIG_FILENAME_C, + m_am_tools->strlen(FILECONFIG_FILENAME_C)); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = file_name_c_data.add_end_null(); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + eap_variable_data_c file_name_z_data(m_am_tools); + + { + #if defined(EAPOL_SYMBIAN_VERSION_7_0_s) + eap_const_string const FILECONFIG_FILENAME_Z + = "z:\\system\\data\\eap.conf"; + #else + eap_const_string const FILECONFIG_FILENAME_Z + = "z:\\private\\101F8EC5\\eap.conf"; + #endif + + status = file_name_z_data.set_copy_of_buffer( + FILECONFIG_FILENAME_Z, + m_am_tools->strlen(FILECONFIG_FILENAME_Z)); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + status = file_name_z_data.add_end_null(); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + + + + if (status == eap_status_ok) + { + // First try open from C: disk. + status = fileio->file_open( + &file_name_c_data, + eap_file_io_direction_read); + if (status == eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Opens configure file %s\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()))); + } + else if (status != eap_status_ok) + { + // Second try open from Z: disk. + status = fileio->file_open( + &file_name_z_data, + eap_file_io_direction_read); + if (status == eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Opens configure file %s\n"), + file_name_z_data.get_data(file_name_z_data.get_data_length()))); + } + } + + if (status == eap_status_ok) + { + // Some of the files were opened. + + m_fileconfig = new eap_file_config_c(m_am_tools); + if (m_fileconfig != 0 + && m_fileconfig->get_is_valid() == true) + { + status = m_fileconfig->configure(fileio); + if (status != eap_status_ok) + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: Configure read from %s failed.\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()))); + } + else + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Configure read from %s\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()))); + } + } + else + { + // No file configuration. + delete m_fileconfig; + m_fileconfig = 0; + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: Cannot create configure object for file %s\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()))); + } + } + else + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: Cannot open configure file neither %s nor %s\n"), + file_name_c_data.get_data(file_name_c_data.get_data_length()), + file_name_z_data.get_data(file_name_z_data.get_data_length()))); + } + } + } + else + { + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("Skips file configuration.\n"))); + } + + eap_variable_data_c skip_user_interactions(m_am_tools); + + if (m_fileconfig != 0 + && m_fileconfig->get_is_valid() == true) + { + // Here we could try the final configuration option. + status = m_fileconfig->read_configure( + cf_str_EAP_skip_user_interactions_for_testing_purposes.get_field(), + &skip_user_interactions); + } + + if (status == eap_status_ok + && skip_user_interactions.get_is_valid_data() == true) + { + u32_t *skip_user_interactions_flag = reinterpret_cast( + skip_user_interactions.get_data(sizeof(u32_t))); + if (skip_user_interactions_flag != 0) + { + if (*skip_user_interactions_flag != 0) + { + m_skip_user_interactions = true; + } + else + { + m_skip_user_interactions = false; + } + } + } + + iPacStoreDb->SkipUserActions (m_skip_user_interactions); + + return status; + } #endif //#if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS) #endif @@ -5222,8 +5072,7 @@ if (m_is_client) { - // client - // Get the matching certificates. This function call is completed asyncronously by complete_get_matching_certificates() function call. + // Get the matching certificates TRAPD(err, m_cert_if->GetMatchingCertificatesL( m_allowed_user_certs, ETrue, @@ -5238,7 +5087,6 @@ else { // server - // Get the matching certificates. This function call is completed asyncronously by complete_get_matching_certificates() function call. TRAPD(err, m_cert_if->GetMatchingCertificatesL( m_allowed_user_certs, EFalse, @@ -5268,10 +5116,8 @@ } -//-------------------------------------------------- - void eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates( - RPointerArray& aMatchingCerts, + CArrayFixFlat& aMatchingCerts, eap_status_e aStatus) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -5292,39 +5138,17 @@ // Add found certs to allowed certificate list. // This list is updated here because there might be certificates that have been removed. - m_allowed_user_certs.ResetAndDestroy(); - - for (TInt i = 0; i < aMatchingCerts.Count() && aMatchingCerts[i] != 0; i++) - { - EapCertificateEntry * const entry = aMatchingCerts[i]->Copy(); - if (entry == 0) + m_allowed_user_certs.Reset(); + for (TInt i = 0; i < aMatchingCerts.Count(); i++) + { + TRAPD(err, m_allowed_user_certs.AppendL(aMatchingCerts[i])); + if (err != KErrNone) { EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: EAP-TLS: No memory.\n"))); - - get_am_partner()->complete_eap_identity_query( - 0, // 0 because identity query failed - &m_receive_network_id, - m_eap_identifier, - eap_status_allocation_error, - false, - 0, - false, - 0); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - } - - TInt error = m_allowed_user_certs.Append(entry); - if (error != KErrNone) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates(): -EHandlingIdentityQuery- Error=%d\n"), - error)); + (EAPL("ERROR: eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates -EHandlingIdentityQuery- Error=%d\n"), + err)); get_am_partner()->complete_eap_identity_query( 0, // 0 because identity query failed @@ -5335,8 +5159,6 @@ 0, false, 0); - - delete entry; EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return; @@ -5378,60 +5200,35 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates(): no manual realm - no user cert. Get realm from CA certificate.\n"))); + (EAPL("eap_am_type_tls_peap_symbian_c: no manual realm - no user cert. Get realm from CA certificate.\n"))); TInt allowed_ca_cert_count = m_allowed_ca_certs.Count(); TInt err(KErrNone); - + if(allowed_ca_cert_count > 0) { - TRAP(err, m_cert_if->ReadCACertificateL(*m_allowed_ca_certs[0])); + TRAP(err, m_cert_if->ReadCACertificateL(m_allowed_ca_certs[0])); } - - if (err != KErrNone - || allowed_ca_cert_count <= 0) + if (err != KErrNone || allowed_ca_cert_count <= 0) { - if (m_use_automatic_ca_certificate == false) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: EAP-TLS: eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates(): Cannot read user certificate and no CA cert configured, CA cert count=%d.\n"), - allowed_ca_cert_count)); - - get_am_partner()->complete_eap_identity_query( - 0, // 0 because identity query failed - &m_receive_network_id, - m_eap_identifier, - eap_status_illegal_certificate, - false, - 0, - false, - 0); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - } - else - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: EAP-TLS: eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates(): Cannot read user certificate and automatic CA cert configured, CA cert count=%d.\n"), - m_allowed_ca_certs.Count())); - - get_am_partner()->complete_eap_identity_query( - 0, // 0 because certificate query failed - &m_receive_network_id, - m_eap_identifier, - eap_status_ok, - false, - 0, - false, - 0); - } + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("ERROR: EAP-TLS: Cannot read user certificate or No CA cert configured, CA cert count=%d.\n"), + allowed_ca_cert_count)); + + get_am_partner()->complete_eap_identity_query( + 0, // 0 because identity query failed + &m_receive_network_id, + m_eap_identifier, + eap_status_illegal_certificate, + false, + 0, + false, + 0); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; } - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return; } @@ -5443,14 +5240,14 @@ (EAPL("EAP-TLS: Uses manual realm.\n"))); get_am_partner()->complete_eap_identity_query( - 0, // 0 because certificate query failed - &m_receive_network_id, - m_eap_identifier, - eap_status_ok, - m_use_manual_username, - &m_manual_username, - m_use_manual_realm, - &m_manual_realm); + 0, // 0 because certificate query failed + &m_receive_network_id, + m_eap_identifier, + eap_status_ok, + m_use_manual_username, + &m_manual_username, + m_use_manual_realm, + &m_manual_realm); } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -5468,31 +5265,20 @@ if (aMatchingCerts.Count() > 0) { - TInt error; - - m_allowed_user_certs.ResetAndDestroy(); - - for (TInt i = 0; i < aMatchingCerts.Count(); i++) - { - EapCertificateEntry * const entry = aMatchingCerts[i]->Copy(); - if (entry != 0) - { - TRAP(error, m_allowed_user_certs.AppendL(entry)); - } - else + m_allowed_user_certs.Reset(); + + for (TInt i = 0; i < aMatchingCerts.Count(); i++) { - error = KErrNoMemory; - } - - if (error != KErrNone) - { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates -EHandlingChainQuery- Error=%d\n"), - error)); - - get_tls_am_partner()->complete_query_certificate_chain(0, eap_status_allocation_error); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - } + TRAPD(err, m_allowed_user_certs.AppendL(aMatchingCerts[i])); + if (err != KErrNone) + { + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates -EHandlingChainQuery- Error=%d\n"), + err)); + + get_tls_am_partner()->complete_query_certificate_chain(0, eap_status_allocation_error); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return; + } } } @@ -5501,18 +5287,10 @@ // No matching or allowed certs and no pre-loaded cert. // Could not find matching certificate - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("EAP-TLS: Could not find proper user certificate.\n"))); + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("EAP-TLS: Could not find proper user certificate.\n"))); if (m_tls_peap_server_authenticates_client_policy_flag == true) { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: EAP-TLS: Could not find proper user certificate and anonymous cliet is not allowed.\n"))); - send_error_notification(eap_status_user_certificate_unknown); } @@ -5535,12 +5313,10 @@ { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("EAP-TLS: Illegal state in complete_get_matching_certs.\n"))); } - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return; } -//-------------------------------------------------- EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::query_certificate_authorities_and_types() { @@ -5555,7 +5331,7 @@ eap_array_c certificate_authorities(m_am_tools); eap_variable_data_c ca_dn(m_am_tools); - // TEST CODE: Implementation do not support yet a proper CA DN. + // TEST CODE: This is not a proper CA DN. _LIT8(KTestCA, "ca.eapsim.foo"); status = ca_dn.add_data(KTestCA().Ptr(), KTestCA().Size()); if (status != eap_status_ok) @@ -5745,13 +5521,13 @@ subject_identity.get_data_length(), subject_identity.get_data_length()); - status = subject_realm->set_copy_of_buffer((ptr.Mid(offset + KOffsetCorrection)).Ptr(), ptr.Length() - offset - KOffsetCorrection); + status = subject_realm->set_copy_of_buffer((ptr.Mid(offset + 1)).Ptr(), ptr.Length() - offset - 1); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } - + // ISSUER // Check DN TRAP(err, get_identities_from_distinguished_namesL(certificate, &subject_identity, &issuer_identity)); @@ -5766,10 +5542,10 @@ issuer_identity.get_data(issuer_identity.get_data_length()), issuer_identity.get_data_length(), issuer_identity.get_data_length()); - + offset = ptr2.Find(KAt); - status = issuer_realm->set_copy_of_buffer((ptr2.Mid(offset + KOffsetCorrection)).Ptr(), ptr2.Length() - offset - KOffsetCorrection); + status = issuer_realm->set_copy_of_buffer((ptr2.Mid(offset + 1)).Ptr(), ptr2.Length() - offset - 1); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -5782,6 +5558,7 @@ //-------------------------------------------------- + EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::save_tls_session( const eap_variable_data_c * const session_id, const eap_variable_data_c * const master_secret, @@ -5874,7 +5651,7 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } - +//-------------------------------------------------- //-------------------------------------------------- EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::rsa_encrypt_with_public_key( @@ -5954,7 +5731,7 @@ ptr.Copy(encrypted_premaster_secret->get_data(encrypted_premaster_secret->get_data_length()), encrypted_premaster_secret->get_data_length()); - TRAP(err, m_cert_if->DecryptL(m_own_certificate_info.GetSubjectKeyId(), *data)); + TRAP(err, m_cert_if->DecryptL(m_own_certificate_info.iSubjectKeyId, *data)); if (err != KErrNone) { @@ -6016,7 +5793,6 @@ } //-------------------------------------------------- - EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::sign_with_private_key( const eap_variable_data_c * const message_hash) { @@ -6075,7 +5851,7 @@ signature_length = public_key_data.Size(); } - TRAP(err, m_cert_if->SignL(m_own_certificate_info.GetSubjectKeyId(), hash, signature_length)); + TRAP(err, m_cert_if->SignL(m_own_certificate_info.iSubjectKeyId, hash, signature_length)); if (err != KErrNone) { status = m_am_tools->convert_am_error_to_eapol_error(err); @@ -6091,9 +5867,7 @@ return EAP_STATUS_RETURN(m_am_tools, status); } - //-------------------------------------------------- - void eap_am_type_tls_peap_symbian_c::complete_sign( const RInteger& aR, const RInteger& aS, eap_status_e aStatus) { @@ -6114,8 +5888,6 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } -//-------------------------------------------------- - void eap_am_type_tls_peap_symbian_c::complete_signL( const RInteger& aR, const RInteger& aS, eap_status_e aStatus) { @@ -6277,7 +6049,7 @@ } else { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Verify with private key failed.\n"))); + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Signing with private key failed.\n"))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); } @@ -6294,8 +6066,6 @@ return EAP_STATUS_RETURN(m_am_tools, status); } -//-------------------------------------------------- - void eap_am_type_tls_peap_symbian_c::read_dsa_parametersL() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -6353,7 +6123,6 @@ //-------------------------------------------------- // MODULE HANDLING FUNCTIONS //-------------------------------------------------- - eap_status_e eap_am_type_tls_peap_symbian_c::load_module( const eap_type_value_e /*type*/, const eap_type_value_e /* tunneling_type */, @@ -6375,32 +6144,31 @@ eap_status_e status(eap_status_illegal_eap_type); +#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::check_is_valid_eap_type:Given EAP-type=0xfe%06x%08x\n"), - eap_type.get_vendor_id(), - eap_type.get_vendor_type())); + (EAPL("eap_am_type_tls_peap_symbian_c::check_is_valid_eap_type:Given EAP vendor ID=%x, type=%x\n"), + eap_type.get_vendor_id(), eap_type.get_vendor_type())); for (TInt i = 0; i < m_enabled_tunneling_exp_eap_array.Count(); i++) { eap_expanded_type_c expEAPTmp; - TInt error = CEapConversion::ConvertExpandedEAPTypeToInternalType( - m_enabled_tunneling_exp_eap_array[i], - &expEAPTmp); - - if (error != KErrNone) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); - } - + // This will read the expanded EAP from enabledEAPTypes[i]->iExpandedEAPType to expEAPTmp. + // This makes easy to get the vendor type. + eap_expanded_type_c::read_type( m_am_tools, + 0, + m_enabled_tunneling_exp_eap_array[i]->iExpandedEAPType.Ptr(), + KExpandedEAPTypeSize, + &expEAPTmp); + EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("check_is_valid_eap_type:Checking with EAP type:"), - m_enabled_tunneling_exp_eap_array[i]->GetValue().Ptr(), - m_enabled_tunneling_exp_eap_array[i]->GetValue().Size())); + m_enabled_tunneling_exp_eap_array[i]->iExpandedEAPType.Ptr(), + m_enabled_tunneling_exp_eap_array[i]->iExpandedEAPType.Size())); if (eap_type == expEAPTmp) { @@ -6410,7 +6178,35 @@ } } +#else // For normal EAP types. + + TEap *eapType = 0; + + TInt i(0); + + for (i = 0; i < m_iap_eap_array.Count(); i++) + { + // Try next EAP type + eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + // Convert the string to integer + TLex8 tmp(eapType->UID); + TInt val(0); + tmp.Val(val); + if (val == eap_type) + { + // Allowed + status = eap_status_ok; + break; + } + } + } + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } @@ -6427,11 +6223,15 @@ eap_status_e status(eap_status_illegal_eap_type); +#ifdef USE_EAP_EXPANDED_TYPES + // We need to return only the EAP types available as enabled types. // It means only the ones available in m_enabled_tunneling_exp_eap_array. for (TInt i = 0; i < m_enabled_tunneling_exp_eap_array.Count(); i++) { + TBuf8 tmpExpEAP(m_enabled_tunneling_exp_eap_array[i]->iExpandedEAPType); + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, @@ -6442,27 +6242,25 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Enabled expanded EAP type:"), - m_enabled_tunneling_exp_eap_array[i]->GetValue().Ptr(), - m_enabled_tunneling_exp_eap_array[i]->GetValue().Size())); + tmpExpEAP.Ptr(), + tmpExpEAP.Size())); // This is for one expanded EAP type (for the above one). eap_type_value_e * expandedEAPType = new eap_type_value_e(); - - eap_automatic_variable_c automatic_expandedEAPType( - m_am_tools, - expandedEAPType); - - TInt error = CEapConversion::ConvertExpandedEAPTypeToInternalType( - m_enabled_tunneling_exp_eap_array[i], - expandedEAPType); - - if (error != KErrNone) - { + + // Read the expanded EAP type details from an item in m_enabled_tunneling_exp_eap_array. + status = eap_type_value_e::read_type(m_am_tools, + 0, + &tmpExpEAP, + tmpExpEAP.Length(), + expandedEAPType); + if (status != eap_status_ok) + { + delete expandedEAPType; + expandedEAPType = 0; EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); - } - - automatic_expandedEAPType.do_not_free_variable(); + return EAP_STATUS_RETURN(m_am_tools, status); + } // Add EAP-type to list. status = eap_type_list->add_object(expandedEAPType, true); @@ -6478,19 +6276,56 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("get_eap_type_list():added EAP-type=0xfe%06x%08x=%s\n"), - expandedEAPType->get_vendor_id(), + (EAPL("get_eap_type_list():added EAP-type=0x%08x=%s\n"), expandedEAPType->get_vendor_type(), - eap_header_string_c::get_eap_type_string(*expandedEAPType))); + eap_string.get_eap_type_string(*expandedEAPType))); }// for() +#else // for normal EAP types. + + TEap *eapType = 0; + + status = eap_type_list->reset(); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + + + for (TInt i = 0; i < m_iap_eap_array.Count(); i++) + { + // Check if type is enabled + eapType = m_iap_eap_array[i]; + if (eapType->Enabled == 1) + { + TLex8 tmp(eapType->UID); + TInt val(0); + tmp.Val(val); + + eap_type_value_e * const eap_type = new eap_type_value_e(static_cast(val)); + if (eap_type == 0) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + } + + status = eap_type_list->add_object(eap_type, true); + if (status != eap_status_ok) + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); + } + } + } // for() + +#endif // #ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return eap_status_ok; } -//-------------------------------------------------- - eap_status_e eap_am_type_tls_peap_symbian_c::unload_module(const eap_type_value_e /*type*/) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -6498,7 +6333,6 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); } -//-------------------------------------------------- void eap_am_type_tls_peap_symbian_c::send_error_notification(const eap_status_e error) { @@ -6537,10 +6371,19 @@ m_partner->state_notification(¬ification); } +eap_status_e eap_am_type_tls_peap_symbian_c::show_certificate_selection_dialog() +{ + return eap_status_ok; +} + +eap_status_e eap_am_type_tls_peap_symbian_c::show_manual_identity_dialog() +{ + return eap_status_ok; +} + //-------------------------------------------------- // CANCELLATION FUNCTIONS //-------------------------------------------------- - EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::cancel_identity_query() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -6556,8 +6399,6 @@ return eap_status_ok; } -//-------------------------------------------------- - EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::cancel_query_cipher_suites_and_previous_session() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -6787,74 +6628,73 @@ EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, ( - EAPL("eap_am_type_tls_peap_symbian_c::is_session_valid - m_current_eap_vendor_type=0xfe%06x%08x\n"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type())); + EAPL("eap_am_type_tls_peap_symbian_c::is_session_valid - m_current_eap_vendor_type=%d \n"), + m_current_eap_vendor_type)); TPtrC maxSessionTimeString; TPtrC lastFullAuthTimeString; - if (m_current_eap_type == eap_type_tls) - { - maxSessionTimeString.Set(cf_str_EAP_TLS_max_session_validity_time_literal); - lastFullAuthTimeString.Set(KTLSLastFullAuthTime); - } - else if (m_current_eap_type == eap_type_peap) - { - maxSessionTimeString.Set(cf_str_EAP_PEAP_max_session_validity_time_literal); - lastFullAuthTimeString.Set(KPEAPLastFullAuthTime); - } - else if (m_current_eap_type == eap_type_ttls) - { - maxSessionTimeString.Set(cf_str_EAP_TTLS_max_session_validity_time_literal); - lastFullAuthTimeString.Set(KTTLSLastFullAuthTime); - } + switch (m_current_eap_vendor_type) + { + case eap_type_tls: + { + maxSessionTimeString.Set(cf_str_EAP_TLS_max_session_validity_time_literal); + lastFullAuthTimeString.Set(KTLSLastFullAuthTime); + } + break; + + case eap_type_peap: + { + maxSessionTimeString.Set(cf_str_EAP_PEAP_max_session_validity_time_literal); + lastFullAuthTimeString.Set(KPEAPLastFullAuthTime); + } + break; + + case eap_type_ttls: + { + maxSessionTimeString.Set(cf_str_EAP_TTLS_max_session_validity_time_literal); + lastFullAuthTimeString.Set(KTTLSLastFullAuthTime); + } + break; + #if defined(USE_FAST_EAP_TYPE) - else if (m_current_eap_type == eap_type_fast) - { - maxSessionTimeString.Set(cf_str_EAP_FAST_max_session_validity_time_literal); - lastFullAuthTimeString.Set(KFASTLastFullAuthTime); - } + case eap_type_fast: + { + maxSessionTimeString.Set(cf_str_EAP_FAST_max_session_validity_time_literal); + lastFullAuthTimeString.Set(KFASTLastFullAuthTime); + } + break; #endif - else if (m_current_eap_type == eap_expanded_type_ttls_plain_pap.get_type()) - { - // we should not come here, ttls pap has its own - // method for checking session validity - EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, ( - EAPL( "ERROR: wrong eap type.\n" ) ) ); - return false; - } - else - { - // Should never happen - EAP_TRACE_ERROR(m_am_tools, - TRACE_FLAGS_DEFAULT, ( - EAPL("Unsupported EAP type, m_current_eap_vendor_type=0xfe%06x%08x\n"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type())); - - return false; // Treat this as Session invalid. - } + + case eap_type_ttls_plain_pap: + { + // we should not come here, ttls pap has its own + // method for checking session validity + EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, ( + EAPL( "ERROR: wrong eap type.\n" ) ) ); + return false; + } + + default: + { + // Should never happen + EAP_TRACE_ERROR(m_am_tools, + TRACE_FLAGS_DEFAULT, ( + EAPL("Unsupported EAP type, m_current_eap_vendor_type=%d \n"), + m_current_eap_vendor_type)); + + return false; // Treat this as Session invalid. + } + } HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); // Query all the relevant parameters - _LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format( - KSQLQuery, - &maxSessionTimeString, - &lastFullAuthTimeString, - &m_db_table_name, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &maxSessionTimeString, &lastFullAuthTimeString, &m_db_table_name, + &KServiceType, m_index_type, + &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); RDbView view; // Evaluate view @@ -6966,68 +6806,65 @@ EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::store_authentication_timeL, index type=%d, index=%d, tunneling type=0xfe%06x%08x, current eap type=0xfe%06x%08x\n"), - m_index_type, - m_index, - m_tunneling_type.get_vendor_id(), - m_tunneling_type.get_vendor_type(), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type())); + (EAPL("eap_am_type_tls_peap_symbian_c::store_authentication_timeL, index type=%d, index=%d, tunneling type=%d, current eap type=%d\n"), + m_index_type, m_index, m_tunneling_vendor_type, m_current_eap_vendor_type)); TPtrC lastFullAuthTimeString; - if (m_current_eap_type == eap_type_tls) - { - lastFullAuthTimeString.Set(KTLSLastFullAuthTime); - } - else if (m_current_eap_type == eap_type_peap) - { - lastFullAuthTimeString.Set(KPEAPLastFullAuthTime); - } - else if (m_current_eap_type == eap_type_ttls) - { - lastFullAuthTimeString.Set(KTTLSLastFullAuthTime); - } - else if (m_current_eap_type == eap_expanded_type_ttls_plain_pap.get_type()) - { + switch (m_current_eap_vendor_type) + { + case eap_type_tls: + { + lastFullAuthTimeString.Set(KTLSLastFullAuthTime); + } + break; + + case eap_type_peap: + { + lastFullAuthTimeString.Set(KPEAPLastFullAuthTime); + } + break; + + case eap_type_ttls: + { + lastFullAuthTimeString.Set(KTTLSLastFullAuthTime); + } + break; + + case eap_type_ttls_plain_pap: + { lastFullAuthTimeString.Set( KTTLSPAPLastFullAuthTime ); - } + } + break; + #if defined(USE_FAST_EAP_TYPE) - else if (m_current_eap_type == eap_type_fast) - { - lastFullAuthTimeString.Set(KFASTLastFullAuthTime); - } + case eap_type_fast: + { + lastFullAuthTimeString.Set(KFASTLastFullAuthTime); + } + break; #endif - else - { - // Should never happen - EAP_TRACE_ERROR(m_am_tools, - TRACE_FLAGS_DEFAULT, ( - EAPL("Unsupported EAP type, m_current_eap_vendor_type=0xfe%06x%08x\n"), - m_current_eap_type.get_vendor_id(), - m_current_eap_type.get_vendor_type())); - - User::Leave(KErrNotSupported); - } + + default: + { + // Should never happen + EAP_TRACE_ERROR(m_am_tools, + TRACE_FLAGS_DEFAULT, ( + EAPL("Unsupported EAP type, m_current_eap_vendor_type=%d \n"), + m_current_eap_vendor_type)); + + User::Leave(KErrNotSupported); + } + } HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); // Query all the relevant parameters - _LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format( - KSQLQuery, - &lastFullAuthTimeString, - &m_db_table_name, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + _LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + sqlStatement.Format(KSQLQuery, &lastFullAuthTimeString, &m_db_table_name, + &KServiceType, m_index_type, + &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); RDbView view; // Evaluate view @@ -7035,7 +6872,7 @@ CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); - // Get the first (and only) row for update. + // Get the first (and only) row for updation. view.FirstL(); view.UpdateL(); @@ -7152,9 +6989,9 @@ } #endif //#if defined(USE_EAP_CORE_SERVER) - //-------------------------------------------------- + // This is commented in eap_am_fast_pac_store_services_c::query_user_permission_for_A_ID(). EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::query_user_permission_for_A_ID( const eap_fast_pac_store_pending_operation_e in_pending_operation, @@ -7209,7 +7046,7 @@ eap_status_e eap_am_type_tls_peap_symbian_c::QueryUserPermissionForAIDL( const eap_fast_variable_data_c * const in_pac_attribute_A_ID_info, const eap_fast_variable_data_c * const in_pac_attribute_A_ID) -{ + { eap_status_e status(eap_status_ok); HBufC8* A_ID_info8 = HBufC8::NewLC((in_pac_attribute_A_ID_info->get_data_length())); @@ -7236,7 +7073,7 @@ (A_IDPtr.Ptr()), (in_pac_attribute_A_ID->get_data_length()))); - if (A_ID_infoPtr.Size()>=KMaxNotifItemLength) + if (A_ID_infoPtr.Size()>KMaxEapFastNotifierBufLength) { CleanupStack::PopAndDestroy(3); // A_ID, A_ID_info status = m_am_tools->convert_am_error_to_eapol_error(KErrArgument); @@ -7244,42 +7081,41 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); } - - TEapExpandedType aEapType(*EapExpandedTypeFast.GetType()); - - m_notifier_data_to_user->iPassword.Copy(A_ID_infoPtr); - - if (iEapAuthNotifier == 0) - { - TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this )); - if (err) - { - return eap_status_process_general_error; - } - } - else - { - TRAPD(err1, iEapAuthNotifier->Cancel()); - if (err1) - { - return eap_status_process_general_error; - } - } - - TRAPD(err2, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastInstallPacQueryDialog, m_notifier_data_to_user, aEapType)); - if (err2) - { - return eap_status_process_general_error; - } - - + + TBool startedOk = ETrue; + + if (!iEapFastActiveNotes) + { + TRAPD( err, iEapFastActiveNotes = CEapFastActive::NewL( this ) ); + + if ( err != KErrNone ) + { + status = eap_status_allocation_error; + } + } + if ( status == KErrNone ) + { + //update buffer + iEapFastActiveNotes->UpdateInputBuf( A_ID_infoPtr ); + // start query install dialog + // asynch. call, return immediately + startedOk = iEapFastActiveNotes->Start( + CEapFastActive::EEapFastActiveInstallPacQueryDialog ); + if ( startedOk == EFalse ) + { + status = eap_status_process_general_error; + } + } + else + { + status = eap_status_process_general_error; + } CleanupStack::PopAndDestroy(3); // A_ID, A_ID_info return status; -} - -//-------------------------------------------------- + } + EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::read_PAC_store_data( const eap_fast_pac_store_pending_operation_e in_pending_operation, @@ -7767,88 +7603,84 @@ } } - m_info_array.ResetAndDestroy(); + TInt count = 0; + + m_info_array.Reset(); iPacStoreDb->GetPacStoreDataL(dbTableName, m_info_array); EAP_TRACE_DEBUG_SYMBIAN( - (_L("eap_am_type_tls_peap_symbian_c::ReadPACStoredataL:Number of entries in table %S=%d\n"), - &dbTableName, m_info_array.Count())); + (_L("eap_am_type_tls_peap_symbian_c::ReadPACStoredataL:Number of entries in table %S=%d\n"), + &dbTableName, m_info_array.Count())); - TInt first_index = 0; - - while (m_info_array.Count() > 0) - { - if (m_info_array[first_index] != 0 - && m_info_array[first_index]->GetIsValid() != EFalse) - { - // Note this will get always the first object of array. After the first object is processed it is destryed and removed from array. - TPtr8 infoDataPtr = m_info_array[first_index]->GetData()->Des(); - TPtr8 infoRefPtr = m_info_array[first_index]->GetReference()->Des(); - - EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("eap_am_type_tls_peap_symbian_c::ReadPACStoredataL: BINARY value from PAC DB (reference)", - infoRefPtr.Ptr(), - infoRefPtr.Size())); - - EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("eap_am_type_tls_peap_symbian_c::ReadPACStoredataL: BINARY value from PAC DB (value)", - infoDataPtr.Ptr(), - infoDataPtr.Size())); - - eap_fast_pac_store_data_c * const new_data = new eap_fast_pac_store_data_c(m_am_tools); - - eap_automatic_variable_c automatic_new_data( - m_am_tools, new_data); - - if (new_data == 0) - { - m_eap_fast_completion_status = eap_status_allocation_error; - (void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); - break; - } - - new_data->set_type(dataType); - - // Set the reference. - m_eap_fast_completion_status = new_data->get_writable_reference()->set_copy_of_buffer(infoRefPtr.Ptr(), infoRefPtr.Size()); - if (m_eap_fast_completion_status != eap_status_ok) - { - (void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); - delete m_info_array[first_index]; - m_info_array.Remove(first_index); - break; - } - - m_eap_fast_completion_status = new_data->get_writable_data()->set_copy_of_buffer(infoDataPtr.Ptr(), infoDataPtr.Size()); - if (m_eap_fast_completion_status != eap_status_ok) - { - (void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); - delete m_info_array[first_index]; - m_info_array.Remove(first_index); - break; - } - - automatic_new_data.do_not_free_variable(); - - m_eap_fast_completion_status = m_references_and_data_blocks.add_object(new_data, true); - if (m_eap_fast_completion_status != eap_status_ok) - { - (void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); - delete m_info_array[first_index]; - m_info_array.Remove(first_index); - break; - } - EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("For GROUP, AID, PAC INFOs - added data", - (new_data->get_data())->get_data((new_data->get_data())->get_data_length()), - (new_data->get_data())->get_data_length())); - } + while (count < m_info_array.Count()) + { + TPtr8 infoDataPtr = m_info_array[count].iData->Des(); + TPtr8 infoRefPtr = m_info_array[count].iReference->Des(); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( + ("eap_am_type_tls_peap_symbian_c::ReadPACStoredataL: BINARY value from PAC DB (reference)", + infoRefPtr.Ptr(), + infoRefPtr.Size())); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( + ("eap_am_type_tls_peap_symbian_c::ReadPACStoredataL: BINARY value from PAC DB (value)", + infoDataPtr.Ptr(), + infoDataPtr.Size())); + + eap_fast_pac_store_data_c * const new_data = new eap_fast_pac_store_data_c(m_am_tools); + + eap_automatic_variable_c automatic_new_data( + m_am_tools, new_data); + + if (new_data == 0) + { + m_eap_fast_completion_status = eap_status_allocation_error; + (void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); + break; + } + + new_data->set_type(dataType); + + // Set the reference. + m_eap_fast_completion_status = new_data->get_writable_reference()->set_copy_of_buffer(infoRefPtr.Ptr(), infoRefPtr.Size()); + if (m_eap_fast_completion_status != eap_status_ok) + { + (void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); + delete m_info_array[count].iData; + delete m_info_array[count].iReference; + break; + } + + m_eap_fast_completion_status = new_data->get_writable_data()->set_copy_of_buffer(infoDataPtr.Ptr(),infoDataPtr.Size() ); + if (m_eap_fast_completion_status != eap_status_ok) + { + (void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); + delete m_info_array[count].iData; + delete m_info_array[count].iReference; + break; + } + + automatic_new_data.do_not_free_variable(); + + m_eap_fast_completion_status = m_references_and_data_blocks.add_object(new_data, true); + if (m_eap_fast_completion_status != eap_status_ok) + { + (void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); + delete m_info_array[count].iData; + delete m_info_array[count].iReference; + break; + } - delete m_info_array[first_index]; - m_info_array.Remove(first_index); - - + delete m_info_array[count].iData; + delete m_info_array[count].iReference; + + EAP_TRACE_DATA_DEBUG_SYMBIAN( + ("For GROUP, AID, PAC INFOs - added data", + (new_data->get_data())->get_data((new_data->get_data())->get_data_length()), + (new_data->get_data())->get_data_length())); + + count++; } // End: while @@ -7899,41 +7731,14 @@ if(iPacStoreDb->IsMasterKeyPresentL()) { - TEapExpandedType aEapType(*EapExpandedTypeFast.GetType()); - - m_notifier_data_to_user->iPassword.Zero(); - - if (iEapAuthNotifier == 0) - { - iEapAuthNotifier = CEapAuthNotifier::NewL( *this ); - } - else - { - iEapAuthNotifier->Cancel(); - } - - iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastPacStorePwQueryDialog, m_notifier_data_to_user, aEapType); - - + m_eap_fast_completion_status = ShowNotifierItemAndGetResponse( + EEapFastNotifierPacStorePwQuery, ETrue ); } else { m_state = EMasterkeyQuery; - TEapExpandedType aEapType(*EapExpandedTypeFast.GetType()); - - m_notifier_data_to_user->iPassword.Zero(); - - if (iEapAuthNotifier == 0) - { - iEapAuthNotifier = CEapAuthNotifier::NewL( *this ); - } - else - { - iEapAuthNotifier->Cancel(); - } - - iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastCreateMasterkeyQueryDialog, m_notifier_data_to_user, aEapType); - + m_eap_fast_completion_status = ShowNotifierItemAndGetResponse( + EEapFastNotifierCreateMasterkeyQuery, ETrue ); } break; @@ -7997,7 +7802,7 @@ eap_variable_data_c m_PAC_store_device_seed(m_am_tools); m_eap_fast_completion_status = m_PAC_store_device_seed.set_copy_of_buffer( - iPacStoreDeviceSeed ); + iPacStoreDb->GetSeed() ); if ( m_eap_fast_completion_status != eap_status_ok ) { EAP_TRACE_DEBUG_SYMBIAN( @@ -8243,21 +8048,9 @@ m_both_asked++; - TEapExpandedType aEapType(*EapExpandedTypeFast.GetType()); - - m_notifier_data_to_user->iPassword.Zero(); - - if (iEapAuthNotifier == 0) - { - iEapAuthNotifier = CEapAuthNotifier::NewL( *this ); - } - else - { - iEapAuthNotifier->Cancel(); - } - - iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastPacFilePwQueryDialog, m_notifier_data_to_user, aEapType); - + m_eap_fast_completion_status = ShowNotifierItemAndGetResponse( + EEapFastNotifierPacFilePwQuery, ETrue ); + if (m_eap_fast_completion_status != eap_status_ok) { (void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); @@ -8283,14 +8076,9 @@ } // End: switch(pacStoreDataRefType) } } // for () - if (m_both_asked) - { m_eap_fast_completion_status = eap_status_pending_request; - } - - m_info_array.ResetAndDestroy(); - + m_info_array.Reset(); EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::ReadPACStoredataL-End, m_eap_fast_completion_status=%d"), m_eap_fast_completion_status)); @@ -8490,10 +8278,18 @@ break; } case eap_pac_store_data_type_PAC_store_password: + { + //This is not saved anywhere. + break; + } case eap_pac_store_data_type_PAC_store_device_seed: + { + //This is not saved anywhere. + break; + } case eap_pac_store_data_type_PAC_store_IAP_reference: { - //These are not saved anywhere. + //This is not saved anywhere. break; } case eap_pac_store_data_type_PAC_store_group_reference: @@ -8683,12 +8479,10 @@ return EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); } -//-------------------------------------------------- - void eap_am_type_tls_peap_symbian_c::CompleteAddImportedPACFileL( const eap_variable_data_c * const in_imported_PAC_filename, const eap_variable_data_c * const out_used_group_reference) -{ + { RFs aFs; aFs.Connect( KFileServerDefaultMessageSlots ); @@ -8761,32 +8555,21 @@ (_L("eap_am_type_tls_peap_symbian_c::complete_add_imported_PAC_file: NO GROUP REFERENCE !!!!"))); } - + HBufC* FilePath = HBufC::NewLC(KMaxFileName); // must be defined to correct maxs dir length TPtr FilePathPtr = FilePath->Des(); HBufC8* FilePath8 = HBufC8::NewLC(KMaxFileName); // must be defined to correct maxs dir length TPtr8 FilePathPtr8 = FilePath8->Des(); - + + _LIT8(KPacStoreSourceDir, "c:\\private\\101f8ec5\\PACGroup\\"); // in dir are dirs where from files are read FilePathPtr8.Zero(); + FilePathPtr8.Append(KPacStoreSourceDir); FilePathPtr8.Append(refPtr); FilePathPtr8.Append(KSeparator); FilePathPtr8.Append(bufPtr); - // Copy is the only function that takes TPtr8 type of parameter. FilePathPtr.Copy(FilePathPtr8); - { - TFileName aPrivateDatabasePathName; - - EapPluginTools::GetPrivatePathL( - aPrivateDatabasePathName); - - aPrivateDatabasePathName.Append(KPacStoreSourceDir); - aPrivateDatabasePathName.Append(FilePathPtr); - - FilePathPtr.Copy(aPrivateDatabasePathName); - } - EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, @@ -8812,7 +8595,7 @@ CleanupStack::PopAndDestroy(ref); CleanupStack::PopAndDestroy(buf); -} + } // --------------------------------------------------------- @@ -8820,7 +8603,8 @@ // --------------------------------------------------------- // void eap_am_type_tls_peap_symbian_c::ContinueInitializePacStore() -{ + + { EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::ContinueInitializePacStore()"))); @@ -8854,7 +8638,7 @@ 0, 1); -} + } //-------------------------------------------------- @@ -8967,8 +8751,6 @@ return EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); } -//-------------------------------------------------- - // This is commented in eap_am_fast_pac_store_services_c::cancel_PAC_store_operations(). EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::cancel_PAC_store_operations() { @@ -8994,7 +8776,9 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::initialize_PAC_store( + +EAP_FUNC_EXPORT eap_status_e +eap_am_type_tls_peap_symbian_c::initialize_PAC_store( const eap_fast_completion_operation_e aCompletionOperation, const eap_fast_initialize_pac_store_completion_e aCompletion ) { @@ -9035,7 +8819,7 @@ } } // asynch. call, return immediately - CreateDeviceSeedAsync(); + iPacStoreDb->CreateDeviceSeedAsynch(); } else { @@ -9061,121 +8845,125 @@ // eap_am_type_tls_peap_symbian_c::indicates_eap_fast_provisioning_starts // --------------------------------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::indicates_eap_fast_provisioning_starts( +EAP_FUNC_EXPORT +eap_status_e eap_am_type_tls_peap_symbian_c::indicates_eap_fast_provisioning_starts( const eap_fast_completion_operation_e provisioning_mode, const eap_fast_pac_type_e pac_type ) -{ + { eap_status_e status( eap_status_ok ); m_provisioning_mode = provisioning_mode; // save provis. mode - - TInt error(KErrNone); - - TEapExpandedType aEapType(*EapExpandedTypeFast.GetType()); - - m_notifier_data_to_user->iPassword.Zero(); - - if (iEapAuthNotifier == 0) - { - TRAP(error, iEapAuthNotifier = CEapAuthNotifier::NewL( *this )); - if (error) - { - return m_am_tools->convert_am_error_to_eapol_error(error); - } - } - else - { - TRAP(error, iEapAuthNotifier->Cancel()); - if (error) - { - return m_am_tools->convert_am_error_to_eapol_error(error); - } - } - + + TInt err = KErrNone; + if ( !iEapFastActiveWaitNote ) + { + TRAP( err, iEapFastActiveWaitNote = CEapFastActive::NewL( this ) ); + } + if ( !iEapFastActiveNotes ) + { + TRAP( err, iEapFastActiveNotes = CEapFastActive::NewL( this ) ); + } + if ( err != KErrNone ) + { + status = eap_status_allocation_error; + } + /** + * The note is started in a separate active object. + * When user cancels waiting note, + * SendErrorNotification( eap_status_user_cancel_authentication ) + * will be called in iEapFastActiveWaitNote->RunL(). + * Otherwise note is stopped using iEapFastActiveWaitNote.Start() method. + */ + TBool startedOk = ETrue; + if ( pac_type == eap_fast_pac_type_tunnel_pac - && provisioning_mode == eap_fast_completion_operation_server_authenticated_provisioning_mode - && status == eap_status_ok ) - { - TRAP(error, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastStartAuthProvWaitNote, m_notifier_data_to_user, aEapType)); - if (error) - { - return m_am_tools->convert_am_error_to_eapol_error(error); - } - } + && + provisioning_mode == + eap_fast_completion_operation_server_authenticated_provisioning_mode + && + status == eap_status_ok ) + { + EAP_TRACE_DEBUG_SYMBIAN( ( _L("eap_am_type_tls_peap_symbian_c:: \ + indicates_eap_fast_provisioning_starts Authenticated provisioning!"))); + startedOk = iEapFastActiveWaitNote->Start( + CEapFastActive::EEapFastActiveStartAuthProvWaitNote ); + } else if ( pac_type == eap_fast_pac_type_tunnel_pac - && provisioning_mode == eap_fast_completion_operation_server_unauthenticated_provisioning_mode_ADHP - && status == eap_status_ok ) - { - TRAP(error, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastStartUnauthProvWaitNote, m_notifier_data_to_user, aEapType)); - if (error) - { - return m_am_tools->convert_am_error_to_eapol_error(error); - } - } - - - + && + provisioning_mode == + eap_fast_completion_operation_server_unauthenticated_provisioning_mode_ADHP + && + status == eap_status_ok ) + { + EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c:: \ + indicates_eap_fast_provisioning_starts UnAuthenticated provisioning!"))); + startedOk = iEapFastActiveWaitNote->Start( + CEapFastActive::EEapFastActiveStartUnauthProvWaitNote ); + } + if ( startedOk == EFalse ) + { + status = eap_status_process_general_error; + } + if ( status != eap_status_ok ) + { + EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c:: \ + indicates_eap_fast_provisioning_starts ERROR: status=%d."), status ) ); + } return status; -} + } // --------------------------------------------------------------------------- // eap_am_type_tls_peap_symbian_c::indicates_eap_fast_provisioning_ends // --------------------------------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::indicates_eap_fast_provisioning_ends( +EAP_FUNC_EXPORT +eap_status_e eap_am_type_tls_peap_symbian_c::indicates_eap_fast_provisioning_ends( const bool provisioning_successfull, const eap_fast_completion_operation_e provisioning_mode, const eap_fast_pac_type_e pac_type ) -{ - EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::indicates_eap_fast_provisioning_ends()"))); + { + EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c:: \ + indicates_eap_fast_provisioning_ends()"))); EAP_UNREFERENCED_PARAMETER(provisioning_mode); - TInt error(KErrNone); - eap_status_e status( eap_status_ok ); - + if ( pac_type == eap_fast_pac_type_tunnel_pac ) - { - // stop wait note; - TEapExpandedType aEapType(*EapExpandedTypeFast.GetType()); - - m_notifier_data_to_user->iPassword.Zero(); - - if (iEapAuthNotifier == 0) - { - TRAP(error, iEapAuthNotifier = CEapAuthNotifier::NewL( *this )); - if (error) - { - return m_am_tools->convert_am_error_to_eapol_error(error); - } - } - else - { - TRAP(error, iEapAuthNotifier->Cancel()); - if (error) - { - return m_am_tools->convert_am_error_to_eapol_error(error); - } - } - - if( !provisioning_successfull ) - { - TRAP(error, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastShowProvNotSuccessNote, m_notifier_data_to_user, aEapType)); - if (error) - { - return m_am_tools->convert_am_error_to_eapol_error(error); - } - } - } // if ( pac_type == eap_fast_pac_type_tunnel_pac ) + { + // stop wait note; + if ( iEapFastActiveWaitNote ) + { + if ( iEapFastActiveWaitNote->IsActive() ) + { + iEapFastActiveWaitNote->Cancel(); + } + delete iEapFastActiveWaitNote; + iEapFastActiveWaitNote = NULL; + } + + if ( iEapFastActiveNotes ) + { + if( provisioning_successfull ) + { + // synch. call + iEapFastActiveNotes->Start( CEapFastActive:: + EEapFastActiveShowProvSuccessNote, ETrue ); + } + else + { + // synch. call + iEapFastActiveNotes->Start( CEapFastActive:: + EapFastActiveShowProvNotSuccessNote, ETrue ); + } + } + } // if ( pac_type == eap_fast_pac_type_tunnel_pac ) return status; -} + } #endif //#if defined(USE_FAST_EAP_TYPE) -//-------------------------------------------------- - #ifdef USE_PAC_STORE void eap_am_type_tls_peap_symbian_c::GetPacStoreDbDataL( @@ -9446,11 +9234,76 @@ //-------------------------------------------------- -#ifdef USE_FAST_EAP_TYPE +#if defined(USE_FAST_EAP_TYPE) + +eap_status_e eap_am_type_tls_peap_symbian_c::ShowNotifierItemAndGetResponse( + EEapFastNotifierUiItem aNotifierUiItem, TBool aSetActive ) +{ + EAP_TRACE_DEBUG_SYMBIAN( + (_L("eap_am_type_tls_peap_symbian_c::ShowNotifierItem aNotifierUiItem=%d, ActiveStatus=%d "), + aNotifierUiItem, IsActive())); + + if ( aSetActive && IsActive() ) + { + EAP_TRACE_DEBUG_SYMBIAN( + (_L("ShowNotifierItemAndGetResponse: Already active when tried to show Notifier"))); + + return eap_status_device_busy; + } + + eap_status_e status( eap_status_ok ); + + if( !m_is_notifier_connected ) + { + TInt error = m_notifier.Connect(); + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("eap_am_type_tls_peap_symbian_c::ShowNotifierItem - m_notifier.Connect() returned error=%d\n"), error)); + + if( error != KErrNone) + { + // Can not connect to notifier. + return m_am_tools->convert_am_error_to_eapol_error(error); + } + + m_is_notifier_connected = ETrue; // Got connectted to notifier. + } + + // Update the values needed for notifier. + m_notifier_data_to_user->iEapFastNotifierUiItem = aNotifierUiItem; + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("m_notifier_data_pckg_to_user"), + m_notifier_data_pckg_to_user->Ptr(), + m_notifier_data_pckg_to_user->Size())); + + m_notifier_data_from_user->iEapFastNotifierBuffer.Delete(0,KMaxEapFastNotifierBufLength); + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("eap_am_type_tls_peap_symbian_c::ShowNotifierItem - StartNotifierAndGetResponse"))); + + m_notifier.StartNotifierAndGetResponse( + iStatus, + KEapFastNotifierUid, + *m_notifier_data_pckg_to_user, + *m_notifier_data_pckg_from_user); + + if ( aSetActive ) + { + m_notifier_complete = ETrue; + SetActive(); + } + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("eap_am_type_tls_peap_symbian_c::ShowNotifierItem - End"))); + + return status; +} + //-------------------------------------------------- eap_status_e eap_am_type_tls_peap_symbian_c::RemoveIAPReference() -{ + { EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::RemoveIAPReference - Start"))); m_eap_fast_completion_status = eap_status_ok; @@ -9514,12 +9367,10 @@ (_L("eap_am_type_tls_peap_symbian_c::RemoveIAPReference - End"))); return m_eap_fast_completion_status; -} - -//-------------------------------------------------- + } eap_status_e eap_am_type_tls_peap_symbian_c::ImportFilesL() -{ + { EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::ImportFilesL - Start"))); @@ -9614,39 +9465,25 @@ TBool FileFound(EFalse); PathPtr8.Zero(); + PathPtr8.Append(KPacStoreSourceDir); PathPtr8.Append(group_referencePtr8); PathPtr8.Append(KSeparator); - EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_tls_peap_symbian_c::ImportFilesL: Path8"), PathPtr8.Ptr(), PathPtr8.Size())); - PathPtr.Zero(); - // Copy is the only function that takes TPtr8 type of parameter. PathPtr.Copy(PathPtr8); - { - TFileName aPrivateDatabasePathName; - - EapPluginTools::GetPrivatePathL( - aPrivateDatabasePathName); - - aPrivateDatabasePathName.Append(KPacStoreSourceDir); - aPrivateDatabasePathName.Append(PathPtr); - - PathPtr.Copy(aPrivateDatabasePathName); - } - EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_tls_peap_symbian_c::ImportFilesL: Path"), PathPtr.Ptr(), PathPtr.Size())); - + EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::ImportFilesL: Check directory availability"))); @@ -9665,7 +9502,7 @@ directoryEmpty = false; - while( fileCounter < files->Count()) + while( fileCounter < files->Count() || (!FileFound)) { if (!((*files)[fileCounter].IsDir())) { @@ -9708,6 +9545,8 @@ KHandleCompletePacstoreOkTimerID, &m_eap_fast_completion_status, 1); + if (readData != NULL) + CleanupStack::PopAndDestroy(readData); CleanupStack::PopAndDestroy(5); // Path, Path8, filename, buf2, group_reference8 EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); @@ -9717,44 +9556,23 @@ else if(directoryEmpty == false && directoryExists == true && FileFound != EFalse) { PathPtr8.Zero(); + PathPtr8.Append(KPacStoreSourceDir); PathPtr8.Append(group_referencePtr8); PathPtr8.Append(KSeparator); PathPtr8.Append(filenamePtr8); - EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("eap_am_type_tls_peap_symbian_c::ImportFilesL: Path8"), PathPtr8.Ptr(), PathPtr8.Size())); - PathPtr.Zero(); PathPtr.Copy(PathPtr8); - - { - TFileName aPrivateDatabasePathName; - - EapPluginTools::GetPrivatePathL( - aPrivateDatabasePathName); - - aPrivateDatabasePathName.Append(KPacStoreSourceDir); - aPrivateDatabasePathName.Append(PathPtr); - - PathPtr.Copy(aPrivateDatabasePathName); - } - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::ImportFilesL: PathPtr"), - PathPtr.Ptr(), - PathPtr.Size())); - EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::ImportFilesL: Read file"))); RFile file; - if(file.Open(aFs, PathPtr, EFileRead)==KErrNone) { readData= HBufC8::NewLC(filesize); @@ -9871,7 +9689,7 @@ this, KHandleCompletePacstoreNokTimerID, &m_eap_fast_completion_status, - 0); + 1); } else { @@ -9879,19 +9697,18 @@ this, KHandleCompletePacstoreOkTimerID, &m_eap_fast_completion_status, - 0); + 1); } } EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::ImportFilesL - End"))); return m_eap_fast_completion_status; -} + } // ---------------------------------------------------------------------------- - eap_status_e eap_am_type_tls_peap_symbian_c::PasswordQueryL() -{ + { EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::PasswordQueryL"))); @@ -9942,10 +9759,8 @@ { CleanupStack::PopAndDestroy(m_pacStorePWBuf8); - TEapExpandedType aEapType(*EapExpandedTypeFast.GetType()); - - m_notifier_data_to_user->iPassword.Zero(); - + m_eap_fast_completion_status = ShowNotifierItemAndGetResponse( + EEapFastNotifierWrongPacStorePwNote, ETrue ); return m_eap_fast_completion_status; } @@ -9974,33 +9789,8 @@ m_verificationStatus)); pacStorePWPtr8.Zero(); if (m_verificationStatus == EFalse) - { - TEapExpandedType aEapType(*EapExpandedTypeFast.GetType()); - if (iEapAuthNotifier == 0) - { - TRAPD(err3, iEapAuthNotifier = CEapAuthNotifier::NewL( *this )); - if (err3) - { - return eap_status_process_general_error; - } - } - else - { - TRAPD(err4, iEapAuthNotifier->Cancel()); - if (err4) - { - return eap_status_process_general_error; - } - } - - TRAPD(err5, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastPacStorePwQueryDialog, m_notifier_data_to_user, aEapType)); - if (err5) - { - return eap_status_process_general_error; - } - - - } + m_eap_fast_completion_status = ShowNotifierItemAndGetResponse( + EEapFastNotifierPacStorePwQuery, ETrue ); else m_eap_fast_completion_status = m_partner->set_timer( this, @@ -10022,44 +9812,19 @@ } else // temporary before masterkey creation is done dynamically !!! { - TEapExpandedType aEapType(*EapExpandedTypeFast.GetType()); - if (iEapAuthNotifier == 0) - { - TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this )); - if (err) - { - return eap_status_process_general_error; - } - } - else - { - TRAPD(err1, iEapAuthNotifier->Cancel()); - if (err1) - { - return eap_status_process_general_error; - } - } - - TRAPD(err2, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypeFastCreateMasterkeyQueryDialog, m_notifier_data_to_user, aEapType)); - if (err2) - { - return eap_status_process_general_error; - } - - - - } + m_eap_fast_completion_status = ShowNotifierItemAndGetResponse( + EEapFastNotifierCreateMasterkeyQuery, ETrue ); + + } } CleanupStack::PopAndDestroy(m_pacStorePWBuf8); return m_eap_fast_completion_status; -} - -//-------------------------------------------------- + } eap_status_e eap_am_type_tls_peap_symbian_c::CompletePasswordQueryL() -{ + { EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::CompletePasswordQueryL"))); @@ -10132,12 +9897,10 @@ m_both_completed++; return m_eap_fast_completion_status; -} - -//-------------------------------------------------- + } eap_status_e eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL(eap_status_e status) -{ + { EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL"))); if (status == eap_status_ok && (m_new_references_and_data_blocks.get_object_count()>0)) @@ -10157,8 +9920,7 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_references_and_data_blocks); @@ -10176,8 +9938,7 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_references_and_data_blocks); @@ -10192,8 +9953,7 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_references_and_data_blocks); @@ -10210,8 +9970,7 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_references_and_data_blocks); @@ -10238,8 +9997,7 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_references_and_data_blocks); @@ -10257,8 +10015,7 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_references_and_data_blocks); @@ -10273,8 +10030,7 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_references_and_data_blocks); @@ -10291,8 +10047,7 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_references_and_data_blocks); @@ -10320,8 +10075,7 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_references_and_data_blocks); @@ -10339,8 +10093,7 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_references_and_data_blocks); @@ -10355,8 +10108,7 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_references_and_data_blocks); @@ -10373,8 +10125,7 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_references_and_data_blocks); @@ -10409,7 +10160,7 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL Reset Done"))); - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_ready_references_and_data_blocks); @@ -10421,8 +10172,7 @@ m_eap_fast_completion_status = eap_status_user_cancel_authentication; m_new_references_and_data_blocks.reset(); m_ready_references_and_data_blocks.reset(); - - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_references_and_data_blocks); @@ -10435,8 +10185,7 @@ m_eap_fast_completion_status = eap_status_user_cancel_authentication; m_new_references_and_data_blocks.reset(); m_ready_references_and_data_blocks.reset(); - - status = m_tls_application->complete_read_PAC_store_data( + eap_status_e status = m_tls_application->complete_read_PAC_store_data( m_eap_fast_completion_status, m_eap_fast_pac_store_pending_operation, &m_references_and_data_blocks); @@ -10458,7 +10207,7 @@ //-------------------------------------------------- eap_status_e eap_am_type_tls_peap_symbian_c::CompleteFilePasswordQueryL() -{ + { eap_fast_pac_store_data_c * const new_data = new eap_fast_pac_store_data_c(m_am_tools); eap_automatic_variable_c automatic_new_data( @@ -10520,48 +10269,122 @@ m_both_completed++; return m_eap_fast_completion_status; -} + } + +// --------------------------------------------------------- +// eap_am_type_tls_peap_symbian_c::CompleteNotifier +// --------------------------------------------------------- +// +eap_status_e eap_am_type_tls_peap_symbian_c::CompleteNotifierL() + { + eap_status_e status( eap_status_ok ); + switch ( m_state ) + { + case EPasswordCancel: + case EPasswordQuery: + case EWrongPassword: + case EFilePasswordQuery: + case EMasterkeyQuery: + { + EAP_TRACE_DEBUG_SYMBIAN( + (_L("m_notifier_data_pckg_from_user"), + m_notifier_data_pckg_from_user->Ptr(), + m_notifier_data_pckg_from_user->Size())); + if ( iStatus.Int() == KErrCancel ) + { + EAP_TRACE_DEBUG_SYMBIAN( + (_L("eap_am_type_tls_peap_symbian_c::CompleteNotifierL - User cancelled the notifier item"))); + m_userAction = EEapFastNotifierUserActionCancel; + } + else if( iStatus.Int() != KErrNone ) + { + EAP_TRACE_DEBUG_SYMBIAN( + (_L("eap_am_type_tls_peap_symbian_c::CompleteNotifierL - ERROR: Notifier error=%d"), + iStatus.Int())); + return m_am_tools->convert_am_error_to_eapol_error(iStatus.Int()); + } + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CompleteNotifierL - Notifier return UiItem=%d, UserAction=%d"), + m_notifier_data_from_user->iEapFastNotifierUiItem, + m_notifier_data_from_user->iEapFastNotifierUserAction)); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( + ("CompleteNotifierL:UserInput:", + m_notifier_data_from_user->iEapFastNotifierBuffer.Ptr(), + m_notifier_data_from_user->iEapFastNotifierBuffer.Size())); + + if ( m_notifier_data_from_user->iEapFastNotifierBuffer.Size() > 0 ) + { + HBufC8* notifier_data8 = HBufC8::NewLC(m_notifier_data_from_user->iEapFastNotifierBuffer.Size()); + TPtr8 notifier_dataPtr8 = notifier_data8->Des(); + + notifier_dataPtr8.Copy(m_notifier_data_from_user->iEapFastNotifierBuffer); // Unicode -> ascii. + EAP_TRACE_DEBUG_SYMBIAN( + (_L("eap_am_type_tls_peap_symbian_c::CompleteNotifierL ShowNotifierItem - Data copy done"))); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( + ("eap_am_type_tls_peap_symbian_c::CompleteNotifierL ShowNotifierItem:PW from UI (8bits)", + notifier_dataPtr8.Ptr(), + notifier_dataPtr8.Size())); + + status = m_userResponse.set_copy_of_buffer( + notifier_dataPtr8.Ptr(), + notifier_dataPtr8.Size()); + + CleanupStack::PopAndDestroy( notifier_data8 ); + } + break; + } + default: + { + EAP_TRACE_DEBUG_SYMBIAN( + ( _L( "eap_am_type_tls_peap_symbian_c::CompleteNotifierL() m_state = %d not supported." ), + m_state ) ); + } + } + return status; + } //-------------------------------------------------- void eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL(const TDesC16& aFromUnicode, TDes8& aToAscii) -{ - EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL:From TEXT", - aFromUnicode.Ptr(), - aFromUnicode.Size())); - - if(aFromUnicode.Length() <= 0) - { + { + EAP_TRACE_DATA_DEBUG_SYMBIAN( + ("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL:From TEXT", + aFromUnicode.Ptr(), + aFromUnicode.Size())); + + if(aFromUnicode.Length() <= 0) + { + EAP_TRACE_DEBUG_SYMBIAN( + (_L("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL: Return: NOTHING TO CONVERT"))); + + return; + } + EAP_TRACE_DEBUG_SYMBIAN( - (_L("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL: Return: NOTHING TO CONVERT"))); - - return; - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL, aFromUnicode.Length=%d, aFromUnicode.Size=%d"), - aFromUnicode.Length(), aFromUnicode.Size())); - - // Convert from Unicode to ascii. - HBufC8* aFromUnicodeBuf8 = HBufC8::NewLC(aFromUnicode.Length()); // Half times size of source (or length) is enough here. - TPtr8 aFromUnicodePtr8 = aFromUnicodeBuf8->Des(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL, aFromUnicodePtr8.Length=%d, aFromUnicodePtr8.Size=%d, aFromUnicodePtr8.MaxLength=%d, aFromUnicodePtr8.MaxSize=%d"), - aFromUnicodePtr8.Length(), aFromUnicodePtr8.Size(), aFromUnicodePtr8.MaxLength(), aFromUnicodePtr8.MaxSize())); - - aFromUnicodePtr8.Copy(aFromUnicode); // Unicode -> ascii. - - aToAscii = aFromUnicodePtr8; - - CleanupStack::PopAndDestroy(aFromUnicodeBuf8); // Delete aFromUnicodeBuf8. - - EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL:To ASCII", - aToAscii.Ptr(), - aToAscii.Size())); -} + (_L("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL, aFromUnicode.Length=%d, aFromUnicode.Size=%d"), + aFromUnicode.Length(), aFromUnicode.Size())); + + // Convert from Unicode to ascii. + HBufC8* aFromUnicodeBuf8 = HBufC8::NewLC(aFromUnicode.Length()); // Half times size of source (or length) is enough here. + TPtr8 aFromUnicodePtr8 = aFromUnicodeBuf8->Des(); + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL, aFromUnicodePtr8.Length=%d, aFromUnicodePtr8.Size=%d, aFromUnicodePtr8.MaxLength=%d, aFromUnicodePtr8.MaxSize=%d"), + aFromUnicodePtr8.Length(), aFromUnicodePtr8.Size(), aFromUnicodePtr8.MaxLength(), aFromUnicodePtr8.MaxSize())); + + aFromUnicodePtr8.Copy(aFromUnicode); // Unicode -> ascii. + + aToAscii = aFromUnicodePtr8; + + CleanupStack::PopAndDestroy(aFromUnicodeBuf8); // Delete aFromUnicodeBuf8. + + EAP_TRACE_DATA_DEBUG_SYMBIAN( + ("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL:To ASCII", + aToAscii.Ptr(), + aToAscii.Size())); + } // --------------------------------------------------------- @@ -10569,7 +10392,7 @@ // --------------------------------------------------------- // void eap_am_type_tls_peap_symbian_c::CheckPasswordTimeValidityL() -{ + { /* Check validity of password against timelimit */ EAP_TRACE_DEBUG(m_am_tools, @@ -10582,22 +10405,14 @@ // get max session time HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength ); TPtr sqlStatement = buf->Des(); - - _LIT( KSqlQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d" ); - + _LIT( KSqlQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d" ); sqlStatement.Format( KSqlQuery, &cf_str_EAP_FAST_max_session_validity_time_literal, &KFastGeneralSettingsDBTableName, - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); - + &KServiceType, m_index_type, + &KServiceIndex, m_index, + &KTunnelingType, m_tunneling_vendor_type ); TRAPD( err, maxSessionTime = ReadIntDbValueL( m_database, cf_str_EAP_FAST_max_session_validity_time_literal, @@ -10771,7 +10586,7 @@ } } -} // eap_am_type_tls_peap_symbian_c::CheckPasswordTimeValidityL() + } // eap_am_type_tls_peap_symbian_c::CheckPasswordTimeValidityL() // --------------------------------------------------------- @@ -10784,7 +10599,7 @@ const TDesC& aTableName, const TDesC& aColumnName, const TDesC& aColumnDef ) -{ + { EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( EAPL( "eap_am_type_tls_peap_symbian_c::AlterTableL() IN\n" ) ) ); @@ -10860,7 +10675,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( EAPL( "eap_am_type_tls_peap_symbian_c::AlterTableL() OUT\n" ) ) ); -} // eap_am_type_tls_peap_symbian_c::AlterTableL() + } // eap_am_type_tls_peap_symbian_c::AlterTableL() // --------------------------------------------------------- @@ -10868,7 +10683,7 @@ // --------------------------------------------------------- // void eap_am_type_tls_peap_symbian_c::FixOldTablesForPwdIdentityTimeL() -{ + { EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( EAPL( "eap_am_type_tls_peap_symbian_c::FixOldTablesForPwdIdentityTimeL() IN" ) ) ); @@ -10901,7 +10716,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( EAPL( "eap_am_type_tls_peap_symbian_c::FixOldTablesForPwdIdentityTimeL() OUT" ) ) ); -} // eap_am_type_tls_peap_symbian_c::FixOldTablesForPwdIdentityTimeL() + } // eap_am_type_tls_peap_symbian_c::FixOldTablesForPwdIdentityTimeL() // --------------------------------------------------------- @@ -10909,7 +10724,7 @@ // --------------------------------------------------------- // void eap_am_type_tls_peap_symbian_c::FixOldTableForPacStoreInitL() -{ + { EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( EAPL( "eap_am_type_tls_peap_symbian_c::FixOldTableForPacStoreInitL() IN\n" ) ) ); @@ -10937,7 +10752,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( EAPL( "eap_am_type_tls_peap_symbian_c::FixOldTableForPacStoreInitL() OUT\n" ) ) ); -} // eap_am_type_tls_peap_symbian_c::FixOldTableForPacStoreInitL() + } // eap_am_type_tls_peap_symbian_c::FixOldTableForPacStoreInitL() // --------------------------------------------------------- @@ -10948,7 +10763,7 @@ RDbNamedDatabase& aDb, const TDesC& aColumnName, const TDesC& aSqlStatement ) -{ + { EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( EAPL( "eap_am_type_tls_peap_symbian_c::ReadIntDbValueL()\n" ) ) ); TPtrC columnName; @@ -10977,7 +10792,7 @@ CleanupStack::PopAndDestroy( &view ); // Close view. return retVal; -} // eap_am_type_tls_peap_symbian_c::ReadIntDbValueL + } // eap_am_type_tls_peap_symbian_c::ReadIntDbValueL // --------------------------------------------------------- @@ -10985,7 +10800,7 @@ // --------------------------------------------------------- // void eap_am_type_tls_peap_symbian_c::UpdatePasswordTimeL() -{ + { /* update last password time */ TPtrC lastFullPasswordTimeString; @@ -11036,7 +10851,7 @@ EAPL("UpdatePasswordTimeL - evaluate view\n"))); User::LeaveIfError(view.EvaluateAll()); - // Get the first (and only) row. + // Get the first (and only) row for updation. view.FirstL(); view.UpdateL(); @@ -11071,12 +10886,11 @@ /* update end */ -} // eap_am_type_tls_peap_symbian_c::UpdatePasswordTimeL() - -//-------------------------------------------------- + } // eap_am_type_tls_peap_symbian_c::UpdatePasswordTimeL() + eap_status_e eap_am_type_tls_peap_symbian_c::CreateMasterkeyL() -{ + { HBufC8* password = HBufC8::NewLC(m_userResponse.get_data_length()); TPtr8 passwordPtr = password->Des(); m_PAC_store_password.set_copy_of_buffer(&m_userResponse); @@ -11084,8 +10898,7 @@ m_eap_fast_completion_status = m_am_tools->convert_am_error_to_eapol_error(iPacStoreDb->CreateAndSaveMasterKeyL(passwordPtr)); CleanupStack::PopAndDestroy(password); return m_eap_fast_completion_status; -} - + } #endif //#if defined(USE_FAST_EAP_TYPE) @@ -11096,9 +10909,10 @@ // eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid() // ------------------------------------------------------------------------ // -EAP_FUNC_EXPORT bool eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid()" ))); +EAP_FUNC_EXPORT +bool eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid() + { + DEBUG( "eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid()" ); TBool isValid = EFalse; TInt err = KErrNone; @@ -11107,7 +10921,8 @@ TRAP( err, isValid = IsTtlsPapSessionValidL() ); if ( err != KErrNone ) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid(): Leave, err==%d."), err )); + DEBUG1( "eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid() ERROR: \ + Leave, err==%d.", err ); retVal = false; } else @@ -11115,140 +10930,48 @@ retVal = ( isValid ) ? true : false; } return retVal; -} + } // ------------------------------------------------------------------------ // eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password() // ------------------------------------------------------------------------ // -EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password( +EAP_FUNC_EXPORT eap_status_e +eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password( const eap_variable_data_c * const aInSrvChallengeUtf8 ) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password()" ))); - - eap_status_e status( eap_status_pending_request ); - TEapExpandedType aEapType(*EapExpandedTypeTtlsPap.GetType()); - - m_notifier_data_to_user->iUsername.Zero(); - m_notifier_data_to_user->iPassword.Zero(); - m_notifier_data_to_user->iUidata.Zero(); - - if ((aInSrvChallengeUtf8 != NULL) && (aInSrvChallengeUtf8->get_data_length() != 0)) - { - const TPtrC8 utf8( - aInSrvChallengeUtf8->get_data(), - aInSrvChallengeUtf8->get_data_length()*2); // Length in bytes - - CnvUtfConverter::ConvertToUnicodeFromUtf8(m_notifier_data_to_user->iUidata, utf8); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password(): iUidata"), - m_notifier_data_to_user->iUidata.Ptr(), - m_notifier_data_to_user->iUidata.Size())); - - m_state = EPapChallenge; - TEapExpandedType aEapType(*EapExpandedTypeTtlsPap.GetType()); - - if (iEapAuthNotifier == 0) - { - TRAPD(err, iEapAuthNotifier = CEapAuthNotifier::NewL( *this )); - if (err) - { - return eap_status_process_general_error; - } - } - - TRAPD(err1, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypePapChallengeDialog, m_notifier_data_to_user, aEapType)); - if (err1) - { - return eap_status_process_general_error; - } - } - else - { - m_state = EPapUserNameAndPassword; - - TTtlsPapDbInfo aInDbInfo; - TRAPD(err2, ReadTtlsPapDbL(aInDbInfo)); - if (err2) - { - return eap_status_process_general_error; - } - - m_notifier_data_to_user->iPasswordPromptEnabled = aInDbInfo.iUsrPwdInfo.iPasswordPromptEnabled; - - if (m_notifier_data_to_user->iPasswordPromptEnabled - || aInDbInfo.iUsrPwdInfo.iUserName.Size() == 0 - || aInDbInfo.iUsrPwdInfo.iPassword.Size() == 0) - { - if (aInDbInfo.iUsrPwdInfo.iUserName.Size() == 0) - { - m_notifier_data_to_user->iUsername.Zero(); - } - else - { - m_notifier_data_to_user->iUsername = aInDbInfo.iUsrPwdInfo.iUserName; - } - - m_notifier_data_to_user->iPassword.Zero(); - - TRAPD(err3,SetTtlsPapColumnToNullL( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal )); - if (err3) - { - return eap_status_process_general_error; - } - - if (iEapAuthNotifier == 0) - { - TRAPD(err4, iEapAuthNotifier = CEapAuthNotifier::NewL( *this )); - if (err4) - { - return eap_status_process_general_error; - } - } - else - { - TRAPD(err5,iEapAuthNotifier->Cancel()); - if (err5) - { - return eap_status_process_general_error; - } - } - - TRAPD(err6, iEapAuthNotifier->StartL(CEapAuthNotifier::EEapNotifierTypePapUsernamePasswordDialog, m_notifier_data_to_user, aEapType)); - if (err6) - { - return eap_status_process_general_error; - } - } - else - { - m_notifier_data_to_user->iUsername = aInDbInfo.iUsrPwdInfo.iUserName; - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password(): iUserName"), - m_notifier_data_to_user->iUsername.Ptr(), - m_notifier_data_to_user->iUsername.Size())); - - m_notifier_data_to_user->iPassword = aInDbInfo.iUsrPwdInfo.iPassword; - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password(): iPassword"), - m_notifier_data_to_user->iPassword.Ptr(), - m_notifier_data_to_user->iPassword.Size())); - - DlgComplete(KErrNone); - } - } - + { + DEBUG( "eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password()" ); + + eap_status_e status( eap_status_pending_request ); + + if ( !iEapTtlsPapActive ) + { + TRAPD( err, iEapTtlsPapActive = CEapTtlsPapActive::NewL( + this, m_am_tools ) ); + if ( err != KErrNone ) + { + DEBUG1( "eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password() \ + ERROR: CEapTtlsPapActive::NewL(), err=%d.", err ); + return ConvertAmErrorToEapolError( err ); + } + } + if ( aInSrvChallengeUtf8 != NULL ) + { + iEapTtlsPapActive->UpdateSrvChallenge( *aInSrvChallengeUtf8 ); + } + TBool startedOk = iEapTtlsPapActive->Start( + CEapTtlsPapActive::EEapTtlsPapActiveQueryUserNameAndPassword ); + if ( !startedOk ) + { + status = eap_status_process_general_error; + } + if ( status != eap_status_pending_request ) + { + DEBUG( "eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password() \ + ERROR: status != eap_status_pending_request" ); + } return status; -} + } // ================= TTLS-PAP public not exported ======================= @@ -11256,13 +10979,14 @@ // eap_am_type_tls_peap_symbian_c::verify_ttls_pap_username_and_password() // ------------------------------------------------------------------------ // -eap_status_e eap_am_type_tls_peap_symbian_c::verify_ttls_pap_username_and_password( +eap_status_e +eap_am_type_tls_peap_symbian_c::verify_ttls_pap_username_and_password( const eap_variable_data_c * const /*aUserName*/, const eap_variable_data_c * const /*aUserPassword*/ ) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::verify_ttls_pap_username_and_password()" ))); + { + DEBUG( "eap_am_type_tls_peap_symbian_c::verify_ttls_pap_username_and_password()" ); return eap_status_not_supported; -} + } // ================= TTLS-PAP public new ======================= @@ -11270,12 +10994,13 @@ // eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword() // ------------------------------------------------------------------------ // -eap_status_e eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword( +eap_status_e +eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword( eap_status_e aStatus, const TDesC8& aUserNameUtf8, const TDesC8& aPasswordUtf8 ) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword()" ))); + { + DEBUG( "eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword()" ); eap_status_e retStatus = aStatus; eap_status_e tmpStatus = eap_status_ok; @@ -11297,14 +11022,15 @@ } if ( m_tls_am_partner == NULL ) { - EAP_TRACE_DEBUG_SYMBIAN((_L( "ERROR: eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword(): m_tls_am_partner is NULL." ))); + DEBUG( "eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword() \ + ERROR: m_tls_am_partner is NULL." ); return eap_status_process_general_error; } retStatus = m_tls_am_partner-> complete_query_ttls_pap_username_and_password( &userNameUtf8, &passwordUtf8, retStatus ); return retStatus; -} // eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword( + } // eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword( // ------------------------------------------------------------------------ @@ -11313,14 +11039,14 @@ // eap_status_e eap_am_type_tls_peap_symbian_c::ConvertAmErrorToEapolError( TInt aErr ) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::ConvertAmErrorToEapolError()" ))); + { + DEBUG( "eap_am_type_tls_peap_symbian_c::ConvertAmErrorToEapolError()" ); if ( m_am_tools ) { return m_am_tools->convert_am_error_to_eapol_error( aErr ); } return eap_status_process_general_error; -} + } // ------------------------------------------------------------------------ @@ -11334,8 +11060,8 @@ //| EAP_TLS_PEAP_ttls_pap_last_full_authentication_time | BIGINT | KTTLSPAPLastFullAuthTime |// void eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL( TTtlsPapDbInfo& aOutDbInfo ) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL()" ))); + { + DEBUG( "eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL()" ); HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength ); TPtr sqlStatement = buf->Des(); @@ -11372,35 +11098,12 @@ // columns reading aOutDbInfo.iUsrPwdInfo.iPasswordPromptEnabled = view.ColUint( colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ) ); - - { - TPtrC username = view.ColDes( - colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_username_literal ) ); - - aOutDbInfo.iUsrPwdInfo.iUserName.Copy(username); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL(): iUserName"), - aOutDbInfo.iUsrPwdInfo.iUserName.Ptr(), - aOutDbInfo.iUsrPwdInfo.iUserName.Size())); - } - - { - TPtrC password = view.ColDes( - colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ) ); - - aOutDbInfo.iUsrPwdInfo.iPassword.Copy(password); - - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL(): iPassword"), - aOutDbInfo.iUsrPwdInfo.iPassword.Ptr(), - aOutDbInfo.iUsrPwdInfo.iPassword.Size())); - } + + aOutDbInfo.iUsrPwdInfo.iUserName = view.ColDes( + colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_username_literal ) ); + + aOutDbInfo.iUsrPwdInfo.iPassword = view.ColDes( + colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ) ); aOutDbInfo.iMaxSessionTime = view.ColInt64( colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal ) ); @@ -11413,7 +11116,7 @@ CleanupStack::PopAndDestroy( &view ); // Close view. CleanupStack::PopAndDestroy( buf ); // Delete buf. -} // eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL() + } // eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL() // ------------------------------------------------------------------------ @@ -11427,8 +11130,8 @@ //| EAP_TLS_PEAP_ttls_pap_last_full_authentication_time | BIGINT | KTTLSPAPLastFullAuthTime |// void eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL( const TTtlsPapDbInfo& aInDbInfo ) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL()" ))); + { + DEBUG( "eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL()" ); HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength ); @@ -11436,24 +11139,17 @@ // Query all the relevant parameters _LIT( KSQLQuery, - "SELECT %S, %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d" ); - - sqlStatement.Format( - KSQLQuery, + "SELECT %S, %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d" ); + sqlStatement.Format( KSQLQuery, &cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal, // select´ &cf_str_EAP_TLS_PEAP_ttls_pap_username_literal, // select &cf_str_EAP_TLS_PEAP_ttls_pap_password_literal, // select &cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal, // select &KTTLSPAPLastFullAuthTime, // select &KTtlsDatabaseTableName, // from - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + &KServiceType, m_index_type, // where %S=%d + &KServiceIndex, m_index, // where %S=%d + &KTunnelingType, m_tunneling_vendor_type ); // where %S=%d RDbView view; // Evaluate view @@ -11475,24 +11171,10 @@ cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ), aInDbInfo.iUsrPwdInfo.iPasswordPromptEnabled ); - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL( "eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL(): iUserName" ), - aInDbInfo.iUsrPwdInfo.iUserName.Ptr(), - aInDbInfo.iUsrPwdInfo.iUserName.Size() ) ); - view.SetColL( colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_username_literal ), aInDbInfo.iUsrPwdInfo.iUserName ); - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL( "eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL(): iPassword" ), - aInDbInfo.iUsrPwdInfo.iPassword.Ptr(), - aInDbInfo.iUsrPwdInfo.iPassword.Size() ) ); - view.SetColL( colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ), aInDbInfo.iUsrPwdInfo.iPassword ); @@ -11513,7 +11195,7 @@ CleanupStack::PopAndDestroy( &view ); // Close view. CleanupStack::PopAndDestroy( buf ); // Delete buf. -} // eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL() + } // eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL() // ------------------------------------------------------------------------ @@ -11521,28 +11203,21 @@ // ------------------------------------------------------------------------ // void eap_am_type_tls_peap_symbian_c::SetTtlsPapColumnToNullL( const TDesC& aColName ) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::SetColumnNullL()" ))); + { + DEBUG( "eap_am_type_tls_peap_symbian_c::SetColumnNullL()" ); HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength ); TPtr sqlStatement = buf->Des(); // Query all the relevant parameters _LIT( KSQLQuery, - "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d" ); - - sqlStatement.Format( - KSQLQuery, + "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d" ); + sqlStatement.Format( KSQLQuery, &aColName, // select´ &KTtlsDatabaseTableName, // from - &KServiceType, - m_index_type, - &KServiceIndex, - m_index, - &KTunnelingTypeVendorId, - m_tunneling_type.get_vendor_id(), - &KTunnelingType, - m_tunneling_type.get_vendor_type()); + &KServiceType, m_index_type, // where %S=%d + &KServiceIndex, m_index, // where %S=%d + &KTunnelingType, m_tunneling_vendor_type ); // where %S=%d RDbView view; // Evaluate view @@ -11570,7 +11245,7 @@ CleanupStack::PopAndDestroy( &view ); // Close view. CleanupStack::PopAndDestroy( buf ); // Delete buf. -} // eap_am_type_tls_peap_symbian_c::SetTtlsPapColumnToNullL() + } // eap_am_type_tls_peap_symbian_c::SetTtlsPapColumnToNullL() // ================= TTLS-PAP private ======================= @@ -11580,8 +11255,8 @@ // ------------------------------------------------------------------------ // TBool eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL()" ))); + { + DEBUG( "eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL()" ); TTtlsPapDbInfo dbInfo; TInt err = KErrNone; @@ -11591,7 +11266,8 @@ if ( err != KErrNone ) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL(): Leave happened, err=%d."), err )); + DEBUG1( "eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL() ERROR: \ + Leave happened, err=%d.", err ); retValue = EFalse; } else @@ -11602,7 +11278,8 @@ // one read from configuration file. if( dbInfo.iMaxSessionTime == 0 ) { - EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL() Using max TTLS PAP session validity time from config file." ))); + DEBUG( "eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL() \ + Using max TTLS PAP session validity time from config file." ); // use value from config file dbInfo.iMaxSessionTime = iEapTtlsPapMaxSessionConfigTime; @@ -11613,7 +11290,7 @@ } } return retValue; -} // eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL() + } // eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL() // ------------------------------------------------------------------------ @@ -11623,8 +11300,8 @@ TBool eap_am_type_tls_peap_symbian_c::CheckTtlsPapSessionValidity( const TInt64& aInMaxSessionTime, const TInt64& aInLastFullAuthTime ) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::CheckTtlsPapSessionValidity()" ))); + { + DEBUG( "eap_am_type_tls_peap_symbian_c::CheckTtlsPapSessionValidity()" ); // Get the current time. TTime currentTime; @@ -11694,93 +11371,7 @@ return EFalse; } -} // eap_am_type_tls_peap_symbian_c::CheckTtlsPapSessionValidity - -//-------------------------------------------------- -#if defined(USE_FAST_EAP_TYPE) - -TInt eap_am_type_tls_peap_symbian_c::CreateMMETelConnectionL() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Creating MMETel connection.\n"))); - - TInt errorCode = KErrNone; - - // MMETel need to be connected only once. - if( !iMMETELConnectionStatus ) - { - RTelServer::TPhoneInfo phoneInfo; - TInt phoneCount = 0; - - // Connect to ETel server - User::LeaveIfError( iServer.Connect() ); - - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Connected to ETel server.\n"))); - - // This function loads an ETel TSY module, mmtsy. - errorCode = iServer.LoadPhoneModule( KMmTsyModuleName ); - - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Loaded phone module.\n"))); - - if ( errorCode != KErrNone && errorCode != KErrAlreadyExists ) - { - User::Leave( errorCode ); - } - - iServer.SetExtendedErrorGranularity( RTelServer::EErrorExtended ); - - // This function retrieves the total number of phones supported by all - // the currently loaded ETel (TSY) modules. - User::LeaveIfError( iServer.EnumeratePhones( phoneCount ) ); - - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Number of phones supported by the loaded ETel = %d.\n"), phoneCount)); - - // This function retrieves information associated with the specified phone - while ( ( phoneCount-- ) && ( phoneInfo.iName != KMmTsyPhoneName ) ) - { - User::LeaveIfError( iServer.GetPhoneInfo( phoneCount, phoneInfo ) ); - - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Got phone info.\n"))); - } - - // This function opens a phone subsession by name. ("DefaultPhone"). - User::LeaveIfError( iPhone.Open( iServer, phoneInfo.iName ) ); - - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Opened phone subsession.\n"))); - - // MMETel connected and the phone module loaded fine. - iMMETELConnectionStatus = ETrue; - } - else - { - // MMETel already connected. - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("MMETel connected once already.\n"))); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - - return errorCode; -} - -//-------------------------------------------------- - -void eap_am_type_tls_peap_symbian_c::DisconnectMMETel() -{ - if( iMMETELConnectionStatus ) - { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Closing RMobilePhone and MMETEL.\n"))); - - iPhone.Close(); - iServer.Close(); // Phone module is unloaded automatically when RTelServer session is closed - - iMMETELConnectionStatus = EFalse; - } - else - { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("RMobilePhone and MMETEL already closed.\n"))); - } -} -#endif -//-------------------------------------------------- + } // eap_am_type_tls_peap_symbian_c::CheckTtlsPapSessionValidity + // End of file. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeap.h --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeap.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeap.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,23 +16,21 @@ */ /* -* %version: 27 % +* %version: 17.1.2 % */ #ifndef _EAPTLSPEAP_H_ #define _EAPTLSPEAP_H_ // INCLUDES -#include +#include #include "eap_header.h" -#if defined(USE_FAST_EAP_TYPE) -#include "tls_application_eap_fast.h" -#endif + // CLASS DECLARATION /** * Class that implements the generic EAP type interface. Implements EAP TLS protocol. */ -class CEapTlsPeap : public CEapTypePlugin +class CEapTlsPeap : public CEapType { public: @@ -122,13 +120,16 @@ #endif // #ifdef USE_EAP_SIMPLE_CONFIG - + /** + * Invokes the configuration UI. + **/ + TInt InvokeUiL(); /** * Gets information about EAP type. * @return Pointer to a class that contains the EAP type information. Also pushed to cleanup stack. */ - CEapTypeInfo* GetInfoL(); + CEapTypeInfo* GetInfoLC(); /** * Deletes EAP type configuration @@ -150,7 +151,7 @@ * EAP type. * @param aTunnelingType Type number for the tunneling type */ - void SetTunnelingType(const TEapExpandedType aTunnelingType); + void SetTunnelingType(const TInt aTunnelingType); /** * Changes the index of the saved parameters. @@ -185,12 +186,7 @@ * Constructor initialises member variables. */ CEapTlsPeap(const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aEapType); - -#if defined(USE_FAST_EAP_TYPE) - tls_application_eap_fast_c* GetTlsInterfaceL(abs_eap_am_tools_c* const aTools, - const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id); -#endif + private: #ifdef USE_PAC_STORE @@ -217,16 +213,6 @@ // EAP array for deleting and changing index RImplInfoPtrArray iEapArray; - -#if defined(USE_FAST_EAP_TYPE) - tls_application_eap_fast_c* iApplication; -#endif - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - eap_base_type_c* iType; - - }; #endif // _EAPTLSPEAP_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapCertFetcher.h --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapCertFetcher.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapCertFetcher.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13.1.2 % */ #ifndef _EAPTLSPEAPCERTFETCHER_H_ @@ -29,16 +29,14 @@ #include "EapTlsPeapUtils.h" -class CAbsEapCertificateFetcher; +class CEapTlsPeapUiCertificates; // CLASS DECLARATION class CEapTlsPeapCertFetcher : public CActive { - public: - - static CEapTlsPeapCertFetcher* NewL(CAbsEapCertificateFetcher* const aParent); + static CEapTlsPeapCertFetcher* NewL(CEapTlsPeapUiCertificates* const aParent); virtual ~CEapTlsPeapCertFetcher(); @@ -46,11 +44,11 @@ // DON'T USE THESE. ONLY USED FOR EapTlsPeapUtils. static CEapTlsPeapCertFetcher* NewL(); - void GetSymbianSubjectKeyIdL( TDes8& aSubjectKeyId, EapCertificateEntry aCertEntry ); + void GetSymbianSubjectKeyIdL( TDes8& aSubjectKeyId, CertificateEntry aCertEntry ); protected: - CEapTlsPeapCertFetcher(CAbsEapCertificateFetcher* const aParent); + CEapTlsPeapCertFetcher(CEapTlsPeapUiCertificates* const aParent); void ConstructL(); @@ -63,23 +61,19 @@ // DON'T USE THIS. ONLY USED FOR EapTlsPeapUtils. CEapTlsPeapCertFetcher(); - void InitializeQuery(); - private: enum TState { - EGetCertificatesNone, EGetCertificatesInitStore, EGetCertificatesGetCertList, - EGetCertificatesGetUserCertList, EGetCertificatesRetrieveCert, EGetSymbianSubjectKeyId // DON'T USE THIS. ONLY USED FOR EapTlsPeapUtils. }; TState iState; - CAbsEapCertificateFetcher* const iParent; + CEapTlsPeapUiCertificates* const iParent; RMPointerArray iCertInfos; @@ -89,15 +83,16 @@ CCertAttributeFilter* iCertFilter; - RPointerArray iUserCerts; + RArray iUserCerts; + + RArray iCACerts; - RPointerArray iCACerts; - + // For wrapping asynchronous calls. + CActiveSchedulerWait iWait; + HBufC8* iEncodedCertificate; TPtr8 iCertPtr; - TCertificateOwnerType iOwnertype; - TInt iCertInfoIndex; }; diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapDbDefaults.h --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapDbDefaults.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapDbDefaults.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,19 +16,82 @@ */ /* -* %version: 36.1.8 % +* %version: 39 % */ #if !defined(_EAPTLSPEAPDBDEFAULTS_H_) #define _EAPTLSPEAPDBDEFAULTS_H_ -#include "EapPluginDbDefaults.h" -#include "tls_peap_types.h" +enum TTLSPEAPUseManualRealm +{ + ETLSPEAPUseManualRealmNo, // False. Don't use Manual Realm. + ETLSPEAPUseManualRealmYes, // True. Use Manual Realm. +}; + +enum TTLSPEAPUseManualUsername +{ + ETLSPEAPUseManualUsernameNo, // False. Don't use Manual Username. + ETLSPEAPUseManualUsernameYes, // True. Use Manual Username. +}; + +enum TTLSPEAPVerifyCertRealm +{ + ETLSPEAPVerifyCertRealmNo, // False. Don't Verify Certificate Realm. + ETLSPEAPVerifyCertRealmYes, // True. Verify Certificate Realm. +}; + +enum TTLSPEAPServerAuthenticatesClientPolicy +{ + ETLSPEAPServerAuthenticatesClientPolicyNo, // False. + ETLSPEAPServerAuthenticatesClientPolicyYes, // True. +}; + +enum TTLSPEAPTLSPrivacy +{ + ETLSPEAPTLSPrivacyNo, // False. TLS Privacy OFF. + ETLSPEAPTLSPrivacyYes, // True. TLS Privacy ON. +}; + +#ifdef USE_FAST_EAP_TYPE + +enum TFASTAuthProvModeAllowed +{ + EFASTAuthProvModeAllowedNo, // False. Authenticated provisioning mode NOT allowed. + EFASTAuthProvModeAllowedYes, // True. Authenticated provisioning mode allowed. +}; + +enum TFASTUnauthProvModeAllowed +{ + EFASTUnauthProvModeAllowedNo, // False. Unauthenticated provisioning mode NOT allowed. + EFASTUnauthProvModeAllowedYes, // True. Unauthenticated provisioning mode allowed. +}; + +enum TFASTWarnADHPNoPAC +{ + EFASTWarnADHPNoPACNo, // False. Warnings or prompts NOT allowed. + EFASTWarnADHPNoPACYes, // True. Warnings or prompts allowed. +}; + +enum TFASTWarnADHPNoMatchingPAC +{ + EFASTWarnADHPNoMatchingPACNo, // False. Warnings or prompts NOT allowed. + EFASTWarnADHPNoMatchingPACYes, // True. Warnings or prompts allowed. +}; + +enum TFASTWarnNotDefaultServer +{ + EFASTWarnNotDefaultServerNo, // False. Warnings or prompts NOT allowed. + EFASTWarnNotDefaultServerYes, // True. Warnings or prompts allowed. +}; + +#endif //#ifdef USE_FAST_EAP_TYPE // LOCAL CONSTANTS -const TInt default_EAP_TLS_PEAP_use_manual_realm = EEapDbFalse; +const TInt default_EAP_TLS_PEAP_use_manual_realm = ETLSPEAPUseManualRealmNo; +_LIT(default_EAP_TLS_PEAP_manual_realm, ""); -const TInt default_EAP_TLS_PEAP_use_manual_username = EEapDbFalse; +const TInt default_EAP_TLS_PEAP_use_manual_username = ETLSPEAPUseManualUsernameNo; +_LIT(default_EAP_TLS_PEAP_manual_username, ""); const TInt default_EAP_TLS_PEAP_cipher_suite = tls_cipher_suites_TLS_RSA_WITH_3DES_EDE_CBC_SHA; @@ -40,22 +103,23 @@ const TInt default_EAP_TLS_server_authenticates_client = 1; const TInt default_EAP_PEAP_TTLS_server_authenticates_client = 0; -_LIT(default_CA_cert_label, ""); -_LIT(default_client_cert_label, ""); +_LIT(default_CA_cert_label, "rsaca.eapsim.foo"); +_LIT(default_client_cert_label, "rsaclient@eapsim.foo"); const TInt default_EAP_TLS_PEAP_verify_certificate_realm = 0; -const TUint default_EAP_TLS_PEAP_TTLS_Privacy = EEapDbFalse; +const TUint default_EAP_TLS_PEAP_TLS_Privacy = ETLSPEAPTLSPrivacyNo; -const TUint default_EAP_TLS_PEAP_use_automatic_ca_certificate = EEapDbTrue; +const TInt64 default_MaxSessionTime = 0; // 0 means read from configuration file. +const TInt64 default_FullAuthTime = 0; // Defaults for EAP-FAST specific items #ifdef USE_FAST_EAP_TYPE -const TUint default_EAP_FAST_Auth_Prov_Mode_Allowed = EEapDbFalse; // Default is NO -const TUint default_EAP_FAST_Unauth_Prov_Mode_Allowed = EEapDbFalse; // Default is NO -const TUint default_EAP_FAST_Warn_ADHP_No_PAC = EEapDbTrue; // Default is YES -const TUint default_EAP_FAST_Warn_ADHP_No_Matching_PAC = EEapDbTrue; // Default is YES -const TUint default_EAP_FAST_Warn_Not_Default_Server = EEapDbTrue; // Default is YES +const TUint default_EAP_FAST_Auth_Prov_Mode_Allowed = EFASTAuthProvModeAllowedNo; // Default is NO +const TUint default_EAP_FAST_Unauth_Prov_Mode_Allowed = EFASTUnauthProvModeAllowedNo; // Default is NO +const TUint default_EAP_FAST_Warn_ADHP_No_PAC = EFASTWarnADHPNoPACNo; // Default is NO +const TUint default_EAP_FAST_Warn_ADHP_No_Matching_PAC = EFASTWarnADHPNoMatchingPACNo; // Default is NO +const TUint default_EAP_FAST_Warn_Not_Default_Server = EFASTWarnNotDefaultServerNo; // Default is NO #endif //#ifdef USE_FAST_EAP_TYPE // Add here the cipher suites you want to be allowed by default. Note that the last @@ -82,6 +146,8 @@ 0 }; +const TUint KMaxManualUsernameLengthInDB = 255; +const TUint KMaxManualRealmLengthInDB = 255; const TUint KMaxCertLabelLengthInDB = 255; const TUint KMaxSubjectKeyIdLengthInDB = 255; // Not using KKeyIdentifierLength (EapSettings.h) as this is // Symbian's subjectkey id (hash of actual subjectkey id), though the lengths are same. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapDbParameterNames.h --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapDbParameterNames.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapDbParameterNames.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 20.1.4 % +* %version: 23 % */ #if !defined(_EAPTLAPEAPDBPARAMETERNAMES_H_) @@ -28,9 +28,8 @@ _LIT(KServiceType, "ServiceType"); _LIT(KServiceIndex, "ServiceIndex"); -_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId"); _LIT(KTunnelingType, "TunnelingType"); -_LIT(KCACertLabel, "CA_cert_label"); +_LIT(KCACertLabelOld, "CA_cert_label"); _LIT(KClientCertLabel, "client_cert_label"); _LIT(KCertLabel, "label"); _LIT(KCipherSuite, "cipher_suite"); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapGlobal.h --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapGlobal.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapGlobal.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 8 % */ #ifndef _EAPTLSPEAPGLOBAL_H_ @@ -27,9 +27,9 @@ // LOCAL CONSTANTS -_LIT(KReleaseDate, ""); +_LIT(KReleaseDate, "20040829:"); _LIT(KEapTypeVersion, "1.0"); -_LIT(KManufacturer, ""); +_LIT(KManufacturer, "Nokia"); _LIT(KNokiaSignature, ""); _LIT(KExtraInfo1, ""); _LIT(KExtraInfo2, ""); diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapUtils.h --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapUtils.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapUtils.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 37 % +* %version: 22.1.2 % */ #ifndef _EAPTLSPEAPUTILS_H_ @@ -26,24 +26,58 @@ #include #include #include "eap_am_tools_symbian.h" -#include +#include #include #include +#ifndef USE_EAP_EXPANDED_TYPES +// This dependencay is needed only for non-expanded EAP types. +#include +#endif //#ifndef USE_EAP_EXPANDED_TYPES + #include "eap_type_tls_peap_types.h" #include "eap_header.h" // LOCAL CONSTANTS -// For EAP-TLS, EAP-PEAP, EAP-TTLS, EAP-FAST private database. Database will be in the private folder of EAP-server (20026FCB). -// The maximum length of database name is 0x40 (KDbMaxName), which is defined in d32dbms.h. +#ifdef USE_EAP_EXPANDED_TYPES + +// Size of Expanded EAP Type +const TUint8 KExpandedEAPTypeSize = 8; + +struct SExpandedEAPType +{ + // Unique ID for an expanded EAp type. + // This includes, Type (1 byte), Vendor-Id (3bytes) and Vendor-Type (4bytes). + TBuf8 iExpandedEAPType; +}; + +typedef RPointerArray RExpandedEapTypePtrArray; + +#endif //#ifdef USE_EAP_EXPANDED_TYPES -_LIT(KTlsDatabaseName, "eaptls.dat"); -_LIT(KPeapDatabaseName, "eappeap.dat"); -_LIT(KTtlsDatabaseName, "eapttls.dat"); -_LIT(KFastDatabaseName, "eapfast.dat"); +#ifdef SYMBIAN_SECURE_DBMS +// For EAP TLS, PEAP, TTLS, FAST secure databases. +// Full path is not needed. The database eaptls.dat will be saved in the +// data cage path for DBMS. So it will be in "\private\100012a5\eaptls.dat" in C: drive. +// The maximum length of database name is 0x40 (KDbMaxName) , which is defined in d32dbms.h. + +_LIT(KTlsDatabaseName, "c:eaptls.dat"); +_LIT(KPeapDatabaseName, "c:eappeap.dat"); +_LIT(KTtlsDatabaseName, "c:eapttls.dat"); +_LIT(KFastDatabaseName, "c:eapfast.dat"); +_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy. + +#else + +_LIT(KTlsDatabaseName, "c:\\system\\data\\eaptls.dat"); +_LIT(KPeapDatabaseName, "c:\\system\\data\\eappeap.dat"); +_LIT(KTtlsDatabaseName, "c:\\system\\data\\eapttls.dat"); +_LIT(KFastDatabaseName, "c:\\system\\data\\eapfast.dat"); + +#endif // #ifdef SYMBIAN_SECURE_DBMS // For TLS. _LIT(KTlsDatabaseTableName, "eaptls"); @@ -72,20 +106,18 @@ enum TAlterTableCmd { - EAddColumn, - ERemoveColumn +EAddColumn, +ERemoveColumn }; // CLASS DECLARATION class EapTlsPeapUtils { - public: - static void OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - const TIndexType aIndexType, + RDbNamedDatabase& aDatabase, + RDbs& aSession, + const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType, eap_type_value_e aEapType); @@ -142,7 +174,7 @@ const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType, - RPointerArray& aArray); + RArray& aArray); static void ReadUintRowsToArrayL( RDbNamedDatabase& aDatabase, @@ -154,12 +186,14 @@ const eap_type_value_e aTunnelingType, RArray& aArray); +#ifdef USE_EAP_EXPANDED_TYPES + // Stores the tunneled EAP type (expanded) to the database. static void SetTunnelingExpandedEapDataL( RDbNamedDatabase& aDatabase, eap_am_tools_symbian_c * const aTools, - RPointerArray &aEnabledEAPArrary, - RPointerArray &aDisabledEAPArrary, + RExpandedEapTypePtrArray &aEnabledEAPArrary, + RExpandedEapTypePtrArray &aDisabledEAPArrary, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType, @@ -169,18 +203,42 @@ static void GetTunnelingExpandedEapDataL( RDbNamedDatabase& aDatabase, eap_am_tools_symbian_c * const aTools, - RPointerArray &aEnabledEAPArrary, - RPointerArray &aDisabledEAPArrary, + RExpandedEapTypePtrArray &aEnabledEAPArrary, + RExpandedEapTypePtrArray &aDisabledEAPArrary, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType, const eap_type_value_e aEapType); +#else // For normal EAP types. + + // This sets only the tunneling EAP types. + static void SetEapDataL( + RDbNamedDatabase& aDatabase, + eap_am_tools_symbian_c * const aTools, + TEapArray &aEaps, + const TIndexType aIndexType, + const TInt aIndex, + const eap_type_value_e aTunnelingType, + const eap_type_value_e aEapType); + + // This gets only the tunneling EAP types. + static void GetEapDataL( + RDbNamedDatabase& aDatabase, + eap_am_tools_symbian_c * const aTools, + TEapArray &aEaps, + const TIndexType aIndexType, + const TInt aIndex, + const eap_type_value_e aTunnelingType, + const eap_type_value_e aEapType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + static TBool CompareTCertLabels( const TCertLabel& item1, const TCertLabel& item2); - static TBool CompareSCertEntries(const EapCertificateEntry& item1, const EapCertificateEntry& item2); + static TBool CompareSCertEntries(const SCertEntry& item1, const SCertEntry& item2); static TBool CipherSuiteUseRSAKeys(tls_cipher_suites_e aCipherSuite); @@ -207,38 +265,35 @@ const eap_variable_data_c * const aDbColumnValue); private: - static void OpenTlsDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - const TIndexType aIndexType, + RDbNamedDatabase& aDatabase, + RDbs& aSession, + const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); static void OpenPeapDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - const TIndexType aIndexType, + RDbNamedDatabase& aDatabase, + RDbs& aSession, + const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); #if defined(USE_TTLS_EAP_TYPE) - static void OpenTtlsDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - const TIndexType aIndexType, + RDbNamedDatabase& aDatabase, + RDbs& aSession, + const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); - #endif // #if defined(USE_TTLS_EAP_TYPE) #if defined(USE_FAST_EAP_TYPE) static void OpenFastDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - const TIndexType aIndexType, + RDbNamedDatabase& aDatabase, + RDbs& aSession, + const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); @@ -248,10 +303,6 @@ RDbNamedDatabase& aDatabase, TDesC& aTableName); - static TInt FilterEapMethods( - RPointerArray * const aEAPTypes, - RPointerArray * const aPlugins); - private: static void AlterTableL( @@ -260,6 +311,7 @@ const TDesC& aTableName, const TDesC& aColumnName, const TDesC& aColumnDef ); + }; #endif // _EAPTLSPEAPUTILS_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/101f8e4c.rss --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/101f8e4c.rss Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/101f8e4c.rss Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 19.1.2 % +* %version: 22 % */ // INCLUDES diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeap.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeap.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeap.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 67 % +* %version: 35.1.3 % */ // This is enumeration of EAPOL source code. @@ -35,26 +35,31 @@ #include "EapTlsPeapGlobal.h" #include +#include +#include +#include +#if defined(USE_TTLS_EAP_TYPE) + #include +#endif + #if defined(USE_FAST_EAP_TYPE) +#include #include "tls_application_eap_fast.h" #endif #include "eap_am_type_tls_peap_symbian.h" #include "eap_type_tls_peap.h" #include "tls_record.h" -#include "dummy_eap_core.h" #include "eap_core.h" #include "tls_application_eap_core.h" #include "eap_am_tools_symbian.h" -#include "EapTraceSymbian.h" -#include "EapConversion.h" -#include "EapExpandedType.h" +#include "eap_am_trace_symbian.h" #ifdef USE_PAC_STORE #include "pac_store_db_symbian.h" #endif -#include "eapol_key_types.h" +#include // LOCAL CONSTANTS @@ -62,10 +67,6 @@ // common for all three plug-in interfaces. const TUint KInterfaceVersion = 1; -#if defined(USE_FAST_EAP_TYPE) - const u8_t EAP_RAS_SOURCE[] = "ras_src"; - const u8_t EAP_RAS_DESTINATION[] = "ras_des"; -#endif //#if defined(USE_FAST_EAP_TYPE) // ================= MEMBER FUNCTIONS ======================= @@ -77,77 +78,14 @@ , iIndex(aIndex) , iEapType(aEapType) , iTunnelingType(eap_type_none) -#if defined(USE_FAST_EAP_TYPE) -, iApplication(NULL) -#endif -, m_am_tools(abs_eap_am_tools_c::new_abs_eap_am_tools_c()) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::CEapTlsPeap()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::CEapTlsPeap()\n")); - - if (m_am_tools == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - } -#if defined(USE_FAST_EAP_TYPE) - if(iEapType == eap_type_fast) - { - eap_variable_data_c source(m_am_tools); - - eap_status_e status = source.set_copy_of_buffer( - EAP_RAS_SOURCE, - sizeof(EAP_RAS_SOURCE)); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeap::CEapTlsPeap(): status = %s\n"), - eap_status_string_c::get_status_string(status))); - return; - } - - eap_variable_data_c destination(m_am_tools); +#ifdef USE_EAP_EXPANDED_TYPES - status = destination.set_copy_of_buffer( - EAP_RAS_DESTINATION, - sizeof(EAP_RAS_DESTINATION)); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeap::CEapTlsPeap(): status = %s\n"), - eap_status_string_c::get_status_string(status))); - return; - } + ASSERT(iEapType.get_vendor_id() == eap_type_vendor_id_ietf); + ASSERT(iTunnelingType.get_vendor_id() == eap_type_vendor_id_ietf); - eap_am_network_id_c dummy_id(m_am_tools, &source, &destination, eapol_ethernet_type_pae); - - if (dummy_id.get_is_valid() == false) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeap::NewPeapL() dummy_id not valid\n"))); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - } - - if (dummy_id.get_is_valid_data() == false) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeap::NewPeapL() dummy_id data not valid\n"))); - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return; - } - - - TRAPD(err, iApplication = GetTlsInterfaceL( - m_am_tools, - true, - &dummy_id)); - if (err) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeap::NewPeapL() iApplication couldn't be created\n"))); - - } - } -#endif //#if defined(USE_FAST_EAP_TYPE) - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); +#endif //#ifdef USE_EAP_EXPANDED_TYPES } @@ -155,9 +93,6 @@ CEapTlsPeap* CEapTlsPeap::NewTlsL(SIapInfo *aIapInfo) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::NewTlsL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::NewTlsL()\n")); - return new (ELeave) CEapTlsPeap(aIapInfo->indexType, aIapInfo->index, eap_type_tls); } @@ -165,9 +100,6 @@ CEapTlsPeap* CEapTlsPeap::NewPeapL(SIapInfo *aIapInfo) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::NewPeapL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::NewPeapL()\n")); - return new (ELeave) CEapTlsPeap(aIapInfo->indexType, aIapInfo->index, eap_type_peap); } @@ -177,9 +109,6 @@ CEapTlsPeap* CEapTlsPeap::NewTtlsL(SIapInfo *aIapInfo) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::NewTtlsL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::NewTtlsL()\n")); - return new (ELeave) CEapTlsPeap(aIapInfo->indexType, aIapInfo->index, eap_type_ttls); } @@ -195,11 +124,8 @@ CEapTlsPeap* CEapTlsPeap::NewTtlsPapL( SIapInfo* aIapInfo ) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::NewTtlsPapL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::NewTtlsPapL()\n")); - return new (ELeave) CEapTlsPeap( - aIapInfo->indexType, aIapInfo->index, eap_expanded_type_ttls_plain_pap.get_type() ); + aIapInfo->indexType, aIapInfo->index, eap_type_ttls_plain_pap ); } @@ -209,9 +135,6 @@ CEapTlsPeap* CEapTlsPeap::NewFastL(SIapInfo *aIapInfo) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::NewFastL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::NewFastL()\n")); - return new (ELeave) CEapTlsPeap(aIapInfo->indexType, aIapInfo->index, eap_type_fast); } @@ -221,187 +144,9 @@ CEapTlsPeap::~CEapTlsPeap() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::~CEapTlsPeap()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::~CEapTlsPeap()\n")); - iEapArray.ResetAndDestroy(); - - if (iType != NULL) - { - iType->shutdown(); - // type deletes all - delete iType; - iType = NULL; - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::~CEapTlsPeap() iType deleted\n"))); - -#if defined(USE_FAST_EAP_TYPE) - if (iApplication != NULL) - { -// iApplication->shutdown(); -// delete iApplication; - iApplication = NULL; - } -#endif //#if defined(USE_FAST_EAP_TYPE) - - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(m_am_tools); } -#if defined(USE_FAST_EAP_TYPE) -// ---------------------------------------------------------- -tls_application_eap_fast_c* CEapTlsPeap::GetTlsInterfaceL(abs_eap_am_tools_c* const aTools, - const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::GetTlsInterfaceL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::GetTlsInterfaceL()\n")); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeap::GetTlsInterfaceL -Start- iIndexType=%d, iIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"), - iIndexType,iIndex, iTunnelingType.get_vendor_type(), iEapType.get_vendor_type())); - - // Create adaptation layer - eap_am_type_tls_peap_symbian_c* amEapType; - tls_record_c* record; - - eap_core_c* const eap_core = reinterpret_cast (new dummy_eap_core_c( - aTools, - 0, - is_client_when_true, - receive_network_id, - true)); - if (eap_core == 0) - { - // Out of memory - User::Leave(KErrNoMemory); - } - else if (eap_core->get_is_valid() == false) - { - // Out of memory - eap_core->shutdown(); - delete eap_core; - User::Leave(KErrGeneral); - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeap::GetTlsInterfaceL - created eap_core_c \n"))); - - amEapType = eap_am_type_tls_peap_symbian_c::NewL( - aTools, - eap_core, - iIndexType, - iIndex, - iTunnelingType, - iEapType, - is_client_when_true, - receive_network_id); - if (amEapType->get_is_valid() == false) - { - amEapType->shutdown(); - delete amEapType; - User::Leave(KErrGeneral); - } - - amEapType->configure(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeap::GetTlsInterfaceL - created eap_am_type_tls_peap_symbian_c \n"))); - - tls_application_eap_fast_c* application = 0; - - if(iEapType == eap_type_fast) - { - application = new tls_application_eap_fast_c( - aTools, - eap_core, - true, - is_client_when_true, - iEapType, - receive_network_id, - amEapType); - - if (application) - { - application->configure(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeap::GetTlsInterfaceL - created tls_application_eap_fast_c \n"))); - application->start_initialize_PAC_store(); - } - } - - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeap::GetTlsInterfaceL - Creating tls_record_c \n"))); - - record = new tls_record_c( - aTools, - amEapType, - false, - application, - true, - is_client_when_true, - iEapType, - receive_network_id); - if (record == 0) - { - // Out of memory - // application takes care of eap_core_c deletion - application->shutdown(); - delete application; - amEapType->shutdown(); - delete amEapType; - User::Leave(KErrGeneral); - } - else if (record->get_is_valid() == false) - { - // Out of memory - // record takes care of application deletion - record->shutdown(); - delete record; - amEapType->shutdown(); - delete amEapType; - User::Leave(KErrGeneral); - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeap::GetTlsInterfaceL - Creating the OS independent portion - eap_type_tls_peap_c \n"))); - - // Create the OS independent portion - - iType = new eap_type_tls_peap_c( - aTools, - eap_core, - amEapType, - true, - record, - true, - is_client_when_true, - iEapType, - receive_network_id); - if (iType == 0) - { - // Out of memory - // record takes care of application deletion - record->shutdown(); - delete record; - amEapType->shutdown(); - delete amEapType; - User::Leave(KErrNoMemory); - } - else if(iType->get_is_valid() == false) - { - iType->shutdown(); - // type deletes all - delete iType; - iType = NULL; - User::Leave(KErrGeneral); - } - - return application; -} -#endif // ---------------------------------------------------------- #ifdef USE_EAP_SIMPLE_CONFIG @@ -421,12 +166,19 @@ #endif // #ifdef USE_EAP_SIMPLE_CONFIG { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::GetStackInterfaceL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::GetStackInterfaceL()\n")); - +#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_DEBUG_SYMBIAN( (_L("CEapTlsPeap::GetStackInterfaceL -Start- iIndexType=%d, iIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"), iIndexType,iIndex, iTunnelingType.get_vendor_type(), iEapType.get_vendor_type())); + +#else + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapTlsPeap::GetStackInterfaceL -Start- iIndexType=%d, iIndex=%d, iTunnelingType=%d, iEapType=%d \n"), + iIndexType, iIndex, iTunnelingType, iEapType)); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES // Create adaptation layer eap_am_type_tls_peap_symbian_c* amEapType; @@ -633,15 +385,107 @@ } // ---------------------------------------------------------- - -CEapTypeInfo* CEapTlsPeap::GetInfoL() +TInt CEapTlsPeap::InvokeUiL() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::GetInfoL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::GetInfoL()\n")); + TInt buttonId(0); + +#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapTlsPeap::InvokeUiL -Start- iIndexType=%d, iIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"), + iIndexType,iIndex, iTunnelingType.get_vendor_type(), iEapType.get_vendor_type())); + + CEapTlsPeapUiConnection uiConn(iIndexType, iIndex, + iTunnelingType.get_vendor_type(), iEapType.get_vendor_type()); + +#else + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapTlsPeap::InvokeUiL -Start- iIndexType=%d, iIndex=%d, iTunnelingType=%d, iEapType=%d \n"), + iIndexType, iIndex, iTunnelingType, iEapType)); + + CEapTlsPeapUiConnection uiConn(iIndexType, iIndex, iTunnelingType, iEapType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapTlsPeap::InvokeUiL Created UI connection \n"))); + +#ifdef USE_EAP_EXPANDED_TYPES + + switch (iEapType.get_vendor_type()) + +#else + + switch (iEapType) + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + { + case eap_type_tls: + { + CEapTlsUi* tls_ui = CEapTlsUi::NewL(&uiConn); + CleanupStack::PushL(tls_ui); + buttonId = tls_ui->InvokeUiL(); + CleanupStack::PopAndDestroy(tls_ui); + } + break; + case eap_type_peap: + { + CEapPeapUi* peap_ui = CEapPeapUi::NewL(&uiConn, iIndexType, iIndex); + CleanupStack::PushL(peap_ui); + buttonId = peap_ui->InvokeUiL(); + CleanupStack::PopAndDestroy(peap_ui); + } + break; + +#if defined (USE_TTLS_EAP_TYPE) + case eap_type_ttls: + { + CEapTtlsUi* ttls_ui = CEapTtlsUi::NewL(&uiConn, iIndexType, iIndex); + CleanupStack::PushL(ttls_ui); + buttonId = ttls_ui->InvokeUiL(); + CleanupStack::PopAndDestroy(ttls_ui); + } + break; +#endif + +#if defined (USE_FAST_EAP_TYPE) + case eap_type_fast: + { + CEapFastUi* fast_ui = CEapFastUi::NewL(&uiConn, iIndexType, iIndex); + CleanupStack::PushL(fast_ui); + buttonId = fast_ui->InvokeUiL(); + CleanupStack::PopAndDestroy(fast_ui); + } + break; +#endif + + case eap_type_ttls_plain_pap: + { + CPapUi* papUi = CPapUi::NewL( &uiConn ); + CleanupStack::PushL( papUi ); + buttonId = papUi->InvokeUiL(); + CleanupStack::PopAndDestroy( papUi ); + } + break; + + default: + // Should never happen + User::Leave(KErrArgument); + } + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapTlsPeap::InvokeUiL -End-\n"))); + + return buttonId; +} +// ---------------------------------------------------------- +CEapTypeInfo* CEapTlsPeap::GetInfoLC() +{ CEapTypeInfo* info = new(ELeave) CEapTypeInfo((TDesC&)KReleaseDate, (TDesC&)KEapTypeVersion, (TDesC&)KManufacturer); - + CleanupStack::PushL(info); return info; } @@ -649,11 +493,17 @@ void CEapTlsPeap::DeleteConfigurationL() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::DeleteConfigurationL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::DeleteConfigurationL()\n")); - +#ifdef USE_EAP_EXPANDED_TYPES + TUint aTunnelingVendorType = iTunnelingType.get_vendor_type(); TUint aEapVendorType = iEapType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(iTunnelingType); + TUint aEapVendorType = static_cast(iEapType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::DeleteConfigurationL:Start:iIndexType=%d,iIndex=%d,TunnelingType=%d,EapType=%d"), iIndexType, iIndex, aTunnelingVendorType, aEapVendorType)); @@ -669,7 +519,7 @@ || iEapType == eap_type_fast #endif - || iEapType == eap_expanded_type_ttls_plain_pap.get_type() + || iEapType == eap_type_ttls_plain_pap ) @@ -679,14 +529,14 @@ for (TInt i = 0; i < iEapArray.Count(); i++) { - if ((iEapType == eap_type_peap && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) - || (iEapType == eap_type_ttls && !CEapTypePlugin::IsDisallowedInsideTTLS(*iEapArray[i])) + if ((iEapType == eap_type_peap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_ttls && !CEapType::IsDisallowedInsideTTLS(*iEapArray[i])) #ifdef USE_FAST_EAP_TYPE - || (iEapType == eap_type_fast && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_fast && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) #endif - || (iEapType == eap_expanded_type_ttls_plain_pap.get_type() && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_ttls_plain_pap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) ) @@ -696,14 +546,16 @@ EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::DeleteConfigurationL: Deleting encapsulated types for EAP type=%d"), aEapVendorType)); - CEapTypePlugin* eapType; + CEapType* eapType; - TEapExpandedType expandedCue = iEapArray[i]->DataType(); +#ifdef USE_EAP_EXPANDED_TYPES + + TBuf8 expandedCue = iEapArray[i]->DataType(); EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeap::DeleteConfigurationL: Expanded cue:", - expandedCue.GetValue().Ptr(), expandedCue.GetValue().Size())); + expandedCue.Ptr(), expandedCue.Size())); - eapType = CEapTypePlugin::NewL(expandedCue.GetValue(), iIndexType, iIndex); + eapType = CEapType::NewL(expandedCue, iIndexType, iIndex); if(eapType == NULL) { @@ -711,14 +563,7 @@ User::Leave(KErrNotFound); } -// eapType->SetTunnelingType(iEapType.get_vendor_type()); - TEapExpandedType aExpandedType; - - TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType( - &iEapType, - &aExpandedType); - - eapType->SetTunnelingType(aExpandedType); + eapType->SetTunnelingType(iEapType.get_vendor_type()); #ifdef USE_FAST_EAP_TYPE @@ -749,7 +594,29 @@ } #endif // #ifdef USE_FAST_EAP_TYPE +#endif // USE_EAP_EXPANDED_TYPES + +#ifndef USE_EAP_EXPANDED_TYPES +//#else // For normal EAP types. + + TBuf8<3> cue = iEapArray[i]->DataType(); + + EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeap::DeleteConfigurationL: cue:", + cue.Ptr(), cue.Size())); + + eapType = CEapType::NewL(cue, iIndexType, iIndex); + + if(eapType == NULL) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::DeleteConfigurationL: Ecom Error - No specified EAP plugin")) ); + User::Leave(KErrNotFound); + } + + eapType->SetTunnelingType(iEapType); + +#endif //#ifndef USE_EAP_EXPANDED_TYPES + EAP_TRACE_DEBUG_SYMBIAN( (_L("CEapTlsPeap::DeleteConfigurationL: PushL(...)"))); @@ -772,43 +639,41 @@ TUint CEapTlsPeap::GetInterfaceVersion() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::GetInterfaceVersion()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::GetInterfaceVersion()\n")); - return KInterfaceVersion; } // ---------------------------------------------------------- -void CEapTlsPeap::SetTunnelingType(const TEapExpandedType aTunnelingType) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::SetTunnelingType()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::SetTunnelingType()\n")); +void CEapTlsPeap::SetTunnelingType(const TInt aTunnelingType) +{ +#ifdef USE_EAP_EXPANDED_TYPES + + // Vendor id is eap_type_vendor_id_ietf always in this plugin. + iTunnelingType.set_eap_type_values(eap_type_vendor_id_ietf, aTunnelingType); - EAP_TRACE_DATA_DEBUG_SYMBIAN( - (EAPL("CEapTlsPeap::SetTunnelingType - tunneling type"), - aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length())); - - eap_type_value_e aInternalType; - - TInt err = CEapConversion::ConvertExpandedEAPTypeToInternalType( - &aTunnelingType, - &aInternalType); - - iTunnelingType = aInternalType; - } +#else + + iTunnelingType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES +} // ---------------------------------------------------------- - void CEapTlsPeap::SetIndexL( const TIndexType aIndexType, const TInt aIndex) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::SetIndexL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::SetIndexL()\n")); - +#ifdef USE_EAP_EXPANDED_TYPES + TUint aTunnelingVendorType = iTunnelingType.get_vendor_type(); TUint aEapVendorType = iEapType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(iTunnelingType); + TUint aEapVendorType = static_cast(iEapType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::SetIndexL:Start: Old: iIndexType=%d,iIndex=%d,TunnelingType=%d,EapType=%d"), iIndexType, iIndex, aTunnelingVendorType, aEapVendorType)); @@ -833,16 +698,13 @@ RDbNamedDatabase db; - RFs session; + RDbs session; + EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType); + CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::SetIndexL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType); - + TPtrC settings; TPtrC usercerts; TPtrC cacerts; @@ -852,49 +714,68 @@ TPtrC fastSpecialSettings; #endif - if (iEapType == eap_type_tls) - { - settings.Set(KTlsDatabaseTableName); - usercerts.Set(KTlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName); - } - else if (iEapType == eap_type_peap) - { - settings.Set(KPeapDatabaseTableName); - usercerts.Set(KPeapAllowedUserCertsDatabaseTableName); - cacerts.Set(KPeapAllowedCACertsDatabaseTableName); - ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName); - } -#if defined (USE_TTLS_EAP_TYPE) - else if (iEapType == eap_type_ttls) +#ifdef USE_EAP_EXPANDED_TYPES + + switch (iEapType.get_vendor_type()) + +#else + + switch (iEapType) + +#endif //#ifdef USE_EAP_EXPANDED_TYPES { - settings.Set(KTtlsDatabaseTableName); - usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); - } + case eap_type_tls: + { + settings.Set(KTlsDatabaseTableName); + usercerts.Set(KTlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName); + } + break; + + case eap_type_peap: + { + settings.Set(KPeapDatabaseTableName); + usercerts.Set(KPeapAllowedUserCertsDatabaseTableName); + cacerts.Set(KPeapAllowedCACertsDatabaseTableName); + ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName); + } + break; + +#if defined (USE_TTLS_EAP_TYPE) + case eap_type_ttls: + { + settings.Set(KTtlsDatabaseTableName); + usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); + } + break; #endif + #ifdef USE_FAST_EAP_TYPE - else if (iEapType == eap_type_fast) - { - settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST. - fastSpecialSettings.Set(KFastSpecialSettingsDBTableName); + case eap_type_fast: + { + settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST. + fastSpecialSettings.Set(KFastSpecialSettingsDBTableName); + + usercerts.Set(KFastAllowedUserCertsDatabaseTableName); + cacerts.Set(KFastAllowedCACertsDatabaseTableName); + ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName); + } + break; +#endif + + case eap_type_ttls_plain_pap: + { + settings.Set(KTtlsDatabaseTableName); + usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); + } + break; - usercerts.Set(KFastAllowedUserCertsDatabaseTableName); - cacerts.Set(KFastAllowedCACertsDatabaseTableName); - ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName); - } -#endif - else if (iEapType == eap_expanded_type_ttls_plain_pap.get_type()) - { - settings.Set(KTtlsDatabaseTableName); - usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); - } - else - { + default: // Should never happen User::Leave(KErrArgument); } @@ -980,10 +861,7 @@ #endif // End: #ifdef USE_FAST_EAP_TYPE db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + CleanupStack::PopAndDestroy(2); // db, session. //////// Encapsulated types @@ -994,7 +872,7 @@ || iEapType == eap_type_fast #endif - || iEapType == eap_expanded_type_ttls_plain_pap.get_type() + || iEapType == eap_type_ttls_plain_pap ) @@ -1004,14 +882,14 @@ for (TInt i = 0; i < iEapArray.Count(); i++) { - if ((iEapType == eap_type_peap && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) - || (iEapType == eap_type_ttls && !CEapTypePlugin::IsDisallowedInsideTTLS(*iEapArray[i])) + if ((iEapType == eap_type_peap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_ttls && !CEapType::IsDisallowedInsideTTLS(*iEapArray[i])) #ifdef USE_FAST_EAP_TYPE - || (iEapType == eap_type_fast && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_fast && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) #endif - || (iEapType == eap_expanded_type_ttls_plain_pap.get_type() && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_ttls_plain_pap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) ) @@ -1022,14 +900,16 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::SetIndexL - Setting the index to encapsulated EAP types\n"))); - CEapTypePlugin* eapType; + CEapType* eapType; - TEapExpandedType expandedCue = iEapArray[i]->DataType(); +#ifdef USE_EAP_EXPANDED_TYPES + + TBuf8 expandedCue = iEapArray[i]->DataType(); EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeap::SetIndexL: Expanded cue:", - expandedCue.GetValue().Ptr(), expandedCue.GetValue().Size())); + expandedCue.Ptr(), expandedCue.Size())); - eapType = CEapTypePlugin::NewL(expandedCue.GetValue(), iIndexType, iIndex); + eapType = CEapType::NewL(expandedCue, iIndexType, iIndex); if(eapType == NULL) { @@ -1037,14 +917,17 @@ User::Leave(KErrNotFound); } - TEapExpandedType aExpandedType; - - eap_type_value_e value = iEapType;//.get_vendor_type(); - TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType( - &value, - &aExpandedType); + eapType->SetTunnelingType(iEapType.get_vendor_type()); - eapType->SetTunnelingType(aExpandedType); +#else // For normal EAP types. + + TBuf8<3> cue = iEapArray[i]->DataType(); + + eapType = CEapType::NewL(cue, iIndexType, iIndex); + + eapType->SetTunnelingType(iEapType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES CleanupStack::PushL(eapType); @@ -1064,25 +947,17 @@ (_L("EapTlsPeapUtils::SetIndexL - End\n"))); } -// ---------------------------------------------------------- - void CEapTlsPeap::SetConfigurationL(const EAPSettings& aSettings) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::SetConfigurationL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::SetConfigurationL()\n")); - RDbNamedDatabase db; - RFs session; - + RDbs session; + + // This also creates the IAP entry if it doesn't exist + EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType); + CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::SetConfigurationL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - // This also creates the IAP entry if it doesn't exist - EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType); EapTlsPeapUtils::SetConfigurationL( db, @@ -1092,32 +967,20 @@ iTunnelingType, iEapType); - db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + CleanupStack::PopAndDestroy(2); // db, session } -// ---------------------------------------------------------- - void CEapTlsPeap::GetConfigurationL(EAPSettings& aSettings) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::GetConfigurationL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::GetConfigurationL()\n")); - RDbNamedDatabase db; - RFs session; + RDbs session; + + // This also creates the IAP entry if it doesn't exist + EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::GetConfigurationL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - // This also creates the IAP entry if it doesn't exist - EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType); EapTlsPeapUtils::GetConfigurationL( db, @@ -1128,23 +991,24 @@ iEapType); db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + CleanupStack::PopAndDestroy(2); // db, session } -// ---------------------------------------------------------- - void CEapTlsPeap::CopySettingsL( const TIndexType aDestinationIndexType, const TInt aDestinationIndex) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::CopySettingsL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::CopySettingsL()\n")); - +#ifdef USE_EAP_EXPANDED_TYPES + TUint aTunnelingVendorType = iTunnelingType.get_vendor_type(); TUint aEapVendorType = iEapType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(iTunnelingType); + TUint aEapVendorType = static_cast(iEapType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::CopySettingsL:Start:iIndexType=%d,iIndex=%d,TunnelingType=%d,EapType=%d"), iIndexType, iIndex, aTunnelingVendorType, aEapVendorType)); @@ -1165,16 +1029,13 @@ RDbNamedDatabase db; - RFs session; + RDbs session; + + EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType); CleanupClosePushL(session); CleanupClosePushL(db); - TInt error = session.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::CopySettingsL(): - session.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType); - + TPtrC settings; TPtrC usercerts; TPtrC cacerts; @@ -1184,49 +1045,68 @@ TPtrC fastSpecialSettings; #endif - if (iEapType == eap_type_tls) - { - settings.Set(KTlsDatabaseTableName); - usercerts.Set(KTlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName); - } - else if (iEapType == eap_type_peap) - { - settings.Set(KPeapDatabaseTableName); - usercerts.Set(KPeapAllowedUserCertsDatabaseTableName); - cacerts.Set(KPeapAllowedCACertsDatabaseTableName); - ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName); - } -#if defined (USE_TTLS_EAP_TYPE) - else if (iEapType == eap_type_ttls) +#ifdef USE_EAP_EXPANDED_TYPES + + switch (iEapType.get_vendor_type()) + +#else + + switch (iEapType) + +#endif //#ifdef USE_EAP_EXPANDED_TYPES { - settings.Set(KTtlsDatabaseTableName); - usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); - } + case eap_type_tls: + { + settings.Set(KTlsDatabaseTableName); + usercerts.Set(KTlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName); + } + break; + + case eap_type_peap: + { + settings.Set(KPeapDatabaseTableName); + usercerts.Set(KPeapAllowedUserCertsDatabaseTableName); + cacerts.Set(KPeapAllowedCACertsDatabaseTableName); + ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName); + } + break; + +#if defined (USE_TTLS_EAP_TYPE) + case eap_type_ttls: + { + settings.Set(KTtlsDatabaseTableName); + usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); + } + break; #endif - else if (iEapType == eap_expanded_type_ttls_plain_pap.get_type()) - { - settings.Set(KTtlsDatabaseTableName); - usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); - } + + case eap_type_ttls_plain_pap: + { + settings.Set(KTtlsDatabaseTableName); + usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); + } + break; + #ifdef USE_FAST_EAP_TYPE - else if (iEapType == eap_type_fast) - { - settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST. - fastSpecialSettings.Set(KFastSpecialSettingsDBTableName); - - usercerts.Set(KFastAllowedUserCertsDatabaseTableName); - cacerts.Set(KFastAllowedCACertsDatabaseTableName); - ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName); - } + case eap_type_fast: + { + settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST. + fastSpecialSettings.Set(KFastSpecialSettingsDBTableName); + + usercerts.Set(KFastAllowedUserCertsDatabaseTableName); + cacerts.Set(KFastAllowedCACertsDatabaseTableName); + ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName); + } + break; #endif - else - { + + default: // Should never happen User::Leave(KErrArgument); } @@ -1312,10 +1192,7 @@ #endif // End: #ifdef USE_FAST_EAP_TYPE db.Close(); - session.Close(); - - CleanupStack::PopAndDestroy(&db); - CleanupStack::PopAndDestroy(&session); + CleanupStack::PopAndDestroy(2); // db, session //////// Copy Encapsulated types @@ -1327,7 +1204,7 @@ || iEapType == eap_type_fast #endif - || iEapType == eap_expanded_type_ttls_plain_pap.get_type() + || iEapType == eap_type_ttls_plain_pap ) @@ -1340,27 +1217,29 @@ for (TInt i = 0; i < iEapArray.Count(); i++) { - if ((iEapType == eap_type_peap && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) - || (iEapType == eap_type_ttls && !CEapTypePlugin::IsDisallowedInsideTTLS(*iEapArray[i])) + if ((iEapType == eap_type_peap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_ttls && !CEapType::IsDisallowedInsideTTLS(*iEapArray[i])) #ifdef USE_FAST_EAP_TYPE - || (iEapType == eap_type_fast && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_fast && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) #endif - || (iEapType == eap_expanded_type_ttls_plain_pap.get_type() && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_ttls_plain_pap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) ) { // Copying the settings of encapsulated EAP type configurations possible inside PEAP and TTLS. - CEapTypePlugin* eapType; + CEapType* eapType; - TEapExpandedType expandedCue = iEapArray[i]->DataType(); +#ifdef USE_EAP_EXPANDED_TYPES + + TBuf8 expandedCue = iEapArray[i]->DataType(); EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeap::CopySettingsL: Expanded cue:", - expandedCue.GetValue().Ptr(), expandedCue.GetValue().Size())); + expandedCue.Ptr(), expandedCue.Size())); - eapType = CEapTypePlugin::NewL(expandedCue.GetValue(), iIndexType, iIndex); + eapType = CEapType::NewL(expandedCue, iIndexType, iIndex); if(eapType == NULL) { @@ -1368,16 +1247,18 @@ User::Leave(KErrNotFound); } - TEapExpandedType aExpandedType; - - TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType( - &iEapType, - &aExpandedType); + eapType->SetTunnelingType(iEapType.get_vendor_type()); - eapType->SetTunnelingType(aExpandedType); +#else // For normal EAP types. + + TBuf8<3> cue = iEapArray[i]->DataType(); + + eapType = CEapType::NewL(cue, iIndexType, iIndex); + + eapType->SetTunnelingType(iEapType); - //eapType->SetTunnelingType(iEapType.get_vendor_type()); - +#endif //#ifdef USE_EAP_EXPANDED_TYPES + CleanupStack::PushL(eapType); eapType->CopySettingsL(aDestinationIndexType, aDestinationIndex); @@ -1395,17 +1276,12 @@ } -// ---------------------------------------------------------- - #ifdef USE_PAC_STORE void CEapTlsPeap::UpdatePacStoreCleanupTableL(const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::UpdatePacStoreCleanupTableL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::UpdatePacStoreCleanupTableL()\n")); - EAP_TRACE_DEBUG_SYMBIAN( (_L("CEapTlsPeap::UpdatePacStoreCleanupTableL: Start"))); @@ -1434,11 +1310,10 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("CEapTlsPeap::UpdatePacStoreCleanupTableL: End"))); - + User::Leave(KErrNone); } #endif // #ifdef USE_PAC_STORE -// ---------------------------------------------------------- // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapCertFetcher.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapCertFetcher.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapCertFetcher.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 31 % */ // This is enumeration of EAPOL source code. @@ -32,8 +32,7 @@ #include "EapTlsPeapCertFetcher.h" #include -#include -#include +#include "eap_am_trace_symbian.h" #include #include @@ -42,11 +41,8 @@ // ================= MEMBER FUNCTIONS ======================= -CEapTlsPeapCertFetcher* CEapTlsPeapCertFetcher::NewL(CAbsEapCertificateFetcher* const aParent) +CEapTlsPeapCertFetcher* CEapTlsPeapCertFetcher::NewL(CEapTlsPeapUiCertificates* const aParent) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::NewL(CAbsEapCertificateFetcher)\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::NewL(CAbsEapCertificateFetcher)\n")); - CEapTlsPeapCertFetcher* self = new(ELeave) CEapTlsPeapCertFetcher(aParent); CleanupStack::PushL(self); self->ConstructL(); @@ -59,9 +55,6 @@ // DON'T USE THIS FUNCTION. THIS IS ONLY FOR EapTlsPeapUtils. CEapTlsPeapCertFetcher* CEapTlsPeapCertFetcher::NewL() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::NewL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::NewL()\n")); - CEapTlsPeapCertFetcher* self = new(ELeave) CEapTlsPeapCertFetcher(); CleanupStack::PushL(self); @@ -90,18 +83,12 @@ //-------------------------------------------------- -CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher(CAbsEapCertificateFetcher* const aParent) +CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher(CEapTlsPeapUiCertificates* const aParent) : CActive(CActive::EPriorityStandard) -, iState(EGetCertificatesNone) , iParent(aParent) , iEncodedCertificate(0) , iCertPtr(0,0) -, iOwnertype(EUserCertificate) -, iCertInfoIndex(0) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher(CAbsEapCertificateFetcher)\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher(CAbsEapCertificateFetcher)\n")); - } //-------------------------------------------------- @@ -109,25 +96,16 @@ // DON'T USE THIS FUNCTION. THIS IS ONLY FOR EapTlsPeapUtils. CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher() : CActive(CActive::EPriorityStandard) -, iState(EGetCertificatesNone) , iParent(NULL) , iEncodedCertificate(0) , iCertPtr(0,0) -, iOwnertype(EUserCertificate) -, iCertInfoIndex(0) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher()\n")); - } //-------------------------------------------------- void CEapTlsPeapCertFetcher::ConstructL() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::ConstructL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::ConstructL()\n")); - User::LeaveIfError(iFs.Connect()); CActiveScheduler::Add(this); @@ -141,9 +119,6 @@ CEapTlsPeapCertFetcher::~CEapTlsPeapCertFetcher() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::~CEapTlsPeapCertFetcher()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::~CEapTlsPeapCertFetcher()\n")); - // Delete iCertInfos for (TInt i = 0; i < iCertInfos.Count(); i++) { @@ -151,19 +126,16 @@ } iCertInfos.Reset(); - iCACerts.ResetAndDestroy(); - - iUserCerts.ResetAndDestroy(); - - delete iCertFilter; - iCertFilter = 0; + iCACerts.Reset(); + iUserCerts.Reset(); + + delete iCertFilter; + delete iCertStore; - iCertStore = 0; - - delete iEncodedCertificate; - iEncodedCertificate = 0; - + + delete iEncodedCertificate; + iFs.Close(); if(IsActive()) @@ -176,13 +148,6 @@ void CEapTlsPeapCertFetcher::GetCertificatesL() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::GetCertificatesL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::GetCertificatesL()\n")); - - iCACerts.ResetAndDestroy(); - - iUserCerts.ResetAndDestroy(); - iState = EGetCertificatesInitStore; if (iCertStore == 0) { @@ -197,145 +162,149 @@ SetActive(); } -//-------------------------------------------------- void CEapTlsPeapCertFetcher::DoCancel() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::DoCancel()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::DoCancel()\n")); - -} - -//-------------------------------------------------- - -void CEapTlsPeapCertFetcher::InitializeQuery() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::InitializeQuery(): iOwnertype=%d\n"), - iOwnertype)); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::InitializeQuery()\n")); - - // Delete iCertInfos - for (TInt i = 0; i < iCertInfos.Count(); i++) - { - iCertInfos[i]->Release(); - } - iCertInfos.Reset(); - - delete iCertFilter; - iCertFilter = 0; - - TRAPD(error, iCertFilter = CCertAttributeFilter::NewL()); - if (error != KErrNone) - { - // Complete with empty lists - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapCertFetcher::InitializeQuery() - Complete with empty lists Error:%d, iUserCerts.Count()=%d, iCACerts.Count()=%d\n"), - error, - iUserCerts.Count(), - iCACerts.Count()) ); - TRAP(error, iParent->CompleteReadCertificatesL(iUserCerts, iCACerts)); - return; - } - iCertFilter->SetFormat(EX509Certificate); - - iCertFilter->SetOwnerType(iOwnertype); - - iCertInfoIndex = 0; - - iState = EGetCertificatesGetCertList; - - iCertStore->List( - iCertInfos, - *iCertFilter, - iStatus); - - SetActive(); } //-------------------------------------------------- void CEapTlsPeapCertFetcher::RunL() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - iStatus.Int()=%d, iState=%d \n"), - iStatus.Int() , iState)); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapCertFetcher::RunL()\n")); - - //int i; - TInt error(KErrNone); + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL - iStatus.Int()=%d, iState=%d \n"), + iStatus.Int() , iState)); + if( iState == EGetSymbianSubjectKeyId ) + { + // Only for GetSymbianSubjectKeyIdL. + iWait.AsyncStop(); // This is needed to continue the execution after Wait.Start() + return; // No need to proceed further. + } + + if( iState == EGetCertificatesRetrieveCert) + { + // This is executed when certificate details are being retrieved. + iWait.AsyncStop(); // This is needed to continue the execution after Wait.Start() + return; // No need to proceed further. + } + + int i; + TInt err(KErrNone); // This causes panic if leaves if (iStatus.Int() != KErrNone) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() -- don't leave..."))); +RDebug::Print(_L("CEapTlsPeapCertFetcher::RunL() -- don't leave...")); } switch (iState) { case EGetCertificatesInitStore: { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - EGetCertificatesInitStore\n"))); + // Delete iCertInfos + for (TInt i = 0; i < iCertInfos.Count(); i++) + { + iCertInfos[i]->Release(); + } + iCertInfos.Reset(); + + delete iCertFilter; + iCertFilter = 0; + + TRAP(err, iCertFilter = CCertAttributeFilter::NewL()); + if (err != KErrNone) + { + // Complete with empty lists + TInt err(KErrNone); + TRAP(err, iParent->CompleteReadCertificatesL(iUserCerts, iCACerts)); + break; + } + iCertFilter->SetFormat(EX509Certificate); - // First get the User certificates. - iOwnertype = EUserCertificate; - InitializeQuery(); + iState = EGetCertificatesGetCertList; + iCertStore->List( + iCertInfos, + *iCertFilter, + iStatus); + SetActive(); } break; - case EGetCertificatesRetrieveCert: + case EGetCertificatesGetCertList: { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - EGetCertificatesRetrieveCert - Symbian cert store found %d certs in device\n"), - iCertInfos.Count())); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() - iWait.Start() returned, iStatus.Int()=%d \n"),iStatus.Int() ) ); - - CCTCertInfo* CertInfo = iCertInfos[iCertInfoIndex]; - CCertificate* cert = NULL; + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL - EGetCertificatesGetCertList - Symbian cert store found %d certs in device\n"), + iCertInfos.Count())); + + if(0 == iCertInfos.Count()) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR : CEapTlsPeapCertFetcher::RunL - SERIOUS PROBLEM - Symbian cert store couldn't find any certs in device\n"))); + } + + for (i = 0; i < iCertInfos.Count(); i++) + { + CCTCertInfo* CertInfo; + CertInfo = iCertInfos[i]; + iEncodedCertificate->Des().SetLength(0); + + TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(iCertInfos[i]->Size())); + if (err != KErrNone) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("\nCEapTlsPeapCertFetcher::RunL() - EGetCertificatesGetCertList - leave from iEncodedCertificate->ReAllocL Error:%d\n"), err ) ); + } + iCertPtr.Set(iEncodedCertificate->Des()); - if ( iStatus.Int() == KErrNone ) - { - switch ( CertInfo->CertificateFormat() ) - { - case EX509Certificate: - { - TRAPD(error, cert = CX509Certificate::NewL( iCertPtr )); - if (error != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapCertFetcher::RunL() - EGetCertificatesGetCertList - leave from CX509Certificate::NewL Label:%S Error:%d\n"), - &(CertInfo->Label()), - error ) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("\nCEapTlsPeapCertFetcher::RunL() - EGetCertificatesGetCertList - Retreiving cert %d\n"), i ) ); + + iCertStore->Retrieve( *CertInfo, iCertPtr, iStatus); + + iState = EGetCertificatesRetrieveCert; + + SetActive(); + iWait.Start(); + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() - iWait.Start() returned, iStatus.Int()=%d \n"),iStatus.Int() ) ); + + CCertificate* cert = NULL; - cert = NULL; - } - break; - } - default: - { - // Only X509 type of certificates are supported at the moment. - // This won't be happening ever since we have used a filter while getting the certificate list. - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapCertFetcher::RunL() - Unsupported Certificate - Not X509\n") ) ); - - cert = NULL; - } - } - } - else - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapCertFetcher::RunL() - Error from Certificate retrieve, iStatus.Int()=%d\n"), iStatus.Int() ) ); - } + if ( iStatus.Int() == KErrNone ) + { + switch ( CertInfo->CertificateFormat() ) + { + case EX509Certificate: + { + TRAPD(err, cert = CX509Certificate::NewL( iCertPtr )); + if (err != KErrNone) + EAP_TRACE_DEBUG_SYMBIAN((_L("\nCEapTlsPeapCertFetcher::RunL() - EGetCertificatesGetCertList - leave from CX509Certificate::NewL Label:%S Error:%d\n"),&(CertInfo->Label()), err ) ); + break; + } + default: + { + // Only X509 type of certificates are supported at the moment. + // This won't be happening ever since we have used a filter while getting the certificate list. + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() - Unsupported Certificate - Not X509\n") ) ); + + break; + } + } + } + else + { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() - Error from Certificate retrieve, iStatus.Int()=%d\n"), iStatus.Int() ) ); + } - if( cert != NULL ) - { - HBufC* pri = NULL; - HBufC* sec = NULL; + if( cert == NULL ) + { + // Some problem above. Skip the below and go for the next certificate. + continue; + } - CleanupStack::PushL(cert); + HBufC* pri = NULL; + HBufC* sec = NULL; + + CleanupStack::PushL( cert ); - X509CertNameParser::PrimaryAndSecondaryNameL( *((CX509Certificate*)cert), pri, sec, CertInfo->Label()); + X509CertNameParser::PrimaryAndSecondaryNameL( *((CX509Certificate*)cert), pri, sec, CertInfo->Label()); - CleanupStack::PopAndDestroy(cert); - - CleanupStack::PushL(pri); - CleanupStack::PushL(sec); - + CleanupStack::PopAndDestroy(); // cert EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() - Label=%S, Pri name=%S,Length=%d, Sec name=%S,Length=%d\n"), &(CertInfo->Label()), pri, pri->Length(), sec, sec->Length() ) ); @@ -343,120 +312,45 @@ EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "CEapTlsPeapCertFetcher::RunL() - Sub Key Id:", (CertInfo->SubjectKeyId().Ptr()), (CertInfo->SubjectKeyId().Size()) ) ); - EapCertificateEntry * const certEntry = new EapCertificateEntry; - if (certEntry == 0) - { - User::Leave(KErrNoMemory); - } - CleanupStack::PushL(certEntry); - - certEntry->SetLabel(CertInfo->Label()); - certEntry->SetSubjectKeyId(CertInfo->SubjectKeyId()); - + SCertEntry certEntry; + + certEntry.iLabel.Copy(iCertInfos[i]->Label()); + certEntry.iSubjectKeyId.Copy(iCertInfos[i]->SubjectKeyId()); + // Copy the new fields. Primary and secondary name. - certEntry->SetPrimaryName(pri->Des().Left(KMaxCertNameLength)); - certEntry->SetSecondaryName(sec->Des().Left(KMaxCertNameLength)); - - if (CertInfo->CertificateOwnerType() == ECACertificate) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - CA certificate\n"))); - - certEntry->SetCertType(EapCertificateEntry::ECA); - error = iCACerts.Append(certEntry); - } - else if (CertInfo->CertificateOwnerType() == EUserCertificate) + certEntry.iPrimaryName.Copy( pri->Des().Left(KMaxNameLength ) ); + certEntry.iSecondaryName.Copy( sec->Des().Left(KMaxNameLength ) ); + + delete pri; + delete sec; + + if (iCertInfos[i]->CertificateOwnerType() == ECACertificate) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - User certificate\n"))); - - certEntry->SetCertType(EapCertificateEntry::EUser); - error = iUserCerts.Append(certEntry); - } - else - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - Unknown certificate\n"))); - } - - if (error == KErrNone) - { - CleanupStack::Pop(certEntry); + iCACerts.Append(certEntry); } - else + else if (iCertInfos[i]->CertificateOwnerType() == EUserCertificate) { - CleanupStack::PopAndDestroy(certEntry); - } - - CleanupStack::PopAndDestroy(sec); - CleanupStack::PopAndDestroy(pri); - + iUserCerts.Append(certEntry); + } } - - ++iCertInfoIndex; - } - - // Here MUST NOT be break. State EGetCertificatesGetCertList is run after the state EGetCertificatesRetrieveCert. + delete iCertFilter; + iCertFilter = 0; - case EGetCertificatesGetCertList: - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - EGetCertificatesGetCertList - Symbian cert store found %d certs in device, iCertInfoIndex=%d\n"), - iCertInfos.Count(), - iCertInfoIndex)); - - if (iCertInfoIndex < iCertInfos.Count()) - { - CCTCertInfo* CertInfo = iCertInfos[iCertInfoIndex]; - - iEncodedCertificate->Des().SetLength(0); - - TRAPD(error, iEncodedCertificate = iEncodedCertificate->ReAllocL(CertInfo->Size())); - if (error != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapCertFetcher::RunL() - EGetCertificatesGetCertList - leave from iEncodedCertificate->ReAllocL Error:%d\n"), error ) ); - } - iCertPtr.Set(iEncodedCertificate->Des()); - - EAP_TRACE_DEBUG_SYMBIAN((_L("\nCEapTlsPeapCertFetcher::RunL() - EGetCertificatesGetCertList - Retreiving cert %d\n"), iCertInfoIndex ) ); - - iState = EGetCertificatesRetrieveCert; - - iCertStore->Retrieve( *CertInfo, iCertPtr, iStatus); - - SetActive(); + // Delete iCertInfos + for (TInt i = 0; i < iCertInfos.Count(); i++) + { + iCertInfos[i]->Release(); } - else if (iOwnertype == EUserCertificate) - { - // Next get the CA certificates. - iOwnertype = ECACertificate; - InitializeQuery(); - return; - } - else - { - delete iCertFilter; - iCertFilter = 0; - - // Delete iCertInfos - for (TInt i = 0; i < iCertInfos.Count(); i++) - { - iCertInfos[i]->Release(); - } - iCertInfos.Reset(); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() - EGetCertificatesGetCertList - Complete list, iUserCerts.Count()=%d, iCACerts.Count()=%d\n"), - iUserCerts.Count(), - iCACerts.Count()) ); - - TRAP(error, iParent->CompleteReadCertificatesL(iUserCerts, iCACerts)); - // Ignore error on purpose. - } + iCertInfos.Reset(); + TRAP(err, iParent->CompleteReadCertificatesL(iUserCerts, iCACerts)); + // Ignore error on purpose. } break; default: - EAP_TRACE_DEBUG_SYMBIAN((_L("WARNING: CEapTlsPeapCertFetcher::RunL(): - default\n"))); break; } return; } -//-------------------------------------------------- // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapProxy.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapProxy.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapProxy.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 14.1.2 % +* %version: 17 % */ // This is enumeration of EAPOL source code. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiCertificates.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiCertificates.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiCertificates.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 52 % +* %version: 18.1.2 % */ // This is enumeration of EAPOL source code. @@ -28,24 +28,22 @@ #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) #include -//#include "EapTlsPeapUtils.h" +#include "EapTlsPeapUtils.h" #include "EapTlsPeapDbDefaults.h" #include "EapTlsPeapDbParameterNames.h" #include #include -#include +#include +#include "EapTlsPeapCertFetcher.h" #include -#include -#include "EapConversion.h" -#include +#include "eap_am_trace_symbian.h" #include #include +const TUint KMaxSqlQueryLength = 256; const TUint KCertArrayGranularity = 16; -// ---------------------------------------------------------- - CEapTlsPeapUiCertificates::CEapTlsPeapUiCertificates( CEapTlsPeapUiConnection * const aUiConn, MEapTlsPeapUiCertificates * const aParent) @@ -53,117 +51,83 @@ , iUiConn(aUiConn) , iUserCerts(0) , iCACerts(0) -, iEapGeneralSettings(0) , iParent(aParent) -, iEapTypeConnection(0) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::CEapTlsPeapUiCertificates()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::CEapTlsPeapUiCertificates()\n")); - } -// ---------------------------------------------------------- CEapTlsPeapUiCertificates::~CEapTlsPeapUiCertificates() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::~CEapTlsPeapUiCertificates()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::~CEapTlsPeapUiCertificates()\n")); - - Close(); + if (iUiConn) + { + Close(); + iUiConn = NULL; + } } -// ---------------------------------------------------------- TInt CEapTlsPeapUiCertificates::Open() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::Open()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::Open()\n")); - if (iIsOpened) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::Open(): KErrAlreadyExists\n"))); return KErrAlreadyExists; } - TEapExpandedType aEapType(iUiConn->GetEapType()); + TInt err = iUiConn->GetDatabase(iDatabase); + if (err != KErrNone) + { + return err; + } - TRAPD(error, iEapTypeConnection = CEapType::NewL(iUiConn->GetIndexType(), iUiConn->GetIndex(), aEapType)); - if (error != KErrNone) + TRAP(err, iCertFetcher = CEapTlsPeapCertFetcher::NewL(this)); + if (err != KErrNone) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::Open(): CEapType::NewL() error=%d\n"),error)); - return error; + return err; } - - iEapTypeConnection->SetTunnelingType(iUiConn->GetTunnelingType()); - - TRAP(error, iEapGeneralSettings = CEapGeneralSettings::NewL(iUiConn->GetIndexType(), iUiConn->GetIndex())); - if (error != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::Open(): CEapGeneralSettings::NewL() error=%d\n"),error)); - return error; - } iIsOpened = ETrue; return KErrNone; } -// ---------------------------------------------------------- TInt CEapTlsPeapUiCertificates::Close() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::Close()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::Close()\n")); - - if (iIsOpened == EFalse) - { - return KErrNone; - } - - delete iUserCerts; - iUserCerts = 0; + if (iIsOpened == EFalse) + { + return KErrNone; + } - delete iCACerts; - iCACerts = 0; - - delete iEapGeneralSettings; - iEapGeneralSettings = 0; - - iUiConn = NULL; - - iIsOpened = EFalse; - - return KErrNone; + delete iUserCerts; + iUserCerts = 0; + + delete iCACerts; + iCACerts = 0; + + delete iCertFetcher; + iCertFetcher = 0; + + iUiConn = NULL; + return KErrNone; } -// ---------------------------------------------------------- - -TInt CEapTlsPeapUiCertificates::GetCertificates( - RPointerArray ** aUserCerts, - RPointerArray ** aCACerts) +TInt CEapTlsPeapUiCertificates::GetCertificates(CArrayFixFlat ** aUserCerts, + CArrayFixFlat ** aCACerts) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::GetCertificates()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::GetCertificates()\n")); - if (aUserCerts == NULL || aCACerts == NULL) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::GetCertificates(): KErrArgument\n"))); return KErrArgument; } - if (iIsOpened == EFalse) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::GetCertificates(): KErrSessionClosed\n"))); return KErrSessionClosed; } - if (iUserCerts == 0) { - iUserCerts = new RPointerArray(KCertArrayGranularity); + iUserCerts = new CArrayFixFlat(KCertArrayGranularity); if (!iUserCerts) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::GetCertificates(): iUserCerts, KErrNoMemory\n"))); return KErrNoMemory; } } @@ -172,236 +136,460 @@ if (iCACerts == 0) { - iCACerts = new RPointerArray(KCertArrayGranularity); + iCACerts = new CArrayFixFlat(KCertArrayGranularity); if (!iUserCerts) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::GetCertificates(): iCACerts, KErrNoMemory\n"))); return KErrNoMemory; } } *aCACerts = iCACerts; - TInt error(KErrNone); - - error = iEapGeneralSettings->GetCertificateLists( - *iUserCerts, - *iCACerts); - - if (error != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::GetCertificates(): GetCertificateLists() error=%d\n"), - error)); - iParent->CompleteReadCertificates(error); - return error; - } - - TRAP(error, SelectActiveCertificatesL()); + TRAPD(err, iCertFetcher->GetCertificatesL()); - return error; + return err; } - -// ---------------------------------------------------------- + -void CEapTlsPeapUiCertificates::SelectCertificatesL( - const EapCertificateEntry::TCertType aCertType, - const EAPSettings & aSettings, - RPointerArray& aAvailableCerts) +void CEapTlsPeapUiCertificates::CompleteReadCertificatesL( + const RArray& aAvailableUserCerts, + const RArray& aAvailableCACerts) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::SelectCertificatesL(): - Available cert count in device aAvailableCerts.Count()=%d, aSettings.iCertificates.Count()=%d\n"), - aAvailableCerts.Count(), - aSettings.iCertificates.Count())); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::SelectCertificatesL()\n")); + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::CompleteReadCertificatesL - Available cert count in device - USER=%d, CA=%d \n"), + aAvailableUserCerts.Count(), aAvailableCACerts.Count())); - // Loop through available certs - TInt avail_ind(0); - - for (avail_ind = 0; avail_ind < aAvailableCerts.Count(); ++avail_ind) + // Now all available certificates have been read. + // Get the allowed certs from the database and set their iIsEnabled flag -> ETrue. + TInt err(KErrNone); + if (iUiConn->GetEapType() == eap_type_tls) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::SelectCertificatesL(): loops aAvailableCerts avail_ind=%d, aAvailableCerts.Count()=%d, aSettings.iCertificates.Count()=%d\n"), - avail_ind, - aAvailableCerts.Count(), - aSettings.iCertificates.Count()) ); - - EapCertificateEntry * const avail_cert = aAvailableCerts[avail_ind]; - - EAP_TRACE_SETTINGS(avail_cert); - - avail_cert->SetIsEnabled(EFalse); - - if (aSettings.iCertificatesPresent) + TRAP(err, FetchDataL(KTlsAllowedUserCertsDatabaseTableName, aAvailableUserCerts, iUserCerts)); + if (err != KErrNone) { - TInt select_ind(0); + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::CompleteReadCertificatesL -TLS- USER cert - LEAVE from FetchDataL err=%d\n"), + err)); + + iParent->CompleteReadCertificates(err); + return; + } + TRAP(err, FetchDataL(KTlsAllowedCACertsDatabaseTableName, aAvailableCACerts, iCACerts)); + if (err != KErrNone) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::CompleteReadCertificatesL -TLS- CA cert - LEAVE from FetchDataL err=%d\n"), + err)); - for (select_ind = 0; select_ind < aSettings.iCertificates.Count(); ++select_ind) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::SelectCertificatesL(): loops aSettings.iCertificates select_ind=%d\n"), - select_ind ) ); - - EapCertificateEntry * const conf_cert = aSettings.iCertificates[select_ind]; - - EAP_TRACE_SETTINGS(conf_cert); - - if (aCertType == conf_cert->GetCertType() - && avail_cert->GetSubjectKeyId() == conf_cert->GetSubjectKeyId()) - { - avail_cert->SetIsEnabled(ETrue); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::SelectCertificatesL(): - Reading certificate details from the DB - Label=%S \n"), - avail_cert->GetLabel() ) ); - - EAP_TRACE_DATA_DEBUG_SYMBIAN(("Subject Key Id:", - avail_cert->GetSubjectKeyId().Ptr(), - avail_cert->GetSubjectKeyId().Length())); - } - } + iParent->CompleteReadCertificates(err); + return; + } + + } + else if (iUiConn->GetEapType() == eap_type_peap) + { + + TRAP(err, FetchDataL(KPeapAllowedUserCertsDatabaseTableName, aAvailableUserCerts, iUserCerts)); + if (err != KErrNone) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::CompleteReadCertificatesL -PEAP- USER cert - LEAVE from FetchDataL err=%d\n"), + err)); + + iParent->CompleteReadCertificates(err); + return; + } + TRAP(err, FetchDataL(KPeapAllowedCACertsDatabaseTableName, aAvailableCACerts, iCACerts)); + if (err != KErrNone) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::CompleteReadCertificatesL -PEAP- CA cert - LEAVE from FetchDataL err=%d\n"), + err)); + + iParent->CompleteReadCertificates(err); + return; } } -} - -// ---------------------------------------------------------- - -void CEapTlsPeapUiCertificates::SelectActiveCertificatesL() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::SelectActiveCertificatesL(): - Available cert count in device - USER=%d, CA=%d \n"), - iUserCerts->Count(), iCACerts->Count())); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::SelectActiveCertificatesL()\n")); - - // Now all available certificates have been read. - // Get the allowed certs from the server and set their iIsEnabled flag -> ETrue. - - EAPSettings aSettings; - - TRAPD(error, iEapTypeConnection->GetConfigurationL(aSettings)); - if (error) + else if (iUiConn->GetEapType() == eap_type_ttls || iUiConn->GetEapType() == eap_type_ttls_plain_pap) + { + + TRAP(err, FetchDataL(KTtlsAllowedUserCertsDatabaseTableName, aAvailableUserCerts, iUserCerts)); + if (err != KErrNone) + { + EAP_TRACE_DEBUG_SYMBIAN((_L( + "CEapTlsPeapUiCertificates::CompleteReadCertificatesL -TTLS- USER cert - LEAVE from FetchDataL err=%d\n"), + err)); + + iParent->CompleteReadCertificates(err); + return; + } + TRAP(err, FetchDataL(KTtlsAllowedCACertsDatabaseTableName, aAvailableCACerts, iCACerts)); + if (err != KErrNone) + { + EAP_TRACE_DEBUG_SYMBIAN((_L( + "CEapTlsPeapUiCertificates::CompleteReadCertificatesL -TTLS- CA cert - LEAVE from FetchDataL err=%d\n"), + err)); + + iParent->CompleteReadCertificates(err); + return; + } + } + +#ifdef USE_FAST_EAP_TYPE + else if (iUiConn->GetEapType() == eap_type_fast) + { + + TRAP(err, FetchDataL(KFastAllowedUserCertsDatabaseTableName, aAvailableUserCerts, iUserCerts)); + if (err != KErrNone) + { + EAP_TRACE_DEBUG_SYMBIAN((_L( + "CEapTlsPeapUiCertificates::CompleteReadCertificatesL -FAST- USER cert - LEAVE from FetchDataL err=%d\n"), + err)); + + iParent->CompleteReadCertificates(err); + return; + } + TRAP(err, FetchDataL(KFastAllowedCACertsDatabaseTableName, aAvailableCACerts, iCACerts)); + if (err != KErrNone) + { + EAP_TRACE_DEBUG_SYMBIAN((_L( + "CEapTlsPeapUiCertificates::CompleteReadCertificatesL -FAST- CA cert - LEAVE from FetchDataL err=%d\n"), + err)); + + iParent->CompleteReadCertificates(err); + return; + } + } +#endif //#ifdef USE_FAST_EAP_TYPE + + else { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::SelectActiveCertificatesL(): GetConfigurationL(): failed %d\n"), error)); - iParent->CompleteReadCertificates(error); - User::Leave(error); + iParent->CompleteReadCertificates(KErrNotSupported); + return; } - - TRAP(error, SelectCertificatesL(EapCertificateEntry::EUser, aSettings, *iUserCerts)); - if (error) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::SelectActiveCertificatesL(): SelectCertificatesL(iUserCerts): failed %d\n"), error)); - iParent->CompleteReadCertificates(error); - User::Leave(error); - } - - TRAP(error, SelectCertificatesL(EapCertificateEntry::ECA, aSettings, *iCACerts)); - if (error) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::SelectActiveCertificatesL(): SelectCertificatesL(iCACerts): failed %d\n"), error)); - iParent->CompleteReadCertificates(error); - User::Leave(error); - } - + // Operation was successful iParent->CompleteReadCertificates(KErrNone); } -// ---------------------------------------------------------- +void CEapTlsPeapUiCertificates::FetchDataL( + const TDesC& aTableName, + const RArray& aAvailableCerts, + CArrayFixFlat* const aArray) +{ + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::FetchDataL - Fetching & comparing cert details from table:%S\n"), + &aTableName)); + + aArray->Reset(); + + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = buf->Des(); + + // Form the query. Query everything. + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); -void CEapTlsPeapUiCertificates::SaveCertificatesL( - const EapCertificateEntry::TCertType /* aCertType */, - const RPointerArray* const aAvailableCerts, - EAPSettings & aSettings) + sqlStatement.Format(KSQLQuery, + &aTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + + // Evaluate view + RDbView view; + User::LeaveIfError(view.Prepare(iDatabase, TDbQuery(sqlStatement))); + CleanupClosePushL(view); + User::LeaveIfError(view.EvaluateAll()); + + // Get column set so we get the correct column numbers + CDbColSet* colSet = view.ColSetL(); + CleanupStack::PushL(colSet); + + TEapTlsPeapUiCertificate tmp; + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::FetchDataL - Available certs=%d\n"), + aAvailableCerts.Count())); + + // Loop through available certs + TInt i(0); + for (i = 0; i < aAvailableCerts.Count(); i++) + { + SCertEntry cert = aAvailableCerts[i]; + + tmp.iCertEntry = cert; + tmp.iIsEnabled = EFalse; + + // Try to find the cert from the database rows + if (view.FirstL()) + { + do + { + view.GetL(); + if ((view.ColDes(colSet->ColNo(KCertLabel)) == cert.iLabel + || view.IsColNull(colSet->ColNo(KCertLabel))) + && view.ColDes8(colSet->ColNo(KSubjectKeyIdentifier)) == cert.iSubjectKeyId) + { + tmp.iIsEnabled = ETrue; + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::FetchDataL - Reading certificate details from the DB - Label=%S \n"), + &(cert.iLabel) ) ); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "Subject Key Id:", cert.iSubjectKeyId.Ptr(), + cert.iSubjectKeyId.Size() ) ); + break; + } + } while (view.NextL() != EFalse); + } + + aArray->AppendL(tmp); + } + CleanupStack::PopAndDestroy(); // colset + CleanupStack::PopAndDestroy(); // view + CleanupStack::PopAndDestroy(buf); +} + +TInt CEapTlsPeapUiCertificates::Update() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::SaveCertificatesL(): - Available cert count %d \n"), - aAvailableCerts->Count())); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::SaveCertificatesL()\n")); + TRAPD(err, UpdateL()); + + if(KErrNone != err) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::Update - UpdateL LEAVES with error =%d \n"), + err)); + } - TInt avail_ind(0); - for (avail_ind = 0; avail_ind < aAvailableCerts->Count(); avail_ind++) + return err; +} + + +void CEapTlsPeapUiCertificates::UpdateL() +{ + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = buf->Des(); + + // USER CERTIFICATES + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + if (iUiConn->GetEapType() == eap_type_tls) + { + sqlStatement.Format( + KSQL, + &KTlsAllowedUserCertsDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } + else if (iUiConn->GetEapType() == eap_type_peap) + { + sqlStatement.Format( + KSQL, + &KPeapAllowedUserCertsDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } + else if (iUiConn->GetEapType() == eap_type_ttls || iUiConn->GetEapType() == eap_type_ttls_plain_pap) { - if ((*aAvailableCerts)[avail_ind]->GetIsEnabled()) + sqlStatement.Format( + KSQL, + &KTtlsAllowedUserCertsDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } + +#ifdef USE_FAST_EAP_TYPE + else if (iUiConn->GetEapType() == eap_type_fast) + { + sqlStatement.Format( + KSQL, + &KFastAllowedUserCertsDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } +#endif //#ifdef USE_FAST_EAP_TYPE + + RDbView view; + User::LeaveIfError(view.Prepare(iDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + CleanupClosePushL(view); + User::LeaveIfError(view.EvaluateAll()); + + // Get column set so we get the correct column numbers + CDbColSet* colSet; + colSet = view.ColSetL(); + CleanupStack::PushL(colSet); + + // Delete old rows + if (view.FirstL()) + { + do { + view.DeleteL(); + } while (view.NextL() != EFalse); + } + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::UpdateL - About to update cert details in the DB - User cert count=%d \n"), + iUserCerts->Count())); + + TInt i(0); + for (i = 0; i < iUserCerts->Count(); i++) + { + if ((*iUserCerts)[i].iIsEnabled) { - EAP_TRACE_SETTINGS((*aAvailableCerts)[avail_ind]); - // Validate data lengths. - if((*aAvailableCerts)[avail_ind]->GetLabel()->Length() > KMaxCertLabelLengthInDB - || (*aAvailableCerts)[avail_ind]->GetSubjectKeyId().Length() > KMaxSubjectKeyIdLengthInDB) + if((*iUserCerts)[i].iCertEntry.iLabel.Length() > KMaxCertLabelLengthInDB + || (*iUserCerts)[i].iCertEntry.iSubjectKeyId.Length() > KMaxSubjectKeyIdLengthInDB) { // Too long data. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::UpdateL(): User : Too long Label or SubjectKeyId. Length: Label=%d, SubjectKeyId=%d \n"), - (*aAvailableCerts)[avail_ind]->GetLabel()->Length(), - (*aAvailableCerts)[avail_ind]->GetSubjectKeyId().Length())); + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::UpdateL: User : Too long Label or SubjectKeyId. Length: Label=%d, SubjectKeyId=%d \n"), + (*iUserCerts)[i].iCertEntry.iLabel.Length(), (*iUserCerts)[i].iCertEntry.iSubjectKeyId.Length())); User::Leave(KErrArgument); } - -#if 1 - - EapCertificateEntry * const aCertEntry = (*aAvailableCerts)[avail_ind]->Copy(); - if (aCertEntry == 0) - { - User::Leave(KErrNoMemory); - } - CleanupStack::PushL(aCertEntry); - -#else - - EapCertificateEntry * const aCertEntry = new EapCertificateEntry; - if (aCertEntry == 0) - { - User::Leave(KErrNoMemory); - } - CleanupStack::PushL(aCertEntry); - - aCertEntry->SetCertType(aCertType); - aCertEntry->GetSubjectKeyIdWritable()->Copy(*((*aAvailableCerts)[avail_ind]->GetSubjectKeyId())); - -#endif - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::UpdateL(): - Wrote User cert details to the DB - Label=%S \n"), - aCertEntry->GetLabel() ) ); + + view.InsertL(); + // Set the default values. The other three tables (certs, ca certs & cipher suites) are empty by default. + view.SetColL(colSet->ColNo(KServiceType), static_cast(iUiConn->GetIndexType())); + view.SetColL(colSet->ColNo(KServiceIndex), static_cast(iUiConn->GetIndex())); + view.SetColL(colSet->ColNo(KTunnelingType), static_cast(iUiConn->GetTunnelingType())); + view.SetColL(colSet->ColNo(KCertLabel), (*iUserCerts)[i].iCertEntry.iLabel); + view.SetColL(colSet->ColNo(KSubjectKeyIdentifier), (*iUserCerts)[i].iCertEntry.iSubjectKeyId); + view.SetColL(colSet->ColNo(KActualSubjectKeyIdentifier), (*iUserCerts)[i].iCertEntry.iSubjectKeyId); + view.PutL(); - EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "Subject Key Id:", - aCertEntry->GetSubjectKeyId().Ptr(), - aCertEntry->GetSubjectKeyId().Length() ) ); - - EAP_TRACE_SETTINGS(aCertEntry); - - aSettings.iCertificates.AppendL(aCertEntry); - - aSettings.iCertificatesPresent = ETrue; - - CleanupStack::Pop(aCertEntry); + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::UpdateL - Wrote User cert details to the DB - Label=%S \n"), + &((*iUserCerts)[i].iCertEntry.iLabel) ) ); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "Subject Key Id:", (*iUserCerts)[i].iCertEntry.iSubjectKeyId.Ptr(), + (*iUserCerts)[i].iCertEntry.iSubjectKeyId.Size() ) ); } } + + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(); // view + + // CA CERTIFICATES + _LIT(KSQL2, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + if (iUiConn->GetEapType() == eap_type_tls) + { + sqlStatement.Format( + KSQL2, + &KTlsAllowedCACertsDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } + else if (iUiConn->GetEapType() == eap_type_peap) + { + sqlStatement.Format( + KSQL2, + &KPeapAllowedCACertsDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } + else if (iUiConn->GetEapType() == eap_type_ttls || iUiConn->GetEapType() == eap_type_ttls_plain_pap) + { + sqlStatement.Format( + KSQL2, + &KTtlsAllowedCACertsDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } + +#ifdef USE_FAST_EAP_TYPE + else if (iUiConn->GetEapType() == eap_type_fast) + { + sqlStatement.Format( + KSQL2, + &KFastAllowedCACertsDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } +#endif // #ifdef USE_FAST_EAP_TYPE + + User::LeaveIfError(view.Prepare(iDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + CleanupClosePushL(view); + User::LeaveIfError(view.EvaluateAll()); + + // Get column set so we get the correct column numbers + colSet = view.ColSetL(); + CleanupStack::PushL(colSet); + + // Delete old rows + if (view.FirstL()) + { + do { + view.DeleteL(); + } while (view.NextL() != EFalse); + } + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::UpdateL - About to update cert details in the DB - CA cert count=%d \n"), + iCACerts->Count())); + + for (i = 0; i < iCACerts->Count(); i++) + { + if ((*iCACerts)[i].iIsEnabled) + { + // Validate data lengths. + if((*iCACerts)[i].iCertEntry.iLabel.Length() > KMaxCertLabelLengthInDB + || (*iCACerts)[i].iCertEntry.iSubjectKeyId.Length() > KMaxSubjectKeyIdLengthInDB) + { + // Too long data. Can not be stored in DB. + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::UpdateL: CA : Too long Label or SubjectKeyId. Length: Label=%d, SubjectKeyId=%d \n"), + (*iCACerts)[i].iCertEntry.iLabel.Length(), (*iCACerts)[i].iCertEntry.iSubjectKeyId.Length())); + + User::Leave(KErrArgument); + } + + view.InsertL(); + // Set the default values. The other three tables (certs, ca certs & cipher suites) are empty by default. + view.SetColL(colSet->ColNo(KServiceType), static_cast(iUiConn->GetIndexType())); + view.SetColL(colSet->ColNo(KServiceIndex), static_cast(iUiConn->GetIndex())); + view.SetColL(colSet->ColNo(KTunnelingType), static_cast(iUiConn->GetTunnelingType())); + view.SetColL(colSet->ColNo(KCertLabel), (*iCACerts)[i].iCertEntry.iLabel); + view.SetColL(colSet->ColNo(KSubjectKeyIdentifier), (*iCACerts)[i].iCertEntry.iSubjectKeyId); + view.SetColL(colSet->ColNo(KActualSubjectKeyIdentifier), (*iCACerts)[i].iCertEntry.iSubjectKeyId); + view.PutL(); + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::UpdateL - Wrote CA cert details to the DB - Label=%S \n"), + &((*iCACerts)[i].iCertEntry.iLabel) ) ); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "Subject Key Id:", (*iCACerts)[i].iCertEntry.iSubjectKeyId.Ptr(), + (*iCACerts)[i].iCertEntry.iSubjectKeyId.Size() ) ); + } + } + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(); // view + + CleanupStack::PopAndDestroy(buf); } -// ---------------------------------------------------------- - -TInt CEapTlsPeapUiCertificates::Update() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::Update()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::Update()\n")); - - EAPSettings aSettings; - - TRAPD(error, SaveCertificatesL(EapCertificateEntry::EUser, iUserCerts, aSettings)); - if (error) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::Update() SaveCertificatesL(iUserCerts): failed %d\n"), error)); - iParent->CompleteReadCertificates(error); - return error; - } - - TRAP(error, SaveCertificatesL(EapCertificateEntry::ECA, iCACerts, aSettings)); - if (error) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::Update() SaveCertificatesL(iCACerts): failed %d\n"), error)); - iParent->CompleteReadCertificates(error); - return error; - } - - TRAP(error,iEapTypeConnection->SetConfigurationL(aSettings)); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::Update(): error = %d\n"),error)); - - return error; -} - -// ---------------------------------------------------------- // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiCipherSuites.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiCipherSuites.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiCipherSuites.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 13.1.2 % */ // This is enumeration of EAPOL source code. @@ -30,33 +30,26 @@ // INCLUDE FILES #include -//#include "EapTlsPeapUtils.h" +#include "EapTlsPeapUtils.h" #include "EapTlsPeapDbParameterNames.h" #include "EapTlsPeapDbDefaults.h" #include #include #include -#include -#include -//const TUint KMaxSqlQueryLength = 256; +const TUint KMaxSqlQueryLength = 256; CEapTlsPeapUiCipherSuites::CEapTlsPeapUiCipherSuites(CEapTlsPeapUiConnection * const aUiConn) : iIsOpened(EFalse) , iUiConn(aUiConn) , iDataPtr(NULL) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::CEapTlsPeapUiCipherSuites()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::CEapTlsPeapUiCipherSuites()\n")); } CEapTlsPeapUiCipherSuites::~CEapTlsPeapUiCipherSuites() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::~CEapTlsPeapUiCipherSuites()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::~CEapTlsPeapUiCipherSuites()\n")); - - if (iUiConn) + if (iUiConn) { Close(); iUiConn = NULL; @@ -66,24 +59,16 @@ TInt CEapTlsPeapUiCipherSuites::Open() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::Open()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::Open()\n")); - if (iIsOpened) { return KErrAlreadyExists; } - TEapExpandedType aEapType(iUiConn->GetEapType()); - - TRAPD(err, iEapTypeConnection = CEapType::NewL(iUiConn->GetIndexType(), iUiConn->GetIndex(), aEapType)); + TInt err = iUiConn->GetDatabase(iDatabase); if (err != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCipherSuites::Open() CEapType::NewL err=%d\n"),err)); + { return err; - } - - iEapTypeConnection->SetTunnelingType(iUiConn->GetTunnelingType()); + } iIsOpened = ETrue; @@ -91,11 +76,8 @@ } -TInt CEapTlsPeapUiCipherSuites::GetCipherSuites(RPointerArray ** aDataPtr) +TInt CEapTlsPeapUiCipherSuites::GetCipherSuites(CArrayFixFlat ** aDataPtr) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::GetCipherSuites()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::GetCipherSuites()\n")); - if (aDataPtr == NULL) { return KErrArgument; @@ -109,25 +91,19 @@ { *aDataPtr = iDataPtr; return KErrNone; - } - - iDataPtr = new RPointerArray(8); + } + iDataPtr = new CArrayFixFlat(8); if (!iDataPtr) { return KErrNoMemory; } - TInt i_ind(0); - while (available_cipher_suites[i_ind] != 0) + TInt i(0); + while (available_cipher_suites[i] != 0) { - TEapTlsPeapUiCipherSuite * const tmp = new TEapTlsPeapUiCipherSuite; - if (tmp == 0) - { - return KErrNoMemory; - } - - tmp->SetCipherSuite(available_cipher_suites[i_ind]); - tmp->SetIsEnabled(EFalse); + TEapTlsPeapUiCipherSuite tmp; + tmp.iCipherSuite = available_cipher_suites[i]; + tmp.iIsEnabled = EFalse; TRAPD(err, iDataPtr->AppendL(tmp)); if (err != KErrNone) @@ -135,38 +111,19 @@ return err; } - i_ind++; + i++; } - EAPSettings aSettings; - TRAPD(error,iEapTypeConnection->GetConfigurationL(aSettings)); - if (error) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCipherSuites::GetCipherSuites() GetConfigurationL(): failed %d\n"), error)); - return error; - } - - if (aSettings.iCipherSuitesPresent) - { - TInt i_ind(0); - for (i_ind = 0; i_ind < aSettings.iCipherSuites.Count(); ++i_ind) - { - TUint aCipherSuite = aSettings.iCipherSuites[i_ind]; - TInt j_ind(0); + TRAPD(err, FetchDataL()); + + if (err != KErrNone) + { + delete iDataPtr; + return err; + } - for (j_ind = 0; j_ind < iDataPtr->Count(); j_ind++) - { - if ((*iDataPtr)[j_ind]->GetCipherSuite() == aCipherSuite) - { - (*iDataPtr)[j_ind]->SetIsEnabled(ETrue); - break; - } - } - } - } - *aDataPtr = iDataPtr; return KErrNone; @@ -175,41 +132,105 @@ TInt CEapTlsPeapUiCipherSuites::Update() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::Update()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::Update()\n")); + TRAPD(err, UpdateL()); + return err; +} + +void CEapTlsPeapUiCipherSuites::UpdateL() +{ + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = buf->Des(); + + // Form the query. Query everything. + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - EAPSettings aSettings; + if (iUiConn->GetEapType() == eap_type_tls) + { + sqlStatement.Format(KSQLQuery, + &KTlsAllowedCipherSuitesDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } + else if (iUiConn->GetEapType() == eap_type_peap) + { + sqlStatement.Format(KSQLQuery, + &KPeapAllowedCipherSuitesDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } + else if (iUiConn->GetEapType() == eap_type_ttls || iUiConn->GetEapType() == eap_type_ttls_plain_pap) + { + sqlStatement.Format(KSQLQuery, + &KTtlsAllowedCipherSuitesDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } - aSettings.iCipherSuitesPresent = ETrue; - - TInt i_ind(0); +#ifdef USE_FAST_EAP_TYPE + else if (iUiConn->GetEapType() == eap_type_fast) + { + sqlStatement.Format(KSQLQuery, + &KFastAllowedCipherSuitesDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } +#endif //#ifdef USE_FAST_EAP_TYPE - for (i_ind = 0; i_ind < iDataPtr->Count(); i_ind++) + // Evaluate view + RDbView view; + User::LeaveIfError(view.Prepare(iDatabase, TDbQuery(sqlStatement))); + CleanupClosePushL(view); + User::LeaveIfError(view.EvaluateAll()); + + // Delete old rows + if (view.FirstL()) + { + do { + view.DeleteL(); + } while (view.NextL() != EFalse); + } + + // Get column set so we get the correct column numbers + CDbColSet* colSet = view.ColSetL(); + CleanupStack::PushL(colSet); + + TInt i(0); + + for (i = 0; i < iDataPtr->Count(); i++) { - if ((*iDataPtr)[i_ind]->GetIsEnabled()) + if (iDataPtr->At(i).iIsEnabled) { - TInt error = aSettings.iCipherSuites.Append((*iDataPtr)[i_ind]->GetCipherSuite()); - if (error != KErrNone) - { - return error; - } + view.InsertL(); + view.SetColL(colSet->ColNo(KServiceType), static_cast(iUiConn->GetIndexType())); + view.SetColL(colSet->ColNo(KServiceIndex), static_cast(iUiConn->GetIndex())); + view.SetColL(colSet->ColNo(KTunnelingType), static_cast(iUiConn->GetTunnelingType())); + view.SetColL(colSet->ColNo(KCipherSuite), static_cast(iDataPtr->At(i).iCipherSuite)); + view.PutL(); } } - - TRAPD(error,iEapTypeConnection->SetConfigurationL(aSettings)); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update(): error = %d\n"),error)); - - return error; + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(); // view + CleanupStack::PopAndDestroy(buf); } - - TInt CEapTlsPeapUiCipherSuites::Close() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::Close()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::Close()\n")); - if (iIsOpened == EFalse) { return KErrNone; @@ -222,4 +243,109 @@ return KErrNone; } + +void CEapTlsPeapUiCipherSuites::FetchDataL() +{ + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = buf->Des(); + + // Form the query. Query everything. + _LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + if (iUiConn->GetEapType() == eap_type_tls) + { + sqlStatement.Format(KSQLQuery, + &KCipherSuite, + &KTlsAllowedCipherSuitesDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } + else if (iUiConn->GetEapType() == eap_type_peap) + { + sqlStatement.Format(KSQLQuery, + &KCipherSuite, + &KPeapAllowedCipherSuitesDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } + else if (iUiConn->GetEapType() == eap_type_ttls || iUiConn->GetEapType() == eap_type_ttls_plain_pap) + { + sqlStatement.Format(KSQLQuery, + &KCipherSuite, + &KTtlsAllowedCipherSuitesDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } + +#ifdef USE_FAST_EAP_TYPE + else if (iUiConn->GetEapType() == eap_type_fast) + { + sqlStatement.Format(KSQLQuery, + &KCipherSuite, + &KFastAllowedCipherSuitesDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } +#endif //#ifdef USE_FAST_EAP_TYPE + + // Evaluate view + RDbView view; + User::LeaveIfError(view.Prepare(iDatabase, TDbQuery(sqlStatement))); + CleanupClosePushL(view); + User::LeaveIfError(view.EvaluateAll()); + + // Get column set so we get the correct column numbers + CDbColSet* colSet = view.ColSetL(); + CleanupStack::PushL(colSet); + + if (view.FirstL()) + { + do { + view.GetL(); + + switch (view.ColType(colSet->ColNo(KCipherSuite))) + { + case EDbColUint32: + { + // Find the corresponding cipher suite in the list + TInt j(0); + TUint id = view.ColUint(colSet->ColNo(KCipherSuite)); + for (j = 0; j < iDataPtr->Count(); j++) + { + if (iDataPtr->At(j).iCipherSuite == id) + { + iDataPtr->At(j).iIsEnabled = ETrue; + break; + } + } + } + break; + default: + User::Leave(KErrArgument); + } + } while (view.NextL() != EFalse); + } + + CleanupStack::PopAndDestroy(colSet); + + CleanupStack::PopAndDestroy(); // view + CleanupStack::PopAndDestroy(buf); +} + // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiConnection.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiConnection.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiConnection.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 35 % +* %version: 24.1.2 % */ // This is enumeration of EAPOL source code. @@ -27,136 +27,137 @@ #define EAP_FILE_NUMBER_DATE 1127594498 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) -//#include "EapTlsPeapUtils.h" +#include "EapTlsPeapUtils.h" #include #include #include #include #include #include -#include "EapTraceSymbian.h" +#include "eap_am_trace_symbian.h" #ifdef USE_PAC_STORE -#include "EapFastPacStore.h" +#include "pac_store_db_symbian.h" #endif -// ---------------------------------------------------------- - CEapTlsPeapUiConnection::CEapTlsPeapUiConnection( const TIndexType aIndexType, const TInt aIndex, - const TEapExpandedType aTunnelingType, - const TEapExpandedType aEapType) + const TInt aTunnelingType, + const TInt aEapType) : iIndexType(aIndexType) , iIndex(aIndex) , iTunnelingType(aTunnelingType) , iEapType(aEapType) + , iIsConnected(EFalse) , iDataConn(NULL) , iCipherSuites(NULL) , iEapTypes(NULL) , iCertificates(NULL) , iPacStoreDb(NULL) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::CEapTlsPeapUiConnection()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::CEapTlsPeapUiConnection()\n")); - } -// ---------------------------------------------------------- CEapTlsPeapUiConnection::~CEapTlsPeapUiConnection() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::~CEapTlsPeapUiConnection()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::~CEapTlsPeapUiConnection()\n")); - #ifdef USE_PAC_STORE delete iPacStoreDb; #endif } -// ---------------------------------------------------------- - TInt CEapTlsPeapUiConnection::Connect() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::Connect()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::Connect()\n")); - + if(iIsConnected) + { + // Already connected. + return KErrNone; + } + TRAPD(err, ConnectL()); if(err == KErrNone) { + iIsConnected = ETrue; } return err; } -// ---------------------------------------------------------- - void CEapTlsPeapUiConnection::ConnectL() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::ConnectL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::ConnectL()\n")); +#ifdef USE_EAP_EXPANDED_TYPES + + eap_type_value_e tunnelingType(static_cast(iTunnelingType)); + eap_type_value_e eapType(static_cast(iEapType)); + +#else + + eap_type_value_e tunnelingType = static_cast(iTunnelingType); + eap_type_value_e eapType = static_cast(iEapType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES #ifdef USE_PAC_STORE #ifdef USE_FAST_EAP_TYPE - if(iEapType == *EapExpandedTypeFast.GetType() && iPacStoreDb == NULL) + if(iEapType == eap_type_fast && iPacStoreDb == NULL) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapUiConnection::ConnectL() CEapFastPacStore::NewL()"))); - iPacStoreDb = CEapFastPacStore::NewL(); + iPacStoreDb = CPacStoreDatabase::NewL(); User::LeaveIfNull(iPacStoreDb); EAP_TRACE_DEBUG_SYMBIAN( (_L("CEapTlsPeapUiConnection::Connect Created PAC store"))); iPacStoreDb->OpenPacStoreL(); - + iPacStoreDb->CreateDeviceSeed( NULL ); EAP_TRACE_DEBUG_SYMBIAN( (_L("CEapTlsPeapUiConnection::Connect Opened PAC store"))); - - iPacStoreDb->CreateDeviceSeedL(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapUiConnection::Connect Created device seed"))); } #endif // End: #ifdef USE_FAST_EAP_TYPE #endif // End: #ifdef USE_PAC_STORE + // Open or create the databse where all the settings are stored. + EapTlsPeapUtils::OpenDatabaseL( + iDbNamedDatabase, + iDbs, + iIndexType, + iIndex, + tunnelingType, + eapType); } -// ---------------------------------------------------------- TInt CEapTlsPeapUiConnection::Close() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::Close()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::Close()\n")); + if (iIsConnected) + { #ifdef USE_PAC_STORE #ifdef USE_FAST_EAP_TYPE - if(iEapType == *EapExpandedTypeFast.GetType() - && iPacStoreDb != NULL) - { - delete iPacStoreDb; - iPacStoreDb = NULL; - } - + if(iEapType == eap_type_fast && iPacStoreDb != NULL) + { + iPacStoreDb->Close(); + } #endif // End: #ifdef USE_FAST_EAP_TYPE #endif // End: #ifdef USE_PAC_STORE + + iDbNamedDatabase.Close(); + + iDbs.Close(); // Both the Dbs are closed and server can be closed now. + } + iIsConnected = EFalse; + return KErrNone; } -// ---------------------------------------------------------- CEapTlsPeapUiDataConnection * CEapTlsPeapUiConnection::GetDataConnection() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetDataConnection()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetDataConnection()\n")); - if (!iDataConn) { iDataConn = new CEapTlsPeapUiDataConnection(this); @@ -165,13 +166,9 @@ return iDataConn; } -// ---------------------------------------------------------- CEapTlsPeapUiCipherSuites * CEapTlsPeapUiConnection::GetCipherSuiteConnection() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetCipherSuiteConnection()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetCipherSuiteConnection()\n")); - if (!iCipherSuites) { iCipherSuites = new CEapTlsPeapUiCipherSuites(this); @@ -180,13 +177,9 @@ return iCipherSuites; } -// ---------------------------------------------------------- - + CEapTlsPeapUiCertificates * CEapTlsPeapUiConnection::GetCertificateConnection(MEapTlsPeapUiCertificates * const aParent) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetCertificateConnection()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetCertificateConnection()\n")); - if (!iCertificates) { iCertificates = new CEapTlsPeapUiCertificates(this, aParent); @@ -195,14 +188,9 @@ return iCertificates; } -// ---------------------------------------------------------- - - + CEapTlsPeapUiEapTypes * CEapTlsPeapUiConnection::GetEapTypeConnection() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetEapTypeConnection()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetEapTypeConnection()\n")); - if (!iEapTypes) { iEapTypes = new CEapTlsPeapUiEapTypes(this); @@ -211,60 +199,50 @@ return iEapTypes; } -// ---------------------------------------------------------- + +TInt CEapTlsPeapUiConnection::GetDatabase(RDbNamedDatabase & aDatabase) +{ + if (iIsConnected == EFalse) + { + return KErrSessionClosed; + } + + aDatabase = iDbNamedDatabase; + return KErrNone; +} + TIndexType CEapTlsPeapUiConnection::GetIndexType() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetIndexType()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetIndexType()\n")); - return iIndexType; } -// ---------------------------------------------------------- TInt CEapTlsPeapUiConnection::GetIndex() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetIndex()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetIndex()\n")); - return iIndex; } -// ---------------------------------------------------------- - -TEapExpandedType CEapTlsPeapUiConnection::GetTunnelingType() +TInt CEapTlsPeapUiConnection::GetTunnelingType() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetTunnelingType()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetTunnelingType()\n")); - return iTunnelingType; } -// ---------------------------------------------------------- - -TEapExpandedType CEapTlsPeapUiConnection::GetEapType() +TInt CEapTlsPeapUiConnection::GetEapType() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetEapType()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetEapType()\n")); - return iEapType; } -// ---------------------------------------------------------- TBool CEapTlsPeapUiConnection::IsPacStoreMasterKeyPresentL() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::IsPacStoreMasterKeyPresentL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::IsPacStoreMasterKeyPresentL()\n")); - TBool status(EFalse); #ifdef USE_FAST_EAP_TYPE - if(iEapType == *EapExpandedTypeFast.GetType()) + if(iEapType == eap_type_fast) { - if (iPacStoreDb == 0) + if (iIsConnected == EFalse) { User::Leave(KErrSessionClosed); } @@ -288,18 +266,13 @@ return status; } -// ---------------------------------------------------------- - TInt CEapTlsPeapUiConnection::DestroyPacStore() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::DestroyPacStore()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::DestroyPacStore()\n")); - #ifdef USE_FAST_EAP_TYPE - if(iEapType == *EapExpandedTypeFast.GetType()) + if(iEapType == eap_type_fast) { - if (iPacStoreDb == 0) + if (iIsConnected == EFalse) { return KErrSessionClosed; } @@ -315,18 +288,13 @@ } } -// ---------------------------------------------------------- - TBool CEapTlsPeapUiConnection::VerifyPacStorePasswordL( const TDesC& aPacStorePw) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::VerifyPacStorePasswordL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::VerifyPacStorePasswordL()\n")); - - if(aPacStorePw.Length() <= 0) + if(aPacStorePw.Size() <= 0) { EAP_TRACE_DEBUG_SYMBIAN( - (_L("ERROR: CEapTlsPeapUiConnection::VerifyPacStorePasswordL(): PAC store PW can not be EMPTY!"))); + (_L("CEapTlsPeapUiConnection::VerifyPacStorePasswordL: PAC store PW can not be EMPTY!"))); User::Leave(KErrArgument); } @@ -335,15 +303,15 @@ #ifdef USE_FAST_EAP_TYPE - if(iEapType == *EapExpandedTypeFast.GetType()) + if(iEapType == eap_type_fast) { - if (iPacStoreDb == 0) + if (iIsConnected == EFalse) { User::Leave(KErrSessionClosed); } EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("CEapTlsPeapUiConnection::VerifyPacStorePasswordL(): PW from caller (16bits)", + ("CEapTlsPeapUiConnection::VerifyPacStorePasswordL:PW from caller (16bits)", aPacStorePw.Ptr(), aPacStorePw.Size())); @@ -352,7 +320,7 @@ pacStorePWPtr8.Copy(aPacStorePw); EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("CEapTlsPeapUiConnection::VerifyPacStorePasswordL(): PW used for masterkey verification (8bits)", + ("CEapTlsPeapUiConnection::VerifyPacStorePasswordL:PW used for masterkey verification (8bits)", pacStorePWPtr8.Ptr(), pacStorePWPtr8.Size())); @@ -365,7 +333,7 @@ // Password and master key are matching. // Means, This is the password used to create the master key. EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapUiConnection::VerifyPacStorePasswordL(): PAC store PW verified OK (true) \n"))); + (_L("CEapTlsPeapUiConnection::VerifyPacStorePasswordL PAC store PW verified OK (true) \n"))); } } else @@ -377,44 +345,39 @@ return status; } -// ---------------------------------------------------------- - TInt CEapTlsPeapUiConnection::CreatePacStoreMasterKey( const TDesC& aPacStorePw) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::CreatePacStoreMasterKey()\n")); - - if(aPacStorePw.Length() <= 0) + if(aPacStorePw.Size() <= 0) { EAP_TRACE_DEBUG_SYMBIAN( - (_L("ERROR: CEapTlsPeapUiConnection::CreatePacStoreMasterKey(): PAC store PW can not be EMPTY!"))); + (_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey PAC store PW can not be EMPTY!"))); return KErrArgument; } #ifdef USE_FAST_EAP_TYPE - if(iEapType == *EapExpandedTypeFast.GetType()) + if(iEapType == eap_type_fast) { - if (iPacStoreDb == 0) + if (iIsConnected == EFalse) { return KErrSessionClosed; } - TInt creationStatus(KErrNone); + TInt creationStatus(KErrNone); EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("CEapTlsPeapUiConnection::CreatePacStoreMasterKey(): PW from caller (16bits)", - aPacStorePw.Ptr(), - aPacStorePw.Size())); + ("CEapTlsPeapUiConnection::CreatePacStoreMasterKey:PW from caller (16bits)", + aPacStorePw.Ptr(), + aPacStorePw.Size())); HBufC8* pacStorePWBuf8 = NULL; TRAPD(err, pacStorePWBuf8 = HBufC8::NewL(aPacStorePw.Size())); if (err != KErrNone) { EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey(): Allocation failed\n"))); + (_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey:Allocation failed\n"))); return KErrNoMemory; } @@ -422,24 +385,24 @@ pacStorePWPtr8.Copy(aPacStorePw); EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("CEapTlsPeapUiConnection::CreatePacStoreMasterKey(): PW used for masterkey creation (8bits)", - pacStorePWPtr8.Ptr(), - pacStorePWPtr8.Size())); + ("CEapTlsPeapUiConnection::CreatePacStoreMasterKey:PW used for masterkey creation (8bits)", + pacStorePWPtr8.Ptr(), + pacStorePWPtr8.Size())); - TRAPD(error, creationStatus = iPacStoreDb->CreateAndSaveMasterKeyL(pacStorePWPtr8)); + TRAPD(err1, creationStatus = iPacStoreDb->CreateAndSaveMasterKeyL(pacStorePWPtr8)); delete pacStorePWBuf8; - if(error != KErrNone) + if(err1 != KErrNone) { EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey(): Creation failed %d\n"), error)); + (_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey:Creation failed %d\n"), err1)); } if (creationStatus == KErrNone) { EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey(): Master key created OK\n"))); + (_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey Master key created OK\n"))); } return creationStatus; } @@ -450,54 +413,19 @@ } } -// ---------------------------------------------------------- - -void CEapTlsPeapUiConnection::GetPacStorePasswordL( - TDes8 & /* aPassword8 */) +CPacStoreDatabase * CEapTlsPeapUiConnection::GetPacStoreDb() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetPacStorePasswordL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetPacStorePasswordL()\n")); - -#ifdef USE_FAST_EAP_TYPE - if(iEapType == *EapExpandedTypeFast.GetType()) +#ifdef USE_FAST_EAP_TYPE + + if(iEapType == eap_type_fast) { - //iPacStoreDb->GetPacStorePasswordL(aPassword8); + return iPacStoreDb; } else #endif // End: #ifdef USE_FAST_EAP_TYPE { - User::Leave(KErrNotSupported); - } + return NULL; + } } -// ---------------------------------------------------------- - -void CEapTlsPeapUiConnection::SetPacStorePasswordL( - const TDesC8 & aPassword8) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::SetPacStorePasswordL()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::SetPacStorePasswordL()\n")); - - if(aPassword8.Length() <= 0) - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("ERROR: CEapTlsPeapUiConnection::SetPacStorePasswordL(): PAC store PW can not be EMPTY!"))); - return; - //User::Leave(KErrArgument); - } - -#ifdef USE_FAST_EAP_TYPE - if(iEapType == *EapExpandedTypeFast.GetType()) - { - iPacStoreDb->SetPacStorePasswordL(aPassword8); - } - else -#endif // End: #ifdef USE_FAST_EAP_TYPE - { - User::Leave(KErrNotSupported); - } -} - - -// ---------------------------------------------------------- // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiDataConnection.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiDataConnection.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiDataConnection.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 56 % +* %version: 36.1.2 % */ // This is enumeration of EAPOL source code. @@ -28,20 +28,19 @@ #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) #include -//#include "EapTlsPeapUtils.h" +#include "EapTlsPeapUtils.h" #include "EapTlsPeapDbParameterNames.h" #include "EapTlsPeapDbDefaults.h" #include #include #include -#include -#include +#include "eap_am_trace_symbian.h" #ifdef USE_PAC_STORE #include "pac_store_db_symbian.h" #endif -//const TUint KMaxSqlQueryLength = 256; +const TUint KMaxSqlQueryLength = 256; // --------------------------------------------------------- // CEapTlsPeapUiDataConnection::CEapTlsPeapUiDataConnection() @@ -50,12 +49,10 @@ CEapTlsPeapUiDataConnection::CEapTlsPeapUiDataConnection(CEapTlsPeapUiConnection * aUiConn) : iIsOpened(EFalse) , iUiConn(aUiConn) +, iColSet(NULL) , iDataPtr(NULL) , iFastSpecificColSet(NULL) -, iEapTypeConnection(NULL) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::CEapTlsPeapUiDataConnection()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiDataConnection::CEapTlsPeapUiDataConnection()\n")); } @@ -65,17 +62,11 @@ // CEapTlsPeapUiDataConnection::~CEapTlsPeapUiDataConnection() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::~CEapTlsPeapUiDataConnection()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiDataConnection::~CEapTlsPeapUiDataConnection()\n")); - if (iUiConn) { Close(); iUiConn = NULL; } - - delete iEapTypeConnection; - iEapTypeConnection = 0; } @@ -85,29 +76,24 @@ // TInt CEapTlsPeapUiDataConnection::Open() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Open(): Start EAP-Type=0xfe%06x%08x\n"), - iUiConn->GetEapType().GetVendorId(), - iUiConn->GetEapType().GetVendorType())); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiDataConnection::Open()\n")); + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Open: Start EAP-Type=%d\n"), + iUiConn->GetEapType())); if (iIsOpened) { return KErrAlreadyExists; } - TEapExpandedType aEapType(iUiConn->GetEapType()); - - TRAPD(error, iEapTypeConnection = CEapType::NewL(iUiConn->GetIndexType(), iUiConn->GetIndex(), aEapType)); - if (error != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapLeapUiDataConnection::Open() CEapType::NewL() error=%d\n"),error)); - return error; - } - - iEapTypeConnection->SetTunnelingType(iUiConn->GetTunnelingType()); + TInt err = iUiConn->GetDatabase(iDatabase); + if (err != KErrNone) + { + return err; + } iIsOpened = ETrue; + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Open: End\n"))); + return KErrNone; } @@ -118,10 +104,8 @@ // TInt CEapTlsPeapUiDataConnection::GetData(CEapTlsPeapUiTlsPeapData ** aDataPtr) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::GetData(): Start EAP-Type=0xfe%06x%08x\n"), - iUiConn->GetEapType().GetVendorId(), - iUiConn->GetEapType().GetVendorType())); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiDataConnection::GetData()\n")); + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::GetData: Start EAP-Type=%d\n"), + iUiConn->GetEapType())); if (aDataPtr == NULL) { @@ -131,7 +115,7 @@ if (iIsOpened == EFalse) { EAP_TRACE_DEBUG_SYMBIAN( - (_L("ERROR: CEapTlsPeapUiDataConnection::GetData(): Data Connection not opened\n"))); + (_L("CEapTlsPeapUiDataConnection::GetData: Data Connection not opened\n"))); return KErrSessionClosed; } @@ -146,191 +130,33 @@ if (!iDataPtr) { EAP_TRACE_DEBUG_SYMBIAN( - (_L("ERROR: CEapTlsPeapUiDataConnection::GetData(): NO MEMORY!\n"))); + (_L("CEapTlsPeapUiDataConnection::GetData: ERROR: NO MEMORY!\n"))); return KErrNoMemory; } - EAPSettings aSettings; - - TRAPD(error,iEapTypeConnection->GetConfigurationL(aSettings)); - if (error) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiDataConnection::GetData() GetConfigurationL(): failed %d\n"), error)); - return error; - } - - /**************** only for TTLS PAP ****************/ - - if ( iUiConn->GetEapType() == *EapExpandedTypeTtlsPap.GetType() ) - { - if (aSettings.iShowPassWordPromptPresent) - { - if (aSettings.iShowPassWordPrompt) - { - *( iDataPtr->GetPapPasswordPrompt() ) = ETrue; - } - else - { - *( iDataPtr->GetPapPasswordPrompt() ) = EFalse; - } - } - - if (aSettings.iUsernamePresent) - { - iDataPtr->GetPapUserName().Copy(aSettings.iUsername); - } - - if (aSettings.iPasswordPresent) - { - iDataPtr->GetPapPassword().Copy(aSettings.iPassword); - } - - return KErrNone; - } - - // Get use manual username - if (aSettings.iUsernamePresent) - { - *(iDataPtr->GetUseManualUsername()) = ETrue; - iDataPtr->GetManualUsername().Copy(aSettings.iUsername); - } - else - { - *(iDataPtr->GetUseManualUsername()) = EFalse; - } - - // Get use manual realm - if (aSettings.iRealmPresent) - { - *(iDataPtr->GetUseManualRealm()) = ETrue; - iDataPtr->GetManualRealm().Copy(aSettings.iRealm); - } - else - { - *(iDataPtr->GetUseManualRealm()) = EFalse; - } - - // Get PEAP/TTLS versions - if (iUiConn->GetEapType() == *EapExpandedTypePeap.GetType() - || iUiConn->GetEapType() == *EapExpandedTypeTtls.GetType() -#ifdef USE_FAST_EAP_TYPE - || iUiConn->GetEapType() == *EapExpandedTypeFast.GetType() -#endif - ) - { - if (aSettings.iPEAPVersionsPresent) - { - if (aSettings.iPEAPv0Allowed) - { - *(iDataPtr->GetAllowVersion0()) = ETrue; - } - - if (aSettings.iPEAPv1Allowed) - { - *(iDataPtr->GetAllowVersion1()) = ETrue; - } - - if (aSettings.iPEAPv2Allowed) - { - *(iDataPtr->GetAllowVersion2()) = ETrue; - } - } - } - - if (aSettings.iUseIdentityPrivacyPresent) - { - if (aSettings.iUseIdentityPrivacy) - { - *(iDataPtr->GetTlsPrivacy()) = ETrue; - } - else - { - *(iDataPtr->GetTlsPrivacy()) = EFalse; - } - } - -#ifdef USE_FAST_EAP_TYPE - - EAP_TRACE_DEBUG_SYMBIAN((_L("Fetching EAP-FAST specific Special settings!\n"))); - - if(iUiConn->GetEapType() == *EapExpandedTypeFast.GetType()) - { - // Get provisioning modes - if (aSettings.iAuthProvModeAllowedPresent) - { - if (aSettings.iAuthProvModeAllowed) - { - *(iDataPtr->GetAuthProvModeAllowed()) = ETrue; - } - else - { - *(iDataPtr->GetAuthProvModeAllowed()) = EFalse; - } - } - - if (aSettings.iUnauthProvModeAllowedPresent) - { - if (aSettings.iUnauthProvModeAllowed) - { - *(iDataPtr->GetUnauthProvModeAllowed()) = ETrue; - } - else - { - *(iDataPtr->GetUnauthProvModeAllowed()) = EFalse; - } - } - - if (aSettings.iShowPassWordPromptPresent) - { - if (aSettings.iShowPassWordPrompt) - { - *( iDataPtr->GetUsePacStorePasswordPrompt() ) = ETrue; - } - else - { - *( iDataPtr->GetUsePacStorePasswordPrompt() ) = EFalse; - } - } - -#ifdef USE_PAC_STORE - - { - // Get PAC store Password - // PAC store password is in a different database, pac store db. - // We can use the PacStoreDbUtils to get the PAC store password. - - TBuf8 tmpPacStorePw8; - - TRAPD(err, iUiConn->GetPacStorePasswordL(tmpPacStorePw8)); - if (err) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("couldn't get GetPacStorePasswordL!\n"))); - } - - EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("CEapTlsPeapUiDataConnection::FetchDataL: PW from PAC store DB(8 bits)", - tmpPacStorePw8.Ptr(), - tmpPacStorePw8.Size())); - - /***** Convert the 8 bit password to 16 bits for the UI ***************/ - - iDataPtr->GetPacStorePassword().Copy(tmpPacStorePw8); // This takes care of the conversion automatically. - - EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("CEapTlsPeapUiDataConnection::FetchDataL: PW to UI (16 bits)", - iDataPtr->GetPacStorePassword().Ptr(), - iDataPtr->GetPacStorePassword().Size())); - } - -#endif // End: #ifdef USE_PAC_STORE - - } // End: if(iUiConn->GetEapType() == *EapExpandedTypeFast.GetType()) - -#endif // End: #ifdef USE_FAST_EAP_TYPE + TRAPD(err, FetchDataL()); + if (err != KErrNone) + { + delete iDataPtr; + iDataPtr = NULL; + + delete iColSet; + iColSet = NULL; + + delete iFastSpecificColSet; + iFastSpecificColSet = NULL; + + iView.Close(); + iFastSpecificView.Close(); + + return err; + } *aDataPtr = iDataPtr; + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::GetData: End\n"))); + return KErrNone; } // CEapTlsPeapUiDataConnection::GetData() @@ -341,19 +167,17 @@ // TInt CEapTlsPeapUiDataConnection::Update() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update(): Start EAP-Type=0xfe%06x%08x\n"), - iUiConn->GetEapType().GetVendorId(), - iUiConn->GetEapType().GetVendorType())); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiDataConnection::Update()\n")); + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update: Start EAP-Type=%d\n"), + iUiConn->GetEapType())); // Do the length checks first. // Check if length of username and realm are less than the max length possible in DB. - if(iDataPtr->GetManualUsername().Length() > KMaxUsernameLengthInDB - || iDataPtr->GetManualRealm().Length() > KMaxRealmLengthInDB) + if(iDataPtr->GetManualUsername().Length() > KMaxManualUsernameLengthInDB + || iDataPtr->GetManualRealm().Length() > KMaxManualRealmLengthInDB) { // Username or realm too long. Can not be stored in DB. EAP_TRACE_DEBUG_SYMBIAN( - (_L("ERROR: CEapTlsPeapUiDataConnection::Update(): Too long username or realm. Length: UN=%d, Realm=%d\n"), + (_L("CEapTlsPeapUiDataConnection::Update: Too long username or realm. Length: UN=%d, Realm=%d\n"), iDataPtr->GetManualUsername().Length(), iDataPtr->GetManualRealm().Length())); @@ -361,179 +185,26 @@ } #ifdef USE_FAST_EAP_TYPE + // Check the length of PAC store password. - // Check the length of PAC store password. if(iDataPtr->GetPacStorePassword().Size() > KMaxPasswordLengthInDB) { // PAC store password too long. Can not be stored in DB. EAP_TRACE_DEBUG_SYMBIAN( - (_L("ERROR: CEapTlsPeapUiDataConnection::Update(): Too long PAC store PW. Size:%d\n"), + (_L("CEapTlsPeapUiDataConnection::Update: Too long PAC store PW. Size:%d\n"), iDataPtr->GetPacStorePassword().Size())); return KErrOverflow; } #endif - - EAPSettings aSettings; - - if( iUiConn->GetEapType() == *EapExpandedTypeTtlsPap.GetType() ) - { - /************** only for TTLS PAP **************/ - - aSettings.iShowPassWordPromptPresent = ETrue; - - if (*(iDataPtr->GetPapPasswordPrompt())) - { - aSettings.iShowPassWordPrompt = ETrue; - } - else - { - aSettings.iShowPassWordPrompt = EFalse; - } - - aSettings.iUsernamePresent = ETrue; - aSettings.iUsername.Copy(iDataPtr->GetPapUserName()); - - aSettings.iPasswordPresent = ETrue; - aSettings.iPassword.Copy(iDataPtr->GetPapPassword()); - - } // if( iUiConn->GetEapType() == *EapExpandedTypeTtlsPap.GetType() ) - else - { - if (*(iDataPtr->GetUseManualUsername())) - { - aSettings.iUsernamePresent = ETrue; - aSettings.iUsername = iDataPtr->GetManualUsername(); - } - else - { - aSettings.iUsernamePresent = EFalse; - } - } - - if (*(iDataPtr->GetUseManualRealm())) - { - aSettings.iRealmPresent = ETrue; - aSettings.iRealm = iDataPtr->GetManualRealm(); - } - else - { - aSettings.iRealmPresent = EFalse; - } - // PEAP/TTLS versions - if (iUiConn->GetEapType() == *EapExpandedTypePeap.GetType() - || iUiConn->GetEapType() == *EapExpandedTypeTtls.GetType() -#ifdef USE_FAST_EAP_TYPE - || iUiConn->GetEapType() == *EapExpandedTypeFast.GetType() -#endif - ) - { - if (*(iDataPtr->GetAllowVersion0())) - { - aSettings.iPEAPv0Allowed = ETrue; - } - - if (*(iDataPtr->GetAllowVersion1())) - { - aSettings.iPEAPv1Allowed = ETrue; - } - - if (*(iDataPtr->GetAllowVersion2())) - { - aSettings.iPEAPv2Allowed = ETrue; - } - } - - - // Update TLS Privacy - aSettings.iUseIdentityPrivacyPresent = ETrue; + TRAPD(err, UpdateDataL()); - if (*(iDataPtr->GetTlsPrivacy())) - { - aSettings.iUseIdentityPrivacy = ETrue; - } - else - { - aSettings.iUseIdentityPrivacy = EFalse; - } - - -#ifdef USE_FAST_EAP_TYPE - - if(iUiConn->GetEapType() == *EapExpandedTypeFast.GetType()) - { - // Update Authentication modes - aSettings.iAuthProvModeAllowedPresent = ETrue; - - if (*(iDataPtr->GetAuthProvModeAllowed())) - { - aSettings.iAuthProvModeAllowed = ETrue; - } - else - { - aSettings.iAuthProvModeAllowed = EFalse; - } - - aSettings.iUnauthProvModeAllowedPresent = ETrue; - - if (*(iDataPtr->GetUnauthProvModeAllowed())) - { - aSettings.iUnauthProvModeAllowed = ETrue; - } - else - { - aSettings.iUnauthProvModeAllowed = EFalse; - } + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update: End, err=%d\n"), + err)); - if (*(iDataPtr->GetUsePacStorePasswordPrompt())) - { - aSettings.iShowPassWordPrompt = ETrue; - } - else - { - aSettings.iShowPassWordPrompt = EFalse; - } - -#ifdef USE_PAC_STORE - - // Update PAC store password. - // PAC store password should be stored in a different database, pac store db. - // We can use the UI connection to save the PAC store password. - - EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("CEapTlsPeapUiDataConnection::UpdateDataL: PW from UI(16 bits)", - iDataPtr->GetPacStorePassword().Ptr(), - iDataPtr->GetPacStorePassword().Size())); - - TBuf8 tmpSetPacStorePw8; - tmpSetPacStorePw8.Copy(iDataPtr->GetPacStorePassword()); - - EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("CEapTlsPeapUiDataConnection::UpdateDataL: PW to PAC store DB(8 bits)", - tmpSetPacStorePw8.Ptr(), - tmpSetPacStorePw8.Size())); - - TRAPD(err, iUiConn->SetPacStorePasswordL(tmpSetPacStorePw8)); - - if (err) - return err; - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update(): SetPacStorePassword error = %d\n"),err)); - -#endif // End: #ifdef USE_PAC_STORE - - } // End: if(iUiConn->GetEapType() == *EapExpandedTypeFast.GetType()) - -#endif // End: #ifdef USE_FAST_EAP_TYPE - - TRAPD(error,iEapTypeConnection->SetConfigurationL(aSettings)); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update(): SetConfiguration error = %d\n"),error)); - - return error; - + return err; } // CEapTlsPeapUiDataConnection::Update() @@ -543,9 +214,6 @@ // TInt CEapTlsPeapUiDataConnection::Close() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Close()\n"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiDataConnection::Close()\n")); - if (iIsOpened == EFalse) { return KErrNone; @@ -554,13 +222,610 @@ delete iDataPtr; iDataPtr = NULL; + delete iColSet; + iColSet = NULL; + delete iFastSpecificColSet; iFastSpecificColSet = NULL; + iView.Close(); + + iFastSpecificView.Close(); + iUiConn = NULL; return KErrNone; } // CEapTlsPeapUiDataConnection::Close() + // --------------------------------------------------------- +// CEapTlsPeapUiDataConnection::FetchDataL() +// --------------------------------------------------------- +// +void CEapTlsPeapUiDataConnection::FetchDataL() +{ + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::FetchDataL: Start EAP-Type=%d\n"), + iUiConn->GetEapType())); + + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = buf->Des(); + + // Form the general query for TLS, PEAP, TTLS and FAST. Query everything. + _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + if (iUiConn->GetEapType() == eap_type_tls) + { + sqlStatement.Format(KSQLQuery, + &KTlsDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } + else if (iUiConn->GetEapType() == eap_type_peap) + { + sqlStatement.Format(KSQLQuery, + &KPeapDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } + else if (iUiConn->GetEapType() == eap_type_ttls || iUiConn->GetEapType() == eap_type_ttls_plain_pap) + { + sqlStatement.Format(KSQLQuery, + &KTtlsDatabaseTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } + +#ifdef USE_FAST_EAP_TYPE + else if (iUiConn->GetEapType() == eap_type_fast) + { + // Unlike other EAP types, EAP-FAST has two settings tables. + // General settings and special settings + + // This is for the General settings. The special settings are read below. + + sqlStatement.Format(KSQLQuery, + &KFastGeneralSettingsDBTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + } +#endif + else + { + // Unknown EAP type + EAP_TRACE_DEBUG_SYMBIAN((_L("EAP-Type=%d - ERROR: Unknown EAP type!\n"), + iUiConn->GetEapType())); + + User::Leave(KErrNotSupported); + } + + // Evaluate view + User::LeaveIfError(iView.Prepare(iDatabase, TDbQuery(sqlStatement))); + User::LeaveIfError(iView.EvaluateAll()); + + // Get the first (and only) row + iView.FirstL(); + iView.GetL(); + + // Get column set so we get the correct column numbers + delete iColSet; + iColSet = NULL; + iColSet = iView.ColSetL(); + + // Start fetching the values + + + /**************** only for TTLS PAP ****************/ + + if ( iUiConn->GetEapType() == eap_type_ttls_plain_pap ) + { + // Prompt password + TUint intValue = iView.ColUint( iColSet->ColNo( + cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ) ); + if ( intValue == 0 ) + { + *( iDataPtr->GetPapPasswordPrompt() ) = EFalse; + } + else + { + *( iDataPtr->GetPapPasswordPrompt() ) = ETrue; + } + + // username + iDataPtr->GetPapUserName().Copy( iView.ColDes16( iColSet->ColNo( + cf_str_EAP_TLS_PEAP_ttls_pap_username_literal ) ) ); + + // password + iDataPtr->GetPapPassword().Copy( iView.ColDes16( iColSet->ColNo( + cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ) ) ); + + CleanupStack::PopAndDestroy(buf); + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::FetchDataL: Return\n"))); + return; + } + + // Get use manual username + TUint intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal)); + if (intValue == 0) + { + *(iDataPtr->GetUseManualUsername()) = EFalse; + } + else + { + *(iDataPtr->GetUseManualUsername()) = ETrue; + } + + // Get use manual realm + intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal)); + if (intValue == 0) + { + *(iDataPtr->GetUseManualRealm()) = EFalse; + } + else + { + *(iDataPtr->GetUseManualRealm()) = ETrue; + } + + // Get Username + iDataPtr->GetManualUsername().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal))); + + // Get Realm + iDataPtr->GetManualRealm().Copy(iView.ColDes16(iColSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal))); + + // Get PEAP/TTLS versions + if (iUiConn->GetEapType() == eap_type_peap + || iUiConn->GetEapType() == eap_type_ttls +#ifdef USE_FAST_EAP_TYPE + || iUiConn->GetEapType() == eap_type_fast +#endif + ) + { + TPtrC8 binaryValue = iView.ColDes8(iColSet->ColNo(cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal)); + + const TInt* allowedVersions = reinterpret_cast(binaryValue.Ptr()); + + TInt i; + for (i = 0; i < static_cast(binaryValue.Length() / sizeof(TInt)); i++) + { + switch(allowedVersions[i]) + { + case 0: + *(iDataPtr->GetAllowVersion0()) = ETrue; + break; + case 1: + *(iDataPtr->GetAllowVersion1()) = ETrue; + break; + case 2: + *(iDataPtr->GetAllowVersion2()) = ETrue; + break; + } + } + } + + + intValue = iView.ColUint(iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal)); + + if (intValue == 0) + { + *(iDataPtr->GetTlsPrivacy()) = EFalse; + } + else + { + *(iDataPtr->GetTlsPrivacy()) = ETrue; + } + + +#ifdef USE_FAST_EAP_TYPE + + EAP_TRACE_DEBUG_SYMBIAN((_L("Fetching EAP-FAST specific Special settings!\n"))); + + if(iUiConn->GetEapType() == eap_type_fast) + { + // This is for the EAP-FAST specific Special settings. + + sqlStatement.Format(KSQLQuery, + &KFastSpecialSettingsDBTableName, + &KServiceType, + iUiConn->GetIndexType(), + &KServiceIndex, + iUiConn->GetIndex(), + &KTunnelingType, + iUiConn->GetTunnelingType()); + + // Evaluate view + User::LeaveIfError(iFastSpecificView.Prepare(iDatabase, TDbQuery(sqlStatement))); + User::LeaveIfError(iFastSpecificView.EvaluateAll()); + + // Get the first (and only) row + iFastSpecificView.FirstL(); + iFastSpecificView.GetL(); + + // Get column set so we get the correct column numbers + delete iFastSpecificColSet; + iFastSpecificColSet = NULL; + iFastSpecificColSet = iFastSpecificView.ColSetL(); + + // Start fetching the values + // The below uses EAP-FAST Specific settings table. So use the specific view and colset. + + // Get provisioning modes + intValue = iFastSpecificView.ColUint(iFastSpecificColSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal)); + if (intValue == 0) + { + *(iDataPtr->GetAuthProvModeAllowed()) = EFalse; + } + else + { + *(iDataPtr->GetAuthProvModeAllowed()) = ETrue; + } + + intValue = iFastSpecificView.ColUint(iFastSpecificColSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal)); + if (intValue == 0) + { + *(iDataPtr->GetUnauthProvModeAllowed()) = EFalse; + } + else + { + *(iDataPtr->GetUnauthProvModeAllowed()) = ETrue; + } + +#ifdef USE_PAC_STORE + // Get PAC store Password + // PAC store password is in a different database, pac store db. + // We can use the PacStoreDbUtils to get the PAC store password. + + TBuf8 tmpPacStorePw8; + + iUiConn->GetPacStoreDb()->GetPacStoreDataL( + cf_str_EAP_FAST_PAC_store_password_literal(), + tmpPacStorePw8); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( + ("CEapTlsPeapUiDataConnection::FetchDataL: PW from PAC store DB(8 bits)", + tmpPacStorePw8.Ptr(), + tmpPacStorePw8.Size())); + + /***** Convert the 8 bit password to 16 bits for the UI ***************/ + + iDataPtr->GetPacStorePassword().Copy(tmpPacStorePw8); // This takes care of the conversion automatically. + + EAP_TRACE_DATA_DEBUG_SYMBIAN( + ("CEapTlsPeapUiDataConnection::FetchDataL: PW to UI (16 bits)", + iDataPtr->GetPacStorePassword().Ptr(), + iDataPtr->GetPacStorePassword().Size())); + + /*****************TEST*************/ + +#endif // End: #ifdef USE_PAC_STORE + + } // End: if(iUiConn->GetEapType() == eap_type_fast) + +#endif // End: #ifdef USE_FAST_EAP_TYPE + + CleanupStack::PopAndDestroy(buf); + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::FetchDataL: End\n"))); + +} // CEapTlsPeapUiDataConnection::FetchDataL() + + +// --------------------------------------------------------- +// CEapTlsPeapUiDataConnection::UpdateDataL() +// --------------------------------------------------------- +// +void CEapTlsPeapUiDataConnection::UpdateDataL() +{ + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapTlsPeapUiDataConnection::UpdateDataL: Start\n"))); + + iView.UpdateL(); + + iView.SetColL( + iColSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), + iDataPtr->GetManualUsername()); + + iView.SetColL( + iColSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), + iDataPtr->GetManualRealm()); + + if (*(iDataPtr->GetUseManualUsername())) + { + iView.SetColL( + iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), + ETLSPEAPUseManualUsernameYes); + } + else + { + iView.SetColL( + iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), + ETLSPEAPUseManualUsernameNo); + } + + if (*(iDataPtr->GetUseManualRealm())) + { + iView.SetColL( + iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal), + ETLSPEAPUseManualRealmYes); + } + else + { + iView.SetColL( + iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal), + ETLSPEAPUseManualRealmNo); + } + + // PEAP/TTLS versions + if (iUiConn->GetEapType() == eap_type_peap + || iUiConn->GetEapType() == eap_type_ttls +#ifdef USE_FAST_EAP_TYPE + || iUiConn->GetEapType() == eap_type_fast +#endif + ) + { + TBuf8 acceptedVersions; + + if (*(iDataPtr->GetAllowVersion0())) + { + TInt tmp(0); + acceptedVersions.Append(reinterpret_cast(&tmp), sizeof(TInt)); + } + if (*(iDataPtr->GetAllowVersion1())) + { + TInt tmp(1); + acceptedVersions.Append(reinterpret_cast(&tmp), sizeof(TInt)); + } + if (*(iDataPtr->GetAllowVersion2())) + { + TInt tmp(2); + acceptedVersions.Append(reinterpret_cast(&tmp), sizeof(TInt)); + } + + iView.SetColL( + iColSet->ColNo(cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal), + acceptedVersions); + } + + // Last full authentication time should be made zero when EAP configurations are modified. + // This makes sure that the next authentication with this EAP would be full authentication + // instead of reauthentication even if the session is still valid. + + TPtrC lastFullAuthTimeString; + + switch (iUiConn->GetEapType()) + { + case eap_type_tls: + { + lastFullAuthTimeString.Set(KTLSLastFullAuthTime); + } + break; + + case eap_type_peap: + { + lastFullAuthTimeString.Set(KPEAPLastFullAuthTime); + } + break; + + case eap_type_ttls: + { + lastFullAuthTimeString.Set(KTTLSLastFullAuthTime); + } + break; + +#ifdef USE_FAST_EAP_TYPE + case eap_type_fast: + { + lastFullAuthTimeString.Set(KFASTLastFullAuthTime); + } + break; +#endif + + case eap_type_ttls_plain_pap: + { + lastFullAuthTimeString.Set( KTTLSPAPLastFullAuthTime ); + } + break; + + default: + { + // Should never happen. Don't return error here as this is just to reset the auth time only. + EAP_TRACE_DEBUG_SYMBIAN( + (_L("Session Validity: EAP-Type=%d - ERROR: Unknown EAP type!\n"), + iUiConn->GetEapType() )); + } + } + + iView.SetColL( + iColSet->ColNo(lastFullAuthTimeString), + default_FullAuthTime); + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"), + iUiConn->GetEapType() )); + + + // Update TLS Privacy + if (*(iDataPtr->GetTlsPrivacy())) + { + iView.SetColL( + iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), + ETLSPEAPTLSPrivacyYes); + } + else + { + iView.SetColL( + iColSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), + ETLSPEAPTLSPrivacyNo); + } + + + + + /************** only for TTLS PAP **************/ + + if( iUiConn->GetEapType() == eap_type_ttls_plain_pap ) + { + // PAP user name + iView.SetColL( iColSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_username_literal ), + iDataPtr->GetPapUserName() ); + // PAP password + iView.SetColL( iColSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ), + iDataPtr->GetPapPassword() ); + // PAP password prompt + if ( *( iDataPtr->GetPapPasswordPrompt() ) ) + { + iView.SetColL( iColSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ), + EPapPasswordPromptOn ); + } + else + { + iView.SetColL( iColSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ), + EPapPasswordPromptOff ); + } + + } // if( iUiConn->GetEapType() == eap_type_ttls_plain_pap ) + + + + // Now put all the updated values in DB table. + iView.PutL(); + +#ifdef USE_FAST_EAP_TYPE + + if(iUiConn->GetEapType() == eap_type_fast) + { + // Make the view ready for updation. This is important! + iFastSpecificView.UpdateL(); + + // Update Authentication modes + if (*(iDataPtr->GetAuthProvModeAllowed())) + { + iFastSpecificView.SetColL( + iFastSpecificColSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal), + EFASTAuthProvModeAllowedYes); + } + else + { + iFastSpecificView.SetColL( + iFastSpecificColSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal), + EFASTAuthProvModeAllowedNo); + } + + if (*(iDataPtr->GetUnauthProvModeAllowed())) + { + iFastSpecificView.SetColL( + iFastSpecificColSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal), + EFASTUnauthProvModeAllowedYes); + } + else + { + iFastSpecificView.SetColL( + iFastSpecificColSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal), + EFASTUnauthProvModeAllowedNo); + } + + // Now put all the updated values in DB table. + iFastSpecificView.PutL(); + + +#ifdef USE_PAC_STORE + + // Update PAC store password. + // PAC store password should be stored in a different database, pac store db. + // We can use the UI connection to save the PAC store password. + + EAP_TRACE_DATA_DEBUG_SYMBIAN( + ("CEapTlsPeapUiDataConnection::UpdateDataL: PW from UI(16 bits)", + iDataPtr->GetPacStorePassword().Ptr(), + iDataPtr->GetPacStorePassword().Size())); + + TBuf8 tmpSetPacStorePw8; + tmpSetPacStorePw8.Copy(iDataPtr->GetPacStorePassword()); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( + ("CEapTlsPeapUiDataConnection::UpdateDataL: PW to PAC store DB(8 bits)", + tmpSetPacStorePw8.Ptr(), + tmpSetPacStorePw8.Size())); + + iUiConn->GetPacStoreDb()->SetPacStoreDataL( + cf_str_EAP_FAST_PAC_store_password_literal(), + tmpSetPacStorePw8); + +/*****************TEST*************/ + +#ifdef PAC_STORE_DATA_HACK + + TBuf<4> tmpSetPacStoreData1; + TBuf<4> tmpSetPacStoreData2; + TBuf<4> tmpSetPacStoreData3; + TBuf<4> tmpSetPacStoreData4; + TBuf<4> tmpSetPacStoreData5; + TBuf<4> tmpSetPacStoreData6; + RArray infoarray1; + RArray infoarray2; + + tmpSetPacStoreData1.Copy(iDataPtr->GetUsePAC_Store_Group_Reference()); + tmpSetPacStoreData2.Copy(iDataPtr->GetUsePAC_Store_Group_Value()); + tmpSetPacStoreData3.Copy(iDataPtr->GetUsePAC_Store_AID_Reference()); + tmpSetPacStoreData4.Copy(iDataPtr->GetUsePAC_Store_AID_Value()); + tmpSetPacStoreData6.Copy(iDataPtr->GetUsePAC_Store_PAC_Reference()); + tmpSetPacStoreData6.Copy(iDataPtr->GetUsePAC_Store_PAC_Value()); + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::UpdateDataL: tmpSetPacStoreData=%S\n"), + &tmpSetPacStorePw)); + + iUiConn->GetPacStoreDb()->SetPacStoreDataL( + KPacStoreGroupReference, + tmpSetPacStoreData1, + KPacStoreGroupReference); + iUiConn->GetPacStoreDb()->SetPacStoreDataL( + KPacStoreGroupValue, + tmpSetPacStoreData2, + KPacStoreGroupReference); + iUiConn->GetPacStoreDb()->SetPacStoreDataL( + KPacStoreAIDReference, + tmpSetPacStoreData3, + KPacStoreAIDReference); + iUiConn->GetPacStoreDb()->SetPacStoreDataL( + KPacStoreAIDValue, + tmpSetPacStoreData4, + KPacStoreAIDReference); + iUiConn->GetPacStoreDb()->SetPacStoreDataL( + KPacStorePACReference, + tmpSetPacStoreData5, + KPacStorePACValue); + iUiConn->GetPacStoreDb()->SetPacStoreDataL( + KPacStorePACValue, + tmpSetPacStoreData6, + KPacStorePACReference); + +#endif + + /*****************TEST*************/ + +#endif // End: #ifdef USE_PAC_STORE + + } // End: if(iUiConn->GetEapType() == eap_type_fast) + +#endif // End: #ifdef USE_FAST_EAP_TYPE + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::UpdateDataL: End\n"))); + +} // CEapTlsPeapUiDataConnection::UpdateDataL() + // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiEapTypes.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiEapTypes.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiEapTypes.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 16 % */ // This is enumeration of EAPOL source code. @@ -30,13 +30,11 @@ // INCLUDE FILES #include -//#include "EapTlsPeapUtils.h" +#include "EapTlsPeapUtils.h" #include #include #include -#include -#include "EapConversion.h" -#include +#include "eap_am_trace_symbian.h" const TUint KNumberOfSupportedEAPTypes = 10; //Now 10, including EAP-FAST & TTLS-PAP @@ -44,14 +42,17 @@ : iIsOpened(EFalse) , iUiConn(aUiConn) , iDataPtr(NULL) -, iEapTypeConnection(NULL) { } CEapTlsPeapUiEapTypes::~CEapTlsPeapUiEapTypes() { - Close(); + if (iUiConn) + { + Close(); + iUiConn = NULL; + } } @@ -62,48 +63,49 @@ return KErrAlreadyExists; } - TEapExpandedType aEapType(iUiConn->GetEapType()); + TInt err = iUiConn->GetDatabase(iDatabase); + if (err != KErrNone) + { + return err; + } - TRAPD(error, iEapTypeConnection = CEapType::NewL(iUiConn->GetIndexType(), iUiConn->GetIndex(), aEapType)); - if (error != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiEapTypes::Open() CEapType::NewL() error=%d\n"),error)); - return error; - } - - iEapTypeConnection->SetTunnelingType(iUiConn->GetTunnelingType()); - iIsOpened = ETrue; return KErrNone; } -TInt CEapTlsPeapUiEapTypes::GetEapTypes(RPointerArray ** aDataPtr) +TInt CEapTlsPeapUiEapTypes::GetEapTypes(CArrayFixFlat ** aDataPtr) { if (aDataPtr == NULL) { return KErrArgument; } - - if (iIsOpened == EFalse) + if (iIsOpened == EFalse) { return KErrSessionClosed; } - if (iDataPtr != 0) { *aDataPtr = iDataPtr; return KErrNone; } - - iDataPtr = new RPointerArray(KNumberOfSupportedEAPTypes); + iDataPtr = new CArrayFixFlat(KNumberOfSupportedEAPTypes); if (!iDataPtr) { return KErrNoMemory; } +#ifdef USE_EAP_EXPANDED_TYPES + TRAPD(err, FetchExpandedDataL()); + +#else + + TRAPD(err, FetchDataL()); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + if (err != KErrNone) { delete iDataPtr; @@ -119,11 +121,56 @@ TInt CEapTlsPeapUiEapTypes::Update() { +#ifdef USE_EAP_EXPANDED_TYPES + TRAPD(err, UpdateExpandedDataL()); +#else + + TRAPD(err, UpdateL()); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + return err; } +#ifndef USE_EAP_EXPANDED_TYPES + +void CEapTlsPeapUiEapTypes::UpdateL() +{ + TEapArray eapTypes; + TEap* eapTmp; + + TInt i(0); + + for(i = 0; i < iDataPtr->Count(); i++) + { + eapTmp = new (ELeave) TEap; + CleanupStack::PushL(eapTmp); + eapTmp->Enabled = iDataPtr->At(i).iIsEnabled; + eapTmp->UID.Copy(iDataPtr->At(i).iEapType); + User::LeaveIfError(eapTypes.Append(eapTmp)); + CleanupStack::Pop(eapTmp); + } + + TRAPD(err, EapTlsPeapUtils::SetEapDataL( + iDatabase, + 0, + eapTypes, + iUiConn->GetIndexType(), + iUiConn->GetIndex(), + static_cast(iUiConn->GetTunnelingType()), + static_cast(iUiConn->GetEapType()))); + + eapTypes.ResetAndDestroy(); + if (err != KErrNone) + { + User::Leave(err); + } +} +#endif // #ifndef USE_EAP_EXPANDED_TYPES + + TInt CEapTlsPeapUiEapTypes::Close() { if (iIsOpened == EFalse) @@ -135,158 +182,217 @@ iDataPtr = 0; iUiConn = NULL; - - if (iEapTypeConnection) - { - delete iEapTypeConnection; - iEapTypeConnection = 0; - } - - iIsOpened = EFalse; - return KErrNone; } +#ifndef USE_EAP_EXPANDED_TYPES + +void CEapTlsPeapUiEapTypes::FetchDataL() +{ + TEapArray eapTypes; + + TRAPD(err, EapTlsPeapUtils::GetEapDataL( + iDatabase, + 0, + eapTypes, + iUiConn->GetIndexType(), + iUiConn->GetIndex(), + static_cast(iUiConn->GetTunnelingType()), + static_cast(iUiConn->GetEapType()))); + + if (err != KErrNone) + { + eapTypes.ResetAndDestroy(); + User::Leave(err); + } + + TInt i(0); + for (i = 0; i < eapTypes.Count(); i++) + { + TEapTlsPeapUiEapType tmp; + + tmp.iIsEnabled = eapTypes[i]->Enabled; + + tmp.iEapType.Copy(eapTypes[i]->UID); + + TRAPD(err, iDataPtr->AppendL(tmp)); + if (err != KErrNone) + { + eapTypes.ResetAndDestroy(); + User::Leave(err); + } + } + eapTypes.ResetAndDestroy(); +} +#endif // #ifndef USE_EAP_EXPANDED_TYPES + +#ifdef USE_EAP_EXPANDED_TYPES + void CEapTlsPeapUiEapTypes::FetchExpandedDataL() { EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::FetchExpandedDataL: Start\n"))); - EAPSettings aSettings; - - TRAPD(error,iEapTypeConnection->GetConfigurationL(aSettings)); - if (error) + RExpandedEapTypePtrArray enabledEAPTypes; + RExpandedEapTypePtrArray disabledEAPTypes; + + eap_type_value_e tunnelingType(static_cast(iUiConn->GetTunnelingType())); + eap_type_value_e eapType(static_cast(iUiConn->GetEapType())); + + TRAPD(err, EapTlsPeapUtils::GetTunnelingExpandedEapDataL( + iDatabase, + 0, + enabledEAPTypes, + disabledEAPTypes, + iUiConn->GetIndexType(), + iUiConn->GetIndex(), + tunnelingType, + eapType)); + + if (err != KErrNone) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiEapTypes::FetchExpandedDataL(): GetConfigurationL() failed %d\n"), error)); - User::Leave(error); + enabledEAPTypes.ResetAndDestroy(); + disabledEAPTypes.ResetAndDestroy(); + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapTlsPeapUiEapTypes::FetchExpandedDataL: Error from GetTunnelingExpandedEapDataL:%d\n"), + err)); + + User::Leave(err); + } + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapTlsPeapUiEapTypes::FetchExpandedDataL: Got tunneling EAPs from DB: enabled=%d,disabled=%d\n"), + enabledEAPTypes.Count(), disabledEAPTypes.Count())); + + TInt i(0); + + // First fill the enabled EAP types. + for (i = 0; i < enabledEAPTypes.Count(); i++) + { + TEapTlsPeapUiEapType tmpEAP; + + tmpEAP.iIsEnabled = ETrue; // All EAP types here are enabled. + + tmpEAP.iEapType.Copy(enabledEAPTypes[i]->iExpandedEAPType); + + TRAPD(err, iDataPtr->AppendL(tmpEAP)); + if (err != KErrNone) + { + enabledEAPTypes.ResetAndDestroy(); + User::Leave(err); + } + + EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::FetchExpandedDataL:Appended ENABLED EAP type:", + tmpEAP.iEapType.Ptr(), + tmpEAP.iEapType.Size() ) ); } - TInt i(0); - + // Now fill the disabled EAP types. + for (i = 0; i < disabledEAPTypes.Count(); i++) { - TEapExpandedType enabledEAPType(*EapExpandedTypeNone.GetType()); - - if (aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent) - { - // First fill the enabled EAP types. - for (i = 0; i < aSettings.iEnabledEncapsulatedEAPExpandedTypes.Count(); i++) - { - TEapTlsPeapUiEapType * tmpEAP = new (ELeave) TEapTlsPeapUiEapType; - if (tmpEAP == 0) - { - User::Leave(KErrNoMemory); - } - - tmpEAP->SetIsEnabled(ETrue); // All EAP types here are enabled. - - tmpEAP->SetEapType(aSettings.iEnabledEncapsulatedEAPExpandedTypes[i]); - - TRAPD(err, iDataPtr->AppendL(tmpEAP)); - if (err != KErrNone) - { - User::Leave(err); - } - - EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::FetchExpandedDataL(): Appended ENABLED EAP type:", - tmpEAP->GetEapType().GetValue().Ptr(), - tmpEAP->GetEapType().GetValue().Length() ) ); - } - } - } + TEapTlsPeapUiEapType tmpEAP; - { - TEapExpandedType disabledEAPType(*EapExpandedTypeNone.GetType()); - - if (aSettings.iDisabledEncapsulatedEAPExpandedTypesPresent) + tmpEAP.iIsEnabled = EFalse; // All EAP types here are disabled. + + tmpEAP.iEapType.Copy(disabledEAPTypes[i]->iExpandedEAPType); + + TRAPD(err, iDataPtr->AppendL(tmpEAP)); + if (err != KErrNone) { - // Now fill the disabled EAP types. - for (i = 0; i < aSettings.iDisabledEncapsulatedEAPExpandedTypes.Count(); i++) - { - TEapTlsPeapUiEapType * tmpEAP = new (ELeave) TEapTlsPeapUiEapType; - if (tmpEAP == 0) - { - User::Leave(KErrNoMemory); - } - - tmpEAP->SetIsEnabled(EFalse); // All EAP types here are disabled. - - tmpEAP->SetEapType(aSettings.iDisabledEncapsulatedEAPExpandedTypes[i]); - - TRAPD(err, iDataPtr->AppendL(tmpEAP)); - if (err != KErrNone) - { - User::Leave(err); - } - - EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::FetchExpandedDataL(): Appended DISABLED EAP type:", - tmpEAP->GetEapType().GetValue().Ptr(), - tmpEAP->GetEapType().GetValue().Length() ) ); - } + disabledEAPTypes.ResetAndDestroy(); + User::Leave(err); } + + EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::FetchExpandedDataL:Appended DISABLED EAP type:", + tmpEAP.iEapType.Ptr(), + tmpEAP.iEapType.Size() ) ); } - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::FetchExpandedDataL(): End\n"))); + + enabledEAPTypes.ResetAndDestroy(); + disabledEAPTypes.ResetAndDestroy(); + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::FetchExpandedDataL: End\n"))); } void CEapTlsPeapUiEapTypes::UpdateExpandedDataL() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): Start\n"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL: Start\n"))); - if (iDataPtr == 0) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): iDataPtr == 0\n"))); - User::Leave(KErrArgument); - } - - EAPSettings aSettings; - + RExpandedEapTypePtrArray enabledEAPTypes; + RExpandedEapTypePtrArray disabledEAPTypes; + SExpandedEAPType* expandedEAPTmp; + for(TInt i=0 ; i < iDataPtr->Count(); i++) { - if ((*iDataPtr)[i] != 0) + expandedEAPTmp = new (ELeave) SExpandedEAPType; + CleanupStack::PushL(expandedEAPTmp); + + expandedEAPTmp->iExpandedEAPType.Copy(iDataPtr->At(i).iEapType); + + if(iDataPtr->At(i).iIsEnabled) { - TEapExpandedType expandedEAPTmp = (*iDataPtr)[i]->GetEapType(); - - if((*iDataPtr)[i]->GetIsEnabled()) - { - // Enabled - TInt error = aSettings.iEnabledEncapsulatedEAPExpandedTypes.Append(expandedEAPTmp); + // Enabled + TInt error = enabledEAPTypes.Append(expandedEAPTmp); - if (error != KErrNone) - { - User::LeaveIfError(error); - } - - aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue; + if (error != KErrNone) + { + enabledEAPTypes.ResetAndDestroy(); + disabledEAPTypes.ResetAndDestroy(); + User::LeaveIfError(error); + } + + EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::UpdateExpandedDataL:Appended ENABLED EAP type:", + expandedEAPTmp->iExpandedEAPType.Ptr(), + expandedEAPTmp->iExpandedEAPType.Size() ) ); + } + else + { + // Disabled + TInt error = disabledEAPTypes.Append(expandedEAPTmp); - EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): Appended ENABLED EAP type:", - expandedEAPTmp.GetValue().Ptr(), - expandedEAPTmp.GetValue().Size() ) ); - } - else + if (error != KErrNone) { - // Disabled - TInt error = aSettings.iDisabledEncapsulatedEAPExpandedTypes.Append(expandedEAPTmp); + enabledEAPTypes.ResetAndDestroy(); + disabledEAPTypes.ResetAndDestroy(); + User::LeaveIfError(error); + } - if (error != KErrNone) - { - User::LeaveIfError(error); - } + EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::UpdateExpandedDataL:Appended DISABLED EAP type:", + expandedEAPTmp->iExpandedEAPType.Ptr(), + expandedEAPTmp->iExpandedEAPType.Size() ) ); + } + + CleanupStack::Pop(expandedEAPTmp); + } - aSettings.iDisabledEncapsulatedEAPExpandedTypesPresent = ETrue; + eap_type_value_e tunnelingType(static_cast(iUiConn->GetTunnelingType())); + eap_type_value_e eapType(static_cast(iUiConn->GetEapType())); - EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): Appended DISABLED EAP type:", - expandedEAPTmp.GetValue().Ptr(), - expandedEAPTmp.GetValue().Size() ) ); - } - } - } // for() + TRAPD(err, EapTlsPeapUtils::SetTunnelingExpandedEapDataL( + iDatabase, + 0, + enabledEAPTypes, + disabledEAPTypes, + iUiConn->GetIndexType(), + iUiConn->GetIndex(), + tunnelingType, + eapType)); - TRAPD(error,iEapTypeConnection->SetConfigurationL(aSettings)); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): error = %d\n"),error)); - - User::LeaveIfError(error); + enabledEAPTypes.ResetAndDestroy(); + disabledEAPTypes.ResetAndDestroy(); + + if (err != KErrNone) + { + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL: Error from SetTunnelingExpandedEapDataL:%d\n"), + err)); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): End\n"))); + User::Leave(err); + } + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL: End\n"))); } + +#endif // #ifdef USE_EAP_EXPANDED_TYPES // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiTlsPeapData.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiTlsPeapData.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiTlsPeapData.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 14 % */ // This is enumeration of EAPOL source code. @@ -34,8 +34,7 @@ : iAllowVersion0(EFalse), iAllowVersion1(EFalse), iAllowVersion2(EFalse), -iPapPasswordPrompt( ETrue ), -iPasswordPrompt(ETrue) +iPapPasswordPrompt( ETrue ) { } @@ -101,11 +100,6 @@ return iPacStorePassword; } -TBool* CEapTlsPeapUiTlsPeapData::GetUsePacStorePasswordPrompt() -{ - return &iPasswordPrompt; -} - // --------------------------------------------------------- // CEapTlsPeapUiTlsPeapData::GetPapUserName() diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUtils.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUtils.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUtils.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 140 % +* %version: 76.1.1.1.6 % */ // This is enumeration of EAPOL source code. @@ -36,68 +36,66 @@ #include #include -#include "EapPluginTools.h" -#include "EapConversion.h" -#include "EapAutomatic.h" - #ifdef USE_FAST_EAP_TYPE #include "pac_store_db_parameters.h" #endif //#ifdef USE_FAST_EAP_TYPE -#include - +#include "eap_am_trace_symbian.h" #include "EapTlsPeapCertFetcher.h" const TUint KMaxSqlQueryLength = 2048; const TInt KMicroSecsInAMinute = 60000000; // 60000000 micro seconds is 1 minute. const TInt KDefaultColumnInView_One = 1; // For DB view. const TInt KMaxEapDbTableNameLength = 64; - // ================= MEMBER FUNCTIONS ======================= void EapTlsPeapUtils::OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, + RDbNamedDatabase& aDatabase, + RDbs& aSession, const TIndexType aIndexType, - const TInt aIndex, + const TInt aIndex, const eap_type_value_e aTunnelingType, eap_type_value_e aEapType) { +#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::OpenDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type(), - aEapType.get_vendor_id(), - aEapType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::OpenDatabaseL()\n")); + (_L("EapTlsPeapUtils::OpenDatabaseL -Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"), + aIndexType,aIndex, aTunnelingType.get_vendor_type(), aEapType.get_vendor_type())); +#else + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::OpenDatabaseL -Start- aIndexType=%d, aIndex=%d, aTunnelingType=%d, aEapType=%d \n"), + aIndexType,aIndex, aTunnelingType, aEapType)); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES if (aEapType == eap_type_tls) { - OpenTlsDatabaseL(aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType); + OpenTlsDatabaseL(aDatabase, aSession, aIndexType, aIndex, aTunnelingType); } else if (aEapType == eap_type_peap) { - OpenPeapDatabaseL(aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType); + OpenPeapDatabaseL(aDatabase, aSession, aIndexType, aIndex, aTunnelingType); } #if defined(USE_TTLS_EAP_TYPE) else if (aEapType == eap_type_ttls) { - OpenTtlsDatabaseL(aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType); + OpenTtlsDatabaseL(aDatabase, aSession, aIndexType, aIndex, aTunnelingType); } #endif // #if defined(USE_TTLS_EAP_TYPE) #if defined(USE_FAST_EAP_TYPE) else if (aEapType == eap_type_fast) { - OpenFastDatabaseL(aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType); + OpenFastDatabaseL(aDatabase, aSession, aIndexType, aIndex, aTunnelingType); } #endif // #if defined(USE_FAST_EAP_TYPE) - else if ( aEapType == eap_expanded_type_ttls_plain_pap.get_type() ) - { - OpenTtlsDatabaseL( aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType); - } + + else if ( aEapType == eap_type_ttls_plain_pap ) + { + OpenTtlsDatabaseL( aDatabase, aSession, aIndexType, aIndex, aTunnelingType); + } + else { // Unsupported EAP type @@ -105,118 +103,144 @@ } } // EapTlsPeapUtils::OpenDatabaseL() -// --------------------------------------------------------- - void EapTlsPeapUtils::OpenTlsDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - const TIndexType aIndexType, - const TInt aIndex, - const eap_type_value_e aTunnelingType) + RDbNamedDatabase& aDatabase, + RDbs& aSession, + const TIndexType aIndexType, + const TInt aIndex, + const eap_type_value_e aTunnelingType) { +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::OpenTlsDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::OpenTlsDatabaseL()\n")); + (_L("EapTlsPeapUtils::OpenTlsDatabaseL -Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d \n"), + aIndexType,aIndex, aTunnelingVendorType)); // 1. Open/create a database - TInt error(KErrNone); - TFileName aPrivateDatabasePathName; - - EapPluginTools::CreateDatabaseLC( - aDatabase, - aFileServerSession, - error, - KTlsDatabaseName, - aPrivateDatabasePathName); - - if(error == KErrNone) + // Connect to the DBMS server. + User::LeaveIfError(aSession.Connect()); + CleanupClosePushL(aSession); + // aSession and aDatabase are pushed to the cleanup stack even though they may be member + // variables of the calling class and would be closed in the destructor anyway. This ensures + // that if they are not member variables they will be closed. Closing the handle twice + // does no harm. + +#ifdef SYMBIAN_SECURE_DBMS + + // Create the secure shared database with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = aDatabase.Create(aSession, KTlsDatabaseName, KSecureUIDFormat); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTlsDatabaseL - Created Secure DB for eaptls.dat. err=%d\n"), err) ); + + if(err == KErrNone) { aDatabase.Close(); - } - else if (error != KErrAlreadyExists) + + } else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTlsDatabaseL(): - calls aDatabase.Open()\n"))); - - error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTlsDatabaseL(): - Opened private DB for EAP-TLS. error=%d\n"), error)); - - User::LeaveIfError(error); + User::LeaveIfError(aDatabase.Open(aSession, KTlsDatabaseName, KSecureUIDFormat)); + CleanupClosePushL(aDatabase); + +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + TInt err = aDatabase.Create(fsSession, KTlsDatabaseName); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTlsDatabaseL - Created Non-Secure DB for eaptls.dat. err=%d\n"), err) ); + + if(err == KErrNone) + { + aDatabase.Close(); + + } else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + + User::LeaveIfError(aDatabase.Open(fsSession, KTlsDatabaseName)); + + CleanupStack::PopAndDestroy(); // close fsSession + + CleanupClosePushL(aDatabase); + +#endif // #ifdef SYMBIAN_SECURE_DBMS // 2. Create the eaptls table to database (ignore error if exists) - // Table columns: - //// NAME ////////////////////////////////////////// TYPE //////////// Constant //////////////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| EAP_TLS_PEAP_use_manual_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_realm_literal |// - //| EAP_TLS_PEAP_manual_realm | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_realm_literal |// - //| EAP_TLS_PEAP_use_manual_username | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_username_literal |// - //| EAP_TLS_PEAP_manual_username | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_username_literal |// - //| EAP_TLS_PEAP_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_cipher_suite_literal |// - //| EAP_TLS_server_authenticates_client | UNSIGNED INTEGER | cf_str_TLS_server_authenticates_client_policy_in_client_literal |// - //| CA_cert_label | VARCHAR(255) | KCACertLabel |// - //| client_cert_label | VARCHAR(255) | KClientCertLabel |// - //| EAP_TLS_PEAP_saved_session_id | BINARY(32) | cf_str_EAP_TLS_PEAP_saved_session_id_literal |// - //| EAP_TLS_PEAP_saved_master_secret | BINARY(48) | cf_str_EAP_TLS_PEAP_saved_master_secret_literal |// - //| EAP_TLS_PEAP_saved_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal |// - //| EAP_TLS_PEAP_verify_certificate_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal |// - //| EAP_TLS_max_session_validity_time | BIGINT | cf_str_EAP_TLS_max_session_validity_time_literal |// - //| EAP_TLS_last_full_authentication_time | BIGINT | KTLSLastFullAuthTime |// - //| EAP_TLS_PEAP_use_identity_privacy | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_identity_privacy_literal|// - //| EAP_TLS_PEAP_use_automatic_ca_certificate | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal|// - /////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Table columns: +//// NAME ////////////////////////////////////////// TYPE //////////// Constant //////////////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| EAP_TLS_PEAP_use_manual_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_realm_literal |// +//| EAP_TLS_PEAP_manual_realm | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_realm_literal |// +//| EAP_TLS_PEAP_use_manual_username | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_username_literal |// +//| EAP_TLS_PEAP_manual_username | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_username_literal |// +//| EAP_TLS_PEAP_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_cipher_suite_literal |// +//| EAP_TLS_server_authenticates_client | UNSIGNED INTEGER | cf_str_TLS_server_authenticates_client_policy_in_client_literal |// +//| CA_cert_label | VARCHAR(255) | KCACertLabelOld |// +//| client_cert_label | VARCHAR(255) | KClientCertLabel |// +//| EAP_TLS_PEAP_saved_session_id | BINARY(32) | cf_str_EAP_TLS_PEAP_saved_session_id_literal |// +//| EAP_TLS_PEAP_saved_master_secret | BINARY(48) | cf_str_EAP_TLS_PEAP_saved_master_secret_literal |// +//| EAP_TLS_PEAP_saved_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal |// +//| EAP_TLS_PEAP_verify_certificate_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal |// +//| EAP_TLS_max_session_validity_time | BIGINT | cf_str_EAP_TLS_max_session_validity_time_literal |// +//| EAP_TLS_last_full_authentication_time | BIGINT | KTLSLastFullAuthTime |// +//| EAP_TLS_PEAP_use_identity_privacy | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_identity_privacy_literal|// +/////////////////////////////////////////////////////////////////////////////////////////////////////////////// HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); // Table creation is divided into two parts because otherwise the SQL string would get too long - _LIT(KSQLCreateTable1, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S BIGINT, \ - %S BIGINT, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER)"); + _LIT(KSQLCreateTable1, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S BIGINT, \ + %S BIGINT, \ + %S UNSIGNED INTEGER)"); sqlStatement.Format(KSQLCreateTable1, &KTlsDatabaseTableName, &KServiceType, &KServiceIndex, - &KTunnelingTypeVendorId, &KTunnelingType, &cf_str_EAP_TLS_PEAP_use_manual_realm_literal, - &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxRealmLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxManualRealmLengthInDB, &cf_str_EAP_TLS_PEAP_use_manual_username_literal, - &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxUsernameLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxManualUsernameLengthInDB, &cf_str_EAP_TLS_PEAP_cipher_suite_literal, &cf_str_TLS_server_authenticates_client_policy_in_client_literal, - &KCACertLabel, KMaxCertLabelLengthInDB, + &KCACertLabelOld, KMaxCertLabelLengthInDB, &KClientCertLabel, KMaxCertLabelLengthInDB, &cf_str_EAP_TLS_PEAP_saved_session_id_literal, KMaxSessionIdLengthInDB, &cf_str_EAP_TLS_PEAP_saved_master_secret_literal, KMaxMasterSecretLengthInDB, @@ -224,56 +248,50 @@ &cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal, &cf_str_EAP_TLS_max_session_validity_time_literal, &KTLSLastFullAuthTime, - &cf_str_EAP_TLS_PEAP_use_identity_privacy_literal, - &cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal); - - error = aDatabase.Execute(sqlStatement); - if (error == KErrAlreadyExists) + &cf_str_EAP_TLS_PEAP_use_identity_privacy_literal); + + err = aDatabase.Execute(sqlStatement); + if (err == KErrAlreadyExists) { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTlsDatabaseL - Alter Table error=%d\n"), error) ); - _LIT( KColumnDef, "UNSIGNED INTEGER" ); - AlterTableL( aDatabase, EAddColumn , KTlsDatabaseTableName, + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTlsDatabaseL - Alter Table err=%d\n"), err) ); + _LIT( KColumnDef, "UNSIGNED INTEGER" ); + AlterTableL( aDatabase, EAddColumn , KTlsDatabaseTableName, cf_str_EAP_TLS_PEAP_use_identity_privacy_literal, KColumnDef); } - else if (error != KErrNone) - { - User::Leave(error); - } + else if (err != KErrNone) + { + User::Leave(err); + } // Create table for _allowed_ user certificates - //// NAME ////////////////// TYPE ////////////// Constant /////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| CertLabel | VARCHAR(255) | KCertLabel |// - //| SubjectKeyId | BINARY(20) | KSubjectKeyIdentifier |// This is Symbian subjectkey id - //| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. - //| SubjectName | VARCHAR(255) | KSubjectName |// - //| IssuerName | VARCHAR(255) | KIssuerName |// - //| SerialNumber | VARCHAR(255) | KSerialNumber |// - //| Thumbprint | BINARY(64) | KThumbprint |// - ////////////////////////////////////////////////////////////////////////////////////////////////////// - - _LIT(KSQLCreateTable2, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S BINARY(%d))"); - - sqlStatement.Format(KSQLCreateTable2, - &KTlsAllowedUserCertsDatabaseTableName, +//// NAME ////////////////// TYPE ////////////// Constant /////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| CertLabel | VARCHAR(255) | KCertLabel |// +//| SubjectKeyId | BINARY(20) | KSubjectKeyIdentifier |// This is Symbian subjectkey id +//| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. +//| SubjectName | VARCHAR(255) | KSubjectName |// +//| IssuerName | VARCHAR(255) | KIssuerName |// +//| SerialNumber | VARCHAR(255) | KSerialNumber |// +//| Thumbprint | BINARY(64) | KThumbprint |// +////////////////////////////////////////////////////////////////////////////////////////////////////// + + _LIT(KSQLCreateTable2, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S BINARY(%d))"); + + sqlStatement.Format(KSQLCreateTable2, &KTlsAllowedUserCertsDatabaseTableName, &KServiceType, &KServiceIndex, - &KTunnelingTypeVendorId, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -283,46 +301,41 @@ &KSerialNumber, KGeneralStringMaxLength, &KThumbprint, KThumbprintMaxLength); - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } // Create table for _allowed_ CA certs - //// NAME ////////////////// TYPE ////////////// Constant /////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| CertLabel | VARCHAR(255) | KCACertLabel |// - //| SubjectKeyId | BINARY(255) | KSubjectKeyIdentifier |// This is Symbian subjectkey id - //| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. - //| SubjectName | VARCHAR(255) | KSubjectName |// - //| IssuerName | VARCHAR(255) | KIssuerName |// - //| SerialNumber | VARCHAR(255) | KSerialNumber |// - //| Thumbprint | BINARY(64) | KThumbprint |// - ////////////////////////////////////////////////////////////////////////////////////////////////////// - - _LIT(KSQLCreateTable3, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S BINARY(%d))"); - - sqlStatement.Format(KSQLCreateTable3, - &KTlsAllowedCACertsDatabaseTableName, +//// NAME ////////////////// TYPE ////////////// Constant /////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| CertLabel | VARCHAR(255) | KCACertLabel |// +//| SubjectKeyId | BINARY(255) | KSubjectKeyIdentifier |// This is Symbian subjectkey id +//| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. +//| SubjectName | VARCHAR(255) | KSubjectName |// +//| IssuerName | VARCHAR(255) | KIssuerName |// +//| SerialNumber | VARCHAR(255) | KSerialNumber |// +//| Thumbprint | BINARY(64) | KThumbprint |// +////////////////////////////////////////////////////////////////////////////////////////////////////// + + _LIT(KSQLCreateTable3, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S BINARY(%d))"); + + sqlStatement.Format(KSQLCreateTable3, &KTlsAllowedCACertsDatabaseTableName, &KServiceType, - &KServiceIndex, - &KTunnelingTypeVendorId, + &KServiceIndex, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -332,58 +345,44 @@ &KSerialNumber, KGeneralStringMaxLength, &KThumbprint, KThumbprintMaxLength); - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } // Create table for allowed cipher suites - //// NAME ///////////////// TYPE ////////////// Constant /////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| CipherSuite | UNSIGNED INTEGER | KCipherSuite |// - ////////////////////////////////////////////////////////////////////////////////////////////////////// - - _LIT(KSQLCreateTable4, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER)"); - - sqlStatement.Format(KSQLCreateTable4, - &KTlsAllowedCipherSuitesDatabaseTableName, +//// NAME ///////////////// TYPE ////////////// Constant /////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| CipherSuite | UNSIGNED INTEGER | KCipherSuite |// +////////////////////////////////////////////////////////////////////////////////////////////////////// + + _LIT(KSQLCreateTable4, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER)"); + + sqlStatement.Format(KSQLCreateTable4, &KTlsAllowedCipherSuitesDatabaseTableName, &KServiceType, - &KServiceIndex, - &KTunnelingTypeVendorId, + &KServiceIndex, &KTunnelingType, &KCipherSuite); - - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } // 4. Check if database table contains a row for this service type and id - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQLQueryRow, - &cf_str_EAP_TLS_PEAP_cipher_suite_literal, - &KTlsDatabaseTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_TLS_PEAP_cipher_suite_literal, &KTlsDatabaseTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -411,20 +410,19 @@ // Set the default values. The other three tables (certs, ca certs & cipher suites) are empty by default. view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal), default_EAP_TLS_PEAP_use_manual_realm); - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_realm); + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_TLS_PEAP_manual_realm); view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), default_EAP_TLS_PEAP_use_manual_username); - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_username); + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_TLS_PEAP_manual_username); view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_cipher_suite_literal), default_EAP_TLS_PEAP_cipher_suite); view.SetColL(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal), default_EAP_TLS_server_authenticates_client); - view.SetColL(colSet->ColNo(KCACertLabel), default_CA_cert_label); + view.SetColL(colSet->ColNo(KCACertLabelOld), default_CA_cert_label); view.SetColL(colSet->ColNo(KClientCertLabel), default_client_cert_label); view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal), default_EAP_TLS_PEAP_verify_certificate_realm); @@ -433,14 +431,11 @@ view.SetColL(colSet->ColNo(KTLSLastFullAuthTime), default_FullAuthTime); - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TTLS_Privacy); - - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal), default_EAP_TLS_PEAP_use_automatic_ca_certificate); - + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TLS_Privacy); view.PutL(); - CleanupStack::PopAndDestroy( colSet ); - CleanupStack::PopAndDestroy( &view ); + CleanupStack::PopAndDestroy( colSet ); // Delete colSet. + CleanupStack::PopAndDestroy( &view ); // Close view. // Add default disabled cipher suites _LIT(KSQLInsert2, "SELECT * FROM %S"); @@ -458,8 +453,7 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); view.SetColL(colSet->ColNo(KCipherSuite), default_allowed_cipher_suites[i]); view.PutL(); i++; @@ -482,139 +476,163 @@ tableName = KTlsAllowedCACertsDatabaseTableName; AddExtraCertColumnsL(aDatabase,tableName); - + CleanupStack::PopAndDestroy( buf ); // Delete buf or sqlStatement + CleanupStack::Pop( &aDatabase ); + CleanupStack::Pop( &aSession ); + aDatabase.Compact(); - - CleanupStack::PopAndDestroy( buf ); - CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aFileServerSession ); } -// --------------------------------------------------------- - void EapTlsPeapUtils::OpenPeapDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - const TIndexType aIndexType, - const TInt aIndex, - const eap_type_value_e aTunnelingType) + RDbNamedDatabase& aDatabase, + RDbs& aSession, + const TIndexType aIndexType, + const TInt aIndex, + const eap_type_value_e aTunnelingType) { +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::OpenPeapDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::OpenPeapDatabaseL()\n")); + (_L("EapTlsPeapUtils::OpenPeapDatabaseL -Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d \n"), + aIndexType,aIndex, aTunnelingVendorType)); // 1. Open/create a database - - TInt error(KErrNone); - TFileName aPrivateDatabasePathName; - - EapPluginTools::CreateDatabaseLC( - aDatabase, - aFileServerSession, - error, - KPeapDatabaseName, - aPrivateDatabasePathName); - - if(error == KErrNone) + + // Connect to the DBMS server. + User::LeaveIfError(aSession.Connect()); + CleanupClosePushL(aSession); + // aSession and aDatabase are pushed to the cleanup stack even though they may be member + // variables of the calling class and would be closed in the destructor anyway. This ensures + // that if they are not member variables they will be closed. Closing the handle twice + // does no harm. + +#ifdef SYMBIAN_SECURE_DBMS + + // Create the secure shared database with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = aDatabase.Create(aSession, KPeapDatabaseName, KSecureUIDFormat); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenPeapDatabaseL - Created Secure DB for eappeap.dat. err=%d\n"), err) ); + + if(err == KErrNone) { aDatabase.Close(); - } - else if (error != KErrAlreadyExists) + + } else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenPeapDatabaseL(): - calls aDatabase.Open()\n"))); - - error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenPeapDatabaseL(): - Opened private DB for EAP-PEAP. error=%d\n"), error)); - - User::LeaveIfError(error); + User::LeaveIfError(aDatabase.Open(aSession, KPeapDatabaseName, KSecureUIDFormat)); + CleanupClosePushL(aDatabase); + +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + TInt err = aDatabase.Create(fsSession, KPeapDatabaseName); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenPeapDatabaseL - Created Non-Secure DB for eappeap.dat. err=%d\n"), err) ); + + if(err == KErrNone) + { + aDatabase.Close(); + + } else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + + User::LeaveIfError(aDatabase.Open(fsSession, KPeapDatabaseName)); + + CleanupStack::PopAndDestroy(); // close fsSession + + CleanupClosePushL(aDatabase); + +#endif // #ifdef SYMBIAN_SECURE_DBMS // 2. Create the eappeap table to database (ignore error if exists) - // Table columns: - //// NAME /////////////////////////////////////////////// TYPE ////////////// Constant /////////////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| EAP_TLS_PEAP_use_manual_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_realm_literal |// - //| EAP_TLS_PEAP_manual_realm | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_realm_literal |// - //| EAP_TLS_PEAP_use_manual_username | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_username_literal |// - //| EAP_TLS_PEAP_manual_username | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_username_literal |// - //| EAP_TLS_PEAP_max_count_of_session_resumes | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_max_count_of_session_resumes_literal |// - //| EAP_TLS_PEAP_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_cipher_suite_literal |// - //| EAP_TLS_PEAP_used_PEAP_version | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_used_PEAP_version_literal |// - //| EAP_TLS_PEAP_accepted_PEAP_versions | BINARY(12) | cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal|// - //| PEAP_accepted_tunneled_client_types | VARBINARY(240) | cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal |// - //| PEAP_unaccepted_tunneled_client_types | VARBINARY(240) | cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal |// - //| EAP_TLS_server_authenticates_client | UNSIGNED INTEGER | cf_str_TLS_server_authenticates_client_policy_in_client_literal|// - //| CA_cert_label | VARCHAR(255) | KCACertLabel |// - //| client_cert_label | VARCHAR(255) | KClientCertLabel |// - //| EAP_TLS_PEAP_saved_session_id | BINARY(32) | cf_str_EAP_TLS_PEAP_saved_session_id_literal |// - //| EAP_TLS_PEAP_saved_master_secret | BINARY(48) | cf_str_EAP_TLS_PEAP_saved_master_secret_literal |// - //| EAP_TLS_PEAP_saved_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal |// - //| EAP_TLS_PEAP_verify_certificate_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal |// - //| EAP_PEAP_max_session_validity_time | BIGINT | cf_str_EAP_PEAP_max_session_validity_time_literal |// - //| EAP_PEAP_last_full_authentication_time | BIGINT | KPEAPLastFullAuthTime |// - //| EAP_TLS_PEAP_use_identity_privacy | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_identity_privacy_literal|// - //| EAP_TLS_PEAP_use_automatic_ca_certificate | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal|// - ////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Table columns: +//// NAME /////////////////////////////////////////////// TYPE ////////////// Constant /////////////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| EAP_TLS_PEAP_use_manual_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_realm_literal |// +//| EAP_TLS_PEAP_manual_realm | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_realm_literal |// +//| EAP_TLS_PEAP_use_manual_username | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_username_literal |// +//| EAP_TLS_PEAP_manual_username | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_username_literal |// +//| EAP_TLS_PEAP_max_count_of_session_resumes | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_max_count_of_session_resumes_literal |// +//| EAP_TLS_PEAP_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_cipher_suite_literal |// +//| EAP_TLS_PEAP_used_PEAP_version | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_used_PEAP_version_literal |// +//| EAP_TLS_PEAP_accepted_PEAP_versions | BINARY(12) | cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal|// +//| PEAP_accepted_tunneled_client_types | VARBINARY(240) | cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal |// +//| PEAP_unaccepted_tunneled_client_types | VARBINARY(240) | cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal |// +//| EAP_TLS_server_authenticates_client | UNSIGNED INTEGER | cf_str_TLS_server_authenticates_client_policy_in_client_literal|// +//| CA_cert_label | VARCHAR(255) | KCACertLabelOld |// +//| client_cert_label | VARCHAR(255) | KClientCertLabel |// +//| EAP_TLS_PEAP_saved_session_id | BINARY(32) | cf_str_EAP_TLS_PEAP_saved_session_id_literal |// +//| EAP_TLS_PEAP_saved_master_secret | BINARY(48) | cf_str_EAP_TLS_PEAP_saved_master_secret_literal |// +//| EAP_TLS_PEAP_saved_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal |// +//| EAP_TLS_PEAP_verify_certificate_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal |// +//| EAP_PEAP_max_session_validity_time | BIGINT | cf_str_EAP_PEAP_max_session_validity_time_literal |// +//| EAP_PEAP_last_full_authentication_time | BIGINT | KPEAPLastFullAuthTime |// +//| EAP_TLS_PEAP_use_identity_privacy | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_identity_privacy_literal|// +////////////////////////////////////////////////////////////////////////////////////////////////////////////// HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); // Table creation is divided into two parts because otherwise the SQL string would get too long - _LIT(KSQLCreateTable1, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S BINARY(%d), \ - %S VARBINARY(%d), \ - %S VARBINARY(%d), \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S BIGINT, \ - %S BIGINT, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER)"); - + _LIT(KSQLCreateTable1, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S BINARY(%d), \ + %S VARBINARY(%d), \ + %S VARBINARY(%d), \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S BIGINT, \ + %S BIGINT, \ + %S UNSIGNED INTEGER)"); sqlStatement.Format(KSQLCreateTable1, &KPeapDatabaseTableName, &KServiceType, &KServiceIndex, - &KTunnelingTypeVendorId, &KTunnelingType, &cf_str_EAP_TLS_PEAP_use_manual_realm_literal, - &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxRealmLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxManualRealmLengthInDB, &cf_str_EAP_TLS_PEAP_use_manual_username_literal, - &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxUsernameLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxManualUsernameLengthInDB, &cf_str_EAP_TLS_PEAP_cipher_suite_literal, &cf_str_EAP_TLS_PEAP_used_PEAP_version_literal, &cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal, KMaxPEAPVersionsStringLengthInDB, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, KMaxTunneledTypeStringLengthInDB, &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, KMaxTunneledTypeStringLengthInDB, &cf_str_TLS_server_authenticates_client_policy_in_client_literal, - &KCACertLabel, KMaxCertLabelLengthInDB, + &KCACertLabelOld, KMaxCertLabelLengthInDB, &KClientCertLabel, KMaxCertLabelLengthInDB, &cf_str_EAP_TLS_PEAP_saved_session_id_literal, KMaxSessionIdLengthInDB, &cf_str_EAP_TLS_PEAP_saved_master_secret_literal, KMaxMasterSecretLengthInDB, @@ -622,56 +640,50 @@ &cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal, &cf_str_EAP_PEAP_max_session_validity_time_literal, &KPEAPLastFullAuthTime, - &cf_str_EAP_TLS_PEAP_use_identity_privacy_literal, - &cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal); + &cf_str_EAP_TLS_PEAP_use_identity_privacy_literal); - error = aDatabase.Execute(sqlStatement); - if (error == KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err == KErrAlreadyExists) { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenPeapDatabaseL - Alter Table error=%d\n"), error) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenPeapDatabaseL - Alter Table err=%d\n"), err) ); _LIT( KColumnDef, "UNSIGNED INTEGER" ); AlterTableL( aDatabase, EAddColumn , KPeapDatabaseTableName, cf_str_EAP_TLS_PEAP_use_identity_privacy_literal, KColumnDef); } - else if (error != KErrNone) + else if (err != KErrNone) { - User::Leave(error); + User::Leave(err); } // Create table for _allowed_ user certificates - //// NAME ////////////////// TYPE ////////////// Constant /////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| CertLabel | VARCHAR(255) | KCACertLabel |// - //| SubjectKeyId | BINARY(20) | KSubjectKeyIdentifier |// This is Symbian subjectkey id - //| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. - //| SubjectName | VARCHAR(255) | KSubjectName |// - //| IssuerName | VARCHAR(255) | KIssuerName |// - //| SerialNumber | VARCHAR(255) | KSerialNumber |// - //| Thumbprint | BINARY(64) | KThumbprint |// - ////////////////////////////////////////////////////////////////////////////////////////////////////// - - _LIT(KSQLCreateTable2, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S BINARY(%d))"); - - sqlStatement.Format(KSQLCreateTable2, - &KPeapAllowedUserCertsDatabaseTableName, +//// NAME ////////////////// TYPE ////////////// Constant /////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| CertLabel | VARCHAR(255) | KCACertLabel |// +//| SubjectKeyId | BINARY(20) | KSubjectKeyIdentifier |// This is Symbian subjectkey id +//| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. +//| SubjectName | VARCHAR(255) | KSubjectName |// +//| IssuerName | VARCHAR(255) | KIssuerName |// +//| SerialNumber | VARCHAR(255) | KSerialNumber |// +//| Thumbprint | BINARY(64) | KThumbprint |// +////////////////////////////////////////////////////////////////////////////////////////////////////// + + _LIT(KSQLCreateTable2, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S BINARY(%d))"); + + sqlStatement.Format(KSQLCreateTable2, &KPeapAllowedUserCertsDatabaseTableName, &KServiceType, &KServiceIndex, - &KTunnelingTypeVendorId, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -681,46 +693,41 @@ &KSerialNumber, KGeneralStringMaxLength, &KThumbprint, KThumbprintMaxLength); - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } // Create table for _allowed_ CA certs - //// NAME ////////////////// TYPE ////////////// Constant /////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| CACertLabel | VARCHAR(255) | KCACertLabel |// - //| SubjectKeyId | BINARY(20) | KSubjectKeyIdentifier |// This is Symbian subjectkey id - //| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. - //| SubjectName | VARCHAR(255) | KSubjectName |// - //| IssuerName | VARCHAR(255) | KIssuerName |// - //| SerialNumber | VARCHAR(255) | KSerialNumber |// - //| Thumbprint | BINARY(64) | KThumbprint |// - ////////////////////////////////////////////////////////////////////////////////////////////////////// - - _LIT(KSQLCreateTable3, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S BINARY(%d))"); +//// NAME ////////////////// TYPE ////////////// Constant /////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| CACertLabel | VARCHAR(255) | KCACertLabel |// +//| SubjectKeyId | BINARY(20) | KSubjectKeyIdentifier |// This is Symbian subjectkey id +//| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. +//| SubjectName | VARCHAR(255) | KSubjectName |// +//| IssuerName | VARCHAR(255) | KIssuerName |// +//| SerialNumber | VARCHAR(255) | KSerialNumber |// +//| Thumbprint | BINARY(64) | KThumbprint |// +////////////////////////////////////////////////////////////////////////////////////////////////////// + + _LIT(KSQLCreateTable3, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S BINARY(%d))"); - sqlStatement.Format(KSQLCreateTable3, - &KPeapAllowedCACertsDatabaseTableName, + sqlStatement.Format(KSQLCreateTable3, &KPeapAllowedCACertsDatabaseTableName, &KServiceType, - &KServiceIndex, - &KTunnelingTypeVendorId, + &KServiceIndex, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -730,66 +737,49 @@ &KSerialNumber, KGeneralStringMaxLength, &KThumbprint, KThumbprintMaxLength); - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } // Create table for _allowed_ cipher suites - //// NAME ///////////////////// TYPE ////////////// Constant /////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| CipherSuite | UNSIGNED INTEGER | KCipherSuite |// - ////////////////////////////////////////////////////////////////////////////////////////////////////// - - _LIT(KSQLCreateTable4, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER)"); - - sqlStatement.Format(KSQLCreateTable4, - &KPeapAllowedCipherSuitesDatabaseTableName, - &KServiceType, - &KServiceIndex, - &KTunnelingTypeVendorId, - &KTunnelingType, - &KCipherSuite); - - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) +//// NAME ///////////////// TYPE ////////////// Constant /////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| CipherSuite | UNSIGNED INTEGER | KCipherSuite |// +////////////////////////////////////////////////////////////////////////////////////////////////////// + + _LIT(KSQLCreateTable4, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER)"); + + sqlStatement.Format(KSQLCreateTable4, &KPeapAllowedCipherSuitesDatabaseTableName, + &KServiceType, &KServiceIndex, &KTunnelingType, &KCipherSuite); + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } // 4. Check if database table contains a row for this service type and id - _LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQLQueryRow, - &KPeapDatabaseTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); - + _LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + sqlStatement.Format(KSQLQueryRow, &KPeapDatabaseTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); // View must be closed when no longer needed CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); - + // 5. If row is not found then add it - + TInt rows = view.CountL(); CleanupStack::PopAndDestroy(); // view if (rows == 0) @@ -808,14 +798,13 @@ // Set the default values. The other three tables (certs, ca certs & cipher suites) are empty by default. view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal), default_EAP_TLS_PEAP_use_manual_realm); - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_realm); + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_TLS_PEAP_manual_realm); view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), default_EAP_TLS_PEAP_use_manual_username); - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_username); + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_TLS_PEAP_manual_username); view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_cipher_suite_literal), default_EAP_TLS_PEAP_cipher_suite); @@ -838,7 +827,7 @@ view.SetColL(colSet->ColNo(cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal), default_PEAP_tunneled_types); view.SetColL(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal), default_EAP_PEAP_TTLS_server_authenticates_client); - view.SetColL(colSet->ColNo(KCACertLabel), default_CA_cert_label); + view.SetColL(colSet->ColNo(KCACertLabelOld), default_CA_cert_label); view.SetColL(colSet->ColNo(KClientCertLabel), default_client_cert_label); view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal), default_EAP_TLS_PEAP_verify_certificate_realm); @@ -847,9 +836,7 @@ view.SetColL(colSet->ColNo(KPEAPLastFullAuthTime), default_FullAuthTime); - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TTLS_Privacy); - - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal), default_EAP_TLS_PEAP_use_automatic_ca_certificate); + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TLS_Privacy); view.PutL(); @@ -872,15 +859,14 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); view.SetColL(colSet->ColNo(KCipherSuite), default_allowed_cipher_suites[i]); view.PutL(); i++; } - CleanupStack::PopAndDestroy( colSet ); - CleanupStack::PopAndDestroy( &view ); + CleanupStack::PopAndDestroy( colSet ); // Delete colSet. + CleanupStack::PopAndDestroy( &view ); // Close view. } // 6. Do the altering of tables here. @@ -896,11 +882,11 @@ tableName = KPeapAllowedCACertsDatabaseTableName; AddExtraCertColumnsL(aDatabase,tableName); + CleanupStack::PopAndDestroy( buf ); // Delete buf or sqlStatement + CleanupStack::Pop( &aDatabase ); + CleanupStack::Pop( &aSession ); + aDatabase.Compact(); - - CleanupStack::PopAndDestroy( buf ); - CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aFileServerSession ); } #if defined(USE_TTLS_EAP_TYPE) @@ -910,143 +896,170 @@ // --------------------------------------------------------- // void EapTlsPeapUtils::OpenTtlsDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - const TIndexType aIndexType, - const TInt aIndex, - const eap_type_value_e aTunnelingType) + RDbNamedDatabase& aDatabase, + RDbs& aSession, + const TIndexType aIndexType, + const TInt aIndex, + const eap_type_value_e aTunnelingType) { +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::OpenTtlsDatabaseL()\n")); + (_L("EapTlsPeapUtils::OpenTtlsDatabaseL -Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d \n"), + aIndexType,aIndex, aTunnelingVendorType)); // 1. Open/create a database - - TInt error(KErrNone); - TFileName aPrivateDatabasePathName; - - EapPluginTools::CreateDatabaseLC( - aDatabase, - aFileServerSession, - error, - KTtlsDatabaseName, - aPrivateDatabasePathName); - - if(error == KErrNone) + + // Connect to the DBMS server. + User::LeaveIfError(aSession.Connect()); + CleanupClosePushL(aSession); + // aSession and aDatabase are pushed to the cleanup stack even though they may be member + // variables of the calling class and would be closed in the destructor anyway. This ensures + // that if they are not member variables they will be closed. Closing the handle twice + // does no harm. + +#ifdef SYMBIAN_SECURE_DBMS + + // Create the secure shared database with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = aDatabase.Create(aSession, KTtlsDatabaseName, KSecureUIDFormat); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL - Created Secure DB for eapttls.dat. err=%d\n"), err) ); + + if(err == KErrNone) { aDatabase.Close(); - } - else if (error != KErrAlreadyExists) + + } else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): - calls aDatabase.Open()\n"))); - - error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): - Opened private DB for EAP-TTLS. error=%d\n"), error)); - - User::LeaveIfError(error); - + User::LeaveIfError(aDatabase.Open(aSession, KTtlsDatabaseName, KSecureUIDFormat)); + CleanupClosePushL(aDatabase); + +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + TInt err = aDatabase.Create(fsSession, KTtlsDatabaseName); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL - Created Non-Secure DB for eapttls.dat. err=%d\n"), err) ); + + if(err == KErrNone) + { + aDatabase.Close(); + + } else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + + User::LeaveIfError(aDatabase.Open(fsSession, KTtlsDatabaseName)); + + CleanupStack::PopAndDestroy(); // close fsSession + + CleanupClosePushL(aDatabase); + +#endif // #ifdef SYMBIAN_SECURE_DBMS // 2. Create the eapttls table to database (ignore error if exists) - // Table columns: - //// NAME //////////////////////////////////////////// TYPE ////////////// Constant /////////////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| EAP_TLS_PEAP_use_manual_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_realm_literal |// - //| EAP_TLS_PEAP_manual_realm | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_realm_literal |// - //| EAP_TLS_PEAP_use_manual_username | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_username_literal |// - //| EAP_TLS_PEAP_manual_username | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_username_literal |// - //| EAP_TLS_PEAP_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_cipher_suite_literal |// - //| EAP_TLS_PEAP_used_PEAP_version | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_used_PEAP_version_literal |// - //| EAP_TLS_PEAP_accepted_PEAP_versions | BINARY(12) | cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal|// - //| PEAP_accepted_tunneled_client_types | VARBINARY(240) | cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal |// - //| PEAP_unaccepted_tunneled_client_types | VARBINARY(240) | cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal |// - //| EAP_TLS_server_authenticates_client | UNSIGNED INTEGER | cf_str_TLS_server_authenticates_client_policy_in_client_literal|// - //| CA_cert_label | VARCHAR(255) | KCACertLabel |// - //| client_cert_label | VARCHAR(255) | KClientCertLabel |// - //| EAP_TLS_PEAP_saved_session_id | BINARY(32) | cf_str_EAP_TLS_PEAP_saved_session_id_literal |// - //| EAP_TLS_PEAP_saved_master_secret | BINARY(48) | cf_str_EAP_TLS_PEAP_saved_master_secret_literal |// - //| EAP_TLS_PEAP_saved_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal |// - //| EAP_TLS_PEAP_verify_certificate_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal |// - //| EAP_TTLS_max_session_validity_time | BIGINT | cf_str_EAP_TTLS_max_session_validity_time_literal |// - //| EAP_TTLS_last_full_authentication_time | BIGINT | KTTLSLastFullAuthTime |// - //| EAP_TLS_PEAP_use_identity_privacy | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_identity_privacy_literal |// - - - //| EAP_TLS_PEAP_ttls_pap_password_prompt | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal |// - //| EAP_TLS_PEAP_ttls_pap_username | VARCHAR(253) | cf_str_EAP_TLS_PEAP_ttls_pap_username_literal |// - //| EAP_TLS_PEAP_ttls_pap_password | VARCHAR(128) | cf_str_EAP_TLS_PEAP_ttls_pap_password_literal |// - //| EAP_TLS_PEAP_ttls_pap_max_session_validity_time | BIGINT | cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal |// - //| EAP_TLS_PEAP_ttls_pap_last_full_authentication_time | BIGINT | KTTLSPAPLastFullAuthTime |// - - //| EAP_TLS_PEAP_use_automatic_ca_certificate | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal|// - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Table columns: +//// NAME //////////////////////////////////////////// TYPE ////////////// Constant /////////////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| EAP_TLS_PEAP_use_manual_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_realm_literal |// +//| EAP_TLS_PEAP_manual_realm | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_realm_literal |// +//| EAP_TLS_PEAP_use_manual_username | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_username_literal |// +//| EAP_TLS_PEAP_manual_username | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_username_literal |// +//| EAP_TLS_PEAP_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_cipher_suite_literal |// +//| EAP_TLS_PEAP_used_PEAP_version | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_used_PEAP_version_literal |// +//| EAP_TLS_PEAP_accepted_PEAP_versions | BINARY(12) | cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal|// +//| PEAP_accepted_tunneled_client_types | VARBINARY(240) | cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal |// +//| PEAP_unaccepted_tunneled_client_types | VARBINARY(240) | cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal |// +//| EAP_TLS_server_authenticates_client | UNSIGNED INTEGER | cf_str_TLS_server_authenticates_client_policy_in_client_literal|// +//| CA_cert_label | VARCHAR(255) | KCACertLabelOld |// +//| client_cert_label | VARCHAR(255) | KClientCertLabel |// +//| EAP_TLS_PEAP_saved_session_id | BINARY(32) | cf_str_EAP_TLS_PEAP_saved_session_id_literal |// +//| EAP_TLS_PEAP_saved_master_secret | BINARY(48) | cf_str_EAP_TLS_PEAP_saved_master_secret_literal |// +//| EAP_TLS_PEAP_saved_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal |// +//| EAP_TLS_PEAP_verify_certificate_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal |// +//| EAP_TTLS_max_session_validity_time | BIGINT | cf_str_EAP_TTLS_max_session_validity_time_literal |// +//| EAP_TTLS_last_full_authentication_time | BIGINT | KTTLSLastFullAuthTime |// +//| EAP_TLS_PEAP_use_identity_privacy | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_identity_privacy_literal |// + + +//| EAP_TLS_PEAP_ttls_pap_password_prompt | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal |// +//| EAP_TLS_PEAP_ttls_pap_username | VARCHAR(253) | cf_str_EAP_TLS_PEAP_ttls_pap_username_literal |// +//| EAP_TLS_PEAP_ttls_pap_password | VARCHAR(128) | cf_str_EAP_TLS_PEAP_ttls_pap_password_literal |// +//| EAP_TLS_PEAP_ttls_pap_max_session_validity_time | BIGINT | cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal |// +//| EAP_TLS_PEAP_ttls_pap_last_full_authentication_time | BIGINT | KTTLSPAPLastFullAuthTime |// + + +////////////////////////////////////////////////////////////////////////////////////////////////////////////// HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - // Table creation is divided into two parts because otherwise the SQL string would get too long - _LIT(KSQLCreateTable1, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S BINARY(%d), \ - %S VARBINARY(%d), \ - %S VARBINARY(%d), \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S BIGINT, \ - %S BIGINT, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S BIGINT, \ - %S BIGINT)"); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLCreateTable1)\n")) ); +// Table creation is divided into two parts because otherwise the SQL string would get too long + _LIT(KSQLCreateTable1, + "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S BINARY(%d), \ + %S VARBINARY(%d), \ + %S VARBINARY(%d), \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S BIGINT, \ + %S BIGINT, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S BIGINT, \ + %S BIGINT)"); sqlStatement.Format( KSQLCreateTable1, &KTtlsDatabaseTableName, &KServiceType, &KServiceIndex, - &KTunnelingTypeVendorId, &KTunnelingType, &cf_str_EAP_TLS_PEAP_use_manual_realm_literal, - &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxRealmLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxManualRealmLengthInDB, &cf_str_EAP_TLS_PEAP_use_manual_username_literal, - &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxUsernameLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxManualUsernameLengthInDB, &cf_str_EAP_TLS_PEAP_cipher_suite_literal, &cf_str_EAP_TLS_PEAP_used_PEAP_version_literal, &cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal, KMaxPEAPVersionsStringLengthInDB, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, KMaxTunneledTypeStringLengthInDB, &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, KMaxTunneledTypeStringLengthInDB, &cf_str_TLS_server_authenticates_client_policy_in_client_literal, - &KCACertLabel, KMaxCertLabelLengthInDB, + &KCACertLabelOld, KMaxCertLabelLengthInDB, &KClientCertLabel, KMaxCertLabelLengthInDB, &cf_str_EAP_TLS_PEAP_saved_session_id_literal, KMaxSessionIdLengthInDB, &cf_str_EAP_TLS_PEAP_saved_master_secret_literal, KMaxMasterSecretLengthInDB, @@ -1059,25 +1072,14 @@ &cf_str_EAP_TLS_PEAP_ttls_pap_username_literal, KMaxPapUserNameLengthInDb, &cf_str_EAP_TLS_PEAP_ttls_pap_password_literal, KMaxPapPasswordLengthInDb, &cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal, - &KTTLSPAPLastFullAuthTime); - - - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Execute()\n")) ); - - error = aDatabase.Execute(sqlStatement); - if (error == KErrNone) + &KTTLSPAPLastFullAuthTime ); + + + + err = aDatabase.Execute(sqlStatement); + if (err == KErrAlreadyExists) { - // SQL command will be too long if this is included to KSQLCreateTable1. - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): OK, Alter Table error=%d\n"), error) ); - - _LIT( KColumnDef6, "UNSIGNED INTEGER" ); - AlterTableL( aDatabase, EAddColumn , KTtlsDatabaseTableName, - cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal, KColumnDef6); - } - else if (error == KErrAlreadyExists) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): Alter Table error=%d\n"), error) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL - Alter Table err=%d\n"), err) ); _LIT( KColumnDef, "UNSIGNED INTEGER" ); AlterTableL( aDatabase, EAddColumn , KTtlsDatabaseTableName, @@ -1112,54 +1114,41 @@ AlterTableL( aDatabase, EAddColumn , KTtlsDatabaseTableName, KTTLSPAPLastFullAuthTime, KColumnDef5); - _LIT( KColumnDef6, "UNSIGNED INTEGER" ); - AlterTableL( aDatabase, EAddColumn , KTtlsDatabaseTableName, - cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal, KColumnDef6); - } - else if (error != KErrNone) + else if (err != KErrNone) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Execute() failed error=%d\n"), error) ); - - User::Leave(error); + User::Leave(err); } // Create table for _allowed_ user certificates - //// NAME ////////////////// TYPE ////////////// Constant /////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| CertLabel | VARCHAR(255) | KCACertLabel |// - //| SubjectKeyId | BINARY(20) | KSubjectKeyIdentifier |// This is Symbian subjectkey id - //| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. - //| SubjectName | VARCHAR(255) | KSubjectName |// - //| IssuerName | VARCHAR(255) | KIssuerName |// - //| SerialNumber | VARCHAR(255) | KSerialNumber |// - //| Thumbprint | BINARY(64) | KThumbprint |// - ////////////////////////////////////////////////////////////////////////////////////////////////////// - - _LIT(KSQLCreateTable2, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S BINARY(%d))"); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLCreateTable2)\n")) ); - - sqlStatement.Format(KSQLCreateTable2, - &KTtlsAllowedUserCertsDatabaseTableName, +//// NAME ////////////////// TYPE ////////////// Constant /////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| CertLabel | VARCHAR(255) | KCACertLabel |// +//| SubjectKeyId | BINARY(20) | KSubjectKeyIdentifier |// This is Symbian subjectkey id +//| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. +//| SubjectName | VARCHAR(255) | KSubjectName |// +//| IssuerName | VARCHAR(255) | KIssuerName |// +//| SerialNumber | VARCHAR(255) | KSerialNumber |// +//| Thumbprint | BINARY(64) | KThumbprint |// +////////////////////////////////////////////////////////////////////////////////////////////////////// + + _LIT(KSQLCreateTable2, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S BINARY(%d))"); + + sqlStatement.Format(KSQLCreateTable2, &KTtlsAllowedUserCertsDatabaseTableName, &KServiceType, - &KServiceIndex, - &KTunnelingTypeVendorId, + &KServiceIndex, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -1169,50 +1158,41 @@ &KSerialNumber, KGeneralStringMaxLength, &KThumbprint, KThumbprintMaxLength); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Execute()\n")) ); - - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } // Create table for _allowed_ CA certs - //// NAME ////////////////// TYPE ////////////// Constant /////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| CACertLabel | VARCHAR(255) | KCACertLabel |// - //| SubjectKeyId | BINARY(20) | KSubjectKeyIdentifier |// This is Symbian subjectkey id - //| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. - //| SubjectName | VARCHAR(255) | KSubjectName |// - //| IssuerName | VARCHAR(255) | KIssuerName |// - //| SerialNumber | VARCHAR(255) | KSerialNumber |// - //| Thumbprint | BINARY(64) | KThumbprint |// - ////////////////////////////////////////////////////////////////////////////////////////////////////// - - _LIT(KSQLCreateTable3, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S BINARY(%d))"); +//// NAME ////////////////// TYPE ////////////// Constant /////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| CACertLabel | VARCHAR(255) | KCACertLabel |// +//| SubjectKeyId | BINARY(20) | KSubjectKeyIdentifier |// This is Symbian subjectkey id +//| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. +//| SubjectName | VARCHAR(255) | KSubjectName |// +//| IssuerName | VARCHAR(255) | KIssuerName |// +//| SerialNumber | VARCHAR(255) | KSerialNumber |// +//| Thumbprint | BINARY(64) | KThumbprint |// +////////////////////////////////////////////////////////////////////////////////////////////////////// + + _LIT(KSQLCreateTable3, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S BINARY(%d))"); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLCreateTable3)\n")) ); - - sqlStatement.Format(KSQLCreateTable3, - &KTtlsAllowedCACertsDatabaseTableName, + sqlStatement.Format(KSQLCreateTable3, &KTtlsAllowedCACertsDatabaseTableName, &KServiceType, - &KServiceIndex, - &KTunnelingTypeVendorId, + &KServiceIndex, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -1222,101 +1202,58 @@ &KSerialNumber, KGeneralStringMaxLength, &KThumbprint, KThumbprintMaxLength); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Execute()\n")) ); - - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } // Create table for _allowed_ cipher suites - //// NAME ///////////////// TYPE ////////////// Constant /////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| CipherSuite | UNSIGNED INTEGER | KCipherSuite |// - ////////////////////////////////////////////////////////////////////////////////////////////////////// - - _LIT(KSQLCreateTable4, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER)"); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLCreateTable4)\n")) ); - - sqlStatement.Format(KSQLCreateTable4, - &KTtlsAllowedCipherSuitesDatabaseTableName, - &KServiceType, - &KServiceIndex, - &KTunnelingTypeVendorId, - &KTunnelingType, - &KCipherSuite); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Execute()\n")) ); - - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) +//// NAME ///////////////// TYPE ////////////// Constant /////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| CipherSuite | UNSIGNED INTEGER | KCipherSuite |// +////////////////////////////////////////////////////////////////////////////////////////////////////// + + _LIT(KSQLCreateTable4, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER)"); + + sqlStatement.Format(KSQLCreateTable4, &KTtlsAllowedCipherSuitesDatabaseTableName, + &KServiceType, &KServiceIndex, &KTunnelingType, &KCipherSuite); + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } // 4. Check if database table contains a row for this service type and id - _LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLQueryRow)\n")) ); - - sqlStatement.Format(KSQLQueryRow, - &KTtlsDatabaseTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + sqlStatement.Format(KSQLQueryRow, &KTtlsDatabaseTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); RDbView view; - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.Prepare()\n")) ); - User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); // View must be closed when no longer needed CleanupClosePushL(view); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.EvaluateAll()\n")) ); - User::LeaveIfError(view.EvaluateAll()); // 5. If row is not found then add it TInt rows = view.CountL(); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.CountL()=%d\n"), - rows)); - CleanupStack::PopAndDestroy(); // view if (rows == 0) { _LIT(KSQLInsert, "SELECT * FROM %S"); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLInsert)\n")) ); - sqlStatement.Format(KSQLInsert, &KTtlsDatabaseTableName); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.Prepare()\n")) ); - User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly)); CleanupClosePushL(view); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.InsertL()\n")) ); - view.InsertL(); // Get column set so we get the correct column numbers @@ -1326,14 +1263,13 @@ // Set the default values. The other three tables (certs, ca certs & cipher suites) are empty by default. view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal), default_EAP_TLS_PEAP_use_manual_realm); - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_realm); + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_TLS_PEAP_manual_realm); view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), default_EAP_TLS_PEAP_use_manual_username); - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_username); + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_TLS_PEAP_manual_username); view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_cipher_suite_literal), default_EAP_TLS_PEAP_cipher_suite); @@ -1356,7 +1292,7 @@ view.SetColL(colSet->ColNo(cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal), default_PEAP_tunneled_types); view.SetColL(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal), default_EAP_PEAP_TTLS_server_authenticates_client); - view.SetColL(colSet->ColNo(KCACertLabel), default_CA_cert_label); + view.SetColL(colSet->ColNo(KCACertLabelOld), default_CA_cert_label); view.SetColL(colSet->ColNo(KClientCertLabel), default_client_cert_label); @@ -1366,7 +1302,7 @@ view.SetColL(colSet->ColNo(KTTLSLastFullAuthTime), default_FullAuthTime); - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TTLS_Privacy); + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TLS_Privacy); view.SetColL( colSet->ColNo( @@ -1389,26 +1325,15 @@ colSet->ColNo( KTTLSPAPLastFullAuthTime ), KDefaultFullPapAuthTime ); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.SetColL(cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal)\n")) ); - - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal), default_EAP_TLS_PEAP_use_automatic_ca_certificate); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.PutL()\n")) ); - + view.PutL(); CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy( &view ); + CleanupStack::PopAndDestroy( &view ); // Close view. // Add default disabled cipher suites _LIT(KSQLInsert2, "SELECT * FROM %S"); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLInsert2)\n")) ); - sqlStatement.Format(KSQLInsert2, &KTtlsAllowedCipherSuitesDatabaseTableName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): view.Prepare()\n")) ); - User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly)); CleanupClosePushL(view); @@ -1422,15 +1347,14 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); view.SetColL(colSet->ColNo(KCipherSuite), default_allowed_cipher_suites[i]); view.PutL(); i++; } - CleanupStack::PopAndDestroy( colSet ); - CleanupStack::PopAndDestroy( &view ); + CleanupStack::PopAndDestroy( colSet ); // Delete colSet. + CleanupStack::PopAndDestroy( &view ); // Close view. } // 6. Do the altering of tables here. @@ -1440,21 +1364,18 @@ // For the table _allowed_ USER certificates tableName = KTtlsAllowedUserCertsDatabaseTableName; - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): AddExtraCertColumnsL()\n")) ); AddExtraCertColumnsL(aDatabase,tableName); // For the table _allowed_ CA certificates tableName = KTtlsAllowedCACertsDatabaseTableName; - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): AddExtraCertColumnsL()\n")) ); AddExtraCertColumnsL(aDatabase,tableName); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Compact()\n")) ); + CleanupStack::PopAndDestroy( buf ); // Delete buf or sqlStatement + CleanupStack::Pop( &aDatabase ); + CleanupStack::Pop( &aSession ); + aDatabase.Compact(); - - CleanupStack::PopAndDestroy( buf ); - CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aFileServerSession ); - + } // EapTlsPeapUtils::OpenTtlsDatabaseL() #endif // #if defined(USE_TTLS_EAP_TYPE) @@ -1466,83 +1387,117 @@ // --------------------------------------------------------- // void EapTlsPeapUtils::OpenFastDatabaseL( - RDbNamedDatabase& aDatabase, - RFs& aFileServerSession, - const TIndexType aIndexType, + RDbNamedDatabase& aDatabase, + RDbs& aSession, + const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType) -{ + { +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::OpenFastDatabaseL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::OpenFastDatabaseL()\n")); + (_L("EapTlsPeapUtils::OpenFastDatabaseL -Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d \n"), + aIndexType,aIndex, aTunnelingVendorType)); // 1. Open/create a database - - TInt error(KErrNone); - TFileName aPrivateDatabasePathName; - - EapPluginTools::CreateDatabaseLC( - aDatabase, - aFileServerSession, - error, - KFastDatabaseName, - aPrivateDatabasePathName); - - if(error == KErrNone) + + // Connect to the DBMS server. + User::LeaveIfError(aSession.Connect()); + CleanupClosePushL(aSession); + // aSession and aDatabase are pushed to the cleanup stack even though they may be member + // variables of the calling class and would be closed in the destructor anyway. This ensures + // that if they are not member variables they will be closed. Closing the handle twice + // does no harm. + +#ifdef SYMBIAN_SECURE_DBMS + + // Create the secure shared database with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = aDatabase.Create(aSession, KFastDatabaseName, KSecureUIDFormat); + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::OpenFastDatabaseL - Created Secure DB for eapfast.dat. err=%d (-11=DB created before)\n"), + err) ); + + if(err == KErrNone) { aDatabase.Close(); - } - else if (error != KErrAlreadyExists) + + } else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenFastDatabaseL(): - calls aDatabase.Open()\n"))); - - error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenFastDatabaseL(): - Opened private DB for EAP-FAST. error=%d\n"), error)); - - User::LeaveIfError(error); + User::LeaveIfError(aDatabase.Open(aSession, KFastDatabaseName, KSecureUIDFormat)); + CleanupClosePushL(aDatabase); + +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + TInt err = aDatabase.Create(fsSession, KFastDatabaseName); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenFastDatabaseL - Created Non-Secure DB for eapfast.dat. err=%d\n"), err) ); + + if(err == KErrNone) + { + aDatabase.Close(); + + } else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + + User::LeaveIfError(aDatabase.Open(fsSession, KFastDatabaseName)); + + CleanupStack::PopAndDestroy(); // close fsSession + + CleanupClosePushL(aDatabase); + +#endif // #ifdef SYMBIAN_SECURE_DBMS // 2. Create the eapfast tables to database (ignore error if exists) // Table 1: Create table for general settings of EAP-FAST. - // Table columns: - //// NAME //////////////////////////////////////////// TYPE ////////////// Constant /////////////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| EAP_TLS_PEAP_use_manual_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_realm_literal |// - //| EAP_TLS_PEAP_manual_realm | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_realm_literal |// - //| EAP_TLS_PEAP_use_manual_username | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_username_literal |// - //| EAP_TLS_PEAP_manual_username | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_username_literal |// - //| EAP_TLS_PEAP_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_cipher_suite_literal |// - //| EAP_TLS_PEAP_used_PEAP_version | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_used_PEAP_version_literal |// - //| EAP_TLS_PEAP_accepted_PEAP_versions | BINARY(12) | cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal|// - //| PEAP_accepted_tunneled_client_types | VARBINARY(240) | cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal |// - //| PEAP_unaccepted_tunneled_client_types | VARBINARY(240) | cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal |// - //| EAP_TLS_server_authenticates_client | UNSIGNED INTEGER | cf_str_TLS_server_authenticates_client_policy_in_client_literal|// - //| EAP_TLS_PEAP_saved_session_id | BINARY(32) | cf_str_EAP_TLS_PEAP_saved_session_id_literal |// - //| EAP_TLS_PEAP_saved_master_secret | BINARY(48) | cf_str_EAP_TLS_PEAP_saved_master_secret_literal |// - //| EAP_TLS_PEAP_saved_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal |// - //| EAP_TLS_PEAP_verify_certificate_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal |// - //| EAP_FAST_max_session_validity_time | BIGINT | cf_str_EAP_FAST_max_session_validity_time_literal |// - //| EAP_FAST_last_full_authentication_time | BIGINT | KFASTLastFullAuthTime |// - //| EAP_TLS_PEAP_use_identity_privacy | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_identity_privacy_literal |// - //| EAP_TLS_PEAP_use_automatic_ca_certificate | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal|// - ////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - /** moved to PAC store db, because time is the same for all IAPs **/ - //| EAP_FAST_last_password_identity_time | BIGINT | KFASTLastPasswordIdentityTime |// - ////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Table columns: +//// NAME //////////////////////////////////////////// TYPE ////////////// Constant /////////////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| EAP_TLS_PEAP_use_manual_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_realm_literal |// +//| EAP_TLS_PEAP_manual_realm | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_realm_literal |// +//| EAP_TLS_PEAP_use_manual_username | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_manual_username_literal |// +//| EAP_TLS_PEAP_manual_username | VARCHAR(255) | cf_str_EAP_TLS_PEAP_manual_username_literal |// +//| EAP_TLS_PEAP_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_cipher_suite_literal |// +//| EAP_TLS_PEAP_used_PEAP_version | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_used_PEAP_version_literal |// +//| EAP_TLS_PEAP_accepted_PEAP_versions | BINARY(12) | cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal|// +//| PEAP_accepted_tunneled_client_types | VARBINARY(240) | cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal |// +//| PEAP_unaccepted_tunneled_client_types | VARBINARY(240) | cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal |// +//| EAP_TLS_server_authenticates_client | UNSIGNED INTEGER | cf_str_TLS_server_authenticates_client_policy_in_client_literal|// +//| EAP_TLS_PEAP_saved_session_id | BINARY(32) | cf_str_EAP_TLS_PEAP_saved_session_id_literal |// +//| EAP_TLS_PEAP_saved_master_secret | BINARY(48) | cf_str_EAP_TLS_PEAP_saved_master_secret_literal |// +//| EAP_TLS_PEAP_saved_cipher_suite | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_saved_cipher_suite_literal |// +//| EAP_TLS_PEAP_verify_certificate_realm | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal |// +//| EAP_FAST_max_session_validity_time | BIGINT | cf_str_EAP_FAST_max_session_validity_time_literal |// +//| EAP_FAST_last_full_authentication_time | BIGINT | KFASTLastFullAuthTime |// +//| EAP_TLS_PEAP_use_identity_privacy | UNSIGNED INTEGER | cf_str_EAP_TLS_PEAP_use_identity_privacy_literal |// +////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** moved to PAC store db, because time is the same for all IAPs **/ +//| EAP_FAST_last_password_identity_time | BIGINT | KFASTLastPasswordIdentityTime |// +////////////////////////////////////////////////////////////////////////////////////////////////////////////// HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); @@ -1551,40 +1506,35 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::OpenFastDatabaseL - Creating the tables for EAP-FAST\n"))); - _LIT(KSQLCreateTable1, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S BINARY(%d), \ - %S VARBINARY(%d), \ - %S VARBINARY(%d), \ - %S UNSIGNED INTEGER, \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S BIGINT, \ - %S BIGINT, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER)"); - - sqlStatement.Format(KSQLCreateTable1, - &KFastGeneralSettingsDBTableName, + _LIT(KSQLCreateTable1, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S BINARY(%d), \ + %S VARBINARY(%d), \ + %S VARBINARY(%d), \ + %S UNSIGNED INTEGER, \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S BIGINT, \ + %S BIGINT, \ + %S UNSIGNED INTEGER)"); + + sqlStatement.Format(KSQLCreateTable1, &KFastGeneralSettingsDBTableName, &KServiceType, &KServiceIndex, - &KTunnelingTypeVendorId, &KTunnelingType, &cf_str_EAP_TLS_PEAP_use_manual_realm_literal, - &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxRealmLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxManualRealmLengthInDB, &cf_str_EAP_TLS_PEAP_use_manual_username_literal, - &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxUsernameLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxManualUsernameLengthInDB, &cf_str_EAP_TLS_PEAP_cipher_suite_literal, &cf_str_EAP_TLS_PEAP_used_PEAP_version_literal, &cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal, KMaxPEAPVersionsStringLengthInDB, @@ -1597,16 +1547,15 @@ &cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal, &cf_str_EAP_FAST_max_session_validity_time_literal, &KFASTLastFullAuthTime, - &cf_str_EAP_TLS_PEAP_use_identity_privacy_literal, - &cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal); - + &cf_str_EAP_TLS_PEAP_use_identity_privacy_literal); + EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::OpenFastDatabaseL - SQL query formated OK\n"))); - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } EAP_TRACE_DEBUG_SYMBIAN( @@ -1614,40 +1563,35 @@ // Table 2: Create table for Special settings of EAP-FAST. - // Table columns: - //// NAME //////////////////////////////////////////// TYPE ////////////// Constant /////////////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| EAP_FAST_allow_server_authenticated_provisioning_mode| UNSIGNED INTEGER | cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal |// - //| EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP| UNSIGNED INTEGER | cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal |// - //| EAP_FAST_Warn_ADHP_No_PAC | UNSIGNED INTEGER | KFASTWarnADHPNoPAC|// - //| EAP_FAST_Warn_ADHP_No_Matching_PAC | UNSIGNED INTEGER | KFASTWarnADHPNoMatchingPAC|// - //| EAP_FAST_Warn_Not_Default_Server | UNSIGNED INTEGER | KFASTWarnNotDefaultServer|// - //| EAP_FAST_PAC_Group_Import_Reference_Collection| VARCHAR(255) | KFASTPACGroupImportReferenceCollection |// - //| EAP_FAST_PAC_Group_DB_Reference_Collection | BINARY(255) | KFASTPACGroupDBReferenceCollection |// - ////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - _LIT(KSQLCreateTable2, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S BINARY(%d) )"); +// Table columns: +//// NAME //////////////////////////////////////////// TYPE ////////////// Constant /////////////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| EAP_FAST_allow_server_authenticated_provisioning_mode| UNSIGNED INTEGER | cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal |// +//| EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP| UNSIGNED INTEGER | cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal |// +//| EAP_FAST_Warn_ADHP_No_PAC | UNSIGNED INTEGER | KFASTWarnADHPNoPACP|// +//| EAP_FAST_Warn_ADHP_No_Matching_PAC | UNSIGNED INTEGER | KFASTWarnADHPNoMatchingPAC|// +//| EAP_FAST_Warn_Not_Default_Server | UNSIGNED INTEGER | KFASTWarnNotDefaultServer|// +//| EAP_FAST_PAC_Group_Import_Reference_Collection| VARCHAR(255) | KFASTPACGroupImportReferenceCollection |// +//| EAP_FAST_PAC_Group_DB_Reference_Collection | BINARY(255) | KFASTPACGroupDBReferenceCollection |// +////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + + _LIT(KSQLCreateTable2, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S BINARY(%d) )"); - sqlStatement.Format(KSQLCreateTable2, - &KFastSpecialSettingsDBTableName, + sqlStatement.Format(KSQLCreateTable2, &KFastSpecialSettingsDBTableName, &KServiceType, &KServiceIndex, - &KTunnelingTypeVendorId, &KTunnelingType, &cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal, &cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal, @@ -1660,10 +1604,10 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::OpenFastDatabaseL - SQL query formated OK\n"))); - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } EAP_TRACE_DEBUG_SYMBIAN( @@ -1671,38 +1615,33 @@ // Table 3: Create table for _allowed_ user certificates - //// NAME ////////////////// TYPE ////////////// Constant /////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| CertLabel | VARCHAR(255) | KCACertLabel |// - //| SubjectKeyId | BINARY(20) | KSubjectKeyIdentifier |// This is Symbian subjectkey id - //| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. - //| SubjectName | VARCHAR(255) | KSubjectName |// - //| IssuerName | VARCHAR(255) | KIssuerName |// - //| SerialNumber | VARCHAR(255) | KSerialNumber |// - //| Thumbprint | BINARY(64) | KThumbprint |// - ////////////////////////////////////////////////////////////////////////////////////////////////////// - - _LIT(KSQLCreateTable3, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S BINARY(%d))"); +//// NAME ////////////////// TYPE ////////////// Constant /////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| CertLabel | VARCHAR(255) | KCACertLabel |// +//| SubjectKeyId | BINARY(20) | KSubjectKeyIdentifier |// This is Symbian subjectkey id +//| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. +//| SubjectName | VARCHAR(255) | KSubjectName |// +//| IssuerName | VARCHAR(255) | KIssuerName |// +//| SerialNumber | VARCHAR(255) | KSerialNumber |// +//| Thumbprint | BINARY(64) | KThumbprint |// +////////////////////////////////////////////////////////////////////////////////////////////////////// + + _LIT(KSQLCreateTable3, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S BINARY(%d))"); - sqlStatement.Format(KSQLCreateTable3, - &KFastAllowedUserCertsDatabaseTableName, + sqlStatement.Format(KSQLCreateTable3, &KFastAllowedUserCertsDatabaseTableName, &KServiceType, - &KServiceIndex, - &KTunnelingTypeVendorId, + &KServiceIndex, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -1715,10 +1654,10 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::OpenFastDatabaseL - SQL query formated OK\n"))); - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } EAP_TRACE_DEBUG_SYMBIAN( @@ -1726,38 +1665,33 @@ // Table 4: Create table for _allowed_ CA certs - //// NAME ////////////////// TYPE ////////////// Constant /////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| CACertLabel | VARCHAR(255) | KCACertLabel |// - //| SubjectKeyId | BINARY(20) | KSubjectKeyIdentifier |// This is Symbian subjectkey id - //| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. - //| SubjectName | VARCHAR(255) | KSubjectName |// - //| IssuerName | VARCHAR(255) | KIssuerName |// - //| SerialNumber | VARCHAR(255) | KSerialNumber |// - //| Thumbprint | BINARY(64) | KThumbprint |// - ////////////////////////////////////////////////////////////////////////////////////////////////////// - - _LIT(KSQLCreateTable4, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S VARCHAR(%d), \ - %S BINARY(%d), \ - %S BINARY(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S VARCHAR(%d), \ - %S BINARY(%d))"); +//// NAME ////////////////// TYPE ////////////// Constant /////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| CACertLabel | VARCHAR(255) | KCACertLabel |// +//| SubjectKeyId | BINARY(20) | KSubjectKeyIdentifier |// This is Symbian subjectkey id +//| ActualSubjectKeyId | BINARY(20) | KActualSubjectKeyIdentifier |// This is the actual subjectkeyid present in the certificate. +//| SubjectName | VARCHAR(255) | KSubjectName |// +//| IssuerName | VARCHAR(255) | KIssuerName |// +//| SerialNumber | VARCHAR(255) | KSerialNumber |// +//| Thumbprint | BINARY(64) | KThumbprint |// +////////////////////////////////////////////////////////////////////////////////////////////////////// + + _LIT(KSQLCreateTable4, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S VARCHAR(%d), \ + %S BINARY(%d), \ + %S BINARY(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S VARCHAR(%d), \ + %S BINARY(%d))"); - sqlStatement.Format(KSQLCreateTable4, - &KFastAllowedCACertsDatabaseTableName, + sqlStatement.Format(KSQLCreateTable4, &KFastAllowedCACertsDatabaseTableName, &KServiceType, - &KServiceIndex, - &KTunnelingTypeVendorId, + &KServiceIndex, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -1770,10 +1704,10 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::OpenFastDatabaseL - SQL query formated OK\n"))); - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } EAP_TRACE_DEBUG_SYMBIAN( @@ -1781,33 +1715,24 @@ // Table 5: Create table for _allowed_ cipher suites - //// NAME ///////////////// TYPE ////////////// Constant /////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| TunnelingTypeVendorId | UNSIGNED INTEGER | KTunnelingTypeVendorId |// - //| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// - //| CipherSuite | UNSIGNED INTEGER | KCipherSuite |// - ////////////////////////////////////////////////////////////////////////////////////////////////////// - - _LIT(KSQLCreateTable5, "CREATE TABLE %S \ - (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER)"); - - sqlStatement.Format(KSQLCreateTable5, - &KFastAllowedCipherSuitesDatabaseTableName, - &KServiceType, - &KServiceIndex, - &KTunnelingTypeVendorId, - &KTunnelingType, - &KCipherSuite); - - error = aDatabase.Execute(sqlStatement); - if (error != KErrNone && error != KErrAlreadyExists) +//// NAME ///////////////// TYPE ////////////// Constant /////////// +//| ServiceType | UNSIGNED INTEGER | KServiceType |// +//| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// +//| TunnelingType | UNSIGNED INTEGER | KTunnelingType |// +//| CipherSuite | UNSIGNED INTEGER | KCipherSuite |// +////////////////////////////////////////////////////////////////////////////////////////////////////// + + _LIT(KSQLCreateTable5, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER, \ + %S UNSIGNED INTEGER)"); + + sqlStatement.Format(KSQLCreateTable5, &KFastAllowedCipherSuitesDatabaseTableName, + &KServiceType, &KServiceIndex, &KTunnelingType, &KCipherSuite); + err = aDatabase.Execute(sqlStatement); + if (err != KErrNone && err != KErrAlreadyExists) { - User::Leave(error); + User::Leave(err); } EAP_TRACE_DEBUG_SYMBIAN( @@ -1815,18 +1740,10 @@ // 4. Check if database table contains a row for this service type and id - _LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQLQueryRow, - &KFastGeneralSettingsDBTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + sqlStatement.Format(KSQLQueryRow, &KFastGeneralSettingsDBTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -1855,14 +1772,13 @@ // Set the default values. The other three tables (certs, ca certs & cipher suites) are empty by default. view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal), default_EAP_TLS_PEAP_use_manual_realm); - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_realm); + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), default_EAP_TLS_PEAP_manual_realm); view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), default_EAP_TLS_PEAP_use_manual_username); - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_username); + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), default_EAP_TLS_PEAP_manual_username); view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_cipher_suite_literal), default_EAP_TLS_PEAP_cipher_suite); @@ -1891,10 +1807,8 @@ view.SetColL(colSet->ColNo(cf_str_EAP_FAST_max_session_validity_time_literal), default_MaxSessionTime); view.SetColL(colSet->ColNo(KFASTLastFullAuthTime), default_FullAuthTime); - - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TTLS_Privacy); - - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal), default_EAP_TLS_PEAP_use_automatic_ca_certificate); + + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TLS_Privacy); view.PutL(); @@ -1918,18 +1832,28 @@ // Set the default values. view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal), default_EAP_FAST_Auth_Prov_Mode_Allowed); view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal), default_EAP_FAST_Unauth_Prov_Mode_Allowed); + + view.SetColL(colSet->ColNo(KFASTWarnADHPNoPAC), + default_EAP_FAST_Warn_ADHP_No_PAC); + + view.SetColL(colSet->ColNo(KFASTWarnADHPNoMatchingPAC), + default_EAP_FAST_Warn_ADHP_No_Matching_PAC); + + view.SetColL(colSet->ColNo(KFASTWarnNotDefaultServer), + default_EAP_FAST_Warn_Not_Default_Server); + + view.PutL(); CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy( &view ); + CleanupStack::PopAndDestroy( &view ); // Close view. //--------------------------------------------------------// @@ -1949,29 +1873,26 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); view.SetColL(colSet->ColNo(KCipherSuite), default_allowed_cipher_suites[i]); view.PutL(); i++; } - CleanupStack::PopAndDestroy( colSet ); - CleanupStack::PopAndDestroy( &view ); + CleanupStack::PopAndDestroy( colSet ); // Delete colSet. + CleanupStack::PopAndDestroy( &view ); // Close view. } - + + CleanupStack::PopAndDestroy( buf ); // Delete buf or sqlStatement + CleanupStack::Pop( &aDatabase ); + CleanupStack::Pop( &aSession ); + aDatabase.Compact(); - - CleanupStack::PopAndDestroy( buf ); - CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aFileServerSession ); - -} // EapTlsPeapUtils::OpenFastDatabaseL() + + } // EapTlsPeapUtils::OpenFastDatabaseL() #endif // #if defined(USE_FAST_EAP_TYPE) -// --------------------------------------------------------- - void EapTlsPeapUtils::SetIndexL( RDbNamedDatabase& aDatabase, const TDesC& aTableName, @@ -1982,40 +1903,34 @@ const TInt aNewIndex, const eap_type_value_e aNewTunnelingType) { +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + TUint aNewTunnelingVendorType = aNewTunnelingType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + TUint aNewTunnelingVendorType = static_cast(aNewTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetIndexL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aNewTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type(), - aNewTunnelingType.get_vendor_id(), - aNewTunnelingType.get_vendor_type())); + (_L("EapTlsPeapUtils::SetIndexL -Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d \n"), + aIndexType, aIndex, aTunnelingVendorType)); EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetIndexL(): -Start- aNewIndexType=%d, aNewIndex=%d, aNewTunnelingType=%d \n"), - aNewIndexType, - aNewIndex, - aNewTunnelingType.get_vendor_id(), - aNewTunnelingType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::SetIndexL()\n")); + (_L("EapTlsPeapUtils::SetIndexL -Start- aNewIndexType=%d, aNewIndex=%d, New Tunneling vendor type=%d \n"), + aNewIndexType, aNewIndex, aNewTunnelingVendorType)); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); // First delete the target - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQL, - &aTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + sqlStatement.Format(KSQL, &aTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); RDbView view; @@ -2038,22 +1953,19 @@ view.UpdateL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aNewIndexType)); + view.SetColL(colSet->ColNo(KServiceIndex), static_cast(aNewIndex)); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type()); + + view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType); view.PutL(); } } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(3); // view, colset } -// --------------------------------------------------------- - void EapTlsPeapUtils::ReadCertRowsToArrayL( RDbNamedDatabase& aDatabase, eap_am_tools_symbian_c * const /*aTools*/, @@ -2061,34 +1973,29 @@ const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType, - RPointerArray& aArray) + RArray& aArray) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::ReadCertRowsToArrayL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::ReadCertRowsToArrayL()\n")); - +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::ReadCertRowsToArrayL -Start")) ); + CleanupClosePushL( aArray ); HBufC* buf = HBufC::NewLC(512); TPtr sqlStatement = buf->Des(); - _LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQLQueryRow, - &aTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQLQueryRow, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + sqlStatement.Format(KSQLQueryRow, &aTableName, &KServiceType, + aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -2106,50 +2013,33 @@ view.GetL(); { - EapCertificateEntry * const certInfo = new EapCertificateEntry; - if (certInfo == 0) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::ReadCertRowsToArrayL(): No memory\n"))); - User::Leave(KErrNoMemory); - } - + SCertEntry certInfo; // Store the line TPtrC ptr = view.ColDes(colSet->ColNo(KCertLabel)); - certInfo->SetLabel(ptr); + certInfo.iLabel.Copy(ptr); TPtrC8 ptr2 = view.ColDes8(colSet->ColNo(KSubjectKeyIdentifier)); // This is for authentication and uses Symbian subjectkey id. - certInfo->SetSubjectKeyId(ptr2); - - TInt error = aArray.Append(certInfo); - - EAP_TRACE_DEBUG_SYMBIAN((_L("ReadCertRowsToArrayL - Appended Cert with label=%S, error=%d\n"), - certInfo->GetLabel(), - error)); - + certInfo.iSubjectKeyId.Copy(ptr2); + + aArray.Append(certInfo); + + EAP_TRACE_DEBUG_SYMBIAN((_L("ReadCertRowsToArrayL - Appended Cert with label=%S\n"), + &(certInfo.iLabel))); + EAP_TRACE_DATA_DEBUG_SYMBIAN(("ReadCertRowsToArrayL - Appended Cert's SubjectKeyID:", - certInfo->GetSubjectKeyId().Ptr(), - certInfo->GetSubjectKeyId().Length())); - - if (error != KErrNone) - { - delete certInfo; - User::Leave(error); - } + certInfo.iSubjectKeyId.Ptr(), certInfo.iSubjectKeyId.Size())); } } while (view.NextL() != EFalse); } // Close database - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(2); // view, buf CleanupStack::Pop( &aArray ); } -// --------------------------------------------------------- - void EapTlsPeapUtils::ReadUintRowsToArrayL( RDbNamedDatabase& aDatabase, eap_am_tools_symbian_c * const /*aTools*/, @@ -2160,38 +2050,32 @@ const eap_type_value_e aTunnelingType, RArray& aArray) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::ReadUintRowsToArrayL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::ReadUintRowsToArrayL()\n")); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::ReadUintRowsToArrayL -Start")) ); CleanupClosePushL( aArray ); HBufC* buf = HBufC::NewLC(512); TPtr sqlStatement = buf->Des(); - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQLQueryRow, - &aColumnName, - &aTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + sqlStatement.Format(KSQLQueryRow, &aColumnName, &aTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); - User::LeaveIfError(view.EvaluateAll()); + User::LeaveIfError(view.EvaluateAll()); if (view.FirstL()) { @@ -2203,18 +2087,8 @@ case EDbColUint32: { // Store the line - TUint tmp = view.ColUint(KDefaultColumnInView_One); - TInt error = aArray.Append(tmp); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::ReadUintRowsToArrayL(): TUint=%d, error=%d\n"), - tmp, - error)); - - if (error != KErrNone) - { - User::Leave(error); - } + TUint tmp = view.ColUint(KDefaultColumnInView_One); + aArray.Append(tmp); } break; default: @@ -2225,24 +2099,16 @@ } // Close database - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(2); // view, buf CleanupStack::Pop( &aArray ); } -// --------------------------------------------------------- - // Don't use this finction as Label is not saved for certificates saved by SetConfigurationL(). // Provisioning (OMA DM etc) use SetConfigurationL() to save certificate details. TBool EapTlsPeapUtils::CompareTCertLabels(const TCertLabel& item1, const TCertLabel& item2) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::CompareTCertLabels(): item1=\"%S\", item2=\"%S\"\n"), - &item1, - &item2)); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::CompareTCertLabels()\n")); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::CompareTCertLabels-Start")) ); if (item1 == item2) { @@ -2254,36 +2120,22 @@ } } -// --------------------------------------------------------- - -TBool EapTlsPeapUtils::CompareSCertEntries(const EapCertificateEntry& item1, const EapCertificateEntry& item2) +TBool EapTlsPeapUtils::CompareSCertEntries(const SCertEntry& item1, const SCertEntry& item2) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::CompareSCertEntries(): item1.Label=\"%S\", item2.Label=\"%S\"\n"), - item1.GetLabel(), - item2.GetLabel())); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::CompareSCertEntries(): item1.Label=\"%S\", item2.Label=\"%S\"\n"), - item1.GetLabel(), - item2.GetLabel())); - - EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::CompareSCertEntries(): SubjectKeyID_1:", - item1.GetSubjectKeyId().Ptr(), - item1.GetSubjectKeyId().Length())); - - EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::CompareSCertEntries(): SubjectKeyID_2:", - item2.GetSubjectKeyId().Ptr(), - item2.GetSubjectKeyId().Length())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::CompareSCertEntries()\n")); - - - if (*(item1.GetLabel()) == *(item2.GetLabel()) - || item1.GetLabel()->Length() == 0 - || item2.GetLabel()->Length() == 0 ) // Label is not saved when certs are saved using OMA DM. + EAP_TRACE_DEBUG_SYMBIAN((_L("\nEapTlsPeapUtils::CompareSCertEntries, Label_1=%S, Label_2=%S"), + &(item1.iLabel), &(item2.iLabel))); + + EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::CompareSCertEntries, SubjectKeyID_1:", + item1.iSubjectKeyId.Ptr(), item1.iSubjectKeyId.Size())); + + EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::CompareSCertEntries, SubjectKeyID_2:", + item2.iSubjectKeyId.Ptr(), item2.iSubjectKeyId.Size())); + + if (item1.iLabel == item2.iLabel || + item1.iLabel.Length() == 0 || + item2.iLabel.Length() == 0 ) // Label is not saved when certs are saved using OMA DM. { - if (item1.GetSubjectKeyId() == item2.GetSubjectKeyId()) + if (item1.iSubjectKeyId == item2.iSubjectKeyId) { EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::CompareSCertEntries, Certs matched\n"))); @@ -2294,116 +2146,91 @@ return EFalse; } -//-------------------------------------------------- - -// Stores the tunneled EAP type (expanded) to the database. -void EapTlsPeapUtils::SetTunnelingExpandedEapDataL( + +#ifndef USE_EAP_EXPANDED_TYPES +// There are separate functions (SetTunnelingExpandedEapDataL and GetTunnelingExpandedEapDataL) if USE_EAP_EXPANDED_TYPES is defined. + +/** +* Sets EAP data to a binary string record in commsdat. +* The old format (NOT USED NOW) is "+123,- 34", + means enabled, - disabled, then id, id is always 3 characters for easy parsing. +* In the new format each EAP type is saved as an unsigned integer of 32 bits ( TUint). +* There is separate binary strings for accepted (enabled) and unaccepted (disabled) tunneled EAP types. +*/ + +void EapTlsPeapUtils::SetEapDataL( RDbNamedDatabase& aDatabase, eap_am_tools_symbian_c * const /*aTools*/, - RPointerArray &aEnabledEAPArrary, - RPointerArray &aDisabledEAPArrary, + TEapArray &aEaps, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType, const eap_type_value_e aEapType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type(), - aEapType.get_vendor_id(), - aEapType.get_vendor_type())); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + TUint aEapVendorType = aEapType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + TUint aEapVendorType = static_cast(aEapType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES EAP_TRACE_DEBUG_SYMBIAN( - (_L("Number of Tunneled EAP types: Enabled=%d, Disabled=%d\n"), - aEnabledEAPArrary.Count(), - aDisabledEAPArrary.Count())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::SetTunnelingExpandedEapDataL()\n")); + (_L("EapTlsPeapUtils::SetEapDataL aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d, No: of tunneled EAP types=%d \n"), + aIndexType,aIndex, aTunnelingVendorType, aEapVendorType, aEaps.Count()) ); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLQueryRow, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQLQueryRow, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); if (aEapType == eap_type_peap) { - sqlStatement.Format(KSQLQueryRow, - &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, - &KPeapDatabaseTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + &KPeapDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); } #if defined(USE_TTLS_EAP_TYPE) else if (aEapType == eap_type_ttls) { - sqlStatement.Format(KSQLQueryRow, - &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, - &KTtlsDatabaseTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + &KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); } #endif + + else if (aEapType == eap_type_ttls_plain_pap) + { + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, + &KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); + } + #if defined(USE_FAST_EAP_TYPE) else if (aEapType == eap_type_fast) { - sqlStatement.Format(KSQLQueryRow, - &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, - &KFastGeneralSettingsDBTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + &KFastGeneralSettingsDBTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); } #endif - - else if ( aEapType == eap_expanded_type_ttls_plain_pap.get_type() ) - { - sqlStatement.Format(KSQLQueryRow, - &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, - &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, - &KTtlsDatabaseTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); - } - else { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL - Unsupported EAP-type=0xfe%06x%08x\n"), - aEapType.get_vendor_id(), - aEapType.get_vendor_type())); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::SetEapDataL - Unsupported EAP type =%d \n"), + aEapVendorType)); // Unsupported EAP type User::Leave(KErrNotSupported); } - + RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); @@ -2411,35 +2238,37 @@ User::LeaveIfError(view.FirstL()); view.UpdateL(); - TInt enabledEAPCount = aEnabledEAPArrary.Count(); - TInt disabledEAPCount = aDisabledEAPArrary.Count(); - - HBufC8 *acceptedDbText = HBufC8::NewLC( KEapExpandedTypeLength * enabledEAPCount ); // 8 bytes (64 bits) for an EAP type. - HBufC8 *unacceptedDbText = HBufC8::NewLC( KEapExpandedTypeLength * disabledEAPCount ); // 8 bytes (64 bits) for an EAP type. + TInt eapCount = aEaps.Count(); + + HBufC8 *acceptedDbText = HBufC8::NewLC( (sizeof(TUint)) * eapCount ); // 4 bytes (32 bits) for an EAP type, Need to save as TUInt (4 bytes). + HBufC8 *unacceptedDbText = HBufC8::NewLC( (sizeof(TUint)) * eapCount ); // 4 bytes (32 bits) for an EAP type, Need to save as TUInt (4 bytes). TPtr8 acceptedPtr(acceptedDbText->Des()); TPtr8 unacceptedPtr(unacceptedDbText->Des()); - // Fill in accepted tunneled type. - for(TInt i = 0 ; i< enabledEAPCount; i++) + TBuf8<3> UidTmp; + + for(TInt i = 0 ; i< eapCount; i++) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL(): enabled EAP-type=0xfe%06x%08x\n"), - aEnabledEAPArrary[i]->GetVendorId(), - aEnabledEAPArrary[i]->GetVendorType())); - - acceptedPtr.Append(aEnabledEAPArrary[i]->GetValue()); - } - - // Fill in unaccepted tunneled type. - for(TInt i = 0 ; i< disabledEAPCount; i++) - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL(): disabled EAP-type=0xfe%06x%08x\n"), - aDisabledEAPArrary[i]->GetVendorId(), - aDisabledEAPArrary[i]->GetVendorType())); - - unacceptedPtr.Append(aDisabledEAPArrary[i]->GetValue()); + UidTmp.Copy(aEaps[i]->UID); + + TLex8 eapUidLex( UidTmp.Right(2) ); // Only last two characters determines the EAP type. + TUint eapTypeUint = 0; + + User::LeaveIfError( eapUidLex.Val(eapTypeUint, EDecimal) ); + + TPtrC8 tempEAPtype( reinterpret_cast(&eapTypeUint), sizeof(TUint) ); + + if( aEaps[i]->Enabled ) + { + // Fill in accepted tunneled type. + acceptedPtr.Append( tempEAPtype ); + } + else + { + // Fill in unaccepted tunneled type. + unacceptedPtr.Append( tempEAPtype); + } } // Save the strings in the DB. @@ -2452,7 +2281,323 @@ if(acceptedPtr.Length() > KMaxTunneledTypeStringLengthInDB || unacceptedPtr.Length() > KMaxTunneledTypeStringLengthInDB) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetTunnelingExpandedEapDataL - Too long Tunneled EAP type string \n") ) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetEapDataL - Too long Tunneled EAP type string \n") ) ); + + User::Leave(KErrArgument); + } + + view.SetColL(colSet->ColNo(cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal), acceptedPtr); + view.SetColL(colSet->ColNo(cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal), unacceptedPtr); + + CleanupStack::PopAndDestroy( colSet ); // Delete colSet. + + view.PutL(); + + EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::SetEapDataL- Enabled extended EAP type data added to DB:", + acceptedPtr.Ptr(), + acceptedPtr.Size() ) ); + + EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::SetEapDataL- Disabled extended EAP type data added to DB:", + unacceptedPtr.Ptr(), + unacceptedPtr.Size() ) ); + + CleanupStack::PopAndDestroy(unacceptedDbText); // Delete unacceptedDbText + CleanupStack::PopAndDestroy(acceptedDbText); // Delete acceptedDbText + CleanupStack::PopAndDestroy(&view); // Close view + CleanupStack::PopAndDestroy(buf); // Delete buf +} + +/** +* Gets Eapdata from corresponding table in commdb +* see format in SetEapDAtaL +*/ +void EapTlsPeapUtils::GetEapDataL( + RDbNamedDatabase& aDatabase, + eap_am_tools_symbian_c * const /*aTools*/, + TEapArray &aEaps, + const TIndexType aIndexType, + const TInt aIndex, + const eap_type_value_e aTunnelingType, + const eap_type_value_e aEapType) +{ +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + TUint aEapVendorType = aEapType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + TUint aEapVendorType = static_cast(aEapType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::GetEapDataL aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"), + aIndexType,aIndex, aTunnelingVendorType, aEapVendorType)); + + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = buf->Des(); + + _LIT(KSQLQueryRow, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + if (aEapType == eap_type_peap) + { + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, + &KPeapDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); + } +#if defined(USE_TTLS_EAP_TYPE) + else if (aEapType == eap_type_ttls) + { + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, + &KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); + } +#endif + + else if (aEapType == eap_type_ttls_plain_pap) + { + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, + &KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); + } + +#if defined(USE_FAST_EAP_TYPE) + else if (aEapType == eap_type_fast) + { + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, + &KFastGeneralSettingsDBTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); + } +#endif + else + { + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::GetEapDataL - Unsupported EAP type=%d \n"), + aEapVendorType)); + + // Unsupported EAP type + User::Leave(KErrNotSupported); + } + + RDbView view; + User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + CleanupClosePushL(view); + User::LeaveIfError(view.EvaluateAll()); + + User::LeaveIfError(view.FirstL()); + + view.GetL(); + + // Get column set so we get the correct column numbers + CDbColSet* colSet = view.ColSetL(); + CleanupStack::PushL(colSet); + + TPtrC8 acceptedEAPData = view.ColDes8(colSet->ColNo(cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal)); + TPtrC8 unacceptedEAPData = view.ColDes8(colSet->ColNo(cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal)); + + CleanupStack::PopAndDestroy( colSet ); // Delete colSet. + + EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::GetEapDataL- Enabled extended EAP type data from DB:", + acceptedEAPData.Ptr(), + acceptedEAPData.Size() ) ); + + EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::GetEapDataL- Disabled extended EAP type data from DB:", + unacceptedEAPData.Ptr(), + unacceptedEAPData.Size() ) ); + + aEaps.ResetAndDestroy(); + + TUint acceptedLength = acceptedEAPData.Length(); + TUint unacceptedLength = unacceptedEAPData.Length(); + + TEap *eapTmp; + + TUint index = 0; + + _LIT8(KUIDFormat,"%u"); + + // For accepted or enabled tunneled EAP types. + while(index < acceptedLength) + { + eapTmp = new (ELeave)TEap; + + eapTmp->Enabled=ETrue; // All EAP types in here are enabled. + + eapTmp->UID.Zero(); + + // Get the UID from data from the DB. + TPtrC8 tempEAPtype( acceptedEAPData.Mid(index, sizeof(TUint)) ); + + EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::GetEapDataL- extracted EAP type:", + tempEAPtype.Ptr(), + tempEAPtype.Size() ) ); + + TUint eapTypeUint = *(tempEAPtype.Ptr()); // All EAP types are saved as TUInt. + + eapTmp->UID.Format(KUIDFormat,eapTypeUint); + + aEaps.Append(eapTmp); + + index = index + sizeof(TUint); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetEapDataL - Appended enabled-EAP type=%s \n"),eapTmp->UID.Ptr()) ); + } + + index = 0; + + // For unaccepted or disabled tunneled EAP types. + while(index < unacceptedLength) + { + eapTmp = new (ELeave)TEap; + + eapTmp->Enabled=EFalse; // All EAP types in here are disabled. + + eapTmp->UID.Zero(); + + // Get the UID from data from the DB. + TPtrC8 tempEAPtype( unacceptedEAPData.Mid(index, sizeof(TUint)) ); + + EAP_TRACE_DATA_DEBUG_SYMBIAN(("EapTlsPeapUtils::GetEapDataL- extracted EAP type:", + tempEAPtype.Ptr(), + tempEAPtype.Size() ) ); + + TUint eapTypeUint = *(tempEAPtype.Ptr()); // All EAP types are saved as TUint. + + eapTmp->UID.Format(KUIDFormat,eapTypeUint); + + aEaps.Append(eapTmp); + + index = index + sizeof(TUint); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetEapDataL - Appended disabled-EAP type=%s \n"),eapTmp->UID.Ptr()) ); + } + + CleanupStack::PopAndDestroy(&view); // Close view + CleanupStack::PopAndDestroy(buf); // Delete buf +} + +#endif // #ifndef USE_EAP_EXPANDED_TYPES + +//-------------------------------------------------- + +#ifdef USE_EAP_EXPANDED_TYPES + +// Stores the tunneled EAP type (expanded) to the database. +void EapTlsPeapUtils::SetTunnelingExpandedEapDataL( + RDbNamedDatabase& aDatabase, + eap_am_tools_symbian_c * const /*aTools*/, + RExpandedEapTypePtrArray &aEnabledEAPArrary, + RExpandedEapTypePtrArray &aDisabledEAPArrary, + const TIndexType aIndexType, + const TInt aIndex, + const eap_type_value_e aTunnelingType, + const eap_type_value_e aEapType) +{ + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + TUint aEapVendorType = aEapType.get_vendor_type(); + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL:aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d\n"), + aIndexType,aIndex, aTunnelingVendorType, aEapVendorType)); + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("Number of Tunneled EAP types: Enabled=%d, Disabled=%d\n"), + aEnabledEAPArrary.Count(), aDisabledEAPArrary.Count())); + + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); + TPtr sqlStatement = buf->Des(); + + _LIT(KSQLQueryRow, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + if (aEapType == eap_type_peap) + { + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, + &KPeapDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); + } +#if defined(USE_TTLS_EAP_TYPE) + else if (aEapType == eap_type_ttls) + { + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, + &KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); + } +#endif +#if defined(USE_FAST_EAP_TYPE) + else if (aEapType == eap_type_fast) + { + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, + &KFastGeneralSettingsDBTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); + } +#endif + + else if ( aEapType == eap_type_ttls_plain_pap ) + { + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, + &KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); + } + + else + { + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL - Unsupported EAP type =%d \n"), + aEapVendorType)); + + // Unsupported EAP type + User::Leave(KErrNotSupported); + } + + RDbView view; + User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + CleanupClosePushL(view); + User::LeaveIfError(view.EvaluateAll()); + User::LeaveIfError(view.FirstL()); + view.UpdateL(); + + TInt enabledEAPCount = aEnabledEAPArrary.Count(); + TInt disabledEAPCount = aDisabledEAPArrary.Count(); + + HBufC8 *acceptedDbText = HBufC8::NewLC( KExpandedEAPTypeSize * enabledEAPCount ); // 8 bytes (64 bits) for an EAP type. + HBufC8 *unacceptedDbText = HBufC8::NewLC( KExpandedEAPTypeSize * disabledEAPCount ); // 8 bytes (64 bits) for an EAP type. + + TPtr8 acceptedPtr(acceptedDbText->Des()); + TPtr8 unacceptedPtr(unacceptedDbText->Des()); + + // Fill in accepted tunneled type. + for(TInt i = 0 ; i< enabledEAPCount; i++) + { + acceptedPtr.Append(aEnabledEAPArrary[i]->iExpandedEAPType); + } + + // Fill in unaccepted tunneled type. + for(TInt i = 0 ; i< disabledEAPCount; i++) + { + unacceptedPtr.Append(aDisabledEAPArrary[i]->iExpandedEAPType); + } + + // Save the strings in the DB. + + // Get column set so we get the correct column numbers + CDbColSet* colSet = view.ColSetL(); + CleanupStack::PushL(colSet); + + // Validate length of strings + if(acceptedPtr.Length() > KMaxTunneledTypeStringLengthInDB + || unacceptedPtr.Length() > KMaxTunneledTypeStringLengthInDB) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL - Too long Tunneled EAP type string \n") ) ); User::Leave(KErrArgument); } @@ -2478,106 +2623,68 @@ CleanupStack::PopAndDestroy(buf); // Delete buf } -// --------------------------------------------------------- - // Retrieves the tunneled EAP type (expanded) from the database . void EapTlsPeapUtils::GetTunnelingExpandedEapDataL( RDbNamedDatabase& aDatabase, eap_am_tools_symbian_c * const /*aTools*/, - RPointerArray &aEnabledEAPArrary, - RPointerArray &aDisabledEAPArrary, + RExpandedEapTypePtrArray &aEnabledEAPArrary, + RExpandedEapTypePtrArray &aDisabledEAPArrary, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType, const eap_type_value_e aEapType) { + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + TUint aEapVendorType = aEapType.get_vendor_type(); + EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetTunnelingExpandedEapDataL(): - Start - aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type(), - aEapType.get_vendor_id(), - aEapType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::GetTunnelingExpandedEapDataL()\n")); + (_L("EapTlsPeapUtils::GetTunnelingExpandedEapDataL aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"), + aIndexType,aIndex, aTunnelingVendorType, aEapVendorType)); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLQueryRow, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQLQueryRow, "SELECT %S, %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); if (aEapType == eap_type_peap) { - sqlStatement.Format(KSQLQueryRow, - &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, - &KPeapDatabaseTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + &KPeapDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); } #if defined(USE_TTLS_EAP_TYPE) else if (aEapType == eap_type_ttls) { - sqlStatement.Format(KSQLQueryRow, - &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, - &KTtlsDatabaseTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + &KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); } #endif #if defined(USE_FAST_EAP_TYPE) else if (aEapType == eap_type_fast) { - sqlStatement.Format(KSQLQueryRow, - &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, - &KFastGeneralSettingsDBTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + &KFastGeneralSettingsDBTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); } #endif - else if (aEapType == eap_expanded_type_ttls_plain_pap.get_type() ) + else if (aEapType == eap_type_ttls_plain_pap ) { - sqlStatement.Format(KSQLQueryRow, - &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, + sqlStatement.Format(KSQLQueryRow, &cf_str_PEAP_accepted_tunneled_client_types_hex_data_literal, &cf_str_PEAP_unaccepted_tunneled_client_types_hex_data_literal, - &KTtlsDatabaseTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + &KTtlsDatabaseTableName, &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType); } else { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::GetTunnelingExpandedEapDataL(): - Unsupported EAP-type=0xfe%06x%08x\n"), - aEapType.get_vendor_id(), - aEapType.get_vendor_type())); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::GetTunnelingExpandedEapDataL - Unsupported EAP type=%d \n"), + aEapVendorType)); // Unsupported EAP type User::Leave(KErrNotSupported); @@ -2615,13 +2722,13 @@ TUint acceptedLength = acceptedEAPData.Length(); TUint unacceptedLength = unacceptedEAPData.Length(); - TEapExpandedType *expandedEAPTmp = 0; + SExpandedEAPType *expandedEAPTmp = 0; TUint index = 0; // For accepted or enabled tunneled EAP types. while(index < acceptedLength) { - expandedEAPTmp = new TEapExpandedType; + expandedEAPTmp = new SExpandedEAPType; if (expandedEAPTmp == 0) { @@ -2630,16 +2737,15 @@ User::LeaveIfError(KErrNoMemory); } - *expandedEAPTmp = acceptedEAPData.Mid(index, KEapExpandedTypeLength); + expandedEAPTmp->iExpandedEAPType = acceptedEAPData.Mid(index, KExpandedEAPTypeSize); - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetTunnelingExpandedEapDataL(): enabled EAP-type=0xfe%06x%08x\n"), - expandedEAPTmp->GetVendorId(), - expandedEAPTmp->GetVendorType())); - - aEnabledEAPArrary.AppendL(expandedEAPTmp); - - index = index + KEapExpandedTypeLength; + EAP_TRACE_DATA_DEBUG_SYMBIAN(("Extracted EAP type:", + expandedEAPTmp->iExpandedEAPType.Ptr(), + expandedEAPTmp->iExpandedEAPType.Size() ) ); + + aEnabledEAPArrary.Append(expandedEAPTmp); + + index = index + KExpandedEAPTypeSize; } index = 0; @@ -2647,7 +2753,7 @@ // For unaccepted or disabled tunneled EAP types. while(index < unacceptedLength) { - expandedEAPTmp = new TEapExpandedType; + expandedEAPTmp = new SExpandedEAPType; if (expandedEAPTmp == 0) { @@ -2656,31 +2762,27 @@ User::LeaveIfError(KErrNoMemory); } - *expandedEAPTmp = unacceptedEAPData.Mid(index, KEapExpandedTypeLength); + expandedEAPTmp->iExpandedEAPType = unacceptedEAPData.Mid(index, KExpandedEAPTypeSize); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL(): disabled EAP-type=0xfe%06x%08x\n"), - expandedEAPTmp->GetVendorId(), - expandedEAPTmp->GetVendorType())); - - aDisabledEAPArrary.AppendL(expandedEAPTmp); - - index = index + KEapExpandedTypeLength; + EAP_TRACE_DATA_DEBUG_SYMBIAN(("Extracted EAP type:", + expandedEAPTmp->iExpandedEAPType.Ptr(), + expandedEAPTmp->iExpandedEAPType.Size() ) ); + + aDisabledEAPArrary.Append(expandedEAPTmp); + + index = index + KExpandedEAPTypeSize; } CleanupStack::PopAndDestroy(&view); // Close view CleanupStack::PopAndDestroy(buf); // Delete buf } +#endif //#ifdef USE_EAP_EXPANDED_TYPES + //-------------------------------------------------- TBool EapTlsPeapUtils::CipherSuiteUseRSAKeys(tls_cipher_suites_e aCipherSuite) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::CipherSuiteUseRSAKeys(): aCipherSuite=%d\n"), - aCipherSuite)); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::CipherSuiteUseRSAKeys()\n")); - if (aCipherSuite == tls_cipher_suites_TLS_RSA_WITH_3DES_EDE_CBC_SHA || aCipherSuite == tls_cipher_suites_TLS_RSA_WITH_AES_128_CBC_SHA || aCipherSuite == tls_cipher_suites_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA @@ -2699,12 +2801,6 @@ TBool EapTlsPeapUtils::CipherSuiteUseDSAKeys(tls_cipher_suites_e aCipherSuite) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::CipherSuiteUseDSAKeys(): aCipherSuite=%d\n"), - aCipherSuite)); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::CipherSuiteUseDSAKeys()\n")); - if (aCipherSuite == tls_cipher_suites_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA || aCipherSuite == tls_cipher_suites_TLS_DHE_DSS_WITH_AES_128_CBC_SHA) { @@ -2718,12 +2814,6 @@ TBool EapTlsPeapUtils::CipherSuiteIsEphemeralDHKeyExchange(tls_cipher_suites_e aCipherSuite) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::CipherSuiteIsEphemeralDHKeyExchange(): aCipherSuite=%d\n"), - aCipherSuite)); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::CipherSuiteIsEphemeralDHKeyExchange()\n")); - if (aCipherSuite == tls_cipher_suites_TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA || aCipherSuite == tls_cipher_suites_TLS_DHE_DSS_WITH_AES_128_CBC_SHA || aCipherSuite == tls_cipher_suites_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA @@ -2748,64 +2838,149 @@ const eap_type_value_e aTunnelingType, const eap_type_value_e aEapType) { +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + TUint aEapVendorType = aEapType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + TUint aEapVendorType = static_cast(aEapType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + +// The current values for TTLS-PAP: +// TTLS: aEapVendorType = TTLS, aTunnelingVendorType = None +// TTLS/plain-PAP: aEapVendorType = ttls_plain_pap, aTunnelingVendorType = TTLS + EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type(), - aEapType.get_vendor_id(), - aEapType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::SetConfigurationL()\n")); - - EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** EapTlsPeapUtils::SetConfigurationL(): Set the below values: ***************************\n")) ); - - EAP_TRACE_SETTINGS(&aSettings); - - EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** EapTlsPeapUtils::SetConfigurationL(): Set the above values: ***************************\n")) ); - - + (_L("EapTlsPeapUtils::SetConfigurationL -Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"), + aIndexType,aIndex, aTunnelingVendorType, aEapVendorType)); + + EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL - Set the below values: ***************************\n")) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Set these values for EAPType=%d"),aSettings.iEAPType) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Username=%S"),aSettings.iUsernamePresent, &(aSettings.iUsername)) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Password=%S"),aSettings.iPasswordPresent, &(aSettings.iPassword)) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Realm=%S"),aSettings.iRealmPresent, &(aSettings.iRealm)) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, UsePseudonyms=%d"),aSettings.iUsePseudonymsPresent, aSettings.iUsePseudonyms) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, VerifyServerRealm=%d"), + aSettings.iVerifyServerRealmPresent, aSettings.iVerifyServerRealm) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, RequireClientAuthentication=%d"), + aSettings.iRequireClientAuthenticationPresent, aSettings.iRequireClientAuthentication) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, SessionValidityTime=%d minutes"), + aSettings.iSessionValidityTimePresent, aSettings.iSessionValidityTime) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, CipherSuites Count=%d"), + aSettings.iCipherSuitesPresent, aSettings.iCipherSuites.Count()) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, PEAPv0Allowed=%d, PEAPv1Allowed=%d, PEAPv2Allowed=%d"), + aSettings.iPEAPVersionsPresent, aSettings.iPEAPv0Allowed,aSettings.iPEAPv1Allowed, aSettings.iPEAPv2Allowed ) ); + // Validate length of inputs. - if(aSettings.iUsername.Length() > KMaxUsernameLengthInDB - || aSettings.iRealm.Length() > KMaxRealmLengthInDB ) + if(aSettings.iUsername.Length() > KMaxManualUsernameLengthInDB + || aSettings.iRealm.Length() > KMaxManualRealmLengthInDB ) { // Some inputs are too long. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL(): Too long arguments\n"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL: Too long arguments\n"))); User::Leave(KErrArgument); } - -#ifdef USE_FAST_EAP_TYPE - + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, Certificates Count=%d"), + aSettings.iCertificatesPresent, aSettings.iCertificates.Count()) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Certificate details below: \n")) ); + + for( TInt n=0; n < aSettings.iCertificates.Count(); n++ ) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - Certificate type:%d \n"), aSettings.iCertificates[n].iCertType) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, SubjectName=%S"), + aSettings.iCertificates[n].iSubjectNamePresent, &(aSettings.iCertificates[n].iSubjectName) ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, IssuerName=%S"), + aSettings.iCertificates[n].iIssuerNamePresent, &(aSettings.iCertificates[n].iIssuerName) ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - present=%d, SerialNumber=%S"), + aSettings.iCertificates[n].iSerialNumberPresent, &(aSettings.iCertificates[n].iSerialNumber) ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - SubjectKeyID present=%d"), + aSettings.iCertificates[n].iSubjectKeyIDPresent ) ); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "SubjectKeyID:", aSettings.iCertificates[n].iSubjectKeyID.Ptr(), + aSettings.iCertificates[n].iSubjectKeyID.Size() ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - certificates - Thumbprint present=%d"), + aSettings.iCertificates[n].iThumbprintPresent ) ); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "Thumbprint:", aSettings.iCertificates[n].iThumbprint.Ptr(), + aSettings.iCertificates[n].iThumbprint.Size() ) ); + } + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, EncapsulatedEAPTypes Count=%d"), + aSettings.iEncapsulatedEAPTypesPresent, aSettings.iEncapsulatedEAPTypes.Count()) ); + + for( TInt m=0; m < aSettings.iEncapsulatedEAPTypes.Count(); m++ ) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - EncapsulatedEAPTypes=%d"), + aSettings.iEncapsulatedEAPTypes[m]) ); + } + +#ifdef USE_FAST_EAP_TYPE + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, AuthProvModeAllowed=%d"), + aSettings.iAuthProvModeAllowedPresent, aSettings.iAuthProvModeAllowed) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, UnauthProvModeAllowed=%d"), + aSettings.iUnauthProvModeAllowedPresent, aSettings.iUnauthProvModeAllowed) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, WarnADHPNoPAC=%d"), + aSettings.iWarnADHPNoPACPresent, aSettings.iWarnADHPNoPAC) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, WarnADHPNoMatchingPAC=%d"), + aSettings.iWarnADHPNoMatchingPACPresent, aSettings.iWarnADHPNoMatchingPAC) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, WarnNotDefaultServer=%d"), + aSettings.iWarnNotDefaultServerPresent, aSettings.iWarnNotDefaultServer) ); + // Validate length of PAC Group Ref. if(aSettings.iPACGroupReference.Length() > KMaxPACGroupRefCollectionLengthInDB) { // Too long PAC Group Reference. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL(): Too long PAC Group Ref!\n"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL: Too long PAC Group Ref!\n"))); User::Leave(KErrArgument); } + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - present=%d, PAC Group Ref=%S"), + aSettings.iPACGroupReferencePresent, &(aSettings.iPACGroupReference)) ); + #endif //#ifdef USE_FAST_EAP_TYPE + EAP_TRACE_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL - Set the above values: ***************************\n")) ); + + // Check if the settings are for the correct type - if (aSettings.iEAPExpandedType != (*EapExpandedTypeTls.GetType()) - && aSettings.iEAPExpandedType != (*EapExpandedTypePeap.GetType()) - && aSettings.iEAPExpandedType != (*EapExpandedTypeTtls.GetType()) -#ifdef USE_FAST_EAP_TYPE - && aSettings.iEAPExpandedType != (*EapExpandedTypeFast.GetType()) -#endif //#ifdef USE_FAST_EAP_TYPE - && aSettings.iEAPExpandedType != (*EapExpandedTypeTtlsPap.GetType()) + if ((aSettings.iEAPType != EAPSettings::EEapTls + && aSettings.iEAPType != EAPSettings::EEapPeap + && aSettings.iEAPType != EAPSettings::EEapTtls +#ifdef USE_FAST_EAP_TYPE + && aSettings.iEAPType != EAPSettings::EEapFast +#endif + && aSettings.iEAPType != EAPSettings::ETtlsPlainPap ) + || static_cast(aSettings.iEAPType) != aEapVendorType) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL(): LEAVE - Unsupported EAP type\n")) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - LEAVE - Unsupported EAP type\n")) ); User::Leave(KErrNotSupported); } - + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); @@ -2820,81 +2995,86 @@ TPtrC fastSpecialSettings; #endif - if (aEapType == eap_type_tls) - { - settings.Set(KTlsDatabaseTableName); - usercerts.Set(KTlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName); - maxSessionTime.Set(cf_str_EAP_TLS_max_session_validity_time_literal); - lastFullAuthTime.Set(KTLSLastFullAuthTime); - } - else if (aEapType == eap_type_peap) - { - settings.Set(KPeapDatabaseTableName); - usercerts.Set(KPeapAllowedUserCertsDatabaseTableName); - cacerts.Set(KPeapAllowedCACertsDatabaseTableName); - ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName); - maxSessionTime.Set(cf_str_EAP_PEAP_max_session_validity_time_literal); - lastFullAuthTime.Set(KPEAPLastFullAuthTime); - } - else if (aEapType == eap_type_ttls) - { - settings.Set(KTtlsDatabaseTableName); - usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); - maxSessionTime.Set(cf_str_EAP_TTLS_max_session_validity_time_literal); - lastFullAuthTime.Set(KTTLSLastFullAuthTime); - } -#ifdef USE_FAST_EAP_TYPE - else if (aEapType == eap_type_fast) + switch (aEapVendorType) { - settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST. - fastSpecialSettings.Set(KFastSpecialSettingsDBTableName); - - usercerts.Set(KFastAllowedUserCertsDatabaseTableName); - cacerts.Set(KFastAllowedCACertsDatabaseTableName); - ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName); - maxSessionTime.Set(cf_str_EAP_FAST_max_session_validity_time_literal); - lastFullAuthTime.Set(KFASTLastFullAuthTime); - } + case eap_type_tls: + { + settings.Set(KTlsDatabaseTableName); + usercerts.Set(KTlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName); + maxSessionTime.Set(cf_str_EAP_TLS_max_session_validity_time_literal); + lastFullAuthTime.Set(KTLSLastFullAuthTime); + } + break; + + case eap_type_peap: + { + settings.Set(KPeapDatabaseTableName); + usercerts.Set(KPeapAllowedUserCertsDatabaseTableName); + cacerts.Set(KPeapAllowedCACertsDatabaseTableName); + ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName); + maxSessionTime.Set(cf_str_EAP_PEAP_max_session_validity_time_literal); + lastFullAuthTime.Set(KPEAPLastFullAuthTime); + } + break; + + case eap_type_ttls: + { + settings.Set(KTtlsDatabaseTableName); + usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); + maxSessionTime.Set(cf_str_EAP_TTLS_max_session_validity_time_literal); + lastFullAuthTime.Set(KTTLSLastFullAuthTime); + } + break; + +#ifdef USE_FAST_EAP_TYPE + case eap_type_fast: + { + settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST. + fastSpecialSettings.Set(KFastSpecialSettingsDBTableName); + + usercerts.Set(KFastAllowedUserCertsDatabaseTableName); + cacerts.Set(KFastAllowedCACertsDatabaseTableName); + ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName); + maxSessionTime.Set(cf_str_EAP_FAST_max_session_validity_time_literal); + lastFullAuthTime.Set(KFASTLastFullAuthTime); + } + break; #endif - else if (aEapType == eap_expanded_type_ttls_plain_pap.get_type()) - { - settings.Set( KTtlsDatabaseTableName ); - maxSessionTime.Set( cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal ); - lastFullAuthTime.Set( KTTLSPAPLastFullAuthTime ); - } - else - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: SetConfigurationL(): LEAVE - Unsupported EAP-type=0xfe%06x%08x\n"), - aEapType.get_vendor_id(), - aEapType.get_vendor_type()) ); - - // Should never happen - User::Leave(KErrArgument); - } - + + case eap_type_ttls_plain_pap: + { + settings.Set( KTtlsDatabaseTableName ); + maxSessionTime.Set( cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal ); + lastFullAuthTime.Set( KTTLSPAPLastFullAuthTime ); + } + break; + + default: + { + EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - LEAVE - Unsupported EAP type =%d\n"), + aEapVendorType) ); + + // Should never happen + User::Leave(KErrArgument); + } + } + RDbView view; - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); ////////////////////////////////////////// // This is for settings for all EAP types. // For EAP-FAST it is General settings. ////////////////////////////////////////// - sqlStatement.Format(KSQL, - &settings, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format( KSQL, &settings, + &KServiceType, aIndexType, &KServiceIndex, aIndex, + &KTunnelingType, aTunnelingVendorType ); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -2917,208 +3097,131 @@ ////////////////////////////////////////// // This is only for plain PAP settings. // ////////////////////////////////////////// - if ( aEapType == eap_expanded_type_ttls_plain_pap.get_type() ) - { + if ( aEapVendorType == eap_type_ttls_plain_pap ) + { // Username if ( aSettings.iUsernamePresent ) - { + { // Validate length. if( aSettings.iUsername.Length() > KMaxPapUserNameLengthInDb ) - { + { // Username too long. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL: Too long Username. Length=%d, max length=%d \n" ), - aSettings.iUsername.Length(), - KMaxPapUserNameLengthInDb) ); - - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + EAP_TRACE_DEBUG_SYMBIAN( ( _L( + "EapTlsPeapUtils::SetConfigurationL: Too long Username. Length=%d \n" ), + aSettings.iUsername.Length() ) ); + CleanupStack::PopAndDestroy( 3 ); // colset, view, buf User::Leave( KErrArgument ); - } + } // Length is ok. Set the value in DB. view.SetColL( colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_username_literal ), aSettings.iUsername); - } - - // Password existence. - if (aSettings.iPasswordExistPresent - && !aSettings.iPasswordExist) - { - // Clear password from database. - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_ttls_pap_password_literal), KNullPasswordData); - view.SetColNullL(colSet->ColNo(cf_str_EAP_TLS_PEAP_ttls_pap_password_literal)); - } - + } // Password if ( aSettings.iPasswordPresent ) - { + { // Validate length. if ( aSettings.iPassword.Length() > KMaxPapPasswordLengthInDb ) - { + { // Password too long. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL: Too long Password. Length=%d, max length=%d\n" ), - aSettings.iPassword.Length(), - KMaxPapPasswordLengthInDb) ); - - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + EAP_TRACE_DEBUG_SYMBIAN( ( _L( + "EapTlsPeapUtils::SetConfigurationL: Too long Password. Length=%d \n" ), + aSettings.iPassword.Length() ) ); + CleanupStack::PopAndDestroy( 3 ); // colset, view, buf User::Leave( KErrArgument ); - } + } // Length is ok. Set the value in DB. view.SetColL( colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ), aSettings.iPassword ); - } - - // Password prompt - if ( aSettings.iShowPassWordPromptPresent ) - { - if ( aSettings.iShowPassWordPrompt ) - { - view.SetColL( colSet->ColNo( - cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ), - EPapPasswordPromptOn ); - } - else - { - view.SetColL( colSet->ColNo( - cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ), - EPapPasswordPromptOff ); - } - } + + // If password was supplied set password prompting off + view.SetColL( colSet->ColNo( + cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ), + EPapPasswordPromptOff ); + } // Session validity time if ( aSettings.iSessionValidityTimePresent ) - { + { // User or device management wants to store the session validity time. // Convert the time to micro seconds and save. - TInt64 validityInMicro = (aSettings.iSessionValidityTime) * KMicroSecsInAMinute; + TInt64 validityInMicro = + ( aSettings.iSessionValidityTime ) + * + KMicroSecsInAMinute; view.SetColL( colSet->ColNo( maxSessionTime ), validityInMicro ); - + // If max session validity time is supplied and non-zero, set password prompting ON. // It doesn't matter even if the password is supplied. If max session validity is supplied, // it means user needs to provide a password hence prompt should appear. if( validityInMicro != 0) - { + { view.SetColL( colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ), EPapPasswordPromptOn ); - } - } + } + } // Last full authentication time should be made zero when EAP configurations are modified. // This makes sure that the next authentication with this EAP would be full authentication // instead of reauthentication even if the session is still valid. view.SetColL( colSet->ColNo( lastFullAuthTime ), default_FullAuthTime ); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils: Session Validity: Resetting Full Auth Time since settings are modified\n"))); + EAP_TRACE_DEBUG_SYMBIAN( ( _L( + "Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n" ), + aSettings.iEAPType )); view.PutL(); - - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): Return PAP\n") ) ); + CleanupStack::PopAndDestroy( 3 ); // colset, view, buf + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - Return \n") ) ); return; - } // if ( aEapVendorType == eap_expanded_type_ttls_plain_pap.get_type() ) - - - if (aSettings.iUseAutomaticCACertificatePresent) + } // if ( aEapVendorType == eap_type_ttls_plain_pap ) + + // Manual username { - // This is to set the automatic or manual status. - TUint useAutomaticCACertificateStatus; - - if (aSettings.iUseAutomaticCACertificate) - { - useAutomaticCACertificateStatus = EEapDbTrue; - } - else - { - useAutomaticCACertificateStatus = EEapDbFalse; - } - - // Set the value. - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal), useAutomaticCACertificateStatus); - } - - - if (aSettings.iUseAutomaticUsernamePresent) - { + // Set the value in DB. Value could be empty. It doesn't matter. + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), aSettings.iUsername); + // This is to set the automatic or manual status. TUint useManualUsernameStatus; - if (aSettings.iUseAutomaticUsername) + if (aSettings.iUsernamePresent) { - useManualUsernameStatus = EEapDbFalse; + useManualUsernameStatus = ETLSPEAPUseManualUsernameYes; } else { - useManualUsernameStatus = EEapDbTrue; + useManualUsernameStatus = ETLSPEAPUseManualUsernameNo; } // Set the value. - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), useManualUsernameStatus); - } - - - if (aSettings.iUseAutomaticRealmPresent) - { - // This is to set the automatic or manual status. - TUint useManualRealmStatus; - - if (aSettings.iUseAutomaticRealm) - { - useManualRealmStatus = EEapDbFalse; - } - else - { - useManualRealmStatus = EEapDbTrue; - } - - // Set the value. - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal), useManualRealmStatus); - } - - - // Manual username - if (aSettings.iUsernamePresent) - { - // Check if length of username is less than the max length. - if(aSettings.iUsername.Length() > KMaxUsernameLengthInDB) - { - // Username too long. Can not be stored in DB. - - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL(): Too long Username. Length=%d \n"), - aSettings.iUsername.Length())); - - User::Leave(KErrArgument); - } - - // Set the value in DB. Value could be empty. It doesn't matter. - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal), aSettings.iUsername); + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), + useManualUsernameStatus); } // Manual realm - if (aSettings.iRealmPresent) { - // Check if length of realm is less than the max length. - if(aSettings.iRealm.Length() > KMaxRealmLengthInDB) - { - // Realm too long. Can not be stored in DB. - - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL(): Too long Realm. Length=%d \n"), - aSettings.iRealm.Length())); - - User::Leave(KErrArgument); - } - // Set the value in DB. Value could be empty. It doesn't matter. view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal), aSettings.iRealm); + + // This is to set the automatic or manual status. + TUint useManualRealmStatus; + + if (aSettings.iRealmPresent) + { + useManualRealmStatus = ETLSPEAPUseManualRealmYes; + } + else + { + useManualRealmStatus = ETLSPEAPUseManualRealmNo; + } + + // Set the value. + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal), + useManualRealmStatus); } // Verify server realm @@ -3127,12 +3230,12 @@ if (aSettings.iVerifyServerRealm) { view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal), - EEapDbTrue); + ETLSPEAPVerifyCertRealmYes); } else { view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal), - EEapDbFalse); + ETLSPEAPVerifyCertRealmNo); } } @@ -3142,12 +3245,12 @@ if (aSettings.iRequireClientAuthentication) { view.SetColL(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal), - EEapDbTrue); + ETLSPEAPServerAuthenticatesClientPolicyYes); } else { view.SetColL(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal), - EEapDbFalse); + ETLSPEAPServerAuthenticatesClientPolicyNo); } } @@ -3168,7 +3271,8 @@ view.SetColL(colSet->ColNo(lastFullAuthTime), default_FullAuthTime); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils: Session Validity: Resetting Full Auth Time since settings are modified\n"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"), + aSettings.iEAPType )); // PEAP versions @@ -3199,28 +3303,10 @@ } view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_accepted_PEAP_versions_literal), acceptedPEAPVersions); } - - if (aSettings.iUseIdentityPrivacyPresent) - { - // This is to set the automatic or manual status. - TUint UseIdentityPrivacy = 0ul; - - if (aSettings.iUseIdentityPrivacy) - { - UseIdentityPrivacy = EEapDbTrue; - } - else - { - UseIdentityPrivacy = EEapDbFalse; - } - - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), UseIdentityPrivacy); - } view.PutL(); - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(2); // view, colset #ifdef USE_FAST_EAP_TYPE @@ -3230,16 +3316,8 @@ if(aEapType == eap_type_fast) { - sqlStatement.Format(KSQL, - &fastSpecialSettings, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &fastSpecialSettings, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -3263,12 +3341,12 @@ if (aSettings.iAuthProvModeAllowed) { view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal), - EEapDbTrue); + EFASTAuthProvModeAllowedYes); } else { view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal), - EEapDbFalse); + EFASTAuthProvModeAllowedNo); } } @@ -3277,12 +3355,12 @@ if (aSettings.iUnauthProvModeAllowed) { view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal), - EEapDbTrue); + EFASTUnauthProvModeAllowedYes); } else { view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal), - EEapDbFalse); + EFASTUnauthProvModeAllowedNo); } } @@ -3292,12 +3370,12 @@ if (aSettings.iWarnADHPNoPAC) { view.SetColL(colSet->ColNo(KFASTWarnADHPNoPAC), - EEapDbTrue); + EFASTWarnADHPNoPACYes); } else { view.SetColL(colSet->ColNo(KFASTWarnADHPNoPAC), - EEapDbFalse); + EFASTWarnADHPNoPACNo); } } @@ -3306,12 +3384,12 @@ if (aSettings.iWarnADHPNoMatchingPAC) { view.SetColL(colSet->ColNo(KFASTWarnADHPNoMatchingPAC), - EEapDbTrue); + EFASTWarnADHPNoMatchingPACYes); } else { view.SetColL(colSet->ColNo(KFASTWarnADHPNoMatchingPAC), - EEapDbFalse); + EFASTWarnADHPNoMatchingPACNo); } } @@ -3320,12 +3398,12 @@ if (aSettings.iWarnADHPNoMatchingPAC) { view.SetColL(colSet->ColNo(KFASTWarnNotDefaultServer), - EEapDbTrue); + EFASTWarnNotDefaultServerYes); } else { view.SetColL(colSet->ColNo(KFASTWarnNotDefaultServer), - EEapDbFalse); + EFASTWarnNotDefaultServerNo); } } @@ -3340,8 +3418,7 @@ view.PutL(); - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(2); // view, colset } // End: if(aEapType == eap_type_fast) @@ -3353,16 +3430,8 @@ if (aSettings.iCipherSuitesPresent) { - sqlStatement.Format(KSQL, - &ciphersuites, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &ciphersuites, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -3372,12 +3441,12 @@ // Delete old rows if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); } - + // Get column set so we get the correct column numbers colSet = view.ColSetL(); CleanupStack::PushL(colSet); @@ -3386,44 +3455,34 @@ for (TInt i = 0; i < aSettings.iCipherSuites.Count(); i++) { - view.InsertL(); + view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); - view.SetColL(colSet->ColNo(KServiceIndex), static_cast(aIndex)); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KServiceIndex), static_cast(aIndex)); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); view.SetColL(colSet->ColNo(KCipherSuite), aSettings.iCipherSuites[i]); - view.PutL(); + view.PutL(); } - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(2); // view, colset } ///////////////////////// // User + CA Certificates ///////////////////////// - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): aSettings.iCertificatesPresent=%d \n"), aSettings.iCertificatesPresent ) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - aSettings.iCertificatesPresent=%d \n"), aSettings.iCertificatesPresent ) ); if (aSettings.iCertificatesPresent) { // Needed for getting the Symbian's subject key id. - //CEapTlsPeapCertFetcher* certFetcher = CEapTlsPeapCertFetcher::NewL(); - //CleanupStack::PushL(certFetcher); + CEapTlsPeapCertFetcher* certFetcher = CEapTlsPeapCertFetcher::NewL(); + CleanupStack::PushL(certFetcher); TBuf8 symbianSubjectKeyID; // For USER certificate. - sqlStatement.Format(KSQL, - &usercerts, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &usercerts, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -3433,7 +3492,7 @@ // Delete old rows if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); @@ -3447,20 +3506,18 @@ TInt i(0); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): aSettings.iCertificates.Count()=%d \n"), aSettings.iCertificates.Count() ) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - aSettings.iCertificates.Count()=%d \n"), aSettings.iCertificates.Count() ) ); for (i = 0; i < aSettings.iCertificates.Count(); i++) { - if (aSettings.iCertificates[i]->GetIsEnabledPresent() - && aSettings.iCertificates[i]->GetIsEnabled() - && aSettings.iCertificates[i]->GetCertType() == EapCertificateEntry::EUser) + if (aSettings.iCertificates[i].iCertType == CertificateEntry::EUser) { // Validate the length and save other certificate details to the DB. - if(aSettings.iCertificates[i]->GetSubjectName()->Length() > KKeyIdentifierLength - || aSettings.iCertificates[i]->GetIssuerName()->Length() > KGeneralStringMaxLength - || aSettings.iCertificates[i]->GetSerialNumber()->Length() > KGeneralStringMaxLength - || aSettings.iCertificates[i]->GetSubjectKeyId().Length() > KGeneralStringMaxLength - || aSettings.iCertificates[i]->GetThumbprint()->Length() > KThumbprintMaxLength) + if(aSettings.iCertificates[i].iSubjectName.Length() > KKeyIdentifierLength + || aSettings.iCertificates[i].iIssuerName.Length() > KGeneralStringMaxLength + || aSettings.iCertificates[i].iSerialNumber.Length() > KGeneralStringMaxLength + || aSettings.iCertificates[i].iSubjectKeyID.Length() > KGeneralStringMaxLength + || aSettings.iCertificates[i].iThumbprint.Length() > KThumbprintMaxLength) { // Too long data. Can not be stored in DB. @@ -3470,48 +3527,36 @@ } EAP_TRACE_DATA_DEBUG_SYMBIAN(("THIS IS SubjectKeyID:", - aSettings.iCertificates[i]->GetSubjectKeyId().Ptr(), - aSettings.iCertificates[i]->GetSubjectKeyId().Length())); + aSettings.iCertificates[i].iSubjectKeyID.Ptr(), aSettings.iCertificates[i].iSubjectKeyID.Size())); // The cert label column is left empty view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), static_cast(aIndex)); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); - view.SetColL(colSet->ColNo(KSubjectName), *(aSettings.iCertificates[i]->GetSubjectName())); - view.SetColL(colSet->ColNo(KIssuerName), *(aSettings.iCertificates[i]->GetIssuerName())); - view.SetColL(colSet->ColNo(KSerialNumber), *(aSettings.iCertificates[i]->GetSerialNumber())); - view.SetColL(colSet->ColNo(KActualSubjectKeyIdentifier), aSettings.iCertificates[i]->GetSubjectKeyId()); + view.SetColL(colSet->ColNo(KSubjectName), aSettings.iCertificates[i].iSubjectName); + view.SetColL(colSet->ColNo(KIssuerName), aSettings.iCertificates[i].iIssuerName); + view.SetColL(colSet->ColNo(KSerialNumber), aSettings.iCertificates[i].iSerialNumber); + view.SetColL(colSet->ColNo(KActualSubjectKeyIdentifier), aSettings.iCertificates[i].iSubjectKeyID); // Special for thumb print (finger print). Need to convert it to 8 bits before storing in DB TBuf8 thumbPrint8Bit; - thumbPrint8Bit.Copy(*(aSettings.iCertificates[i]->GetThumbprint())); + thumbPrint8Bit.Copy(aSettings.iCertificates[i].iThumbprint); view.SetColL(colSet->ColNo(KThumbprint), thumbPrint8Bit); - view.SetColL(colSet->ColNo(KSubjectKeyIdentifier), aSettings.iCertificates[i]->GetSubjectKeyId()); + view.SetColL(colSet->ColNo(KSubjectKeyIdentifier), aSettings.iCertificates[i].iSubjectKeyID); view.PutL(); - } + } } - - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(2); // view, colset // Do the same for CA certificates. - sqlStatement.Format(KSQL, - &cacerts, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &cacerts, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -3521,7 +3566,7 @@ // Delete old rows if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); @@ -3533,16 +3578,14 @@ for (i = 0; i < aSettings.iCertificates.Count(); i++) { - if (aSettings.iCertificates[i]->GetIsEnabledPresent() - && aSettings.iCertificates[i]->GetIsEnabled() - && aSettings.iCertificates[i]->GetCertType() == EapCertificateEntry::ECA) + if (aSettings.iCertificates[i].iCertType == CertificateEntry::ECA) { // Validate the length and save other certificate details to the DB. - if(aSettings.iCertificates[i]->GetSubjectName()->Length() > KKeyIdentifierLength - || aSettings.iCertificates[i]->GetIssuerName()->Length() > KGeneralStringMaxLength - || aSettings.iCertificates[i]->GetSerialNumber()->Length() > KGeneralStringMaxLength - || aSettings.iCertificates[i]->GetSubjectKeyId().Length() > KGeneralStringMaxLength - || aSettings.iCertificates[i]->GetThumbprint()->Length() > KThumbprintMaxLength) + if(aSettings.iCertificates[i].iSubjectName.Length() > KKeyIdentifierLength + || aSettings.iCertificates[i].iIssuerName.Length() > KGeneralStringMaxLength + || aSettings.iCertificates[i].iSerialNumber.Length() > KGeneralStringMaxLength + || aSettings.iCertificates[i].iSubjectKeyID.Length() > KGeneralStringMaxLength + || aSettings.iCertificates[i].iThumbprint.Length() > KThumbprintMaxLength) { // Too long data. Can not be stored in DB. @@ -3556,52 +3599,47 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), static_cast(aIndex)); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); + view.SetColL(colSet->ColNo(KTunnelingType),aTunnelingVendorType); - view.SetColL(colSet->ColNo(KSubjectName), *(aSettings.iCertificates[i]->GetSubjectName())); - view.SetColL(colSet->ColNo(KIssuerName), *(aSettings.iCertificates[i]->GetIssuerName())); - view.SetColL(colSet->ColNo(KSerialNumber), *(aSettings.iCertificates[i]->GetSerialNumber())); - view.SetColL(colSet->ColNo(KActualSubjectKeyIdentifier), aSettings.iCertificates[i]->GetSubjectKeyId()); + view.SetColL(colSet->ColNo(KSubjectName), aSettings.iCertificates[i].iSubjectName); + view.SetColL(colSet->ColNo(KIssuerName), aSettings.iCertificates[i].iIssuerName); + view.SetColL(colSet->ColNo(KSerialNumber), aSettings.iCertificates[i].iSerialNumber); + view.SetColL(colSet->ColNo(KActualSubjectKeyIdentifier), aSettings.iCertificates[i].iSubjectKeyID); // Special for thumb print (finger print). Need to convert it to 8 bits before storing in DB TBuf8 thumbPrint8Bit; - thumbPrint8Bit.Copy(*(aSettings.iCertificates[i]->GetThumbprint())); + thumbPrint8Bit.Copy(aSettings.iCertificates[i].iThumbprint); view.SetColL(colSet->ColNo(KThumbprint), thumbPrint8Bit); // Get the "symbian's subject key id" using symbian API. // We use this subject key id for authentication. - view.SetColL(colSet->ColNo(KSubjectKeyIdentifier), aSettings.iCertificates[i]->GetSubjectKeyId()); - - EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "EapTlsPeapUtils::SetConfigurationL(): Adding CA cert to DB, Supplied (Actual) SubjectKeyID:", - aSettings.iCertificates[i]->GetSubjectKeyId().Ptr(), - aSettings.iCertificates[i]->GetSubjectKeyId().Length() ) ); + view.SetColL(colSet->ColNo(KSubjectKeyIdentifier), aSettings.iCertificates[i].iSubjectKeyID); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "EapTlsPeapUtils::SetConfigurationL - Adding CA cert to DB, Supplied (Actual) SubjectKeyID:", + aSettings.iCertificates[i].iSubjectKeyID.Ptr(), aSettings.iCertificates[i].iSubjectKeyID.Size() ) ); - EAP_TRACE_SETTINGS(aSettings.iCertificates[i]); - view.PutL(); } } - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - - //CleanupStack::PopAndDestroy(certFetcher); + CleanupStack::PopAndDestroy(2); // view, colset + + CleanupStack::PopAndDestroy(certFetcher); } // End of if (aSettings.iCertificatesPresent) - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(); // buf ///////////////////// // Encapsulated types ///////////////////// - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent=%d \n"), aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent ) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - aSettings.iEncapsulatedEAPTypesPresent=%d \n"), aSettings.iEncapsulatedEAPTypesPresent ) ); // Encapsulated types are only for EAP-PEAP, EAP-TTLS and EAP-FAST. Not for EAP-TLS. - // This is just to be on safe side. In case if iEnabledEncapsulatedEAPExpandedTypesPresent is set true for EAP-TLS by the caller. + // This is just to be on safe side. In case if iEncapsulatedEAPTypesPresent is set true for EAP-TLS by the caller. if ( aEapType != eap_type_peap && aEapType != eap_type_ttls #ifdef USE_FAST_EAP_TYPE @@ -3609,23 +3647,25 @@ #endif ) { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): End - Since no encapsulated type for the EAP-type=0xfe%06x%08x\n"), - aEapType.get_vendor_id(), - aEapType.get_vendor_type() ) ); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::SetConfigurationL - End - Since no encapsulated type for the EAPType =%d \n"), + aEapVendorType ) ); return; // No need to proceed. No encapsulated type for EAP-TLS.. } - if (aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent) +#ifdef USE_EAP_EXPANDED_TYPES + + if (aSettings.iEncapsulatedEAPTypesPresent) { - RPointerArray enabledEAPTypes; + RExpandedEapTypePtrArray enabledEAPTypes; // This is just for dummy. All EAP types available here are enabled as default. - RPointerArray disabledEAPTypes; - TEapExpandedType* expandedEAPTmp = 0; - - for (TInt i = 0; i < aSettings.iEnabledEncapsulatedEAPExpandedTypes.Count(); i++) + RExpandedEapTypePtrArray disabledEAPTypes; + SExpandedEAPType* expandedEAPTmp = 0; + + for (TInt i = 0; i < aSettings.iEncapsulatedEAPTypes.Count(); i++) { - expandedEAPTmp = new TEapExpandedType; + expandedEAPTmp = new SExpandedEAPType; if (expandedEAPTmp == 0) { @@ -3635,24 +3675,50 @@ disabledEAPTypes.Close(); User::Leave(KErrNoMemory); } - + + // This fills the needed values for vendor id etc. + eap_expanded_type_c tmpExpEAP(static_cast (aSettings.iEncapsulatedEAPTypes[i])); + + // This is only for plain-MSCHAPv2 as long as we are using the value 99 for it. + if(aSettings.iEncapsulatedEAPTypes[i] == EAPSettings::EPlainMschapv2) + { + tmpExpEAP.set_eap_type_values( + eap_type_vendor_id_hack, + eap_type_vendor_type_plain_MSCHAPv2_hack); + } + + // And this is for TTLS-PAP as long as we are using the value 98 for it. + if(aSettings.iEncapsulatedEAPTypes[i] == EAPSettings::ETtlsPlainPap) + { + tmpExpEAP.set_eap_type_values( + eap_type_vendor_id_hack, + eap_type_vendor_type_ttls_plain_pap_hack); + } + + // Some indirect way of forming the 8 byte string of an EAP type is needed here. + TUint8 tmpExpBuffer[KExpandedEAPTypeSize]; // This is for the eap_expanded_type_c::write_type + + // This copies the 8 byte string of EAP type to tmpExpBuffer. + eap_status_e status = eap_expanded_type_c::write_type(0, + 0, // index should be zero here. + tmpExpBuffer, + KExpandedEAPTypeSize, + true, + tmpExpEAP); + // Now copy the 8 byte string to expandedEAPTmp. - *expandedEAPTmp = aSettings.iEnabledEncapsulatedEAPExpandedTypes[i].GetValue(); - + expandedEAPTmp->iExpandedEAPType.Copy(tmpExpBuffer, KExpandedEAPTypeSize); + EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("EapTlsPeapUtils::SetConfigurationL: Expanded EAP type string", - expandedEAPTmp->GetValue().Ptr(), - expandedEAPTmp->GetValue().Size() ) ); - - TInt error = enabledEAPTypes.Append(expandedEAPTmp); - if (error != KErrNone) - { - delete expandedEAPTmp; - expandedEAPTmp = 0; - } + ("EapTlsPeapUtils::SetConfigurationL: Expanded EAp type string", + expandedEAPTmp->iExpandedEAPType.Ptr(), + expandedEAPTmp->iExpandedEAPType.Size() ) ); + + + enabledEAPTypes.Append(expandedEAPTmp); } - - TRAPD(error, SetTunnelingExpandedEapDataL( + + TRAPD(error, SetTunnelingExpandedEapDataL( aDatabase, 0, enabledEAPTypes, @@ -3664,7 +3730,7 @@ if( error != KErrNone ) { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): ########### Setting Expanded Tunneling types in the DB failed ############ \n") ) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - ########### Setting Expanded Tunneling types in the DB failed ############ \n") ) ); enabledEAPTypes.ResetAndDestroy(); disabledEAPTypes.ResetAndDestroy(); @@ -3680,87 +3746,60 @@ disabledEAPTypes.Close(); } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): End \n") ) ); + +#else // For normal unexpanded EAP type. + + if (aSettings.iEncapsulatedEAPTypesPresent) + { + TEapArray eapArray; + + TEap *eap; + for (TInt i = 0; i < aSettings.iEncapsulatedEAPTypes.Count(); i++) + { + eap = new TEap; + if (eap == 0) + { + eapArray.ResetAndDestroy(); + eapArray.Close(); + User::Leave(KErrNoMemory); + } + + eap->UID.NumFixedWidth(aSettings.iEncapsulatedEAPTypes[i], EDecimal, 2); + eap->Enabled = ETrue; + eapArray.Append(eap); + } + + TInt err(KErrNone); + TRAP(err, SetEapDataL( + aDatabase, + 0, + eapArray, + aIndexType, + aIndex, + aTunnelingType, + aEapType)); + + if( err != KErrNone ) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - ########### Setting Tunneling types in the DB failed ############ \n") ) ); + + eapArray.ResetAndDestroy(); + eapArray.Close(); + + User::Leave(KErrArgument); // There could be some problem in the encapsulated EAP type argument. + } + + eapArray.ResetAndDestroy(); + eapArray.Close(); + } + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - End \n") ) ); } // EapTlsPeapUtils::SetConfigurationL() -// ---------------------------------------------------------------------- - -TInt EapTlsPeapUtils::FilterEapMethods( - RPointerArray * const aEAPTypes, - RPointerArray * const aPlugins) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::FilterEapMethods(): aEAPTypes->Count()=%d, aPlugins->Count()=%d\n"), - aEAPTypes->Count(), - aPlugins->Count())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::FilterEapMethods()\n")); - - for (TInt act_ind = 0; act_ind < aEAPTypes->Count(); ++act_ind) - { - const TEapExpandedType * eap_type = (*aEAPTypes)[act_ind]; - if (eap_type == 0) - { - return KErrNoMemory; - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::FilterEapMethods(): aEAPTypes[%d] EAP-type=0xfe%06x%08x\n"), - act_ind, - eap_type->GetVendorId(), - eap_type->GetVendorType())); - - bool exists(false); - - for (TInt plugin_ind = 0; plugin_ind < aPlugins->Count(); ++plugin_ind) - { - const TEapExpandedType * plugin_type = (*aPlugins)[plugin_ind]; - if (plugin_type == 0) - { - return KErrNoMemory; - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::FilterEapMethods(): aPlugins[%d] EAP-type=0xfe%06x%08x\n"), - plugin_ind, - plugin_type->GetVendorId(), - plugin_type->GetVendorType())); - - if (*eap_type == *plugin_type) - { - // OK, this active EAP-method have implementation. - exists = true; - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::FilterEapMethods(): Removes from aPlugins EAP-type=0xfe%06x%08x\n"), - eap_type->GetVendorId(), - eap_type->GetVendorType())); - - // Remove this plugin EAP-method because it is in the list of EAP-methods. - delete (*aPlugins)[plugin_ind]; - aPlugins->Remove(plugin_ind); - - break; - } - } // for() - - if (exists == false) - { - // Remove this EAP-method because there are no implementation. - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::FilterEapMethods(): Removes from aEAPTypes EAP-type=0xfe%06x%08x\n"), - eap_type->GetVendorId(), - eap_type->GetVendorType())); - - delete (*aEAPTypes)[act_ind]; - aEAPTypes->Remove(act_ind); - - --act_ind; - } - } // for() - - return KErrNone; -} - // --------------------------------------------------------- // EapTlsPeapUtils::GetConfigurationL() // --------------------------------------------------------- @@ -3773,16 +3812,21 @@ const eap_type_value_e aTunnelingType, const eap_type_value_e aEapType) { +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + TUint aEapVendorType = aEapType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + TUint aEapVendorType = static_cast(aEapType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type(), - aEapType.get_vendor_id(), - aEapType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::GetConfigurationL()\n")); + (_L("EapTlsPeapUtils::GetConfigurationL aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"), + aIndexType,aIndex, aTunnelingVendorType, aEapVendorType)); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); @@ -3797,49 +3841,61 @@ TPtrC fastSpecialSettings; #endif - if (aEapType == eap_type_tls) - { - settings.Set(KTlsDatabaseTableName); - usercerts.Set(KTlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName); - maxSessionTime.Set(cf_str_EAP_TLS_max_session_validity_time_literal); - } - else if (aEapType == eap_type_peap) - { - settings.Set(KPeapDatabaseTableName); - usercerts.Set(KPeapAllowedUserCertsDatabaseTableName); - cacerts.Set(KPeapAllowedCACertsDatabaseTableName); - ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName); - maxSessionTime.Set(cf_str_EAP_PEAP_max_session_validity_time_literal); - } - else if (aEapType == eap_type_ttls) + switch (aEapVendorType) { - settings.Set(KTtlsDatabaseTableName); - usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); - maxSessionTime.Set(cf_str_EAP_TTLS_max_session_validity_time_literal); - } + case eap_type_tls: + { + settings.Set(KTlsDatabaseTableName); + usercerts.Set(KTlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName); + maxSessionTime.Set(cf_str_EAP_TLS_max_session_validity_time_literal); + } + break; + + case eap_type_peap: + { + settings.Set(KPeapDatabaseTableName); + usercerts.Set(KPeapAllowedUserCertsDatabaseTableName); + cacerts.Set(KPeapAllowedCACertsDatabaseTableName); + ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName); + maxSessionTime.Set(cf_str_EAP_PEAP_max_session_validity_time_literal); + } + break; + + case eap_type_ttls: + { + settings.Set(KTtlsDatabaseTableName); + usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); + maxSessionTime.Set(cf_str_EAP_TTLS_max_session_validity_time_literal); + } + break; + #ifdef USE_FAST_EAP_TYPE - else if (aEapType == eap_type_fast) - { - settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST. - fastSpecialSettings.Set(KFastSpecialSettingsDBTableName); - - usercerts.Set(KFastAllowedUserCertsDatabaseTableName); - cacerts.Set(KFastAllowedCACertsDatabaseTableName); - ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName); - maxSessionTime.Set(cf_str_EAP_FAST_max_session_validity_time_literal); - } + case eap_type_fast: + { + settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST. + fastSpecialSettings.Set(KFastSpecialSettingsDBTableName); + + usercerts.Set(KFastAllowedUserCertsDatabaseTableName); + cacerts.Set(KFastAllowedCACertsDatabaseTableName); + ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName); + maxSessionTime.Set(cf_str_EAP_FAST_max_session_validity_time_literal); + } + break; #endif - else if (aEapType == eap_expanded_type_ttls_plain_pap.get_type()) - { + + + case eap_type_ttls_plain_pap: + { settings.Set( KTtlsDatabaseTableName ); maxSessionTime.Set( cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal ); - } - else - { + } + break; + + default: // Should never happen User::Leave(KErrArgument); } @@ -3847,23 +3903,15 @@ RDbView view; // Form the query - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); ////////////////////////////////////////// // This is for settings for all EAP types. // For EAP-FAST it is General settings. ////////////////////////////////////////// - sqlStatement.Format(KSQL, - &settings, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &settings, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -3880,51 +3928,26 @@ CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - aSettings.iEAPExpandedType.SetValue( - aEapType.get_vendor_id(), - aEapType.get_vendor_type()); - - EAP_TRACE_DATA_DEBUG_SYMBIAN( - (EAPL("EapTlsPeapUtils::GetConfigurationL(): aSettings.iEAPExpandedType"), - aSettings.iEAPExpandedType.GetValue().Ptr(), - aSettings.iEAPExpandedType.GetValue().Length())); - + aSettings.iEAPType = static_cast(aEapVendorType); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - aSettings.iEAPType=%d \n"),aSettings.iEAPType) ); + ////////////////////////////////////////// // This is only for plain PAP settings. // ////////////////////////////////////////// - if ( aEapType == eap_expanded_type_ttls_plain_pap.get_type() ) - { + if ( aEapType == eap_type_ttls_plain_pap ) + { // Username TPtrC username = view.ColDes( colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_username_literal ) ); aSettings.iUsername.Copy( username ); aSettings.iUsernamePresent = ETrue; - - // Password existence. - aSettings.iPasswordExistPresent = ETrue; - aSettings.iPasswordExist = ! view.IsColNull(colSet->ColNo(cf_str_EAP_TLS_PEAP_ttls_pap_password_literal)); - - aSettings.iShowPassWordPromptPresent = ETrue; - - TUint aShow = view.ColUint( colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ) ); - if ( aShow == EPapPasswordPromptOn) - { - aSettings.iShowPassWordPrompt = ETrue; - } - else - { - aSettings.iShowPassWordPrompt = EFalse; - } - -#if defined(USE_EAP_PASSWORD_READ_FROM_DATABASE) + // Password TPtrC password = view.ColDes( colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal ) ); aSettings.iPassword.Copy( password ); aSettings.iPasswordPresent = ETrue; -#else - EAP_TRACE_DEBUG_SYMBIAN((_L("WARNING: EapTlsPeapUtils::GetConfigurationL(): Password read is disabled\n"))); -#endif //#if defined(USE_EAP_PASSWORD_READ_FROM_DATABASE) // Session validity time TInt64 maxSessionTimeMicro = view.ColInt64( colSet->ColNo( @@ -3939,117 +3962,75 @@ CleanupStack::PopAndDestroy(3); // view, colset, buf return; - } - - + } + + + // Username + TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal)); + aSettings.iUsername.Copy(username); + + // For manual or automatic status. + TUint useUsername = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal)); + if(useUsername == ETLSPEAPUseManualUsernameNo) { - // For manual or automatic CA-certificate. - TUint useAutomaticCACertificate = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal)); - - aSettings.iUseAutomaticCACertificatePresent = ETrue; - - if(useAutomaticCACertificate == EEapDbTrue) - { - aSettings.iUseAutomaticCACertificate = ETrue; - } - else - { - aSettings.iUseAutomaticCACertificate = EFalse; - } + aSettings.iUsernamePresent = EFalse; } - + else { - // For manual or automatic username. - TUint useUsername = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal)); - - aSettings.iUseAutomaticUsernamePresent = ETrue; - - if(useUsername == EEapDbTrue) - { - aSettings.iUseAutomaticUsername = EFalse; - } - else - { - aSettings.iUseAutomaticUsername = ETrue; - } + aSettings.iUsernamePresent = ETrue; } - + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - Settings.iUsername=%S \n"), &(aSettings.iUsername) ) ); + + // Realm + TPtrC realm = view.ColDes(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal)); + aSettings.iRealm.Copy(realm); + + // For manual or automatic status. + TUint useRealm = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal)); + if(useRealm == ETLSPEAPUseManualRealmNo) { - // For manual or automatic realm. - TUint useRealm = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_realm_literal)); - - aSettings.iUseAutomaticRealmPresent = ETrue; - - if(useRealm == EEapDbTrue) - { - aSettings.iUseAutomaticRealm = EFalse; - } - else - { - aSettings.iUseAutomaticRealm = ETrue; - } + aSettings.iRealmPresent = EFalse; } - + else { - // Username - TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal)); - - aSettings.iUsernamePresent = ETrue; - - aSettings.iUsername.Copy(username); + aSettings.iRealmPresent = ETrue; } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): Settings.iUsername=%S \n"), &(aSettings.iUsername) ) ); - + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - aSettings.iRealm=%S \n"),&(aSettings.iRealm)) ); + + // Verify server realm + TInt verifyrealm = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal)); + if (verifyrealm == 0) { - // Realm - TPtrC realm = view.ColDes(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal)); - - aSettings.iRealmPresent = ETrue; - - aSettings.iRealm.Copy(realm); + aSettings.iVerifyServerRealm = EFalse; } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): aSettings.iRealm=%S \n"),&(aSettings.iRealm)) ); - + else { - // Verify server realm - TInt verifyrealm = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal)); - if (verifyrealm == 0) - { - aSettings.iVerifyServerRealm = EFalse; - } - else - { - aSettings.iVerifyServerRealm = ETrue; - } - aSettings.iVerifyServerRealmPresent = ETrue; + aSettings.iVerifyServerRealm = ETrue; } - + aSettings.iVerifyServerRealmPresent = ETrue; + + // Require client authentication + TInt requireclientauth = view.ColUint(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal)); + if (requireclientauth == 0) + { + aSettings.iRequireClientAuthentication = EFalse; + } + else { - // Require client authentication - TInt requireclientauth = view.ColUint(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal)); - if (requireclientauth == 0) - { - aSettings.iRequireClientAuthentication = EFalse; - } - else - { - aSettings.iRequireClientAuthentication = ETrue; - } - aSettings.iRequireClientAuthenticationPresent = ETrue; + aSettings.iRequireClientAuthentication = ETrue; } - - { - // Session validity time - TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(maxSessionTime)); - - // Convert the time to minutes. - TInt64 maxSessionTimeMin = maxSessionTimeMicro / KMicroSecsInAMinute; - - aSettings.iSessionValidityTime = static_cast(maxSessionTimeMin); - aSettings.iSessionValidityTimePresent = ETrue; - } + aSettings.iRequireClientAuthenticationPresent = ETrue; + + // Session validity time + TInt64 maxSessionTimeMicro = view.ColInt64(colSet->ColNo(maxSessionTime)); + + // Convert the time to minutes. + TInt64 maxSessionTimeMin = maxSessionTimeMicro / KMicroSecsInAMinute; + + aSettings.iSessionValidityTime = static_cast(maxSessionTimeMin); + aSettings.iSessionValidityTimePresent = ETrue; // PEAP versions if (aEapType == eap_type_peap @@ -4083,22 +4064,7 @@ aSettings.iPEAPVersionsPresent = ETrue; } - { - // Require client authentication - TInt UseIdentityPrivacy = view.ColUint(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal)); - if (UseIdentityPrivacy == 0) - { - aSettings.iUseIdentityPrivacy = EFalse; - } - else - { - aSettings.iUseIdentityPrivacy = ETrue; - } - aSettings.iUseIdentityPrivacyPresent = ETrue; - } - - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(2); // view, colset #ifdef USE_FAST_EAP_TYPE @@ -4108,16 +4074,8 @@ if(aEapType == eap_type_fast) { - sqlStatement.Format(KSQL, - &fastSpecialSettings, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &fastSpecialSettings, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -4136,7 +4094,7 @@ // For provisioning modes. TUint authProvMode = view.ColUint(colSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal)); - if(authProvMode == EEapDbFalse) + if(authProvMode == EFASTAuthProvModeAllowedNo) { aSettings.iAuthProvModeAllowed = EFalse; } @@ -4148,7 +4106,7 @@ aSettings.iAuthProvModeAllowedPresent = ETrue; TUint unauthProvMode = view.ColUint(colSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal)); - if(unauthProvMode == EEapDbFalse) + if(unauthProvMode == EFASTUnauthProvModeAllowedNo) { aSettings.iUnauthProvModeAllowed = EFalse; } @@ -4161,7 +4119,7 @@ // For no PAC warning TUint warn = view.ColUint(colSet->ColNo(KFASTWarnADHPNoPAC)); - if(warn == EEapDbFalse) + if(warn == EFASTWarnADHPNoPACNo) { aSettings.iWarnADHPNoPAC = EFalse; } @@ -4174,7 +4132,7 @@ // For no matching PAC warning warn = view.ColUint(colSet->ColNo(KFASTWarnADHPNoMatchingPAC)); - if(warn == EEapDbFalse) + if(warn == EFASTWarnADHPNoMatchingPACNo) { aSettings.iWarnADHPNoMatchingPAC = EFalse; } @@ -4187,7 +4145,7 @@ // For no default server warning warn = view.ColUint(colSet->ColNo(KFASTWarnNotDefaultServer)); - if(warn == EEapDbFalse) + if(warn == EFASTWarnNotDefaultServerNo) { aSettings.iWarnNotDefaultServer = EFalse; } @@ -4207,8 +4165,7 @@ aSettings.iPACGroupReferencePresent = ETrue; } - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(2); // view, colset } // End: if(aEapType == eap_type_fast) @@ -4219,16 +4176,8 @@ // Cipher suites ////////////////// - sqlStatement.Format(KSQL, - &ciphersuites, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &ciphersuites, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -4245,32 +4194,23 @@ do { view.GetL(); { - aSettings.iCipherSuites.AppendL(view.ColUint(colSet->ColNo(KCipherSuite))); + aSettings.iCipherSuites.Append(view.ColUint(colSet->ColNo(KCipherSuite))); } } while (view.NextL() != EFalse); } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): Total cipher suites appended=%d \n"), aSettings.iCipherSuites.Count()) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - Total cipher suites appended=%d \n"),aSettings.iCipherSuites.Count()) ); aSettings.iCipherSuitesPresent = ETrue; - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(2); // view, colset ///////////////// // User Certificates ///////////////// - sqlStatement.Format(KSQL, - &usercerts, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &usercerts, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -4288,73 +4228,59 @@ view.GetL(); { // This is big object. - EapCertificateEntry * certEntry = new (ELeave) EapCertificateEntry; + CertificateEntry * certEntry = new (ELeave) CertificateEntry; CleanupStack::PushL(certEntry); - certEntry->SetCertType(EapCertificateEntry::EUser); + certEntry->iCertType = CertificateEntry::EUser; - certEntry->GetSubjectNameWritable()->Copy(view.ColDes(colSet->ColNo(KSubjectName))); - if(certEntry->GetSubjectName()->Length()) + certEntry->iSubjectName.Copy(view.ColDes(colSet->ColNo(KSubjectName))); + if(certEntry->iSubjectName.Length()) { - certEntry->SetSubjectNamePresent(); + certEntry->iSubjectNamePresent = ETrue; } - certEntry->GetIssuerNameWritable()->Copy(view.ColDes(colSet->ColNo(KIssuerName))); - if(certEntry->GetIssuerName()->Length()) + certEntry->iIssuerName.Copy(view.ColDes(colSet->ColNo(KIssuerName))); + if(certEntry->iIssuerName.Length()) { - certEntry->SetIssuerNamePresent(); + certEntry->iIssuerNamePresent = ETrue; } - certEntry->GetSerialNumberWritable()->Copy(view.ColDes(colSet->ColNo(KSerialNumber))); - if(certEntry->GetSerialNumber()->Length()) + certEntry->iSerialNumber.Copy(view.ColDes(colSet->ColNo(KSerialNumber))); + if(certEntry->iSerialNumber.Length()) { - certEntry->SetSerialNumberPresent(); - } - - certEntry->GetSubjectKeyIdWritable()->Copy(view.ColDes8(colSet->ColNo(KActualSubjectKeyIdentifier))); // This is the subjectkey id we got in SetConfigurationL - if(certEntry->GetSubjectKeyId().Length()) - { - certEntry->SetSubjectKeyIdPresent(); + certEntry->iSerialNumberPresent = ETrue; } - certEntry->GetThumbprintWritable()->Copy(view.ColDes8(colSet->ColNo(KThumbprint))); - if(certEntry->GetThumbprint()->Length()) + certEntry->iSubjectKeyID.Copy(view.ColDes8(colSet->ColNo(KActualSubjectKeyIdentifier))); // This is the subjectkey id we got in SetConfigurationL + if(certEntry->iSubjectKeyID.Length()) { - certEntry->SetThumbprintPresent(); + certEntry->iSubjectKeyIDPresent = ETrue; } - certEntry->SetIsEnabledPresent(); - certEntry->SetIsEnabled(ETrue); - - aSettings.iCertificates.AppendL(certEntry); - aSettings.iCertificatesPresent = ETrue; - - EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "EapTlsPeapUtils::GetConfigurationL(): Filling User cert entry, SubjectKeyID:", - certEntry->GetSubjectKeyId().Ptr(), - certEntry->GetSubjectKeyId().Length() ) ); - - CleanupStack::Pop(certEntry); + certEntry->iThumbprint.Copy(view.ColDes8(colSet->ColNo(KThumbprint))); + if(certEntry->iThumbprint.Length()) + { + certEntry->iThumbprintPresent = ETrue; + } + + aSettings.iCertificates.AppendL(*certEntry); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "EapTlsPeapUtils::GetConfigurationL - Filling User cert entry, SubjectKeyID:", + certEntry->iSubjectKeyID.Ptr(), certEntry->iSubjectKeyID.Size() ) ); + + CleanupStack::PopAndDestroy(certEntry); } } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(2); // view, colset ///////////////// // CA Certificates ///////////////// - sqlStatement.Format(KSQL, - &cacerts, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &cacerts, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -4372,62 +4298,131 @@ view.GetL(); { // This is big object. - EapCertificateEntry * certEntry = new (ELeave) EapCertificateEntry; + CertificateEntry * certEntry = new (ELeave) CertificateEntry; CleanupStack::PushL(certEntry); - certEntry->SetCertType(EapCertificateEntry::ECA); + certEntry->iCertType = CertificateEntry::ECA; - certEntry->GetSubjectNameWritable()->Copy(view.ColDes(colSet->ColNo(KSubjectName))); - if(certEntry->GetSubjectName()->Length()) + certEntry->iSubjectName.Copy(view.ColDes(colSet->ColNo(KSubjectName))); + if(certEntry->iSubjectName.Length()) { - certEntry->SetSubjectNamePresent(); + certEntry->iSubjectNamePresent = ETrue; } - certEntry->GetIssuerNameWritable()->Copy(view.ColDes(colSet->ColNo(KIssuerName))); - if(certEntry->GetIssuerName()->Length()) + certEntry->iIssuerName.Copy(view.ColDes(colSet->ColNo(KIssuerName))); + if(certEntry->iIssuerName.Length()) { - certEntry->SetIssuerNamePresent(); + certEntry->iIssuerNamePresent = ETrue; } - certEntry->GetSerialNumberWritable()->Copy(view.ColDes(colSet->ColNo(KSerialNumber))); - if(certEntry->GetSerialNumber()->Length()) + certEntry->iSerialNumber.Copy(view.ColDes(colSet->ColNo(KSerialNumber))); + if(certEntry->iSerialNumber.Length()) { - certEntry->SetSerialNumberPresent(); + certEntry->iSerialNumberPresent = ETrue; } - certEntry->GetSubjectKeyIdWritable()->Copy(view.ColDes8(colSet->ColNo(KActualSubjectKeyIdentifier))); // This is the subjectkey id we got in SetConfigurationL - if(certEntry->GetSubjectKeyId().Length()) + certEntry->iSubjectKeyID.Copy(view.ColDes8(colSet->ColNo(KActualSubjectKeyIdentifier))); // This is the subjectkey id we got in SetConfigurationL + if(certEntry->iSubjectKeyID.Length()) { - certEntry->SetSubjectKeyIdPresent(); + certEntry->iSubjectKeyIDPresent = ETrue; } - certEntry->GetThumbprintWritable()->Copy(view.ColDes8(colSet->ColNo(KThumbprint))); - if(certEntry->GetThumbprint()->Length()) + certEntry->iThumbprint.Copy(view.ColDes8(colSet->ColNo(KThumbprint))); + if(certEntry->iThumbprint.Length()) { - certEntry->SetThumbprintPresent(); + certEntry->iThumbprintPresent = ETrue; } - certEntry->SetIsEnabledPresent(); - certEntry->SetIsEnabled(ETrue); - - aSettings.iCertificates.AppendL(certEntry); - aSettings.iCertificatesPresent = ETrue; - - EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "EapTlsPeapUtils::GetConfigurationL(): Filling CA cert entry, SubjectKeyID:", - certEntry->GetSubjectKeyId().Ptr(), - certEntry->GetSubjectKeyId().Length() ) ); - - EAP_TRACE_SETTINGS(certEntry); - - CleanupStack::Pop(certEntry); + aSettings.iCertificates.AppendL(*certEntry); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "EapTlsPeapUtils::GetConfigurationL - Filling CA cert entry, SubjectKeyID:", + certEntry->iSubjectKeyID.Ptr(), certEntry->iSubjectKeyID.Size() ) ); + + CleanupStack::PopAndDestroy(certEntry); } } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); - + CleanupStack::PopAndDestroy(3); // view, colset, buf + + aSettings.iCertificatesPresent = ETrue; + + EAP_TRACE_DEBUG_SYMBIAN((_L("**************** GetConfigurationL - Returning the below values: ***************\n")) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - Return these values for EAPType=%d"),aSettings.iEAPType) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, Username=%S"),aSettings.iUsernamePresent, &(aSettings.iUsername)) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, Password=%S"),aSettings.iPasswordPresent, &(aSettings.iPassword)) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, Realm=%S"),aSettings.iRealmPresent, &(aSettings.iRealm)) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, UsePseudonyms=%d"),aSettings.iUsePseudonymsPresent, aSettings.iUsePseudonyms) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, VerifyServerRealm=%d"), + aSettings.iVerifyServerRealmPresent, aSettings.iVerifyServerRealm) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, RequireClientAuthentication=%d"), + aSettings.iRequireClientAuthenticationPresent, aSettings.iRequireClientAuthentication) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, SessionValidityTime=%d minutes"), + aSettings.iSessionValidityTimePresent, aSettings.iSessionValidityTime) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, CipherSuites Count=%d"), + aSettings.iCipherSuitesPresent, aSettings.iCipherSuites.Count()) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, PEAPv0Allowed=%d, PEAPv1Allowed=%d, PEAPv2Allowed=%d"), + aSettings.iPEAPVersionsPresent, aSettings.iPEAPv0Allowed,aSettings.iPEAPv1Allowed, aSettings.iPEAPv2Allowed ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, Certificates Count=%d"), + aSettings.iCertificatesPresent, aSettings.iCertificates.Count()) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - Certificate details below: \n")) ); + for( TInt n=0; n < aSettings.iCertificates.Count(); n++ ) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - Certificate type:%d \n"), aSettings.iCertificates[n].iCertType) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - certificates - present=%d, SubjectName=%S"), + aSettings.iCertificates[n].iSubjectNamePresent, &(aSettings.iCertificates[n].iSubjectName)) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - certificates - present=%d, IssuerName=%S"), + aSettings.iCertificates[n].iIssuerNamePresent, &(aSettings.iCertificates[n].iIssuerName)) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - certificates - present=%d, SerialNumber=%S"), + aSettings.iCertificates[n].iSerialNumberPresent, &(aSettings.iCertificates[n].iSerialNumber)) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - certificates - SubjectKeyID present=%d"), + aSettings.iCertificates[n].iSubjectKeyIDPresent ) ); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "SubjectKeyID:", aSettings.iCertificates[n].iSubjectKeyID.Ptr(), + aSettings.iCertificates[n].iSubjectKeyID.Size() ) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - certificates - Thumbprint present=%d"), + aSettings.iCertificates[n].iThumbprintPresent ) ); + + EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "Thumbprint:", aSettings.iCertificates[n].iThumbprint.Ptr(), + aSettings.iCertificates[n].iThumbprint.Size() ) ); + } + +#ifdef USE_FAST_EAP_TYPE + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, AuthProvModeAllowed=%d"), + aSettings.iAuthProvModeAllowedPresent, aSettings.iAuthProvModeAllowed) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, UnauthProvModeAllowed=%d"), + aSettings.iUnauthProvModeAllowedPresent, aSettings.iUnauthProvModeAllowed) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, WarnADHPNoPAC=%d"), + aSettings.iWarnADHPNoPACPresent, aSettings.iWarnADHPNoPAC) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, WarnADHPNoMatchingPAC=%d"), + aSettings.iWarnADHPNoMatchingPACPresent, aSettings.iWarnADHPNoMatchingPAC) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, WarnNotDefaultServer=%d"), + aSettings.iWarnNotDefaultServerPresent, aSettings.iWarnNotDefaultServer) ); + + EAP_TRACE_DEBUG_SYMBIAN((_L("GetConfigurationL - present=%d, PAC Group Ref=%S"), + aSettings.iPACGroupReferencePresent, &(aSettings.iPACGroupReference)) ); + +#endif //#ifdef USE_FAST_EAP_TYPE + + EAP_TRACE_DEBUG_SYMBIAN((_L("**************** GetConfigurationL - Returning the above values: ***************\n")) ); + + ////////////////////// // Encapsulated types ////////////////////// @@ -4440,17 +4435,19 @@ #endif ) { - aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent = EFalse; - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): End - Since no encapsulated type for the EAP-type=0xfe%06x%08x\n"), - aEapType.get_vendor_id(), - aEapType.get_vendor_type())); + aSettings.iEncapsulatedEAPTypesPresent = EFalse; + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::GetConfigurationL - End - Since no encapsulated type for the EAPType =%d \n"), + aEapVendorType)); return; // No need to proceed. Nothing more to provide. } - - RPointerArray enabledEAPTypes; - RPointerArray disabledEAPTypes; + +#ifdef USE_EAP_EXPANDED_TYPES + + RExpandedEapTypePtrArray enabledEAPTypes; + RExpandedEapTypePtrArray disabledEAPTypes; TRAPD(error, GetTunnelingExpandedEapDataL( aDatabase, @@ -4462,222 +4459,278 @@ aTunnelingType, aEapType)); - if( error != KErrNone ) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::GetConfigurationL(): ########### Getting Expanded Tunneling types from the DB failed ############ \n") ) ); - - enabledEAPTypes.ResetAndDestroy(); - disabledEAPTypes.ResetAndDestroy(); - enabledEAPTypes.Close(); - disabledEAPTypes.Close(); - - User::Leave(KErrGeneral); - } - - + if( error != KErrNone ) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - ########### Getting Expanded Tunneling types from the DB failed ############ \n") ) ); + + enabledEAPTypes.ResetAndDestroy(); + disabledEAPTypes.ResetAndDestroy(); + enabledEAPTypes.Close(); + disabledEAPTypes.Close(); + + User::Leave(KErrGeneral); + } + + // There should be some enabled EAP types (atleast one). + if (enabledEAPTypes.Count() == 0) { - RPointerArray aPlugins; - - // This works if we do not leave from the block. - PointerArrayResetAndDestroy aAutomaticPlugins(&aPlugins, EFalse); - - EapPluginTools aPluginTool; - - TEapExpandedType aSymbTunnelingType; - - error = CEapConversion::ConvertInternalTypeToExpandedEAPType( - &aEapType, - &aSymbTunnelingType); - - if (error == KErrNone) - { - TRAP(error, (aPluginTool.ListAllEapPluginsL(aIndexType, aSymbTunnelingType, aPlugins))); - if (error != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::GetConfigurationL(): aPluginTool.ListAllEapPluginsL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"), - aEapType.get_vendor_id(), - aEapType.get_vendor_type(), - aIndexType, - aIndex, - error)); - } - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetConfigurationL(): ListImplementationsL(): No: of available EAP plugin implementations=%d, enabledEAPTypes.Count()=%d, disabledEAPTypes.Count()=%d\n"), - aPlugins.Count(), - enabledEAPTypes.Count(), - disabledEAPTypes.Count())); - - if (error == KErrNone) - { - // Filter out unimplemented enabled EAP-methods. - error = FilterEapMethods( - &enabledEAPTypes, - &aPlugins); - } - - if (error == KErrNone) + // Nothing enabled. Some problem. + // We should get all the available EAP plugins on the device and make them enabled as default. + + RImplInfoPtrArray eapImplArray; + + TRAP(error, REComSession::ListImplementationsL(KEapTypeInterfaceUid, eapImplArray)); + if (error != KErrNone) { - // Filter out unimplemented disabled EAP-methods. - error = FilterEapMethods( - &disabledEAPTypes, - &aPlugins); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - ########### Getting Expanded Tunneling types - Listing ECOM plugins failed ############ \n") ) ); + + enabledEAPTypes.ResetAndDestroy(); + disabledEAPTypes.ResetAndDestroy(); + enabledEAPTypes.Close(); + disabledEAPTypes.Close(); + + User::Leave(KErrNotFound); } - - if (error == KErrNone) - { - // Add rest of the implemented EAP-methods to array of disabled EAP-methods. - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetConfigurationL(): ListImplementationsL(): Before adding disabled, No: of available EAP plugin implementations=%d, enabledEAPTypes.Count()=%d, disabledEAPTypes.Count()=%d\n"), - aPlugins.Count(), - enabledEAPTypes.Count(), - disabledEAPTypes.Count())); - - for (TInt plugin_ind = 0; plugin_ind < aPlugins.Count(); ++plugin_ind) + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("GetConfigurationL - ListImplementationsL - No: of available EAP plugin implementations=%d \n"), + eapImplArray.Count() ) ); + + SExpandedEAPType* expandedEAPTmp; + + // Add the EAP types to enabledEAPTypes array now. + + for (TInt i = 0; i < eapImplArray.Count(); i++) + { + if (aEapType == eap_type_peap) { - const TEapExpandedType * const plugin_type = aPlugins[plugin_ind]; - if (plugin_type == 0) + // Some EAP types are not allowed inside EAP-PEAP. + if (CEapType::IsDisallowedInsidePEAP(*eapImplArray[i])) + { + continue; + } + + expandedEAPTmp = new SExpandedEAPType; + if (expandedEAPTmp == 0) { - error = KErrNoMemory; - break; + enabledEAPTypes.ResetAndDestroy(); + disabledEAPTypes.ResetAndDestroy(); + enabledEAPTypes.Close(); + disabledEAPTypes.Close(); + + eapImplArray.ResetAndDestroy(); + eapImplArray.Close(); + + User::Leave(KErrNoMemory); } - - TEapExpandedType * const disabled_eap_type = new TEapExpandedType; - if (disabled_eap_type != 0) + + CleanupStack::PushL(expandedEAPTmp); + + expandedEAPTmp->iExpandedEAPType.Copy(eapImplArray[i]->DataType()); + + enabledEAPTypes.Append(expandedEAPTmp); + + CleanupStack::Pop(expandedEAPTmp); + } + + if (aEapType == eap_type_ttls) + { + // Some EAP types are not allowed inside EAP-TTLS. + if (CEapType::IsDisallowedInsideTTLS(*eapImplArray[i])) + { + continue; + } + + expandedEAPTmp = new SExpandedEAPType; + if (expandedEAPTmp == 0) { - *disabled_eap_type = *plugin_type; - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): Adds disabled EAP-type=0xfe%06x%08x\n"), - disabled_eap_type->GetVendorId(), - disabled_eap_type->GetVendorType())); - - error = disabledEAPTypes.Append( disabled_eap_type ); - if (error != KErrNone) - { - break; - } + enabledEAPTypes.ResetAndDestroy(); + disabledEAPTypes.ResetAndDestroy(); + enabledEAPTypes.Close(); + disabledEAPTypes.Close(); + + eapImplArray.ResetAndDestroy(); + eapImplArray.Close(); + + User::Leave(KErrNoMemory); + } + + CleanupStack::PushL(expandedEAPTmp); + + expandedEAPTmp->iExpandedEAPType.Copy(eapImplArray[i]->DataType()); + + enabledEAPTypes.Append(expandedEAPTmp); + + CleanupStack::Pop(expandedEAPTmp); + } + +#ifdef USE_FAST_EAP_TYPE + + if (aEapType == eap_type_fast) + { + // Some EAP types are not allowed inside EAP-FAST. + if (CEapType::IsDisallowedInsidePEAP(*eapImplArray[i])) + { + continue; } - } // for() - - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetConfigurationL(): ListImplementationsL(): After adding disabled, No: of available EAP plugin implementations=%d, enabledEAPTypes.Count()=%d, disabledEAPTypes.Count()=%d\n"), - aPlugins.Count(), - enabledEAPTypes.Count(), - disabledEAPTypes.Count())); - - } - - // This leave must be outside the previous block. - User::LeaveIfError(error); - - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): No: of available tunneled types for this EAP=%d \n"), + + expandedEAPTmp = new SExpandedEAPType; + if (expandedEAPTmp == 0) + { + enabledEAPTypes.ResetAndDestroy(); + disabledEAPTypes.ResetAndDestroy(); + enabledEAPTypes.Close(); + disabledEAPTypes.Close(); + + eapImplArray.ResetAndDestroy(); + eapImplArray.Close(); + + User::Leave(KErrNoMemory); + } + + CleanupStack::PushL(expandedEAPTmp); + + expandedEAPTmp->iExpandedEAPType.Copy(eapImplArray[i]->DataType()); + + enabledEAPTypes.Append(expandedEAPTmp); + + CleanupStack::Pop(expandedEAPTmp); + } +#endif // #ifdef USE_FAST_EAP_TYPE + + } // End: for (TInt i = 0; i < eapImplArray.Count(); i++) + + eapImplArray.ResetAndDestroy(); + eapImplArray.Close(); + + } // End: if (enabledEAPTypes.Count() == 0) + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::GetConfigurationL - No: of available tunneled types for this EAP=%d \n"), enabledEAPTypes.Count())); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): No: of disabled tunneled types for this EAP=%d \n"), - disabledEAPTypes.Count())); - // enabledEAPTypes contains the EAP types now (expanded). - // Fill aSettings.iEnabledEncapsulatedEAPExpandedTypes here. - + // Fill aSettings.iEncapsulatedEAPTypes here. + + for (TInt i = 0; i < enabledEAPTypes.Count(); i++) { - TEapExpandedType EapType; - - for (TInt i = 0; i < enabledEAPTypes.Count(); i++) - { - error = EapType.SetValue( - enabledEAPTypes[i]->GetValue().Ptr(), - enabledEAPTypes[i]->GetValue().Length()); - if (error != KErrNone) - { - enabledEAPTypes.ResetAndDestroy(); - disabledEAPTypes.ResetAndDestroy(); - enabledEAPTypes.Close(); - disabledEAPTypes.Close(); - - User::Leave(KErrNoMemory); - } - - error = aSettings.iEnabledEncapsulatedEAPExpandedTypes.Append(EapType); - if (error != KErrNone) - { - enabledEAPTypes.ResetAndDestroy(); - disabledEAPTypes.ResetAndDestroy(); - enabledEAPTypes.Close(); - disabledEAPTypes.Close(); - - User::Leave(KErrNoMemory); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): enabled EAP-type=0xfe%06x%08x\n"), - EapType.GetVendorId(), - EapType.GetVendorType())); - } - + eap_expanded_type_c expEAPTmp; + + // This will read the expanded EAP from enabledEAPTypes[i]->iExpandedEAPType to expEAPTmp. + // This makes easy to get the vendor type. + eap_expanded_type_c::read_type( 0, + 0, + enabledEAPTypes[i]->iExpandedEAPType.Ptr(), + KExpandedEAPTypeSize, + &expEAPTmp); + + // We need to fill only the vendor type to aSettings.iEncapsulatedEAPTypes + aSettings.iEncapsulatedEAPTypes.Append(expEAPTmp.get_vendor_type()); + EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetConfigurationL(): aSettings.iEnabledEncapsulatedEAPExpandedTypes.Count()=%d \n"), - aSettings.iEnabledEncapsulatedEAPExpandedTypes.Count())); - - aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue; - + (_L("EapTlsPeapUtils::GetConfigurationL - Available encapsulated type for this EAP(%d)=%d\n"), + aEapVendorType, expEAPTmp.get_vendor_type())); } - - { - TEapExpandedType EapType; - - for (TInt i = 0; i < disabledEAPTypes.Count(); i++) - { - error = EapType.SetValue( - disabledEAPTypes[i]->GetValue().Ptr(), - disabledEAPTypes[i]->GetValue().Length()); - if (error != KErrNone) - { - enabledEAPTypes.ResetAndDestroy(); - disabledEAPTypes.ResetAndDestroy(); - enabledEAPTypes.Close(); - disabledEAPTypes.Close(); - - User::Leave(KErrNoMemory); - } - - error = aSettings.iDisabledEncapsulatedEAPExpandedTypes.Append(EapType); - if (error != KErrNone) - { - enabledEAPTypes.ResetAndDestroy(); - disabledEAPTypes.ResetAndDestroy(); - enabledEAPTypes.Close(); - disabledEAPTypes.Close(); - - User::Leave(KErrNoMemory); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): disabled EAP-type=0xfe%06x%08x\n"), - EapType.GetVendorId(), - EapType.GetVendorType())); - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetConfigurationL(): aSettings.iDisabledEncapsulatedEAPExpandedTypes.Count()=%d \n"), - aSettings.iDisabledEncapsulatedEAPExpandedTypes.Count())); - - aSettings.iDisabledEncapsulatedEAPExpandedTypesPresent = ETrue; - - } - - EAP_TRACE_SETTINGS(&aSettings); + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::GetConfigurationL - aSettings.iEncapsulatedEAPTypes.Count()=%d \n"), + aSettings.iEncapsulatedEAPTypes.Count())); enabledEAPTypes.ResetAndDestroy(); disabledEAPTypes.ResetAndDestroy(); enabledEAPTypes.Close(); disabledEAPTypes.Close(); + aSettings.iEncapsulatedEAPTypesPresent = ETrue; + +#else // for Normal EAP types. + + TEapArray eapArray; + + TRAPD(err, GetEapDataL( + aDatabase, + 0, + eapArray, + aIndexType, + aIndex, + aTunnelingType, + aEapType)); + if (err != KErrNone) + { + eapArray.ResetAndDestroy(); + eapArray.Close(); + User::Leave(KErrGeneral); + } + + RImplInfoPtrArray eapImplArray; + + if (eapArray.Count() == 0) + { + // The array was empty. By default all types are enabled. + TRAP(err, REComSession::ListImplementationsL(KEapTypeInterfaceUid, eapImplArray)); + if (err != KErrNone) + { + eapArray.ResetAndDestroy(); + eapArray.Close(); + User::Leave(KErrGeneral); + } + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - ListImplementationsL - No: of available implementations=%d \n"), eapImplArray.Count() ) ); + + TEap *eap; + for (TInt i = 0; i < eapImplArray.Count(); i++) + { + if (CEapType::IsDisallowedInsidePEAP(*eapImplArray[i])) + { + continue; + } + + eap = new TEap; + if (eap == 0) + { + eapArray.ResetAndDestroy(); + eapArray.Close(); + eapImplArray.ResetAndDestroy(); + eapImplArray.Close(); + User::Leave(KErrGeneral); + } + eap->UID.Copy(eapImplArray[i]->DataType()); + eap->Enabled = ETrue; + eapArray.Append(eap); + } + } + + TInt i(0); + + for (i = 0; i < eapArray.Count(); i++) + { + if (eapArray[i]->Enabled) + { + TLex8 tmp(eapArray[i]->UID); + TUint val(0); + tmp.Val(val); + aSettings.iEncapsulatedEAPTypes.Append(val); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - Available encapsulated type for this EAP =%d \n"), val ) ); + } + } + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - eapArray.Count()=%d \n"),eapArray.Count() ) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - aSettings.iEncapsulatedEAPTypes.Count()=%d \n"),aSettings.iEncapsulatedEAPTypes.Count() ) ); + + eapArray.ResetAndDestroy(); + eapArray.Close(); + eapImplArray.ResetAndDestroy(); + eapImplArray.Close(); + + aSettings.iEncapsulatedEAPTypesPresent = ETrue; + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - End \n") ) ); } // EapTlsPeapUtils::GetConfigurationL() -// --------------------------------------------------------- void EapTlsPeapUtils::CopySettingsL( RDbNamedDatabase& aDatabase, @@ -4689,37 +4742,29 @@ const TInt aDestIndex, const eap_type_value_e aDestTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::CopySettingsL(): -Start- aSrcIndexType=%d, aSrcIndex=%d, aSrcTunnelingType=0xfe%06x%08x\n"), - aSrcIndexType, - aSrcIndex, - aSrcTunnelingType.get_vendor_id(), - aSrcTunnelingType.get_vendor_type())); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::CopySettingsL(): -Start- aDestIndexType=%d, aDestTunnelingType=0xfe%06x%08x\n"), - aDestIndexType, - aDestIndex, - aDestTunnelingType.get_vendor_id(), - aDestTunnelingType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::CopySettingsL()\n")); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aSrcTunnelingVendorType = aSrcTunnelingType.get_vendor_type(); + TUint aDestTunnelingVendorType = aDestTunnelingType.get_vendor_type(); + +#else + + TUint aSrcTunnelingVendorType = static_cast(aSrcTunnelingType); + TUint aDestTunnelingVendorType = static_cast(aDestTunnelingType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::CopySettingsL table=%s, aSrcIndexType=%d, aDestIndexType=%d, aSrcIndex=%d, aDestIndex=%d, SrcTunneling vendor type=%d, DestTunneling vendor type=%d \n"), + aTableName.Ptr(), aSrcIndexType, aDestIndexType, aSrcIndex, aDestIndex, aSrcTunnelingVendorType, aDestTunnelingVendorType)); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQL, - &aTableName, - &KServiceType, - aDestIndexType, - &KServiceIndex, - aDestIndex, - &KTunnelingTypeVendorId, - aSrcTunnelingType.get_vendor_id(), - &KTunnelingType, - aSrcTunnelingType.get_vendor_type()); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + + sqlStatement.Format(KSQL, &aTableName, + &KServiceType, aDestIndexType, &KServiceIndex, aDestIndex, &KTunnelingType, aDestTunnelingVendorType); RDbView view; @@ -4734,36 +4779,26 @@ CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - if (view.FirstL()) - { - do + if (view.FirstL()) + { + do { - view.GetL(); - + view.GetL(); if (view.ColUint(colSet->ColNo(KServiceType)) == static_cast(aDestIndexType) && view.ColUint(colSet->ColNo(KServiceIndex)) == static_cast(aDestIndex) - && view.ColUint(colSet->ColNo(KTunnelingTypeVendorId)) == aDestTunnelingType.get_vendor_id() - && view.ColUint(colSet->ColNo(KTunnelingType)) == aDestTunnelingType.get_vendor_type()) + && view.ColUint(colSet->ColNo(KTunnelingType)) == aDestTunnelingVendorType) { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::CopySettingsL - Delete old records\n") ) ); - view.DeleteL(); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::CopySettingsL - Delete old records\n") ) ); + view.DeleteL(); } - } while (view.NextL() != EFalse); - } + } while (view.NextL() != EFalse); + } view.Close(); CleanupStack::PopAndDestroy(2); // view, colset - sqlStatement.Format(KSQL, - &aTableName, - &KServiceType, - aSrcIndexType, - &KServiceIndex, - aSrcIndex, - &KTunnelingTypeVendorId, - aSrcTunnelingType.get_vendor_id(), - &KTunnelingType, - aSrcTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &aTableName, + &KServiceType, aSrcIndexType, &KServiceIndex, aSrcIndex, &KTunnelingType, aSrcTunnelingVendorType); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited , RDbView::EUpdatable)); @@ -4787,17 +4822,17 @@ // Check if it was already copied if (view.ColUint(colSet->ColNo(KServiceType)) != static_cast(aDestIndexType) || view.ColUint(colSet->ColNo(KServiceIndex)) != static_cast(aDestIndex) - || view.ColUint(colSet->ColNo(KTunnelingTypeVendorId)) != aDestTunnelingType.get_vendor_id() - || view.ColUint(colSet->ColNo(KTunnelingType)) != aDestTunnelingType.get_vendor_type()) + || view.ColUint(colSet->ColNo(KTunnelingType)) != aDestTunnelingVendorType) { bookmark = view.Bookmark(); view.InsertCopyL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aDestIndexType)); + view.SetColL(colSet->ColNo(KServiceIndex), static_cast(aDestIndex)); - view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id()); - view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type()); + + view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingVendorType); view.PutL(); @@ -4814,9 +4849,7 @@ view.Close(); - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(3); // view, colset, buf } // EapTlsPeapUtils::CopySettingsL() @@ -4831,16 +4864,20 @@ const eap_type_value_e aTunnelingType, const eap_type_value_e aEapType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::DeleteConfigurationL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type(), - aEapType.get_vendor_id(), - aEapType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::DeleteConfigurationL()\n")); +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + TUint aEapVendorType = aEapType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + TUint aEapVendorType = static_cast(aEapType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL:Start:aIndexType=%d,aIndex=%d,aTunnelingVendorType=%d,aEapVendorType=%d"), + aIndexType, aIndex, aTunnelingVendorType, aEapVendorType)); TPtrC dbname; TPtrC settings; @@ -4852,93 +4889,123 @@ TPtrC fastSpecialSettings; #endif - if (aEapType == eap_type_tls) - { - dbname.Set(KTlsDatabaseName); - settings.Set(KTlsDatabaseTableName); - usercerts.Set(KTlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName); - } - else if (aEapType == eap_type_peap) - { - dbname.Set(KPeapDatabaseName); - settings.Set(KPeapDatabaseTableName); - usercerts.Set(KPeapAllowedUserCertsDatabaseTableName); - cacerts.Set(KPeapAllowedCACertsDatabaseTableName); - ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName); - } - else if (aEapType == eap_type_ttls) + switch (aEapVendorType) { - dbname.Set(KTtlsDatabaseName); - settings.Set(KTtlsDatabaseTableName); - usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); - } + case eap_type_tls: + { + dbname.Set(KTlsDatabaseName); + settings.Set(KTlsDatabaseTableName); + usercerts.Set(KTlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTlsAllowedCipherSuitesDatabaseTableName); + } + break; + + case eap_type_peap: + { + dbname.Set(KPeapDatabaseName); + settings.Set(KPeapDatabaseTableName); + usercerts.Set(KPeapAllowedUserCertsDatabaseTableName); + cacerts.Set(KPeapAllowedCACertsDatabaseTableName); + ciphersuites.Set(KPeapAllowedCipherSuitesDatabaseTableName); + } + break; + + case eap_type_ttls: + { + dbname.Set(KTtlsDatabaseName); + settings.Set(KTtlsDatabaseTableName); + usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); + } + break; + #ifdef USE_FAST_EAP_TYPE - else if (aEapType == eap_type_fast) - { - dbname.Set(KFastDatabaseName); - settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST. - fastSpecialSettings.Set(KFastSpecialSettingsDBTableName); - - usercerts.Set(KFastAllowedUserCertsDatabaseTableName); - cacerts.Set(KFastAllowedCACertsDatabaseTableName); - ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName); - } + + case eap_type_fast: + { + dbname.Set(KFastDatabaseName); + settings.Set(KFastGeneralSettingsDBTableName); // This is general settings for FAST. + fastSpecialSettings.Set(KFastSpecialSettingsDBTableName); + + usercerts.Set(KFastAllowedUserCertsDatabaseTableName); + cacerts.Set(KFastAllowedCACertsDatabaseTableName); + ciphersuites.Set(KFastAllowedCipherSuitesDatabaseTableName); + } + break; #endif - else if (aEapType == eap_expanded_type_ttls_plain_pap.get_type()) - { - dbname.Set( KTtlsDatabaseName ); - settings.Set( KTtlsDatabaseTableName ); - } - else - { + + case eap_type_ttls_plain_pap: + { + dbname.Set( KTtlsDatabaseName ); + settings.Set( KTtlsDatabaseTableName ); + } + break; + + default: // Should never happen User::Leave(KErrArgument); } - RDbNamedDatabase aDatabase; - RFs aFileServerSession; - - TInt error(KErrNone); - TFileName aPrivateDatabasePathName; - - error = aFileServerSession.Connect(); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): - aFileServerSession.Connect(), error=%d\n"), error)); - User::LeaveIfError(error); - - EapPluginTools::CreateDatabaseLC( - aDatabase, - aFileServerSession, - error, - dbname, - aPrivateDatabasePathName); - - if(error == KErrNone) + RDbs session; + RDbNamedDatabase database; + + // Connect to the DBMS server. + User::LeaveIfError(session.Connect()); + CleanupClosePushL(session); + +#ifdef SYMBIAN_SECURE_DBMS + + // Create the secure shared database with the specified secure policy. + // Database will be created in the data caging path for DBMS (C:\private\100012a5). + + TInt err = database.Create(session, dbname, KSecureUIDFormat); + + if(err == KErrNone) { // Database was created so it was empty. No need for further actions. - aDatabase.Destroy(); - CleanupStack::PopAndDestroy(&aDatabase); - CleanupStack::PopAndDestroy(&aFileServerSession); + database.Destroy(); + CleanupStack::PopAndDestroy(); return; - } - else if (error != KErrAlreadyExists) + + } + else if (err != KErrAlreadyExists) { - User::LeaveIfError(error); + User::LeaveIfError(err); } - EAP_TRACE_DEBUG_SYMBIAN((_L("EapLeapDbUtils::DeleteConfigurationL(): - calls aDatabase.Open()\n"))); - - error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapLeapDbUtils::DeleteConfigurationL(): - Opened private DB for %S. error=%d\n"), - &dbname, - error)); - - User::LeaveIfError(error); - + // Database existed, open it. + User::LeaveIfError(database.Open(session, dbname, KSecureUIDFormat)); + CleanupClosePushL(database); + +#else + // For non-secured database. The database will be created in the old location (c:\system\data). + + RFs fsSession; + User::LeaveIfError(fsSession.Connect()); + CleanupClosePushL(fsSession); + TInt err = database.Create(fsSession, dbname); + + if(err == KErrNone) + { + // Database was created so it was empty. No need for further actions. + database.Destroy(); + CleanupStack::PopAndDestroy(2); // fsSession, database session + return; + + } + else if (err != KErrAlreadyExists) + { + User::LeaveIfError(err); + } + + CleanupStack::PopAndDestroy(); // close fsSession + + User::LeaveIfError(database.Open(session, dbname)); + CleanupClosePushL(database); + +#endif // #ifdef SYMBIAN_SECURE_DBMS HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); @@ -4946,202 +5013,160 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::DeleteConfigurationL - Deleting the tables\n"))); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); //--------------------- Deletion 1 ----------------------------// // For all EAPs delete the settings table. // For EAP-FAST, this is delting the general settings table. - sqlStatement.Format(KSQL, - &settings, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &settings, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view RDbView view; - User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); // Delete rows if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(&view); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): Deleted %s (general) settings table"), settings.Ptr())); + CleanupStack::PopAndDestroy(); // view + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: Deleted %s (general) settings table"), settings.Ptr())); ////////////////////////////////////////// // This is only for plain PAP settings. // ////////////////////////////////////////// - if ( aEapType == eap_expanded_type_ttls_plain_pap.get_type() ) - { - CleanupStack::PopAndDestroy(buf); - CleanupStack::PopAndDestroy(&aDatabase); - CleanupStack::PopAndDestroy(&aFileServerSession); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): Return PAP"))); + if ( aEapVendorType == eap_type_ttls_plain_pap ) + { + CleanupStack::PopAndDestroy(3); // buf, database, session + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: Return"))); // we return here in case of pap because there is nothing to do else. return; - } + } //--------------------- Deletion 2 ----------------------------// - // For all EAPs delete the User cert table - // KSQL2 is "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d" - - sqlStatement.Format(KSQL, - &usercerts, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + // For all EAPs delte the User cert table + +// KSQL2 is "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d" + + sqlStatement.Format(KSQL, &usercerts, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view - User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(&view); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): Deleted USER certs table"))); + CleanupStack::PopAndDestroy(); // view + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: Deleted USER certs table"))); //--------------------- Deletion 3 ----------------------------// // For all EAPs delete the CA cert table - // KSQL3 is "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d" - - sqlStatement.Format(KSQL, - &cacerts, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); +// KSQL3 is "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d" + + sqlStatement.Format(KSQL, &cacerts, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view - User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(&view); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): Deleted CA certs table"))); + CleanupStack::PopAndDestroy(); // view + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: Deleted CA certs table"))); //--------------------- Deletion 4 ----------------------------// // For all EAPs delete the Cipher suite table - // KSQL4 is "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d" - - sqlStatement.Format(KSQL, - &ciphersuites, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); +// KSQL4 is "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d" + + sqlStatement.Format(KSQL, &ciphersuites, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view - User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(&view); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): Deleted cipher suits table"))); + CleanupStack::PopAndDestroy(&view); // Close view + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: Deleted cipher suits table"))); #ifdef USE_FAST_EAP_TYPE - if(aEapType == eap_type_fast) + if(aEapVendorType == eap_type_fast) { //--------------------- Deletion 5 ----------------------------// // For EAP-FAST, delete the special settings table - sqlStatement.Format(KSQL, - &fastSpecialSettings, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQL, &fastSpecialSettings, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); // Evaluate view - User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(&view); // Close view - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): Deleted EAP-FAST Special settings table"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: Deleted EAP-FAST Special settings table"))); } // End: if(aEapVendorType == eap_type_fast) #endif // End: #ifdef USE_FAST_EAP_TYPE - - CleanupStack::PopAndDestroy(buf); - CleanupStack::PopAndDestroy(&aDatabase); - CleanupStack::PopAndDestroy(&aFileServerSession); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: End"))); + + // Close database + CleanupStack::PopAndDestroy(3); // buf, database, session + +EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: End"))); } // EapTlsPeapUtils::DeleteConfigurationL() @@ -5154,21 +5179,14 @@ RDbNamedDatabase& aDatabase, TDesC& aTableName) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::AddExtraCertColumnsL(): -Start- aTableName=\"%S\"\n"), - &aTableName)); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::AddExtraCertColumnsL()\n")); - // Check if the EXTRA cert columns are already in the table. CDbColSet* colSetCertTable = aDatabase.ColSetL(aTableName); User::LeaveIfNull(colSetCertTable); CleanupStack::PushL(colSetCertTable); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AddExtraCertColumnsL(): - Number of columns in %S table before addition=%d\n"), - &aTableName, - colSetCertTable->Count())); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AddExtraCertColumnsL - Number of columns in %S table before addition=%d\n"), + &aTableName, colSetCertTable->Count())); // Check if there is a column for Serial Number, for example. if(colSetCertTable->ColNo(KSerialNumber) == KDbNullColNo) @@ -5184,65 +5202,53 @@ //| Thumbprint | BINARY(64) | KThumbprint |// ////////////////////////////////////////////////////////////////////////////// - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AddExtraCertColumnsL(): - EXTRA cert columns missing from the table %S. Adding now.\n"), - &aTableName)); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AddExtraCertColumnsL - EXTRA cert columns missing from the table %S. Adding now.\n"), + &aTableName)); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); _LIT(KSQLAlterTableForBin, "ALTER TABLE %S ADD %S BINARY(%d)"); - sqlStatement.Format(KSQLAlterTableForBin, - &aTableName, - &KActualSubjectKeyIdentifier, - KKeyIdentifierLength); + sqlStatement.Format(KSQLAlterTableForBin, &aTableName, + &KActualSubjectKeyIdentifier, KKeyIdentifierLength); User::LeaveIfError( aDatabase.Execute(sqlStatement)); _LIT(KSQLAlterTableForVarChar, "ALTER TABLE %S ADD %S VARCHAR(%d)"); - sqlStatement.Format(KSQLAlterTableForVarChar, - &aTableName, - &KSubjectName, - KGeneralStringMaxLength); + sqlStatement.Format(KSQLAlterTableForVarChar, &aTableName, + &KSubjectName, KGeneralStringMaxLength); User::LeaveIfError( aDatabase.Execute(sqlStatement)); - sqlStatement.Format(KSQLAlterTableForVarChar, - &aTableName, - &KIssuerName, - KGeneralStringMaxLength); + sqlStatement.Format(KSQLAlterTableForVarChar, &aTableName, + &KIssuerName, KGeneralStringMaxLength); User::LeaveIfError( aDatabase.Execute(sqlStatement)); - sqlStatement.Format(KSQLAlterTableForVarChar, - &aTableName, - &KSerialNumber, - KGeneralStringMaxLength); + sqlStatement.Format(KSQLAlterTableForVarChar, &aTableName, + &KSerialNumber, KGeneralStringMaxLength); User::LeaveIfError( aDatabase.Execute(sqlStatement)); - sqlStatement.Format(KSQLAlterTableForBin, - &aTableName, - &KThumbprint, - KThumbprintMaxLength); + sqlStatement.Format(KSQLAlterTableForBin, &aTableName, + &KThumbprint, KThumbprintMaxLength); User::LeaveIfError( aDatabase.Execute(sqlStatement)); - CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy( buf ); // Delete buf or sqlStatement } - CleanupStack::PopAndDestroy(colSetCertTable); + CleanupStack::PopAndDestroy( colSetCertTable ); // Delete colSetCertTable. CDbColSet* colSetCertTableAfterAdd = aDatabase.ColSetL(aTableName); User::LeaveIfNull(colSetCertTableAfterAdd); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AddExtraCertColumnsL(): - Number of columns in %S table after addition=%d\n"), - &aTableName, - colSetCertTableAfterAdd->Count())); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AddExtraCertColumnsL - Number of columns in %S table after addition=%d\n"), + &aTableName, colSetCertTableAfterAdd->Count())); delete colSetCertTableAfterAdd; - } // EapTlsPeapUtils::AddExtraCertColumnsL() @@ -5259,19 +5265,26 @@ const TDesC& aDbColumnName, eap_variable_data_c * const aDbColumnValue) { +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + TUint aEapVendorType = aEapType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + TUint aEapVendorType = static_cast(aEapType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + + EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetEapSettingsDataL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type(), - aEapType.get_vendor_id(), - aEapType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::GetEapSettingsDataL()\n")); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetEapSettingsDataL Get Column Name:%S \n"), - &aDbColumnName)); + (_L("EapTlsPeapUtils::GetEapSettingsDataL-Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"), + aIndexType,aIndex, aTunnelingVendorType, aEapVendorType)); + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::GetEapSettingsDataL Get Column Name:%S \n"), + &aDbColumnName)); TBufC generalSettingsTableName; @@ -5280,41 +5293,45 @@ #endif // Set the database table name based on the type - if (aEapType == eap_type_tls) - { - generalSettingsTableName = KTlsDatabaseTableName; - } - else if (aEapType == eap_type_peap) + switch (aEapVendorType) { - generalSettingsTableName = KPeapDatabaseTableName; - } - else if (aEapType == eap_type_ttls - || aEapType == eap_expanded_type_ttls_plain_pap.get_type()) - { - generalSettingsTableName = KTtlsDatabaseTableName; - } + case eap_type_tls: + generalSettingsTableName = KTlsDatabaseTableName; + break; + + case eap_type_peap: + generalSettingsTableName = KPeapDatabaseTableName; + break; + + case eap_type_ttls: + case eap_type_ttls_plain_pap: + generalSettingsTableName = KTtlsDatabaseTableName; + break; + #if defined (USE_FAST_EAP_TYPE) - else if (aEapType == eap_type_fast) - { - generalSettingsTableName = KFastGeneralSettingsDBTableName; // General settings - specialSettingsTableName = KFastSpecialSettingsDBTableName; // Special settings for only FAST - } + case eap_type_fast: + generalSettingsTableName = KFastGeneralSettingsDBTableName; // General settings + specialSettingsTableName = KFastSpecialSettingsDBTableName; // Special settings for only FAST + break; #endif // #if defined (USE_FAST_EAP_TYPE) - else - { - // Unsupported EAP type - // Should never happen - - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::GetEapSettingsDataL(): Unsupported EAP type=0xfe%06x%08x"), - aEapType.get_vendor_id(), - aEapType.get_vendor_type())); - - User::Leave(KErrArgument); + + default: + { + // Unsupported EAP type + // Should never happen + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::GetEapSettingsDataL: ERROR: Unsupported EAP type=%d"), + aEapVendorType)); + + User::Leave(KErrArgument); + } } if(aDbColumnName.Size() <= 0) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::GetEapSettingsDataL(): No Column Name!\n"))); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::GetEapSettingsDataL: ERROR: No Column Name!\n"))); User::Leave(KErrArgument); } @@ -5323,7 +5340,7 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); #if defined(USE_FAST_EAP_TYPE) @@ -5342,52 +5359,26 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::GetEapSettingsDataL: This field will be read from EAP-FAST's special table"))); - sqlStatement.Format(KSQLQueryRow, - &aDbColumnName, - &specialSettingsTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &specialSettingsTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); } else { - sqlStatement.Format(KSQLQueryRow, - &aDbColumnName, - &generalSettingsTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &generalSettingsTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); } #else { - sqlStatement.Format(KSQLQueryRow, - &aDbColumnName, - &generalSettingsTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &generalSettingsTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); } #endif // End: #if defined(USE_FAST_EAP_TYPE) - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetEapSettingsDataL - SQL query formated OK"))); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::GetEapSettingsDataL - SQL query formated OK"))); RDbView view; @@ -5498,18 +5489,20 @@ } } - CleanupStack::PopAndDestroy( &view ); + CleanupStack::PopAndDestroy( &view ); // Close view. if (status != eap_status_ok) { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetEapSettingsDataL: Status=%d\n"), status)); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::GetEapSettingsDataL: Status=%d\n"), status)); } EAP_TRACE_DATA_DEBUG_SYMBIAN(("GetEapSettingsDataL:DbColumnValue:", aDbColumnValue->get_data(aDbColumnValue->get_data_length()), aDbColumnValue->get_data_length())); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetEapSettingsDataL: End \n"))); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::GetEapSettingsDataL: End \n"))); } // EapTlsPeapUtils::GetEapSettingsDataL() @@ -5527,20 +5520,25 @@ const TDesC& aDbColumnName, const eap_variable_data_c * const aDbColumnValue) { +#ifdef USE_EAP_EXPANDED_TYPES + + TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + TUint aEapVendorType = aEapType.get_vendor_type(); + +#else + + TUint aTunnelingVendorType = static_cast(aTunnelingType); + TUint aEapVendorType = static_cast(aEapType); + +#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetEapSettingsDataL(): -Start- aIndexType=%d, aIndex=%d, aTunnelingType=0xfe%06x%08x, aEapType=0xfe%06x%08x\n"), - aIndexType, - aIndex, - aTunnelingType.get_vendor_id(), - aTunnelingType.get_vendor_type(), - aEapType.get_vendor_id(), - aEapType.get_vendor_type())); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::SetEapSettingsDataL()\n")); - - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetEapSettingsDataL Set Column Name:%S \n"), - &aDbColumnName)); + (_L("EapTlsPeapUtils::SetEapSettingsDataL-Start- aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"), + aIndexType,aIndex, aTunnelingVendorType, aEapVendorType)); + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::SetEapSettingsDataL Set Column Name:%S \n"), + &aDbColumnName)); EAP_TRACE_DATA_DEBUG_SYMBIAN(("SetEapSettingsDataL:DbColumnValue:", aDbColumnValue->get_data(aDbColumnValue->get_data_length()), @@ -5553,41 +5551,45 @@ #endif // Set the database table name based on the type - if (aEapType == eap_type_tls) - { - generalSettingsTableName = KTlsDatabaseTableName; - } - else if (aEapType == eap_type_peap) - { - generalSettingsTableName = KPeapDatabaseTableName; - } - else if (aEapType == eap_type_ttls - || aEapType == eap_expanded_type_ttls_plain_pap.get_type()) - { - generalSettingsTableName = KTtlsDatabaseTableName; - } -#if defined (USE_FAST_EAP_TYPE) - else if (aEapType == eap_type_fast) + switch (aEapVendorType) { - generalSettingsTableName = KFastGeneralSettingsDBTableName; // General settings - specialSettingsTableName = KFastSpecialSettingsDBTableName; // Special settings for only FAST - } + case eap_type_tls: + generalSettingsTableName = KTlsDatabaseTableName; + break; + + case eap_type_peap: + generalSettingsTableName = KPeapDatabaseTableName; + break; + + case eap_type_ttls: + case eap_type_ttls_plain_pap: + generalSettingsTableName = KTtlsDatabaseTableName; + break; + +#if defined (USE_FAST_EAP_TYPE) + case eap_type_fast: + generalSettingsTableName = KFastGeneralSettingsDBTableName; // General settings + specialSettingsTableName = KFastSpecialSettingsDBTableName; // Special settings for only FAST + break; #endif // #if defined (USE_FAST_EAP_TYPE) - else - { - // Unsupported EAP type - // Should never happen - - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL(): Unsupported EAP-type=0xfe%06x%08x"), - aEapType.get_vendor_id(), - aEapType.get_vendor_type())); - - User::Leave(KErrArgument); + + default: + { + // Unsupported EAP type + // Should never happen + + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: Unsupported EAP type=%d"), + aEapVendorType)); + + User::Leave(KErrArgument); + } } - + if(aDbColumnName.Size() <= 0) { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL(): No Column Name!\n"))); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: No Column Name!\n"))); User::Leave(KErrArgument); } @@ -5596,7 +5598,7 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); #if defined(USE_FAST_EAP_TYPE) @@ -5615,52 +5617,26 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::SetEapSettingsDataL: This field will be read from EAP-FAST's special table"))); - sqlStatement.Format(KSQLQueryRow, - &aDbColumnName, - &specialSettingsTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &specialSettingsTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); } else { - sqlStatement.Format(KSQLQueryRow, - &aDbColumnName, - &generalSettingsTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &generalSettingsTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); } #else { - sqlStatement.Format(KSQLQueryRow, - &aDbColumnName, - &generalSettingsTableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingTypeVendorId, - aTunnelingType.get_vendor_id(), - &KTunnelingType, - aTunnelingType.get_vendor_type()); + sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &generalSettingsTableName, + &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); } #endif // End: #if defined(USE_FAST_EAP_TYPE) - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetEapSettingsDataL - SQL query formated OK"))); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::SetEapSettingsDataL - SQL query formated OK"))); RDbView view; @@ -5713,9 +5689,10 @@ #if defined (USE_FAST_EAP_TYPE) - EAP_TRACE_DEBUG_SYMBIAN((_L("WARNING: eap_am_type_tls_peap_symbian_c::authentication_finishedL(): HACK to set Unauth Prov mode set to default (NO)!"))); - - view.SetColL(KDefaultColumnInView_One, EEapDbFalse); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("eap_am_type_tls_peap_symbian_c::authentication_finishedL WARNING, HACK to set Unauth Prov mode set to default (NO)!"))); + + view.SetColL(KDefaultColumnInView_One, EFASTUnauthProvModeAllowedNo); #endif // End: #if defined (USE_FAST_EAP_TYPE) } @@ -5725,7 +5702,8 @@ { // Do some lexical analysis to get TInt64 value here and set it in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL(): EDbColInt64 not supported here yet!\n"))); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: EDbColInt64 not supported here yet!\n"))); User::Leave(KErrNotSupported); } @@ -5734,14 +5712,16 @@ case EDbColLongBinary: { // This needs special handling. (readstream). Not needed in this DB yet. - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL(): EDbColLongBinary not supported in this DB!\n"))); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: EDbColLongBinary not supported in this DB!\n"))); User::Leave(KErrNotSupported); } break; default: - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL: Unsupported DB field! \n"))); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: Unsupported DB field! \n"))); User::Leave(KErrNotSupported); break; @@ -5752,7 +5732,8 @@ } // End: if(view.ColCount() == KDefaultColumnInView_One) else { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL(): Too many columns in DB view, count=%d \n"), + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: Too many columns in DB view, count=%d \n"), view.ColCount())); User::Leave(KErrNotFound); @@ -5762,105 +5743,94 @@ // Now it should go to the DB. view.PutL(); - CleanupStack::PopAndDestroy( &view ); + CleanupStack::PopAndDestroy( &view ); // Close view. EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::SetEapSettingsDataL: End \n"))); } -// --------------------------------------------------------- - /* * Alter table for added column, if doesn't exist * */ void EapTlsPeapUtils::AlterTableL( - RDbNamedDatabase& aDb, - TAlterTableCmd aCmd, - const TDesC& aTableName, - const TDesC& aColumnName, - const TDesC& aColumnDef ) -{ - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::AlterTableL(): -Start- aTableName=\"%S\", aColumnName=\"%S\", aColumnDef=\"%S\"\n"), - &aTableName, - &aColumnName, - &aColumnDef)); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::AlterTableL()\n")); - - CDbColSet* colSet = aDb.ColSetL( aTableName ); - User::LeaveIfNull( colSet ); - CleanupStack::PushL( colSet ); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AlterTableL() Number of columns in \"%S\" table is %d.\n" ), - &aTableName, - colSet->Count())); - - if ( aCmd == EAddColumn ) - { - // Check if there is a target column - if( colSet->ColNo( aColumnName ) != KDbNullColNo ) + RDbNamedDatabase& aDb, + TAlterTableCmd aCmd, + const TDesC& aTableName, + const TDesC& aColumnName, + const TDesC& aColumnDef ) + { + + CDbColSet* colSet = aDb.ColSetL( aTableName ); + User::LeaveIfNull( colSet ); + CleanupStack::PushL( colSet ); + + EAP_TRACE_DEBUG_SYMBIAN( ( _L( + "EapTlsPeapUtils::AlterTableL() \ + Number of columns in %S table is %d.\n" ), + &aTableName, colSet->Count() ) ); + + if ( aCmd == EAddColumn ) { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AlterTableL() Column \"%S\" exists already in table \"%S\".\n" ), - &aColumnName, - &aTableName)); - CleanupStack::PopAndDestroy( colSet ); - return; + // Check if there is a target column + if( colSet->ColNo( aColumnName ) != KDbNullColNo ) + { + EAP_TRACE_DEBUG_SYMBIAN( ( _L( + "EapTlsPeapUtils::AlterTableL() \ + Column %S exists already in table %S.\n" ), + &aColumnName, &aTableName ) ); + CleanupStack::PopAndDestroy( colSet ); + return; + } } - } - else - { - // Check if there is a target column - if( colSet->ColNo( aColumnName ) == KDbNullColNo ) + else { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AlterTableL() Column \"%S\" does not exists already in table \"%S\".\n" ), - &aColumnName, - &aTableName)); - CleanupStack::PopAndDestroy( colSet ); - return; + // Check if there is a target column + if( colSet->ColNo( aColumnName ) == KDbNullColNo ) + { + EAP_TRACE_DEBUG_SYMBIAN( ( _L( + "EapTlsPeapUtils::AlterTableL() \ + Column %S does not exists already in table %S.\n" ), + &aColumnName, &aTableName ) ); + CleanupStack::PopAndDestroy( colSet ); + return; + } } - } - - HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength ); - TPtr sqlStatement = buf->Des(); - - _LIT( KSqlAddCol, "ALTER TABLE %S ADD %S %S" ); - _LIT( KSqlRemoveCol, "ALTER TABLE %S DROP %S" ); - - if ( aCmd == EAddColumn ) - { - sqlStatement.Format(KSqlAddCol, - &aTableName, - &aColumnName, - &aColumnDef); - } - else - { - sqlStatement.Format(KSqlRemoveCol, - &aTableName, - &aColumnName); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AlterTableL(): sqlStatement=%S\n"), - &sqlStatement)); - - User::LeaveIfError( aDb.Execute( sqlStatement ) ); - CleanupStack::PopAndDestroy( buf ); - CleanupStack::PopAndDestroy( colSet ); - - CDbColSet* alteredColSet = aDb.ColSetL( aTableName ); - User::LeaveIfNull( alteredColSet ); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AlterTableL() Number of columns in %S table after adding is %d.\n" ), - &aTableName, - alteredColSet->Count())); - - delete alteredColSet; - -} // EapTlsPeapUtils::AlterTableL() - -// --------------------------------------------------------- + + HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength ); + TPtr sqlStatement = buf->Des(); + + _LIT( KSqlAddCol, "ALTER TABLE %S ADD %S %S" ); + _LIT( KSqlRemoveCol, "ALTER TABLE %S DROP %S" ); + + if ( aCmd == EAddColumn ) + { + sqlStatement.Format( KSqlAddCol, &aTableName, + &aColumnName, &aColumnDef ); + } + else + { + sqlStatement.Format( KSqlRemoveCol, &aTableName, + &aColumnName ); + } + + EAP_TRACE_DEBUG_SYMBIAN( ( _L( + "EapTlsPeapUtils::AlterTableL(): sqlStatement=%S\n"), + &sqlStatement ) ); + + User::LeaveIfError( aDb.Execute( sqlStatement ) ); + CleanupStack::PopAndDestroy( buf ); + CleanupStack::PopAndDestroy( colSet ); + + CDbColSet* alteredColSet = aDb.ColSetL( aTableName ); + User::LeaveIfNull( alteredColSet ); + EAP_TRACE_DEBUG_SYMBIAN( ( _L( + "EapTlsPeapUtils::AlterTableL() \ + Number of columns in %S table after adding is %d.\n" ), + &aTableName, alteredColSet->Count() ) ); + delete alteredColSet; + + } // EapTlsPeapUtils::AlterTableL() // End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/ttls_pap/symbian/inc/eap_ttls_pap_active.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/ttls_pap/symbian/inc/eap_ttls_pap_active.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,307 @@ +/* +* Copyright (c) 2008 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: Provide synch/asynch services used by the caller to show +* EAP-TTLS-PAP related notes. +* +*/ + +/* +* %version: 10 % +*/ + +#ifndef EAPTTLSPAPACTIVE_H +#define EAPTTLSPAPACTIVE_H + + +// INCLUDES +#include +#include +#include +#include +#include "EapTtlsPapDbInfoStruct.h" +#include "eap_status.h" + +// FORWARD DECLARATIONS +class eap_am_type_tls_peap_symbian_c; +class eap_variable_data_c; +class eap_am_tools_symbian_c; + +// CLASS DECLARATION +/** +* CEapTtlsPapActive class. +* +* Class provides synch/asynch services used by the caller. +* These services includes: +* - query for TTLS-PAP user name and password. +*/ +NONSHARABLE_CLASS( CEapTtlsPapActive ) + : public CActive + { + + public: + /** + * State defines the type of service called. + */ + enum TEapTtlsPapActiveState + { + EEapTtlsPapActiveQueryUserNameAndPassword, /* 0 */ + EEapTtlsPapActiveShowAuthQueryDialog, /* 1 */ + EEapTtlsPapActiveShowPapChallengeMsgDialog, /* 2 */ + EEapTtlsPapActiveShowPapChallengeReplyQueryDialog, /* 3 */ + // ... + EEapTtlsPapActiveStatesNumber /* 4 */ // keep always as last element + }; + + public: // Constructors and destructor + + /** + * Two-phased constructor. + * + * @param aCaller Pointer AO owner. + */ + static CEapTtlsPapActive* NewL( + eap_am_type_tls_peap_symbian_c* aCaller, + eap_am_tools_symbian_c* aAmTools ); + + /** + * Destructor. + */ + ~CEapTtlsPapActive(); + + + public: // new + + /** + * Start active object. + * + * @param aState State defines the type of service requested, see TEapTtlsPapActiveState. + * @return TBool ETrue - successful start, EFalse - starting failed. + */ + TBool Start( TEapTtlsPapActiveState aState ); + + /** + * Allocate server challenge. + * + * Note, utf8->unicode conversion is needed. + * + * @param aSrvChallenge Reference to server challenge. + */ + eap_status_e UpdateSrvChallenge( const eap_variable_data_c& aSrvChallengeUtf8 ); + + protected: // from CActive + + /** + * DoCancel from CActive + */ + virtual void DoCancel(); + + /** + * RunL from CActive + */ + virtual void RunL(); + + private: // new, for AO + + /** + * Complete query-user-name-and-password request. + */ + void CompleteQueryUserNameAndPassword(); + + /** + * Complete query-user-name-and-password request + * with null server challenge. + */ + void CompleteWithSrvChallengeNull(); + + /** + * Complete query-user-name-and-password request + * with not null server challenge. + */ + void CompleteWithSrvChallengeNotNull(); + + /** + * Display authentication query dialog. + * + * Note! The call is asynchronous, i.e., return is done immediately. + */ + void StartAuthenticationQueryDialog(); + + /** + * Complete start-authentication-query-dialog request. + * + * If user accepts query, the caller is notified with EEapTtlsPapNotifierUserActionOk + * value. If user cancells the query, EEapTtlsPapNotifierUserActionCancel + * is given to the caller. + */ + void CompleteAuthenticationQueryDialog(); + + /** + * Send server challenge data size to UI side. + * + * Note! The call is asynchronous, i.e., return is done immediately. + */ + void StartSrvChallengeSize(); + + /** + * Complete start-srv-challenge-size request. + */ + void CompleteSrvChallengeSize(); + + /** + * Display PAP challenge message dialog. + * + * Note! The call is asynchronous, i.e., return is done immediately. + */ + void StartPapChallengeMsgDialog(); + + /** + * Complete start-pap-challenge-msg-dialog request. + */ + void CompletePapChallengeMsgDialog(); + + /** + * Display PAP challenge user reply query dialog. + * + * Note! The call is asynchronous, i.e., return is done immediately. + */ + void StartPapChallengeReplyQueryDialog(); + + /** + * Complete start-pap-challenge-user-reply-query-dialog request. + */ + void CompletePapChallengeReplyQueryDialog(); + + private: // new, other + + /** + * Take current time. + * + * @return Current time, number of microseconds since midnight, + * January 1st, 0 AD nominal Gregorian. + */ + TInt64 GetCurrentTime(); + + /** + * Cleans allocated memories and restores the initial object state. + */ + void Clean(); + + private: // private constructors + + /** + * C++ default constructor. + * + * @param aCaller Pointer to AO owner. + */ + CEapTtlsPapActive( + eap_am_type_tls_peap_symbian_c* aCaller, + eap_am_tools_symbian_c* aAmTools ); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + private: // data + + /** + * Object of this class implements functionality + * of platform adaptation of Symbian. + * + * Not owned. + */ + eap_am_tools_symbian_c* iAmTools; + + /** + * User / owner of this AO. + * + * Not owned. + */ + eap_am_type_tls_peap_symbian_c* iCaller ; + + /** + * State defines the type of the requested service. + */ + TEapTtlsPapActiveState iActiveState; + + /** + * Notifier. It acts as a service provider. + */ + RNotifier iNotifier; + + /** + * Data sent from AO to notifier plugin. + * + * If user name exists in database, it is sent to notifier. + * Also could be used later, if server challenge is sent to UI + * for displaying. + */ + TPapUiNotifierInfo* iNotifierDataToUser; + + /** + * Packaged data sent from AO to notifier plugin. + */ + TPckg* iNotifierDataPckgToUser; + + /** + * Data from notifier plugin to AO. + * Structure includes UI dialog id, user action value, + * notifier buffer. + */ + TPapUiNotifierInfo* iNotifierDataFromUser; + + /** + * Packaged data from notifier plugin to AO. + */ + TPckg* iNotifierDataPckgFromUser; + + /** + * Stores user action. Possible values are + * EPapNotifierUserActionOk and EPapNotifierUserActionCancel. + */ + EPapNotifierUserAction iUserAction; + + /** + * Server challenge in unicode format. + */ + HBufC16* iSrvChallengeUnicode; + + /** + * A pointer to the request status object. + */ + TRequestStatus* iRequestStatus; + + /** + * Structure contains database data for TTLS-PAP. + */ + TTtlsPapDbInfo iTtlsPapDbInfo; + + /** + * Flag is needed to read database only once. + * ETrue - initialized, EFalse - not initialized. + */ + TBool iIsTtlsPapDbInfoInitialized; + + /* + * Boolean flag to make sure that if objects are deleted in cancel, + * we don't use them anymore. + */ + TBool iCancelCalled; + + }; + + +#endif // EAPTTLSPAPACTIVE_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/type/ttls_pap/symbian/src/eap_ttls_pap_active.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/ttls_pap/symbian/src/eap_ttls_pap_active.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,773 @@ +/* +* Copyright (c) 2008 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: Provide synch/asynch services used by the caller to show +* EAP-TTLS-PAP related notes. +* +*/ + +/* +* %version: 13.1.2 % +*/ + +// INCLUDE FILES +#include "eap_tools.h" +#include "eap_ttls_pap_active.h" +#include "eap_am_type_tls_peap_symbian.h" +#include "eap_am_trace_symbian.h" +#include "eap_variable_data.h" + +// ================= public: Constructors and destructor ======================= + +// --------------------------------------------------------- +// CEapTtlsPapActive::NewL() +// --------------------------------------------------------- +// +CEapTtlsPapActive* CEapTtlsPapActive::NewL( + eap_am_type_tls_peap_symbian_c* aCaller, + eap_am_tools_symbian_c* aAmTools ) + { + DEBUG( "CEapTtlsPapActive::NewL()" ); + CEapTtlsPapActive* self = new(ELeave) CEapTtlsPapActive( + aCaller, aAmTools ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + return self; + } + +// --------------------------------------------------------- +// CEapTtlsPapActive::~CEapTtlsPapActive() +// --------------------------------------------------------- +// +CEapTtlsPapActive::~CEapTtlsPapActive() + { + DEBUG( "CEapTtlsPapActive::~CEapTtlsPapActive()" ); + if ( !iCancelCalled ) + { + Clean(); + } + } + +// ================= public: new ======================= + +// --------------------------------------------------------- +// CEapTtlsPapActive::Start() +// --------------------------------------------------------- +// +TBool CEapTtlsPapActive::Start( TEapTtlsPapActiveState aState ) + { + DEBUG1( "CEapTtlsPapActive::Start() aState=%d.", aState ); + TBool status = ETrue; + + if( IsActive() ) + { + DEBUG2( "CEapTtlsPapActive::Start() ERROR: AO is active, iActiveState=%d, aState=%d.", + iActiveState, aState ); + return EFalse; + } + if ( iCancelCalled ) + { + DEBUG( "CEapTtlsPapActive::Start() cancel was called." ); + return EFalse; + } + iActiveState = aState; + switch ( iActiveState ) + { + case EEapTtlsPapActiveQueryUserNameAndPassword: + { + // nothing to do here, we should return asap; + // the job is done in RunL() method; + // therefore we complete here + SetActive(); + iRequestStatus = &iStatus; + User::RequestComplete( iRequestStatus, KErrNone ); + break; + } + case EEapTtlsPapActiveShowAuthQueryDialog: // asynch. call + { + StartAuthenticationQueryDialog(); + SetActive(); + break; + } + case EEapTtlsPapActiveShowPapChallengeMsgDialog: + { + StartPapChallengeMsgDialog(); + SetActive(); + break; + } + case EEapTtlsPapActiveShowPapChallengeReplyQueryDialog: + { + StartPapChallengeReplyQueryDialog(); + SetActive(); + break; + } + default: + { + DEBUG1( "CEapTtlsPapActive::Start() ERROR: State is not supported, iActiveState = %d.", + iActiveState ); + status = EFalse; + break; + } + } + return status; + } // EapTtlsPapActive::Start() + + +// --------------------------------------------------------- +// CEapTtlsPapActive::UpdateSrvChallenge() +// --------------------------------------------------------- +// +eap_status_e CEapTtlsPapActive::UpdateSrvChallenge( + const eap_variable_data_c& aSrvChallengeUtf8 ) + { + DEBUG( "CEapTtlsPapActive::UpdateSrvChallenge()" ); + + eap_status_e status = eap_status_ok; + + if ( iSrvChallengeUnicode != NULL ) + { + // delete + delete iSrvChallengeUnicode ; + iSrvChallengeUnicode = NULL; + } + // convert utf8->unicode, + // aSrvChallengeUtf8 is UTF8 string, unicode max length is + // then the length of UTF8 string. + // NOTE, HBufC16 length means count of 16-bit objects. + TRAPD( err, iSrvChallengeUnicode = HBufC16::NewL( aSrvChallengeUtf8.get_data_length() ); ); + if ( err != KErrNone ) + { + status = iCaller->ConvertAmErrorToEapolError( err ); + return status; + } + TPtr16 srvChallengeUnicodePtr = iSrvChallengeUnicode->Des(); + + const TPtrC8 ptrUtf8( + aSrvChallengeUtf8.get_data( aSrvChallengeUtf8.get_data_length() ), + aSrvChallengeUtf8.get_data_length() ); // Length in bytes + + CnvUtfConverter::ConvertToUnicodeFromUtf8( + srvChallengeUnicodePtr, ptrUtf8 ); + // print data + EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, ( + EAPL( "iSrvChallengeUnicode" ), + iSrvChallengeUnicode->Ptr(), + iSrvChallengeUnicode->Size() ) ); + + return status; + } + + +// ================= protected: from CActive ======================= + +// --------------------------------------------------------- +// CEapTtlsPapActive::DoCancel() +// --------------------------------------------------------- +// +void CEapTtlsPapActive::DoCancel() + { + DEBUG( "CEapTtlsPapActive::DoCancel()" ); + DEBUG( "CEapTtlsPapActive::DoCancel() iNotifier.CancelNotifier() called." ); + iNotifier.CancelNotifier( KPapNotifierUid ); + } + +// --------------------------------------------------------- +// CEapTtlsPapActive::RunL() +// --------------------------------------------------------- +// +void CEapTtlsPapActive::RunL() + { + DEBUG1( "CEapTtlsPapActive::RunL() iStatus=%d", iStatus.Int() ); + + switch ( iActiveState ) + { + case EEapTtlsPapActiveQueryUserNameAndPassword: + { + CompleteQueryUserNameAndPassword(); + break; + } + case EEapTtlsPapActiveShowAuthQueryDialog: + { + CompleteAuthenticationQueryDialog(); + break; + } + case EEapTtlsPapActiveShowPapChallengeMsgDialog: + { + CompletePapChallengeMsgDialog(); + break; + } + case EEapTtlsPapActiveShowPapChallengeReplyQueryDialog: + { + CompletePapChallengeReplyQueryDialog(); + break; + } + default: + { + DEBUG1( "CEapTtlsPapActive::RunL() ERROR: State is not supported, iActiveState = %d.", + iActiveState); + break; + } + } + } + +// ================= private: new, for AO ======================= + +// --------------------------------------------------------- +// CEapTtlsPapActive::CompleteQueryUserNameAndPassword() +// --------------------------------------------------------- +// +void CEapTtlsPapActive::CompleteQueryUserNameAndPassword() + { + DEBUG( "CEapTtlsPapActive::CompleteQueryUserNameAndPassword()" ); + + if ( iSrvChallengeUnicode == NULL ) + { + CompleteWithSrvChallengeNull(); + } + else + { + CompleteWithSrvChallengeNotNull(); + } + } // CEapTtlsPapActive::CompleteQueryUserNameAndPassword() + + +// --------------------------------------------------------- +// CEapTtlsPapActive::CompleteWithSrvChallengeNull() +// --------------------------------------------------------- +// +void CEapTtlsPapActive::CompleteWithSrvChallengeNull() + { + DEBUG( "CEapTtlsPapActive::CompleteWithSrvChallengeNull()" ); + + if ( !iCaller ) + { + DEBUG( "CEapTtlsPapActive::CompleteWithSrvChallengeNull() ERROR: iCaller==NULL." ); + return; + } + + if ( !iIsTtlsPapDbInfoInitialized ) + { + // Read prompt, user name, password, and time stamps from database. + TRAPD( err, iCaller->ReadTtlsPapDbL( iTtlsPapDbInfo ) ); + if ( err != KErrNone ) + { + DEBUG1( "CEapTtlsPapActive::CompleteWithSrvChallengeNull() \ + ERROR: Leave, err==%d.", err ); + iCaller->CompleteQueryTtlsPapUserNameAndPassword( + iCaller->ConvertAmErrorToEapolError( err ), + KNullDesC8(), KNullDesC8() ); + return; + } + iIsTtlsPapDbInfoInitialized = ETrue; + } + + if ( iTtlsPapDbInfo.iUsrPwdInfo.iPasswordPromptEnabled ) + { + // set password to null value + TRAPD(err, iCaller->SetTtlsPapColumnToNullL( cf_str_EAP_TLS_PEAP_ttls_pap_password_literal )); + + if (err != KErrNone) + { + DEBUG1( "CEapTtlsPapActive::CompleteWithSrvChallengeNull() \ + ERROR: Leave, err==%d.", err ); + iCaller->CompleteQueryTtlsPapUserNameAndPassword( + iCaller->ConvertAmErrorToEapolError( err ), + KNullDesC8(), KNullDesC8() ); + return; + } + + // display query dialog + Start( EEapTtlsPapActiveShowAuthQueryDialog ); + } + else // prompt not active + { + if ( iTtlsPapDbInfo.iUsrPwdInfo.iUserName.Length() != 0 && + iTtlsPapDbInfo.iUsrPwdInfo.iPassword.Length() != 0 ) + { + // complete query with user name and password from database; + // first, convert from unicode to utf8. + TBuf8 userNameUtf8; + CnvUtfConverter::ConvertFromUnicodeToUtf8( userNameUtf8, + iTtlsPapDbInfo.iUsrPwdInfo.iUserName ); + EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, ( + EAPL( "userNameUtf8" ), + userNameUtf8.Ptr(), + userNameUtf8.Size() ) ); + + TBuf8 passwordUtf8; + CnvUtfConverter::ConvertFromUnicodeToUtf8( passwordUtf8, + iTtlsPapDbInfo.iUsrPwdInfo.iPassword ); + EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, ( + EAPL( "passwordUtf8" ), + passwordUtf8.Ptr(), + passwordUtf8.Size() ) ); + + iCaller->CompleteQueryTtlsPapUserNameAndPassword( + eap_status_ok, userNameUtf8, passwordUtf8 ); + } + else // user name or password is empty + { + // display query dialog + Start( EEapTtlsPapActiveShowAuthQueryDialog ); + } + } // if ( iPrompt ) + } // CEapTtlsPapActive::CompleteWithSrvChallengeNull() + +// --------------------------------------------------------- +// CEapTtlsPapActive::CompleteWithSrvChallengeNotNull() +// --------------------------------------------------------- +// +void CEapTtlsPapActive::CompleteWithSrvChallengeNotNull() + { + DEBUG( "CEapTtlsPapActive::CompleteWithSrvChallengeNotNull()" ); + if ( !iCaller ) + { + DEBUG( "CEapTtlsPapActive::CompleteWithSrvChallengeNotNull() ERROR: iCaller==NULL." ); + return; + } + + if ( !iIsTtlsPapDbInfoInitialized ) + { + // Read prompt, user name, password, and time stamps from database. + TRAPD( err, iCaller->ReadTtlsPapDbL( iTtlsPapDbInfo ) ); + if ( err != KErrNone ) + { + DEBUG1( "CEapTtlsPapActive::CompleteWithSrvChallengeNotNull() \ + ERROR: Leave, err==%d.", err ); + iCaller->CompleteQueryTtlsPapUserNameAndPassword( + iCaller->ConvertAmErrorToEapolError( err ), + KNullDesC8(), KNullDesC8() ); + return; + } + iIsTtlsPapDbInfoInitialized = ETrue; + } + + // display PAP challenge message dialog + Start( EEapTtlsPapActiveShowPapChallengeMsgDialog ); + } // CEapTtlsPapActive::CompleteWithSrvChallengeNotNull() + +// --------------------------------------------------------- +// CEapTtlsPapActive::StartAuthenticationQueryDialog() +// --------------------------------------------------------- +// +void CEapTtlsPapActive::StartAuthenticationQueryDialog() + { + DEBUG( "CEapTtlsPapActive::StartAuthenticationQueryDialog()" ); + + if ( iNotifierDataPckgToUser == NULL || + iNotifierDataPckgFromUser == NULL || + iNotifierDataToUser == NULL || + iNotifierDataFromUser == NULL ) + { + DEBUG( "CEapTtlsPapActive::StartAuthenticationQueryDialog() \ + ERROR: data pointer is NULL." ); + return; + } + + // set user name, copy data + ( *iNotifierDataPckgToUser )().iUsrPwdInfo.iUserName = iTtlsPapDbInfo.iUsrPwdInfo.iUserName; + EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, ( + EAPL( "iUserName" ), + iTtlsPapDbInfo.iUsrPwdInfo.iUserName.Ptr(), + iTtlsPapDbInfo.iUsrPwdInfo.iUserName.Size() ) ); + + iNotifierDataToUser->iState = TPapUiNotifierInfo:: + EPapUiNotifierAuthQueryDialog; + iNotifier.StartNotifierAndGetResponse( + iStatus, + KPapNotifierUid, + *iNotifierDataPckgToUser, + *iNotifierDataPckgFromUser ); + } // CEapTtlsPapActive::StartAuthenticationQueryDialog() + +// --------------------------------------------------------- +// CEapTtlsPapActive::CompleteAuthenticationQueryDialog() +// --------------------------------------------------------- +// +// called in RunL() +void CEapTtlsPapActive::CompleteAuthenticationQueryDialog() + { + DEBUG( "CEapTtlsPapActive::CompleteAuthenticationQueryDialog()" ); + + if ( iStatus == KErrNone ) + { + iUserAction = EPapNotifierUserActionOk; + } + else if ( iStatus == KErrCancel ) + { + iUserAction = EPapNotifierUserActionCancel; + } + else + { + DEBUG1( "CEapTtlsPapActive::CompleteAuthenticationQueryDialog() \ + ERROR: iStatus=%d", iStatus.Int() ); + return; + } + DEBUG1( "CEapTtlsPapActive::CompleteAuthenticationQueryDialog() \ + iUserAction=%d", iStatus.Int() ); + + if ( !iCaller ) + { + DEBUG( "CEapTtlsPapActive::CompleteAuthenticationQueryDialog() \ + ERROR: iCaller==NULL." ); + return; + } + if ( !iNotifierDataFromUser ) + { + DEBUG( "CEapTtlsPapActive::CompleteAuthenticationQueryDialog() \ + ERROR: iNotifierDataFromUser==NULL." ); + return; + } + if ( iUserAction == EPapNotifierUserActionOk ) + { + // just update last cache time in db + iTtlsPapDbInfo.iLastFullAuthTime = GetCurrentTime(); + + if ( !iTtlsPapDbInfo.iUsrPwdInfo.iPasswordPromptEnabled ) + { + // prompt is not active; + // update user name, and password + iTtlsPapDbInfo.iUsrPwdInfo.iUserName = iNotifierDataFromUser-> + iUsrPwdInfo.iUserName; + iTtlsPapDbInfo.iUsrPwdInfo.iPassword = iNotifierDataFromUser-> + iUsrPwdInfo.iPassword; + } + + // update database + TRAPD( err, iCaller->WriteTtlsPapDbL( iTtlsPapDbInfo ) ); + + if (err != KErrNone) + { + DEBUG1( "CEapTtlsPapActive::CompleteAuthenticationQueryDialog() \ + ERROR: Leave, err==%d.", err ); + iCaller->CompleteQueryTtlsPapUserNameAndPassword( + iCaller->ConvertAmErrorToEapolError( err ), + KNullDesC8(), KNullDesC8() ); + return; + } + + // convert from unicode to utf8 + TBuf8 userNameUtf8; + CnvUtfConverter::ConvertFromUnicodeToUtf8( userNameUtf8, + iNotifierDataFromUser->iUsrPwdInfo.iUserName ); + EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, ( + EAPL( "userNameUtf8" ), + userNameUtf8.Ptr(), + userNameUtf8.Size() ) ); + + TBuf8 passwordUtf8; + CnvUtfConverter::ConvertFromUnicodeToUtf8( passwordUtf8, + iNotifierDataFromUser->iUsrPwdInfo.iPassword ); + EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, ( + EAPL( "passwordUtf8" ), + passwordUtf8.Ptr(), + passwordUtf8.Size() ) ); + + // complete query with user name and password from UI + iCaller->CompleteQueryTtlsPapUserNameAndPassword( + eap_status_ok, userNameUtf8, passwordUtf8 ); + } + else //if (userAction == EPapNotifierUserActionCancel) + { + // user name and password are not used + iCaller->CompleteQueryTtlsPapUserNameAndPassword( + eap_status_user_cancel_authentication, + KNullDesC8(), + KNullDesC8() ); + } + } // CEapTtlsPapActive::CompleteAuthenticationQueryDialog() + + +// --------------------------------------------------------- +// CEapTtlsPapActive::StartPapChallengeMsgDialog() +// --------------------------------------------------------- +// +void CEapTtlsPapActive::StartPapChallengeMsgDialog() + { + DEBUG( "CEapTtlsPapActive::StartPapChallengeMsgDialog()" ); + + if ( iNotifierDataPckgToUser == NULL || + iNotifierDataPckgFromUser == NULL || + iNotifierDataToUser == NULL || + iNotifierDataFromUser == NULL ) + { + DEBUG( "CEapTtlsPapActive::StartPapChallengeMsgDialog() \ + ERROR: data pointer is NULL." ); + return; + } + + TPtrC16 ptr = iSrvChallengeUnicode->Des(); + iNotifierDataToUser->iSrvChallengeSize = ptr.Size(); // number of bytes + + iNotifierDataToUser->iState = TPapUiNotifierInfo:: + EPapUiNotifierPapChallengeMsgDialog; + + // set srv challenge + iNotifierDataToUser->iPapChallenge.Copy( *iSrvChallengeUnicode); + iNotifier.StartNotifierAndGetResponse( + iStatus, + KPapNotifierUid, + *iNotifierDataPckgToUser, + *iNotifierDataPckgFromUser ); + + } // CEapTtlsPapActive::StartPapChallengeMsgDialog() + + +// --------------------------------------------------------- +// CEapTtlsPapActive::CompletePapChallengeMsgDialog() +// --------------------------------------------------------- +// +void CEapTtlsPapActive::CompletePapChallengeMsgDialog() + { + DEBUG( "CEapTtlsPapActive::CompletePapChallengeMsgDialog()" ); + + // display query dialog + Start( EEapTtlsPapActiveShowPapChallengeReplyQueryDialog ); + + } // CEapTtlsPapActive::CompletePapChallengeMsgDialog() + + +// --------------------------------------------------------- +// CEapTtlsPapActive::StartPapChallengeReplyQueryDialog() +// --------------------------------------------------------- +// +void CEapTtlsPapActive::StartPapChallengeReplyQueryDialog() + { + DEBUG( "CEapTtlsPapActive::StartPapChallengeReplyQueryDialog()" ); + + if ( iNotifierDataPckgToUser == NULL || + iNotifierDataPckgFromUser == NULL || + iNotifierDataToUser == NULL || + iNotifierDataFromUser == NULL ) + { + DEBUG( "CEapTtlsPapActive::StartPapChallengeMsgDialog() \ + ERROR: data pointer is NULL." ); + return; + } + + iNotifierDataToUser->iState = TPapUiNotifierInfo:: + EPapUiNotifierPapChallengeReplyQueryDialog; + + iNotifier.StartNotifierAndGetResponse( + iStatus, + KPapNotifierUid, + *iNotifierDataPckgToUser, + *iNotifierDataPckgFromUser ); + + } // CEapTtlsPapActive::StartPapChallengeReplyQueryDialog() + + +// --------------------------------------------------------- +// CEapTtlsPapActive::CompletePapChallengeMsgDialog() +// --------------------------------------------------------- +// +void CEapTtlsPapActive::CompletePapChallengeReplyQueryDialog() + { + DEBUG( "CEapTtlsPapActive::CompletePapChallengeReplyQueryDialog()" ); + + if ( iStatus == KErrNone ) + { + iUserAction = EPapNotifierUserActionOk; + } + else if ( iStatus == KErrCancel ) + { + iUserAction = EPapNotifierUserActionCancel; + } + else + { + DEBUG1( "CEapTtlsPapActive::CompletePapChallengeReplyQueryDialog() \ + ERROR: iStatus=%d", iStatus.Int() ); + return; + } + DEBUG1( "CEapTtlsPapActive::CompletePapChallengeReplyQueryDialog() \ + iUserAction=%d", iStatus.Int() ); + + if ( !iCaller ) + { + DEBUG( "CEapTtlsPapActive::CompletePapChallengeReplyQueryDialog() \ + ERROR: iCaller==NULL." ); + return; + } + if ( !iNotifierDataFromUser ) + { + DEBUG( "CEapTtlsPapActive::CompletePapChallengeReplyQueryDialog() \ + ERROR: iNotifierDataFromUser==NULL." ); + return; + } + if ( iUserAction == EPapNotifierUserActionOk ) + { + // update password with user challenge reply + iTtlsPapDbInfo.iUsrPwdInfo.iPassword = iNotifierDataFromUser-> + iUsrPwdInfo.iPassword; + + // convert from unicode to utf8 + TBuf8 userNameUtf8; + CnvUtfConverter::ConvertFromUnicodeToUtf8( userNameUtf8, + iTtlsPapDbInfo.iUsrPwdInfo.iUserName ); + EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, ( + EAPL( "userNameUtf8" ), + userNameUtf8.Ptr(), + userNameUtf8.Size() ) ); + + TBuf8 passwordUtf8; + CnvUtfConverter::ConvertFromUnicodeToUtf8( passwordUtf8, + iNotifierDataFromUser->iUsrPwdInfo.iPassword ); + EAP_TRACE_DATA_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, ( + EAPL( "passwordUtf8" ), + passwordUtf8.Ptr(), + passwordUtf8.Size() ) ); + + // complete query with user name and password from UI + iCaller->CompleteQueryTtlsPapUserNameAndPassword( + eap_status_ok, userNameUtf8, passwordUtf8 ); + } + else //if (userAction == EPapNotifierUserActionCancel) + { + // user name and password are not used + iCaller->CompleteQueryTtlsPapUserNameAndPassword( + eap_status_user_cancel_authentication, + KNullDesC8(), + KNullDesC8() ); + } + } // CEapTtlsPapActive::CompletePapChallengeReplyQueryDialog() + + +// ================= private: new, other ======================= + + +// --------------------------------------------------------- +// CEapTtlsPapActive::GetCurrentTime() +// --------------------------------------------------------- +// +TInt64 CEapTtlsPapActive::GetCurrentTime() + { + DEBUG( "CEapTtlsPapActive::GetCurrentTime()" ); + + TTime currentTime; + currentTime.UniversalTime(); + +#if defined(_DEBUG) || defined(DEBUG) + + TDateTime currentDateTime = currentTime.DateTime(); + + EAP_TRACE_DEBUG( iAmTools, TRACE_FLAGS_DEFAULT, + (EAPL("eap_am_type_tls_peap_symbian_c::GetCurrentTime(), %2d-%2d-%4d : %2d-%2d-%2d-%d\n"), + currentDateTime.Day()+1, currentDateTime.Month()+1,currentDateTime.Year(), currentDateTime.Hour(), + currentDateTime.Minute(), currentDateTime.Second(), currentDateTime.MicroSecond())); + +#endif + + return currentTime.Int64(); + } + +// --------------------------------------------------------- +// CEapTtlsPapActive::Clean() +// --------------------------------------------------------- +// +void CEapTtlsPapActive::Clean() + { + DEBUG( "CEapTtlsPapActive::Clean() IN" ); + + iCancelCalled = ETrue; + + DEBUG( "CEapTtlsPapActive::Clean() iActiveState set to EEapTtlsPapActiveStatesNumber" ); + iActiveState = EEapTtlsPapActiveStatesNumber; + + DEBUG( "CEapFastActive::Clean() close notifier." ); + iNotifier.Close(); + + DEBUG( "CEapTtlsPapActive::Clean() delete iNotifierDataToUser." ); + delete iNotifierDataToUser; + iNotifierDataToUser = NULL; + + DEBUG( "CEapTtlsPapActive::Clean() delete iNotifierDataPckgToUser." ); + delete iNotifierDataPckgToUser; + iNotifierDataPckgToUser = NULL; + + DEBUG( "CEapTtlsPapActive::Clean() delete iNotifierDataFromUser." ); + delete iNotifierDataFromUser; + iNotifierDataFromUser = NULL; + + DEBUG( "CEapTtlsPapActive::Clean() delete iNotifierDataFromUser." ); + delete iNotifierDataPckgFromUser; + iNotifierDataPckgFromUser = NULL; + + DEBUG( "CEapTtlsPapActive::Clean() OUT." ); + } + +// ================= private: private constructors ======================= + +// --------------------------------------------------------- +// CEapTtlsPapActive::CEapTtlsPapActive() +// --------------------------------------------------------- +// +CEapTtlsPapActive::CEapTtlsPapActive( + eap_am_type_tls_peap_symbian_c* aCaller, + eap_am_tools_symbian_c* aAmTools ) + : + CActive( CActive::EPriorityStandard ), + iAmTools( aAmTools ), + iCaller( aCaller ), + //iPartner( aPartner ), + iActiveState( EEapTtlsPapActiveStatesNumber ), + iNotifier(), + iNotifierDataToUser( NULL ), + iNotifierDataPckgToUser( NULL ), + iNotifierDataFromUser( NULL ), + iNotifierDataPckgFromUser( NULL ), + iUserAction( EPapNotifierUserActionCancel ), + iSrvChallengeUnicode( NULL ), + iRequestStatus( NULL ), + iIsTtlsPapDbInfoInitialized( EFalse ), + iCancelCalled( EFalse ) + { + DEBUG( "CEapTtlsPapActive::CEapTtlsPapActive()" ); + } + +// --------------------------------------------------------- +// CEapTtlsPapActive::ConstructL() +// --------------------------------------------------------- +// +void CEapTtlsPapActive::ConstructL() + { + DEBUG( "CEapTtlsPapActive::ConstructL()" ); + CActiveScheduler::Add( this ); + + DEBUG( "CEapTtlsPapActive::ConstructL() connecting to notifier server"); + TInt err = iNotifier.Connect(); + if ( err != KErrNone ) + { + DEBUG1( "CEapTtlsPapActive::Start() ERROR: Failed to connect to notifier server, err=%d", + err ); + return; + } + if ( !iNotifierDataToUser ) + { + iNotifierDataToUser = new(ELeave) TPapUiNotifierInfo; + } + if ( !iNotifierDataPckgToUser ) + { + iNotifierDataPckgToUser = new(ELeave) TPckg (*iNotifierDataToUser); + } + if ( !iNotifierDataFromUser ) + { + iNotifierDataFromUser = new(ELeave) TPapUiNotifierInfo; + } + if ( !iNotifierDataPckgFromUser ) + { + iNotifierDataPckgFromUser = new(ELeave) TPckg (*iNotifierDataFromUser); + } + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/wlaneapolif/data/2000b05a.rss --- a/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/data/2000b05a.rss Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/data/2000b05a.rss Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 3.1.2 % +* %version: 6 % */ #include diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/wlaneapolif/inc/wlan_eapol_if_implementation.h --- a/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/inc/wlan_eapol_if_implementation.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/inc/wlan_eapol_if_implementation.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 6 % */ #ifndef _WLAN_EAPOL_INTERFACE_IMPLEMENTATION_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/wlaneapolif/src/wlan_eapol_if_implementation.cpp --- a/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/src/wlan_eapol_if_implementation.cpp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/src/wlan_eapol_if_implementation.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: % +* %version: 5.1.3 % */ // INCLUDES diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/EAPOLPROTECTEDu.DEF --- a/eapol/eapol_framework/eapol_symbian/bwins/EAPOLPROTECTEDu.DEF Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/EAPOLPROTECTEDu.DEF Wed Sep 01 12:23:57 2010 +0100 @@ -1,436 +1,1502 @@ EXPORTS - ?cancel_all_authentication_sessions@eapol_core_c@@QAE?AW4eap_status_e@@XZ @ 1 NONAME ; enum eap_status_e eapol_core_c::cancel_all_authentication_sessions(void) - ?timer_expired@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 2 NONAME ; enum eap_status_e eap_core_client_message_if_c::timer_expired(unsigned long, void *) - ?get_eapol_packet_body_length@eapol_RSNA_key_header_c@@QBEGXZ @ 3 NONAME ; unsigned short eapol_RSNA_key_header_c::get_eapol_packet_body_length(void) const - ?configure@ethernet_core_c@@UAE?AW4eap_status_e@@XZ @ 4 NONAME ; enum eap_status_e ethernet_core_c::configure(void) - ?zero_key_NONCE@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 5 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_NONCE(class abs_eap_am_tools_c *) - ?packet_data_session_key@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 6 NONAME ; enum eap_status_e ethernet_core_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *) - ?check_padding@eapol_key_state_c@@AAE?AW4eap_status_e@@PBEK@Z @ 7 NONAME ; enum eap_status_e eapol_key_state_c::check_padding(unsigned char const *, unsigned long) - ?set_current_eap_index@eapol_wlan_authentication_c@@UAEXK@Z @ 8 NONAME ; void eapol_wlan_authentication_c::set_current_eap_index(unsigned long) - ?create_4_way_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 9 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_1(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) - ??1ethernet_core_c@@UAE@XZ @ 10 NONAME ; ethernet_core_c::~ethernet_core_c(void) - ??1eapol_core_c@@UAE@XZ @ 11 NONAME ; eapol_core_c::~eapol_core_c(void) - ?get_key_information_key_type@eapol_RSNA_key_header_c@@QBE_NXZ @ 12 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_key_type(void) const - ?get_eap_type_list@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 13 NONAME ; enum eap_status_e eapol_wlan_authentication_c::get_eap_type_list(class eap_array_c *) - ?packet_send@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 14 NONAME ; enum eap_status_e ethernet_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ?associate@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@W4eapol_key_802_11_authentication_mode_e@@@Z @ 15 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::associate(enum eapol_key_802_11_authentication_mode_e) - ?add_RSN_IE_payload@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeapol_RSNA_key_header_c@@PAVeap_variable_data_c@@PAK@Z @ 16 NONAME ; enum eap_status_e eapol_key_state_c::add_RSN_IE_payload(class eapol_RSNA_key_header_c const *, class eap_variable_data_c *, unsigned long *) - ?get_key_information_reserved_a@eapol_RSNA_key_header_c@@QBEEXZ @ 17 NONAME ; unsigned char eapol_RSNA_key_header_c::get_key_information_reserved_a(void) const - ?asynchronous_init_remove_eapol_key_state@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 18 NONAME ; enum eap_status_e eapol_core_c::asynchronous_init_remove_eapol_key_state(class eap_am_network_id_c const *) - ?start_4_way_handshake@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 19 NONAME ; enum eap_status_e eapol_key_state_c::start_4_way_handshake(class eap_am_network_id_c const *) - ?load_module@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 20 NONAME ; enum eap_status_e eapol_wlan_authentication_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) - ?cancel_retransmission@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 21 NONAME ; enum eap_status_e eapol_key_state_c::cancel_retransmission(void) - ?complete_check_pmksa_cache@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_am_network_id_c@@@@@Z @ 22 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_check_pmksa_cache(class eap_array_c const *) - ?rsna_prf@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@00KPAV3@@Z @ 23 NONAME ; enum eap_status_e eapol_key_state_c::rsna_prf(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long, class eap_variable_data_c *) - ?convert@wlan_eap_if_send_status_conversion_c@@SA?AW4eap_status_e@@W4wlan_eap_if_send_status_e@@@Z @ 24 NONAME ; enum eap_status_e wlan_eap_if_send_status_conversion_c::convert(enum wlan_eap_if_send_status_e) - ?start_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 25 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_reassociation(class eap_array_c const *) - ?new_eapol_am_wlan_authentication@eapol_am_wlan_authentication_c@@SAPAV1@PAVabs_eap_am_tools_c@@_N@Z @ 26 NONAME ; class eapol_am_wlan_authentication_c * eapol_am_wlan_authentication_c::new_eapol_am_wlan_authentication(class abs_eap_am_tools_c *, bool) - ?configure@eapol_core_c@@UAE?AW4eap_status_e@@XZ @ 27 NONAME ; enum eap_status_e eapol_core_c::configure(void) - ?reset_header@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@EW4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@1@_K_N33333333W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 28 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::reset_header(unsigned char, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, unsigned long long, bool, bool, bool, bool, bool, bool, bool, bool, bool, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) - ?association@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@32@Z @ 29 NONAME ; enum eap_status_e eapol_core_c::association(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *) - ?complete_WPXM_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 30 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_WPXM_reassociation(class eap_array_c const *) + dss_pseudo_random @ 1 NONAME + ?md5_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 2 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *) + ?get_type@eap_tlv_header_c@@QBEKXZ @ 3 NONAME ; unsigned long eap_tlv_header_c::get_type(void) const + ?set_use_timer_queue@eap_am_tools_c@@QAEXXZ @ 4 NONAME ; void eap_am_tools_c::set_use_timer_queue(void) + ?copy@eap_buf_chain_wr_c@@QAEPAV1@XZ @ 5 NONAME ; class eap_buf_chain_wr_c * eap_buf_chain_wr_c::copy(void) + ?zero_key_NONCE@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 6 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_NONCE(class abs_eap_am_tools_c *) + ?reset_data_buffer@eap_buf_chain_base_c@@AAEXXZ @ 7 NONAME ; void eap_buf_chain_base_c::reset_data_buffer(void) + ?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVnetwork_key_and_index_c@@@Z @ 8 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class network_key_and_index_c *) + ?get_network_id@eap_am_network_id_c@@QBEPBV1@XZ @ 9 NONAME ; class eap_am_network_id_c const * eap_am_network_id_c::get_network_id(void) const + ?memory_store_get_data@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVeap_tlv_message_data_c@@@Z @ 10 NONAME ; enum eap_status_e eap_am_tools_c::memory_store_get_data(class eap_variable_data_c const *, class eap_tlv_message_data_c *) + ?set_current_eap_index@eapol_wlan_authentication_c@@UAEXK@Z @ 11 NONAME ; void eapol_wlan_authentication_c::set_current_eap_index(unsigned long) + ??1eap_am_network_id_c@@UAE@XZ @ 12 NONAME ; eap_am_network_id_c::~eap_am_network_id_c(void) + ??1eapol_core_c@@UAE@XZ @ 13 NONAME ; eapol_core_c::~eapol_core_c(void) + ?set_is_invalid@eap_variable_data_c@@QAEXXZ @ 14 NONAME ; void eap_variable_data_c::set_is_invalid(void) + ?get_data_length@eap_core_retransmission_c@@QBEKXZ @ 15 NONAME ; unsigned long eap_core_retransmission_c::get_data_length(void) const + ?add_rand_seed_hw_ticks@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@XZ @ 16 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::add_rand_seed_hw_ticks(void) + ??0eap_am_crypto_sha_256_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 17 NONAME ; eap_am_crypto_sha_256_c::eap_am_crypto_sha_256_c(class abs_eap_am_tools_c *) + ??0crypto_dsa_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 18 NONAME ; crypto_dsa_c::crypto_dsa_c(class abs_eap_am_tools_c *) + ?reset@crypto_cbc_c@@AAEXXZ @ 19 NONAME ; void crypto_cbc_c::reset(void) + ?check_is_valid_eap_type@eap_session_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 20 NONAME ; enum eap_status_e eap_session_core_c::check_is_valid_eap_type(class eap_expanded_type_c) + ?set_is_valid@eap_am_crypto_sha_256_c@@AAEXXZ @ 21 NONAME ; void eap_am_crypto_sha_256_c::set_is_valid(void) + ?add_rand_seed@crypto_random_c@@QAE?AW4eap_status_e@@PBXK@Z @ 22 NONAME ; enum eap_status_e crypto_random_c::add_rand_seed(void const *, unsigned long) + ?set_eap_type_values@eap_expanded_type_c@@QAEXW4eap_type_vendor_id_e@@K@Z @ 23 NONAME ; void eap_expanded_type_c::set_eap_type_values(enum eap_type_vendor_id_e, unsigned long) + ?get_data_length@eap_header_base_c@@QBEGXZ @ 24 NONAME ; unsigned short eap_header_base_c::get_data_length(void) const + ?configure@eapol_core_c@@UAE?AW4eap_status_e@@XZ @ 25 NONAME ; enum eap_status_e eapol_core_c::configure(void) + ?get_send_network_id@eap_state_notification_c@@UBEPBVeap_am_network_id_c@@XZ @ 26 NONAME ; class eap_am_network_id_c const * eap_state_notification_c::get_send_network_id(void) const + ?get_use_timer_queue@eap_am_tools_c@@UAE_NXZ @ 27 NONAME ; bool eap_am_tools_c::get_use_timer_queue(void) + ?get_is_valid@crypto_3des_ede_c@@UAE_NXZ @ 28 NONAME ; bool crypto_3des_ede_c::get_is_valid(void) + ?complete_WPXM_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 29 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_WPXM_reassociation(class eap_array_c const *) + ??0eap_expanded_type_c@@QAE@W4eap_type_vendor_id_e@@K@Z @ 30 NONAME ; eap_expanded_type_c::eap_expanded_type_c(enum eap_type_vendor_id_e, unsigned long) ?cancel_all_timers@ethernet_core_c@@UAE?AW4eap_status_e@@XZ @ 31 NONAME ; enum eap_status_e ethernet_core_c::cancel_all_timers(void) - ?object_decrease_reference_count@eapol_key_state_c@@QAEKXZ @ 32 NONAME ; unsigned long eapol_key_state_c::object_decrease_reference_count(void) - ?set_eap_database_reference_values@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 33 NONAME ; enum eap_status_e eapol_wlan_authentication_c::set_eap_database_reference_values(class eap_variable_data_c const *) - ?send_logoff@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 34 NONAME ; enum eap_status_e eapol_core_c::send_logoff(class eap_am_network_id_c const *) + ?unload_module@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 32 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::unload_module(class eap_expanded_type_c) + ?encrypt_with_public_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 33 NONAME ; enum eap_status_e crypto_rsa_c::encrypt_with_public_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) + ?object_decrease_reference_count@eapol_key_state_c@@QAEKXZ @ 34 NONAME ; unsigned long eapol_key_state_c::object_decrease_reference_count(void) ?init_eapol_key_pmksa_caching_timeout@eapol_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 35 NONAME ; enum eap_status_e eapol_core_c::init_eapol_key_pmksa_caching_timeout(class eap_am_network_id_c const *) - ??0eapol_message_wlan_authentication_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_message_wlan_authentication_c@@@Z @ 36 NONAME ; eapol_message_wlan_authentication_c::eapol_message_wlan_authentication_c(class abs_eap_am_tools_c *, class abs_eapol_message_wlan_authentication_c *) - ?disassociation@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 37 NONAME ; enum eap_status_e eapol_wlan_authentication_c::disassociation(class eap_am_network_id_c const *) - ?set_key_information_install@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 38 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_install(bool) - ?check_header@eapol_RC4_key_header_c@@UBE?AW4eap_status_e@@XZ @ 39 NONAME ; enum eap_status_e eapol_RC4_key_header_c::check_header(void) const - ?cancel_authentication_session@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 40 NONAME ; enum eap_status_e eapol_key_state_c::cancel_authentication_session(void) - ?get_header_offset@eapol_core_c@@UAEKPAK0@Z @ 41 NONAME ; unsigned long eapol_core_c::get_header_offset(unsigned long *, unsigned long *) + ?disassociation@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 36 NONAME ; enum eap_status_e eapol_wlan_authentication_c::disassociation(class eap_am_network_id_c const *) + ?set_data_length@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@K@Z @ 37 NONAME ; enum eap_status_e eap_buf_chain_base_c::set_data_length(unsigned long) + ?set_is_invalid@crypto_tls_base_prf_c@@AAEXXZ @ 38 NONAME ; void crypto_tls_base_prf_c::set_is_invalid(void) + ?get_leap_password@eap_master_session_key_c@@QBEPBVeap_variable_data_c@@XZ @ 39 NONAME ; class eap_variable_data_c const * eap_master_session_key_c::get_leap_password(void) const + ?set_selector@eap_network_id_selector_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 40 NONAME ; enum eap_status_e eap_network_id_selector_c::set_selector(class eap_am_network_id_c const *) + ??0eap_core_nak_info_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@Veap_expanded_type_c@@E@Z @ 41 NONAME ; eap_core_nak_info_c::eap_core_nak_info_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, class eap_expanded_type_c, unsigned char) ?get_key_information_reserved_b@eapol_RSNA_key_header_c@@QBEEXZ @ 42 NONAME ; unsigned char eapol_RSNA_key_header_c::get_key_information_reserved_b(void) const - ??1eapol_message_wlan_authentication_c@@UAE@XZ @ 43 NONAME ; eapol_message_wlan_authentication_c::~eapol_message_wlan_authentication_c(void) - ?set_is_valid@eap_core_client_message_if_c@@EAEXXZ @ 44 NONAME ; void eap_core_client_message_if_c::set_is_valid(void) - ?check_payloads@eapol_rsna_key_data_payloads_c@@QAE_NW4eapol_rsna_key_data_payload_status_e@1@000@Z @ 45 NONAME ; bool eapol_rsna_key_data_payloads_c::check_payloads(enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e) - ?initialize@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 46 NONAME ; enum eap_status_e eapol_key_state_c::initialize(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) - ?encrypt_key_data@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@@Z @ 47 NONAME ; enum eap_status_e eapol_key_state_c::encrypt_key_data(class eapol_RSNA_key_header_c *) - ?get_client_send_key_reply_counter@eapol_key_state_c@@AAE_KXZ @ 48 NONAME ; unsigned long long eapol_key_state_c::get_client_send_key_reply_counter(void) - ?get_802_11_authentication_mode@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2@Z @ 49 NONAME ; enum eap_status_e ethernet_core_c::get_802_11_authentication_mode(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?set_session_timeout@eapol_core_c@@UAE?AW4eap_status_e@@K@Z @ 50 NONAME ; enum eap_status_e eapol_core_c::set_session_timeout(unsigned long) - ??1eapol_rsna_key_data_payloads_c@@UAE@XZ @ 51 NONAME ; eapol_rsna_key_data_payloads_c::~eapol_rsna_key_data_payloads_c(void) - ?set_key_information_key_MIC@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 52 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_MIC(bool) - ?zero_key_STA_MAC_address@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 53 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_STA_MAC_address(class abs_eap_am_tools_c *) - ?set_key_information_error@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 54 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_error(bool) - ?read_configure@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 55 NONAME ; enum eap_status_e eapol_wlan_authentication_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?process_4_way_handshake_message_0@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 56 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_0(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) - ?configure@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 57 NONAME ; enum eap_status_e eap_core_client_message_if_c::configure(void) - ?set_eap_database_reference_values@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 58 NONAME ; enum eap_status_e ethernet_core_c::set_eap_database_reference_values(class eap_variable_data_c const *) - ?get_key_data_offset@eapol_RSNA_key_header_c@@QBEPAEKK@Z @ 59 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_data_offset(unsigned long, unsigned long) const - ?get_key_IV@eapol_RC4_key_header_c@@QAEPAEXZ @ 60 NONAME ; unsigned char * eapol_RC4_key_header_c::get_key_IV(void) - ?timer_delete_data@eapol_key_state_c@@UAE?AW4eap_status_e@@KPAX@Z @ 61 NONAME ; enum eap_status_e eapol_key_state_c::timer_delete_data(unsigned long, void *) - ?reset_wpa_configuration@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 62 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::reset_wpa_configuration(void) - ?get_eapol_protocol_version@eapol_RSNA_key_header_c@@QBE?AW4eapol_protocol_version_e@@XZ @ 63 NONAME ; enum eapol_protocol_version_e eapol_RSNA_key_header_c::get_eapol_protocol_version(void) const - ?get_eapol_key_handshake_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_handshake_type_e@@@Z @ 64 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_handshake_type_string(enum eapol_key_handshake_type_e) - ?get_is_valid@eapol_wlan_authentication_c@@QAE_NXZ @ 65 NONAME ; bool eapol_wlan_authentication_c::get_is_valid(void) - ?zero_EAPOL_key_IV@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 66 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_EAPOL_key_IV(class abs_eap_am_tools_c *) - ?update_wlan_database_reference_values@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 67 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::update_wlan_database_reference_values(class eap_array_c const *) - ?shutdown@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 68 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::shutdown(void) - ?indicate_eapol_key_state_started_eap_authentication@eapol_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 69 NONAME ; enum eap_status_e eapol_core_c::indicate_eapol_key_state_started_eap_authentication(class eap_am_network_id_c const *) - ?read_configure@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 70 NONAME ; enum eap_status_e ethernet_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?trace_eapol_key_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PBDPAVeapol_RSNA_key_header_c@@@Z @ 71 NONAME ; enum eap_status_e eapol_key_state_c::trace_eapol_key_message(char const *, class eapol_RSNA_key_header_c *) - ?complete_get_802_11_authentication_mode@eapol_core_c@@UAE?AW4eap_status_e@@W42@PBVeap_am_network_id_c@@W4eapol_key_802_11_authentication_mode_e@@@Z @ 72 NONAME ; enum eap_status_e eapol_core_c::complete_get_802_11_authentication_mode(enum eap_status_e, class eap_am_network_id_c const *, enum eapol_key_802_11_authentication_mode_e) - ?zero_key_reserved@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 73 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_reserved(class abs_eap_am_tools_c *) - ?get_key_signature@eapol_RC4_key_header_c@@QBEPAEXZ @ 74 NONAME ; unsigned char * eapol_RC4_key_header_c::get_key_signature(void) const - ?set_key_information_encrypted_key_data@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 75 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_encrypted_key_data(bool) - ?complete_WPXM_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 76 NONAME ; enum eap_status_e ethernet_core_c::complete_WPXM_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *) - ?check_one_payload@eapol_rsna_key_data_payloads_c@@QAE_NW4eapol_rsna_key_data_payload_status_e@1@PBVeapol_rsna_variable_data_c@@@Z @ 77 NONAME ; bool eapol_rsna_key_data_payloads_c::check_one_payload(enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, class eapol_rsna_variable_data_c const *) - ?cancel_all_timers@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@XZ @ 78 NONAME ; enum eap_status_e eapol_wlan_authentication_c::cancel_all_timers(void) - ?create_key_mic@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@PBVeap_variable_data_c@@@Z @ 79 NONAME ; enum eap_status_e eapol_key_state_c::create_key_mic(class eapol_RSNA_key_header_c *, class eap_variable_data_c const *) - ?start_WPXM_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@@Z @ 80 NONAME ; enum eap_status_e ethernet_core_c::start_WPXM_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *) - ?complete_remove_eap_session@eapol_core_c@@UAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 81 NONAME ; enum eap_status_e eapol_core_c::complete_remove_eap_session(bool, class eap_am_network_id_c const *) - ?set_key_descriptor_type@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@@Z @ 82 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_descriptor_type(enum eapol_key_descriptor_type_e) - ?process_group_key_handshake_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 83 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) - ?complete_check_pmksa_cache@ethernet_core_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_am_network_id_c@@@@@Z @ 84 NONAME ; enum eap_status_e ethernet_core_c::complete_check_pmksa_cache(class eap_array_c const *) - ?load_module@ethernet_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 85 NONAME ; enum eap_status_e ethernet_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) - ?process_4_way_handshake_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 86 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) - ?shutdown@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 87 NONAME ; enum eap_status_e eapol_key_state_c::shutdown(void) - ??0eap_core_client_message_if_c@@QAE@PAVabs_eap_am_tools_c@@PAVeap_am_message_if_c@@PAVabs_eap_session_core_c@@_N@Z @ 88 NONAME ; eap_core_client_message_if_c::eap_core_client_message_if_c(class abs_eap_am_tools_c *, class eap_am_message_if_c *, class abs_eap_session_core_c *, bool) - ?shutdown@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 89 NONAME ; enum eap_status_e eap_core_client_message_if_c::shutdown(void) - ?get_key_information_error@eapol_RSNA_key_header_c@@QBE_NXZ @ 90 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_error(void) const - ?complete_WPXM_reassociation@eapol_key_state_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 91 NONAME ; enum eap_status_e eapol_key_state_c::complete_WPXM_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *) - ?set_is_valid@eapol_key_state_c@@AAEXXZ @ 92 NONAME ; void eapol_key_state_c::set_is_valid(void) - ?get_header_offset@eapol_message_wlan_authentication_c@@UAEKPAK0@Z @ 93 NONAME ; unsigned long eapol_message_wlan_authentication_c::get_header_offset(unsigned long *, unsigned long *) - ?set_key_information_key_index@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@E@Z @ 94 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_index(unsigned char) - ?set_key_information_key_descriptor_version@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@E@Z @ 95 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_descriptor_version(unsigned char) - ?complete_disassociation@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 96 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_disassociation(bool, class eap_am_network_id_c const *) - ?shutdown@eapol_message_wlan_authentication_c@@QAE?AW4eap_status_e@@XZ @ 97 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::shutdown(void) - ?get_key_information_install@eapol_RSNA_key_header_c@@QBE_NXZ @ 98 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_install(void) const - ?packet_send@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 99 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ?get_is_valid@ethernet_core_c@@UAE_NXZ @ 100 NONAME ; bool ethernet_core_c::get_is_valid(void) - ?create_4_way_handshake_message_4@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1_K_NW4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 101 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_4(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, bool, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) - ?get_key_reply_counter@eapol_key_state_c@@AAE_KXZ @ 102 NONAME ; unsigned long long eapol_key_state_c::get_key_reply_counter(void) - ?check_is_aes_key_wrap_padding@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_RSNA_key_descriptor_type_e@@PAVeapol_rsna_key_data_header_c@@K@Z @ 103 NONAME ; enum eap_status_e eapol_key_state_c::check_is_aes_key_wrap_padding(enum eapol_RSNA_key_descriptor_type_e, class eapol_rsna_key_data_header_c *, unsigned long) - ?get_marked_removed@eapol_key_state_c@@QAE_NXZ @ 104 NONAME ; bool eapol_key_state_c::get_marked_removed(void) - ?cancel_timer@ethernet_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 105 NONAME ; enum eap_status_e ethernet_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ?set_timer@eapol_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 106 NONAME ; enum eap_status_e eapol_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ?complete_reassociation@eapol_core_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@3W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@4@Z @ 107 NONAME ; enum eap_status_e eapol_core_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) - ?get_key_reserved@eapol_RSNA_key_header_c@@QBEPAEXZ @ 108 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_reserved(void) const - ?get_eapol_key_descriptor_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_descriptor_type_e@@@Z @ 109 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_descriptor_type_string(enum eapol_key_descriptor_type_e) - ?start_authentication@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 110 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_authentication(class eap_array_c const *) - ?get_key_RSC@eapol_RSNA_key_header_c@@QBEPAEXZ @ 111 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_RSC(void) const - ?complete_reassociation@eapol_key_state_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@3W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@4@Z @ 112 NONAME ; enum eap_status_e eapol_key_state_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) - ?authentication_finished@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@_NVeap_expanded_type_c@@W4eapol_key_authentication_type_e@@@Z @ 113 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::authentication_finished(bool, class eap_expanded_type_c, enum eapol_key_authentication_type_e) - ?object_increase_reference_count@eapol_key_state_c@@QAEXXZ @ 114 NONAME ; void eapol_key_state_c::object_increase_reference_count(void) - ?tkip_mic_failure@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 115 NONAME ; enum eap_status_e ethernet_core_c::tkip_mic_failure(class eap_am_network_id_c const *, bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e) - ?get_eapol_key_authentication_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_authentication_type_e@@@Z @ 116 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_authentication_type_string(enum eapol_key_authentication_type_e) - ?get_authenticator_RSNA_IE@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 117 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_authenticator_RSNA_IE(void) - ??0eapol_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_core_c@@_N@Z @ 118 NONAME ; eapol_core_c::eapol_core_c(class abs_eap_am_tools_c *, class abs_eapol_core_c *, bool) - ?add_rogue_ap@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 119 NONAME ; enum eap_status_e eapol_wlan_authentication_c::add_rogue_ap(class eap_array_c &) - ?zero_key_MIC@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 120 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_MIC(class abs_eap_am_tools_c *) - ?start_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 121 NONAME ; enum eap_status_e ethernet_core_c::start_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *) - ??0eapol_am_wlan_authentication_symbian_c@@QAE@PAVabs_eap_am_tools_c@@_N@Z @ 122 NONAME ; eapol_am_wlan_authentication_symbian_c::eapol_am_wlan_authentication_symbian_c(class abs_eap_am_tools_c *, bool) - ?get_authentication_counter@eapol_wlan_authentication_c@@QAEKXZ @ 123 NONAME ; unsigned long eapol_wlan_authentication_c::get_authentication_counter(void) - ??0ethernet_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_ethernet_core_c@@_N@Z @ 124 NONAME ; ethernet_core_c::ethernet_core_c(class abs_eap_am_tools_c *, class abs_ethernet_core_c *, bool) - ?timer_delete_data@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 125 NONAME ; enum eap_status_e eap_core_client_message_if_c::timer_delete_data(unsigned long, void *) - ?get_key_length@eapol_RSNA_key_header_c@@QBEGXZ @ 126 NONAME ; unsigned short eapol_RSNA_key_header_c::get_key_length(void) const - ?set_key_information_key_type@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 127 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_type(bool) - ?get_is_WPXM@eapol_key_state_c@@AAE_NXZ @ 128 NONAME ; bool eapol_key_state_c::get_is_WPXM(void) - ?get_key_information_encrypted_key_data@eapol_RSNA_key_header_c@@QBE_NXZ @ 129 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_encrypted_key_data(void) const - ?asynchronous_init_remove_eap_session@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 130 NONAME ; enum eap_status_e eapol_core_c::asynchronous_init_remove_eap_session(class eap_am_network_id_c const *) - ?create_nonce@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 131 NONAME ; enum eap_status_e eapol_key_state_c::create_nonce(class eap_variable_data_c *, unsigned long) - ?get_eapol_protocol_version@eapol_RC4_key_header_c@@QBE?AW4eapol_protocol_version_e@@XZ @ 132 NONAME ; enum eapol_protocol_version_e eapol_RC4_key_header_c::get_eapol_protocol_version(void) const - ?get_encryption_KEK@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 133 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_encryption_KEK(void) - ?shutdown@eapol_core_c@@UAE?AW4eap_status_e@@XZ @ 134 NONAME ; enum eap_status_e eapol_core_c::shutdown(void) - ?process_RSNA_key_descriptor@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 135 NONAME ; enum eap_status_e eapol_key_state_c::process_RSNA_key_descriptor(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) - ?cancel_all_eap_sessions@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 136 NONAME ; enum eap_status_e eap_core_client_message_if_c::cancel_all_eap_sessions(void) - ?get_key_MIC@eapol_RSNA_key_header_c@@QBEPAEXZ @ 137 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_MIC(void) const - ?complete_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@3@Z @ 138 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) - ?read_configure@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 139 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?process_4_way_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 140 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_1(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) - ?get_key_length@eapol_RC4_key_header_c@@QBEGXZ @ 141 NONAME ; unsigned short eapol_RC4_key_header_c::get_key_length(void) const - ?initialize@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@32@Z @ 142 NONAME ; enum eap_status_e eapol_key_state_c::initialize(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *) - ?reset@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 143 NONAME ; enum eap_status_e eap_core_client_message_if_c::reset(void) - ?get_SNonce@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 144 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_SNonce(void) - ?set_marked_removed@eapol_key_state_c@@QAEXXZ @ 145 NONAME ; void eapol_key_state_c::set_marked_removed(void) - ?send_logoff@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 146 NONAME ; enum eap_status_e ethernet_core_c::send_logoff(class eap_am_network_id_c const *) - ?start_preauthentication@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 147 NONAME ; enum eap_status_e ethernet_core_c::start_preauthentication(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) - ?shutdown@ethernet_core_c@@UAE?AW4eap_status_e@@XZ @ 148 NONAME ; enum eap_status_e ethernet_core_c::shutdown(void) - ?set_eapol_packet_type@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_packet_type_e@@@Z @ 149 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_eapol_packet_type(enum eapol_packet_type_e) - ?get_supplicant_MAC_address@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 150 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_supplicant_MAC_address(void) - ?initialize_4_way_handshake@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_protocol_version_e@@@Z @ 151 NONAME ; enum eap_status_e eapol_key_state_c::initialize_4_way_handshake(class eap_am_network_id_c const *, enum eapol_protocol_version_e) - ?send_RC4_eapol_key_messages@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 152 NONAME ; enum eap_status_e eapol_key_state_c::send_RC4_eapol_key_messages(void) - ?remove_pmksa_from_cache@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 153 NONAME ; enum eap_status_e eapol_core_c::remove_pmksa_from_cache(class eap_am_network_id_c const *) - ?copy@eapol_key_state_c@@QAEPAV1@PBVeap_am_network_id_c@@@Z @ 154 NONAME ; class eapol_key_state_c * eapol_key_state_c::copy(class eap_am_network_id_c const *) - ?set_timer@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 155 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ?association@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 156 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::association(class eap_am_network_id_c const *) - ?cancel_handshake_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 157 NONAME ; enum eap_status_e eapol_key_state_c::cancel_handshake_timeout(void) - ??0eapol_rsna_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@_N1@Z @ 158 NONAME ; eapol_rsna_variable_data_c::eapol_rsna_variable_data_c(class abs_eap_am_tools_c *, bool, bool) - ?set_buffer@eapol_rsna_variable_data_c@@QAE?AW4eap_status_e@@PBVeapol_rsna_key_data_header_c@@PAEK_N2@Z @ 159 NONAME ; enum eap_status_e eapol_rsna_variable_data_c::set_buffer(class eapol_rsna_key_data_header_c const *, unsigned char *, unsigned long, bool, bool) - ?get_key_information_key_ack@eapol_RSNA_key_header_c@@QBE_NXZ @ 160 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_key_ack(void) const - ?check_header@eapol_RSNA_key_header_c@@UBE?AW4eap_status_e@@XZ @ 161 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::check_header(void) const - ?set_key_reply_counter@eapol_key_state_c@@AAEX_K@Z @ 162 NONAME ; void eapol_key_state_c::set_key_reply_counter(unsigned long long) - ?reassociate@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 163 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::reassociate(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *) - ?cancel_timer@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 164 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ?cancel_timer@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 165 NONAME ; enum eap_status_e eapol_wlan_authentication_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ?complete_get_802_11_authentication_mode@ethernet_core_c@@UAE?AW4eap_status_e@@W42@PBVeap_am_network_id_c@@W4eapol_key_802_11_authentication_mode_e@@@Z @ 166 NONAME ; enum eap_status_e ethernet_core_c::complete_get_802_11_authentication_mode(enum eap_status_e, class eap_am_network_id_c const *, enum eapol_key_802_11_authentication_mode_e) - ?set_pairwise_PMK@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVeap_am_network_id_c@@@Z @ 167 NONAME ; enum eap_status_e eapol_key_state_c::set_pairwise_PMK(class eap_variable_data_c const *, class eap_am_network_id_c const *) - ?set_key_index@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@E@Z @ 168 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_index(unsigned char) - ?get_original_header@eapol_rsna_variable_data_c@@QBEPBVeapol_rsna_key_data_header_c@@XZ @ 169 NONAME ; class eapol_rsna_key_data_header_c const * eapol_rsna_variable_data_c::get_original_header(void) const - ?set_is_valid@eapol_wlan_authentication_c@@QAEXXZ @ 170 NONAME ; void eapol_wlan_authentication_c::set_is_valid(void) - ?write_configure@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 171 NONAME ; enum eap_status_e eapol_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?verify_field_is_zero@eapol_key_state_c@@AAE?AW4eap_status_e@@PBEK@Z @ 172 NONAME ; enum eap_status_e eapol_key_state_c::verify_field_is_zero(unsigned char const *, unsigned long) - ?get_header_length@eapol_RSNA_key_header_c@@SAGXZ @ 173 NONAME ; unsigned short eapol_RSNA_key_header_c::get_header_length(void) - ?get_is_associated@eapol_key_state_c@@QAE_NXZ @ 174 NONAME ; bool eapol_key_state_c::get_is_associated(void) - ?unload_module@eapol_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 175 NONAME ; enum eap_status_e eapol_core_c::unload_module(class eap_expanded_type_c) - ?cancel_pmksa_caching_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 176 NONAME ; enum eap_status_e eapol_key_state_c::cancel_pmksa_caching_timeout(void) - ?state_notification@ethernet_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 177 NONAME ; void ethernet_core_c::state_notification(class abs_eap_state_notification_c const *) - ?init_pmksa_caching_timeout@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 178 NONAME ; enum eap_status_e eapol_key_state_c::init_pmksa_caching_timeout(void) - ?save_simple_config_session@eapol_core_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 179 NONAME ; enum eap_status_e eapol_core_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *) - ?disassociation@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 180 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::disassociation(class eap_am_network_id_c const *) - ?start_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0W4eapol_key_authentication_type_e@@@Z @ 181 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_reassociation(class eap_am_network_id_c const *, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) - ?disassociate@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 182 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::disassociate(class eap_am_network_id_c const *, bool) - ?packet_process@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 183 NONAME ; enum eap_status_e ethernet_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) - ?get_eapol_packet_type@eapol_RC4_key_header_c@@QBE?AW4eapol_packet_type_e@@XZ @ 184 NONAME ; enum eapol_packet_type_e eapol_RC4_key_header_c::get_eapol_packet_type(void) const - ?get_is_valid@eapol_key_state_c@@QAE_NXZ @ 185 NONAME ; bool eapol_key_state_c::get_is_valid(void) - ?packet_send@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 186 NONAME ; enum eap_status_e eapol_key_state_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ?get_EAPOL_key_IV@eapol_RSNA_key_header_c@@QBEPAEXZ @ 187 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_EAPOL_key_IV(void) const - ??0eapol_RSNA_key_header_c@@QAE@PAVabs_eap_am_tools_c@@_N1PAXK@Z @ 188 NONAME ; eapol_RSNA_key_header_c::eapol_RSNA_key_header_c(class abs_eap_am_tools_c *, bool, bool, void *, unsigned long) - ?write_configure@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 189 NONAME ; enum eap_status_e ethernet_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ??0eapol_key_state_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_key_state_c@@PAVabs_eapol_core_c@@_NPBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@6W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@76@Z @ 190 NONAME ; eapol_key_state_c::eapol_key_state_c(class abs_eap_am_tools_c *, class abs_eapol_key_state_c *, class abs_eapol_core_c *, bool, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *) - ?get_key_information_secure@eapol_RSNA_key_header_c@@QBE_NXZ @ 191 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_secure(void) const - ?start_preauthentication@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 192 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_preauthentication(class eap_am_network_id_c const *) - ?get_key_information_request@eapol_RSNA_key_header_c@@QBE_NXZ @ 193 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_request(void) const - ?complete_association@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 194 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_association(class eap_array_c const *) - ?start_reassociation@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 195 NONAME ; enum eap_status_e eapol_core_c::start_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *) - ?process_eapol_key_frame@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 196 NONAME ; enum eap_status_e eapol_key_state_c::process_eapol_key_frame(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) - ?tkip_mic_failure@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 197 NONAME ; enum eap_status_e eapol_wlan_authentication_c::tkip_mic_failure(class eap_am_network_id_c const *, bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e) - ?get_header_offset@ethernet_core_c@@UAEKPAK0@Z @ 198 NONAME ; unsigned long ethernet_core_c::get_header_offset(unsigned long *, unsigned long *) - ?increment_authentication_counter@eapol_wlan_authentication_c@@QAEXXZ @ 199 NONAME ; void eapol_wlan_authentication_c::increment_authentication_counter(void) - ?get_unicast_cipher_suite_RSNA_IE@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 200 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_unicast_cipher_suite_RSNA_IE(void) - ?write_configure@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 201 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?remove_pmksa_from_cache@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 202 NONAME ; enum eap_status_e ethernet_core_c::remove_pmksa_from_cache(class eap_am_network_id_c const *) - ?create_state@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 203 NONAME ; enum eap_status_e eapol_core_c::create_state(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) - ?create_4_way_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1_KW4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 204 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_2(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) - ?get_is_valid@eapol_core_c@@UAE_NXZ @ 205 NONAME ; bool eapol_core_c::get_is_valid(void) - ?set_WPXM_parameters@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 206 NONAME ; enum eap_status_e eapol_key_state_c::set_WPXM_parameters(class eap_am_network_id_c const *) - ?start_WPXM_reassociation@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@@Z @ 207 NONAME ; enum eap_status_e eapol_key_state_c::start_WPXM_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *) - ?convert@wlan_eap_if_send_status_conversion_c@@SA?AW4wlan_eap_if_send_status_e@@W4eap_status_e@@@Z @ 208 NONAME ; enum wlan_eap_if_send_status_e wlan_eap_if_send_status_conversion_c::convert(enum eap_status_e) - ?init_group_key_update_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@K@Z @ 209 NONAME ; enum eap_status_e eapol_key_state_c::init_group_key_update_timeout(unsigned long) - ??1eapol_RC4_key_header_c@@UAE@XZ @ 210 NONAME ; eapol_RC4_key_header_c::~eapol_RC4_key_header_c(void) - ?load_module@eapol_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 211 NONAME ; enum eap_status_e eapol_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) - ?zero_key_signature@eapol_RC4_key_header_c@@QAEXPAVabs_eap_am_tools_c@@@Z @ 212 NONAME ; void eapol_RC4_key_header_c::zero_key_signature(class abs_eap_am_tools_c *) - ?eap_acknowledge@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 213 NONAME ; enum eap_status_e ethernet_core_c::eap_acknowledge(class eap_am_network_id_c const *) - ?save_simple_config_session@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 214 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *) - ?get_eapol_key_state_string@eapol_key_state_string_c@@SAPBDW4eapol_key_state_e@@@Z @ 215 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_state_string(enum eapol_key_state_e) - ?set_is_valid@eapol_core_c@@UAEXXZ @ 216 NONAME ; void eapol_core_c::set_is_valid(void) - ?get_header_length@eapol_RC4_key_header_c@@SAGXZ @ 217 NONAME ; unsigned short eapol_RC4_key_header_c::get_header_length(void) - ?create_state@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 218 NONAME ; enum eap_status_e ethernet_core_c::create_state(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) - ?process_message_type_error@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 219 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::process_message_type_error(class eap_array_c const *) - ?create_PMKID@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 220 NONAME ; enum eap_status_e eapol_key_state_c::create_PMKID(void) - ?process_4_way_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 221 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_2(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) - ?get_wlan_configuration@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 222 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::get_wlan_configuration(class eap_variable_data_c *) - ?check_one_payload@eapol_rsna_key_data_payloads_c@@QAE_NW4eapol_rsna_key_data_payload_status_e@1@PBV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 223 NONAME ; bool eapol_rsna_key_data_payloads_c::check_one_payload(enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, class eap_array_c const *) - ?start_authentication@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 224 NONAME ; enum eap_status_e ethernet_core_c::start_authentication(class eap_am_network_id_c const *, bool) - ??1eapol_key_state_string_c@@UAE@XZ @ 225 NONAME ; eapol_key_state_string_c::~eapol_key_state_string_c(void) - ?unload_module@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 226 NONAME ; enum eap_status_e eapol_wlan_authentication_c::unload_module(class eap_expanded_type_c) - ?get_eap_type_list@eapol_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 227 NONAME ; enum eap_status_e eapol_core_c::get_eap_type_list(class eap_array_c *) - ?remove_eap_session@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 228 NONAME ; enum eap_status_e eap_core_client_message_if_c::remove_eap_session(bool, class eap_am_network_id_c const *) - ??0eapol_RC4_key_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 229 NONAME ; eapol_RC4_key_header_c::eapol_RC4_key_header_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?unload_module@ethernet_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 230 NONAME ; enum eap_status_e ethernet_core_c::unload_module(class eap_expanded_type_c) - ?set_key_length@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 231 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_length(unsigned short) - ?reset_cached_pmksa@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 232 NONAME ; enum eap_status_e eapol_key_state_c::reset_cached_pmksa(void) - ?complete_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@3W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@4@Z @ 233 NONAME ; enum eap_status_e ethernet_core_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) - ?set_eap_database_reference_values@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 234 NONAME ; enum eap_status_e eap_core_client_message_if_c::set_eap_database_reference_values(class eap_variable_data_c const *) - ?initialize_preauthentication@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 235 NONAME ; enum eap_status_e eapol_key_state_c::initialize_preauthentication(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) - ?get_key_information_key_index@eapol_RSNA_key_header_c@@QBEEXZ @ 236 NONAME ; unsigned char eapol_RSNA_key_header_c::get_key_information_key_index(void) const - ?set_timer@ethernet_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 237 NONAME ; enum eap_status_e ethernet_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ?set_s_nonce@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 238 NONAME ; enum eap_status_e eapol_key_state_c::set_s_nonce(class eap_variable_data_c const *) - ?state_notification@eapol_wlan_authentication_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 239 NONAME ; void eapol_wlan_authentication_c::state_notification(class abs_eap_state_notification_c const *) - ??0eapol_wlan_authentication_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_wlan_authentication_c@@PAVeapol_am_wlan_authentication_c@@_N@Z @ 240 NONAME ; eapol_wlan_authentication_c::eapol_wlan_authentication_c(class abs_eap_am_tools_c *, class abs_eapol_wlan_authentication_c *, class eapol_am_wlan_authentication_c *, bool) - ?set_key_descriptor_type@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@@Z @ 241 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_descriptor_type(enum eapol_key_descriptor_type_e) - ?complete_WPXM_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@@Z @ 242 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_WPXM_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, class eap_variable_data_c const *) - ?set_eapol_packet_type@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@W4eapol_packet_type_e@@@Z @ 243 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_eapol_packet_type(enum eapol_packet_type_e) - ?read_configure@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 244 NONAME ; enum eap_status_e eapol_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?get_key_data@eapol_RSNA_key_header_c@@QBEPAEK@Z @ 245 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_data(unsigned long) const - ?create_group_key_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1_KW4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 246 NONAME ; enum eap_status_e eapol_key_state_c::create_group_key_handshake_message_2(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) - ?process_data@eapol_message_wlan_authentication_c@@QAE?AW4wlan_eap_if_send_status_e@@PBXK@Z @ 247 NONAME ; enum wlan_eap_if_send_status_e eapol_message_wlan_authentication_c::process_data(void const *, unsigned long) - ?complete_disassociation@ethernet_core_c@@UAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 248 NONAME ; enum eap_status_e ethernet_core_c::complete_disassociation(bool, class eap_am_network_id_c const *) - ?configure@eapol_message_wlan_authentication_c@@QAE?AW4eap_status_e@@KKK@Z @ 249 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::configure(unsigned long, unsigned long, unsigned long) - ?configure@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 250 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::configure(void) - ??1eapol_am_wlan_authentication_symbian_c@@UAE@XZ @ 251 NONAME ; eapol_am_wlan_authentication_symbian_c::~eapol_am_wlan_authentication_symbian_c(void) - ?start_WPXM_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0PAVeap_variable_data_c@@PBV4@2@Z @ 252 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_WPXM_reassociation(class eap_am_network_id_c const *, class eap_am_network_id_c const *, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?get_key_information_key_descriptor_version@eapol_RSNA_key_header_c@@QBE?AW4key_descriptor_version_e@1@XZ @ 253 NONAME ; enum eapol_RSNA_key_header_c::key_descriptor_version_e eapol_RSNA_key_header_c::get_key_information_key_descriptor_version(void) const - ??1eapol_wlan_authentication_c@@UAE@XZ @ 254 NONAME ; eapol_wlan_authentication_c::~eapol_wlan_authentication_c(void) - ?process_4_way_handshake_message_3_payloads_a@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@KPA_N@Z @ 255 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_a(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long, bool *) - ?set_bits_on@eapol_RSNA_key_header_c@@QAEGGGKK@Z @ 256 NONAME ; unsigned short eapol_RSNA_key_header_c::set_bits_on(unsigned short, unsigned short, unsigned long, unsigned long) - ?init_retransmission@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKW4eap_code_value_e@@EVeap_expanded_type_c@@@Z @ 257 NONAME ; enum eap_status_e eapol_key_state_c::init_retransmission(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, enum eap_code_value_e, unsigned char, class eap_expanded_type_c) - ?start_preauthentication@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 258 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_preauthentication(class eap_array_c const *) - ?asynchronous_start_authentication@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 259 NONAME ; enum eap_status_e eapol_core_c::asynchronous_start_authentication(class eap_am_network_id_c const *, bool) - ?get_authenticator_MAC_address@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 260 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_authenticator_MAC_address(void) - ?packet_data_session_key@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 261 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *) - ?process_group_key_handshake_message_0@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 262 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message_0(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) - ?create_group_key_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 263 NONAME ; enum eap_status_e eapol_key_state_c::create_group_key_handshake_message_1(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) - ?create_eapol_key_handshake_message_0@eapol_key_state_c@@AAE?AW4eap_status_e@@_NPAVeap_buf_chain_wr_c@@KPAK2_KW4eapol_protocol_version_e@@@Z @ 264 NONAME ; enum eap_status_e eapol_key_state_c::create_eapol_key_handshake_message_0(bool, class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, enum eapol_protocol_version_e) - ?shutdown@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@XZ @ 265 NONAME ; enum eap_status_e eapol_wlan_authentication_c::shutdown(void) - ?get_is_valid@eap_core_client_message_if_c@@UAE_NXZ @ 266 NONAME ; bool eap_core_client_message_if_c::get_is_valid(void) - ?eap_acknowledge@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 267 NONAME ; enum eap_status_e eapol_core_c::eap_acknowledge(class eap_am_network_id_c const *) - ?select_minimum@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAPBV3@1@Z @ 268 NONAME ; enum eap_status_e eapol_key_state_c::select_minimum(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const * *, class eap_variable_data_c const * *) - ?write_configure@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 269 NONAME ; enum eap_status_e eapol_wlan_authentication_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?get_key_information_key_MIC@eapol_RSNA_key_header_c@@QBE_NXZ @ 270 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_key_MIC(void) const - ?check_is_valid_eap_type@ethernet_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 271 NONAME ; enum eap_status_e ethernet_core_c::check_is_valid_eap_type(class eap_expanded_type_c) - ??1eap_core_client_message_if_c@@UAE@XZ @ 272 NONAME ; eap_core_client_message_if_c::~eap_core_client_message_if_c(void) - ?get_key_information@eapol_RSNA_key_header_c@@QBEGXZ @ 273 NONAME ; unsigned short eapol_RSNA_key_header_c::get_key_information(void) const - ?check_is_valid_eap_type@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 274 NONAME ; enum eap_status_e eapol_wlan_authentication_c::check_is_valid_eap_type(class eap_expanded_type_c) - ?start_WPXM_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 275 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_WPXM_reassociation(class eap_array_c const *) - ?send_message@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PAVeapol_handle_tlv_message_data_c@@@Z @ 276 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::send_message(class eapol_handle_tlv_message_data_c *) - ?create_eap_session@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 277 NONAME ; enum eap_status_e eap_core_client_message_if_c::create_eap_session(class eap_am_network_id_c const *) - ?get_802_11_authentication_mode@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2@Z @ 278 NONAME ; enum eap_status_e eap_core_client_message_if_c::get_802_11_authentication_mode(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?process_4_way_handshake_message_3_payloads_b@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K_N@Z @ 279 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_b(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long, bool) - ?disassociation@eapol_core_c@@QAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 280 NONAME ; enum eap_status_e eapol_core_c::disassociation(bool, class eap_am_network_id_c const *) - ?set_eapol_protocol_version@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_protocol_version_e@@@Z @ 281 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_eapol_protocol_version(enum eapol_protocol_version_e) - ??0eapol_key_state_string_c@@QAE@XZ @ 282 NONAME ; eapol_key_state_string_c::eapol_key_state_string_c(void) - ?packet_send@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 283 NONAME ; enum eap_status_e eapol_wlan_authentication_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ?packet_process@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 284 NONAME ; enum eap_status_e eapol_wlan_authentication_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) - ?add_rogue_ap@eapol_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 285 NONAME ; enum eap_status_e eapol_core_c::add_rogue_ap(class eap_array_c &) - ?packet_data_session_key@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 286 NONAME ; enum eap_status_e eapol_wlan_authentication_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *) - ?complete_association@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@3@Z @ 287 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_association(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) - ?get_current_eap_index@eapol_wlan_authentication_c@@UAEKXZ @ 288 NONAME ; unsigned long eapol_wlan_authentication_c::get_current_eap_index(void) - ?packet_send@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 289 NONAME ; enum eap_status_e eapol_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ??0eapol_key_state_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_key_state_c@@PAVabs_eapol_core_c@@_NPBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 290 NONAME ; eapol_key_state_c::eapol_key_state_c(class abs_eap_am_tools_c *, class abs_eapol_key_state_c *, class abs_eapol_core_c *, bool, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) - ?create_tkip_mic_failure_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@W4eapol_protocol_version_e@@@Z @ 291 NONAME ; enum eap_status_e eapol_key_state_c::create_tkip_mic_failure_message(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e, enum eapol_protocol_version_e) - ?cancel_all_authentication_sessions@ethernet_core_c@@QAE?AW4eap_status_e@@XZ @ 292 NONAME ; enum eap_status_e ethernet_core_c::cancel_all_authentication_sessions(void) - ?decrypt_key_data@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@@Z @ 293 NONAME ; enum eap_status_e eapol_key_state_c::decrypt_key_data(class eapol_RSNA_key_header_c *) - ?get_header_offset@eapol_wlan_authentication_c@@UAEKPAK0@Z @ 294 NONAME ; unsigned long eapol_wlan_authentication_c::get_header_offset(unsigned long *, unsigned long *) - ?state_notification@eapol_message_wlan_authentication_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 295 NONAME ; void eapol_message_wlan_authentication_c::state_notification(class abs_eap_state_notification_c const *) - ?check_is_valid_eap_type@eapol_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 296 NONAME ; enum eap_status_e eapol_core_c::check_is_valid_eap_type(class eap_expanded_type_c) - ?association@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@32@Z @ 297 NONAME ; enum eap_status_e ethernet_core_c::association(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *) - ?configure@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@XZ @ 298 NONAME ; enum eap_status_e eapol_wlan_authentication_c::configure(void) - ?get_received_PMKID@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 299 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_received_PMKID(void) - ?set_key_replay_counter@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_K@Z @ 300 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_replay_counter(unsigned long long) - ?allow_4_way_handshake@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 301 NONAME ; enum eap_status_e eapol_key_state_c::allow_4_way_handshake(void) - ?read_reassociation_parameters@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@PBV5@3@Z @ 302 NONAME ; enum eap_status_e ethernet_core_c::read_reassociation_parameters(class eap_am_network_id_c const *, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?check_pmksa_cache@eapol_key_state_c@@QAE?AW4eap_status_e@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@1@Z @ 303 NONAME ; enum eap_status_e eapol_key_state_c::check_pmksa_cache(enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) - ?process_4_way_handshake_message_3@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 304 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_3(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) - ?timer_delete_data@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 305 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::timer_delete_data(unsigned long, void *) - ?resend_packet@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 306 NONAME ; enum eap_status_e eapol_key_state_c::resend_packet(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ?get_eapol_packet_body_length@eapol_RC4_key_header_c@@QBEGXZ @ 307 NONAME ; unsigned short eapol_RC4_key_header_c::get_eapol_packet_body_length(void) const - ?read_reassociation_parameters@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@PBV5@3@Z @ 308 NONAME ; enum eap_status_e eapol_key_state_c::read_reassociation_parameters(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ??1eapol_key_state_c@@UAE@XZ @ 309 NONAME ; eapol_key_state_c::~eapol_key_state_c(void) - ?set_key_data_length@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 310 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_data_length(unsigned short) - ?increase_key_reply_counter@eapol_key_state_c@@AAEXXZ @ 311 NONAME ; void eapol_key_state_c::increase_key_reply_counter(void) - ?verify_key_mic@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@PBVeap_variable_data_c@@@Z @ 312 NONAME ; enum eap_status_e eapol_key_state_c::verify_key_mic(class eapol_RSNA_key_header_c *, class eap_variable_data_c const *) - ??0eapol_handle_tlv_message_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 313 NONAME ; eapol_handle_tlv_message_data_c::eapol_handle_tlv_message_data_c(class abs_eap_am_tools_c *) - ?get_is_client@eapol_wlan_authentication_c@@UAE_NXZ @ 314 NONAME ; bool eapol_wlan_authentication_c::get_is_client(void) - ?save_simple_config_session@ethernet_core_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 315 NONAME ; enum eap_status_e ethernet_core_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *) - ?restart_authentication@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 316 NONAME ; enum eap_status_e eapol_core_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool) - ?started_eap_authentication@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 317 NONAME ; enum eap_status_e eapol_key_state_c::started_eap_authentication(void) - ?set_key_length@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 318 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_length(unsigned short) - ?disassociation@ethernet_core_c@@QAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 319 NONAME ; enum eap_status_e ethernet_core_c::disassociation(bool, class eap_am_network_id_c const *) - ?get_key_index@eapol_RC4_key_header_c@@QBEEXZ @ 320 NONAME ; unsigned char eapol_RC4_key_header_c::get_key_index(void) const - ?get_key_flag@eapol_RC4_key_header_c@@QBE?AW4eapol_RC4_key_flags_e@@XZ @ 321 NONAME ; enum eapol_RC4_key_flags_e eapol_RC4_key_header_c::get_key_flag(void) const - ?eap_acknowledge@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 322 NONAME ; enum eap_status_e eapol_wlan_authentication_c::eap_acknowledge(class eap_am_network_id_c const *) - ?save_simple_config_session@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 323 NONAME ; enum eap_status_e eapol_wlan_authentication_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *) - ?get_key_replay_counter@eapol_RSNA_key_header_c@@QBE_KXZ @ 324 NONAME ; unsigned long long eapol_RSNA_key_header_c::get_key_replay_counter(void) const - ?check_pmksa_cache@eapol_core_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_am_network_id_c@@@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 325 NONAME ; enum eap_status_e eapol_core_c::check_pmksa_cache(class eap_array_c *, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) - ?derive_PTK@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 326 NONAME ; enum eap_status_e eapol_key_state_c::derive_PTK(void) - ?timer_expired@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 327 NONAME ; enum eap_status_e eapol_wlan_authentication_c::timer_expired(unsigned long, void *) - ?get_key_STA_MAC_address@eapol_RSNA_key_header_c@@QBEPAEXZ @ 328 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_STA_MAC_address(void) const - ?packet_process@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 329 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::packet_process(class eap_array_c const *) - ?get_eap_type_list@ethernet_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 330 NONAME ; enum eap_status_e ethernet_core_c::get_eap_type_list(class eap_array_c *) - ?zero_EAPOL_header_and_Key_descriptor@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 331 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_EAPOL_header_and_Key_descriptor(class abs_eap_am_tools_c *) - ?get_replay_counter@eapol_RC4_key_header_c@@QAEPAEXZ @ 332 NONAME ; unsigned char * eapol_RC4_key_header_c::get_replay_counter(void) - ?set_eap_database_reference_values@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 333 NONAME ; enum eap_status_e eapol_core_c::set_eap_database_reference_values(class eap_variable_data_c const *) - ?new_eapol_wlan_authentication@eapol_wlan_authentication_c@@SAPAV1@PAVabs_eap_am_tools_c@@PAVabs_eapol_wlan_authentication_c@@_N@Z @ 334 NONAME ; class eapol_wlan_authentication_c * eapol_wlan_authentication_c::new_eapol_wlan_authentication(class abs_eap_am_tools_c *, class abs_eapol_wlan_authentication_c *, bool) - ?process_message@eap_core_client_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 335 NONAME ; enum eap_status_e eap_core_client_message_if_c::process_message(class eap_process_tlv_message_data_c *) - ?check_pmksa_cache@ethernet_core_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_am_network_id_c@@@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 336 NONAME ; enum eap_status_e ethernet_core_c::check_pmksa_cache(class eap_array_c *, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) - ?start_authentication@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@W4eapol_key_authentication_type_e@@0_NPBVeap_am_network_id_c@@@Z @ 337 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_authentication(class eap_variable_data_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, bool, class eap_am_network_id_c const *) - ?get_is_encryption_on@eapol_key_state_c@@QAE_NXZ @ 338 NONAME ; bool eapol_key_state_c::get_is_encryption_on(void) - ?zero_key_RSC@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 339 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_RSC(class abs_eap_am_tools_c *) - ?parse_key_data@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@PBVeapol_rsna_key_data_header_c@@PAKPAVeapol_rsna_key_data_payloads_c@@W4eapol_key_state_e@@W4key_descriptor_version_e@eapol_RSNA_key_header_c@@@Z @ 340 NONAME ; enum eap_status_e eapol_key_state_c::parse_key_data(enum eapol_key_descriptor_type_e, class eapol_rsna_key_data_header_c const *, unsigned long *, class eapol_rsna_key_data_payloads_c *, enum eapol_key_state_e, enum eapol_RSNA_key_header_c::key_descriptor_version_e) - ?eap_acknowledge@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 341 NONAME ; enum eap_status_e eap_core_client_message_if_c::eap_acknowledge(class eap_am_network_id_c const *) - ?set_am_partner@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eapol_am_wlan_authentication_c@@PAVabs_eap_configuration_if_c@@@Z @ 342 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::set_am_partner(class abs_eapol_am_wlan_authentication_c *, class abs_eap_configuration_if_c *) - ?process_4_way_handshake_message_2_payloads@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 343 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_2_payloads(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) - ?get_eapol_packet_type@eapol_RSNA_key_header_c@@QBE?AW4eapol_packet_type_e@@XZ @ 344 NONAME ; enum eapol_packet_type_e eapol_RSNA_key_header_c::get_eapol_packet_type(void) const - ?get_is_valid@eapol_handle_tlv_message_data_c@@QAE_NXZ @ 345 NONAME ; bool eapol_handle_tlv_message_data_c::get_is_valid(void) - ?send_data@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBXK@Z @ 346 NONAME ; enum eap_status_e eap_core_client_message_if_c::send_data(void const *, unsigned long) - ?get_eapol_packet_length@eapol_RSNA_key_header_c@@QBEGXZ @ 347 NONAME ; unsigned short eapol_RSNA_key_header_c::get_eapol_packet_length(void) const - ?increase_client_send_key_reply_counter@eapol_key_state_c@@AAEXXZ @ 348 NONAME ; void eapol_key_state_c::increase_client_send_key_reply_counter(void) - ?unset_marked_removed@eapol_key_state_c@@QAEXXZ @ 349 NONAME ; void eapol_key_state_c::unset_marked_removed(void) - ?get_ANonce@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 350 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_ANonce(void) - ?send_eap_identity_request@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 351 NONAME ; enum eap_status_e eap_core_client_message_if_c::send_eap_identity_request(class eap_am_network_id_c const *) - ?set_eap_database_reference_values@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 352 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::set_eap_database_reference_values(class eap_variable_data_c const *) - ?add_RSN_GTK_payload@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeapol_RSNA_key_header_c@@PAVeap_variable_data_c@@PAK@Z @ 353 NONAME ; enum eap_status_e eapol_key_state_c::add_RSN_GTK_payload(class eapol_RSNA_key_header_c const *, class eap_variable_data_c *, unsigned long *) - ?set_wlan_parameters@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@_N0W4eapol_key_authentication_type_e@@@Z @ 354 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::set_wlan_parameters(class eap_variable_data_c const *, bool, class eap_variable_data_c const *, enum eapol_key_authentication_type_e) - ?packet_data_session_key@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 355 NONAME ; enum eap_status_e eapol_core_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *) - ?set_timer@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 356 NONAME ; enum eap_status_e eapol_wlan_authentication_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ?get_key_length@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@PAG@Z @ 357 NONAME ; enum eap_status_e eapol_key_state_c::get_key_length(enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, unsigned short *) - ?reset@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 358 NONAME ; enum eap_status_e eapol_key_state_c::reset(void) - ?get_is_valid@eapol_am_wlan_authentication_symbian_c@@UAE_NXZ @ 359 NONAME ; bool eapol_am_wlan_authentication_symbian_c::get_is_valid(void) - ?set_client_send_key_reply_counter@eapol_key_state_c@@AAEX_K@Z @ 360 NONAME ; void eapol_key_state_c::set_client_send_key_reply_counter(unsigned long long) - ?eap_acknowledge@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 361 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::eap_acknowledge(class eap_array_c const *) - ?complete_disassociation@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 362 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_disassociation(class eap_am_network_id_c const *) - ?get_is_valid@eapol_message_wlan_authentication_c@@QAE_NXZ @ 363 NONAME ; bool eapol_message_wlan_authentication_c::get_is_valid(void) - ?process_group_key_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 364 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message_1(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) - ?send_error_message@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@W42@W4eap_tlv_message_type_function_e@@@Z @ 365 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::send_error_message(enum eap_status_e, enum eap_tlv_message_type_function_e) - ?get_is_WPA@eapol_key_state_c@@AAE_NXZ @ 366 NONAME ; bool eapol_key_state_c::get_is_WPA(void) - ?packet_data_crypto_keys@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 367 NONAME ; enum eap_status_e eapol_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *) - ?remove_eapol_key_state@eapol_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 368 NONAME ; enum eap_status_e eapol_core_c::remove_eapol_key_state(class eap_am_network_id_c const *, bool) - ?timer_delete_data@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 369 NONAME ; enum eap_status_e eapol_wlan_authentication_c::timer_delete_data(unsigned long, void *) - ??1eapol_RSNA_key_header_c@@UAE@XZ @ 370 NONAME ; eapol_RSNA_key_header_c::~eapol_RSNA_key_header_c(void) - ?add_rogue_ap@ethernet_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 371 NONAME ; enum eap_status_e ethernet_core_c::add_rogue_ap(class eap_array_c &) - ?get_802_11_authentication_mode@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2@Z @ 372 NONAME ; enum eap_status_e eapol_core_c::get_802_11_authentication_mode(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?process_message@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PAVeapol_handle_tlv_message_data_c@@@Z @ 373 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::process_message(class eapol_handle_tlv_message_data_c *) - ?get_and_increment_global_key_counter@eapol_core_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 374 NONAME ; enum eap_status_e eapol_core_c::get_and_increment_global_key_counter(class eap_variable_data_c *) - ?set_eapol_protocol_version@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@W4eapol_protocol_version_e@@@Z @ 375 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_eapol_protocol_version(enum eapol_protocol_version_e) - ?load_type@ethernet_core_c@@QAEPAVeap_base_type_c@@Veap_expanded_type_c@@@Z @ 376 NONAME ; class eap_base_type_c * ethernet_core_c::load_type(class eap_expanded_type_c) - ?start_preauthentication@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 377 NONAME ; enum eap_status_e eapol_core_c::start_preauthentication(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) - ?set_key_flag@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_RC4_key_flags_e@@@Z @ 378 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_flag(enum eapol_RC4_key_flags_e) - ?timer_delete_data@eapol_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 379 NONAME ; enum eap_status_e eapol_core_c::timer_delete_data(unsigned long, void *) - ?shutdown_operation@eapol_core_c@@SA?AW4eap_status_e@@PAVeapol_key_state_c@@PAVabs_eap_am_tools_c@@@Z @ 380 NONAME ; enum eap_status_e eapol_core_c::shutdown_operation(class eapol_key_state_c *, class abs_eap_am_tools_c *) - ?get_key_NONCE@eapol_RSNA_key_header_c@@QBEPAEXZ @ 381 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_NONCE(void) const - ?complete_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 382 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_reassociation(class eap_array_c const *) - ?process_4_way_handshake_message_4@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 383 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_4(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) - ?add_rogue_ap@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 384 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::add_rogue_ap(class eap_array_c &) - ?init_handshake_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@K@Z @ 385 NONAME ; enum eap_status_e eapol_key_state_c::init_handshake_timeout(unsigned long) - ?check_pmksa_cache@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 386 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::check_pmksa_cache(class eap_array_c const *) - ?check_pmksa_cache@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_am_network_id_c@@@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 387 NONAME ; enum eap_status_e eapol_wlan_authentication_c::check_pmksa_cache(class eap_array_c *, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) - ?parse_generic_key_data_payload@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@W4eapol_RSNA_key_descriptor_type_e@@PAVeapol_rsna_key_data_header_c@@PAKPAVeapol_rsna_key_data_payloads_c@@W4eapol_key_state_e@@@Z @ 388 NONAME ; enum eap_status_e eapol_key_state_c::parse_generic_key_data_payload(enum eapol_key_descriptor_type_e, enum eapol_RSNA_key_descriptor_type_e, class eapol_rsna_key_data_header_c *, unsigned long *, class eapol_rsna_key_data_payloads_c *, enum eapol_key_state_e) - ?set_eapol_key_state@eapol_key_state_c@@AAEXW4eapol_key_state_e@@@Z @ 389 NONAME ; void eapol_key_state_c::set_eapol_key_state(enum eapol_key_state_e) - ?asynchronous_init_remove_eapol_key_state@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 390 NONAME ; enum eap_status_e eapol_key_state_c::asynchronous_init_remove_eapol_key_state(void) - ?get_key_data_length@eapol_RSNA_key_header_c@@QBEGXZ @ 391 NONAME ; unsigned short eapol_RSNA_key_header_c::get_key_data_length(void) const - ?packet_process@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 392 NONAME ; enum eap_status_e eapol_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) - ?set_key_information@eapol_RSNA_key_header_c@@AAE?AW4eap_status_e@@G@Z @ 393 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information(unsigned short) - ?save_simple_config_session@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 394 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *) - ?cancel_group_key_update_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 395 NONAME ; enum eap_status_e eapol_key_state_c::cancel_group_key_update_timeout(void) - ?packet_process@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 396 NONAME ; enum eap_status_e eap_core_client_message_if_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) - ?state_notification@eapol_am_wlan_authentication_symbian_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 397 NONAME ; void eapol_am_wlan_authentication_symbian_c::state_notification(class abs_eap_state_notification_c const *) - ?set_eapol_packet_body_length@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@K@Z @ 398 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_eapol_packet_body_length(unsigned long) - ?create_4_way_handshake_message_3@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 399 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_3(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) - ?start_group_key_handshake@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 400 NONAME ; enum eap_status_e eapol_key_state_c::start_group_key_handshake(class eap_am_network_id_c const *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) - ?process_RC4_key_descriptor@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 401 NONAME ; enum eap_status_e eapol_key_state_c::process_RC4_key_descriptor(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) - ?update_header_offset@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 402 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::update_header_offset(class eap_array_c const *) - ?tkip_mic_failure@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 403 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::tkip_mic_failure(class eap_array_c const *) - ?get_supplicant_RSNA_IE@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 404 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_supplicant_RSNA_IE(void) - ?get_key_descriptor_type@eapol_RC4_key_header_c@@QBE?AW4eapol_key_descriptor_type_e@@XZ @ 405 NONAME ; enum eapol_key_descriptor_type_e eapol_RC4_key_header_c::get_key_descriptor_type(void) const - ?tkip_mic_failure@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 406 NONAME ; enum eap_status_e eapol_core_c::tkip_mic_failure(class eap_am_network_id_c const *, bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e) - ?timer_expired@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 407 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::timer_expired(unsigned long, void *) - ?timer_expired@eapol_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 408 NONAME ; enum eap_status_e eapol_core_c::timer_expired(unsigned long, void *) - ?get_is_RSNA@eapol_key_state_c@@AAE_NXZ @ 409 NONAME ; bool eapol_key_state_c::get_is_RSNA(void) - ?cancel_all_timers@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 410 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::cancel_all_timers(void) - ?get_confirmation_KCK@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 411 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_confirmation_KCK(void) - ?get_key_descriptor_type@eapol_RSNA_key_header_c@@QBE?AW4eapol_key_descriptor_type_e@@XZ @ 412 NONAME ; enum eapol_key_descriptor_type_e eapol_RSNA_key_header_c::get_key_descriptor_type(void) const - ?set_key_information_request@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 413 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_request(bool) - ?get_key@eapol_RC4_key_header_c@@QBEPAEXZ @ 414 NONAME ; unsigned char * eapol_RC4_key_header_c::get_key(void) const - ?tkip_mic_failure@eapol_key_state_c@@QAE?AW4eap_status_e@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 415 NONAME ; enum eap_status_e eapol_key_state_c::tkip_mic_failure(bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e) - ?set_is_valid@ethernet_core_c@@UAEXXZ @ 416 NONAME ; void ethernet_core_c::set_is_valid(void) - ?read_reassociation_parameters@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@PBV5@3@Z @ 417 NONAME ; enum eap_status_e eapol_core_c::read_reassociation_parameters(class eap_am_network_id_c const *, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?disassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 418 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::disassociation(class eap_array_c const *) - ?complete_get_802_11_authentication_mode@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@W42@PBVeap_am_network_id_c@@W4eapol_key_802_11_authentication_mode_e@@@Z @ 419 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_get_802_11_authentication_mode(enum eap_status_e, class eap_am_network_id_c const *, enum eapol_key_802_11_authentication_mode_e) - ?cancel_authentication_session@eapol_core_c@@SA?AW4eap_status_e@@PAVeapol_key_state_c@@PAVabs_eap_am_tools_c@@@Z @ 420 NONAME ; enum eap_status_e eapol_core_c::cancel_authentication_session(class eapol_key_state_c *, class abs_eap_am_tools_c *) - ?cancel_timer@eapol_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 421 NONAME ; enum eap_status_e eapol_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ?state_notification@eapol_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 422 NONAME ; void eapol_core_c::state_notification(class abs_eap_state_notification_c const *) - ?set_eapol_packet_body_length@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 423 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_eapol_packet_body_length(unsigned short) - ?set_key_information_secure@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 424 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_secure(bool) - ??1eapol_rsna_variable_data_c@@UAE@XZ @ 425 NONAME ; eapol_rsna_variable_data_c::~eapol_rsna_variable_data_c(void) - ?get_eapol_key_state@eapol_key_state_c@@ABE?AW4eapol_key_state_e@@XZ @ 426 NONAME ; enum eapol_key_state_e eapol_key_state_c::get_eapol_key_state(void) const - ??0eapol_rsna_key_data_payloads_c@@QAE@PAVabs_eap_am_tools_c@@_N1@Z @ 427 NONAME ; eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payloads_c(class abs_eap_am_tools_c *, bool, bool) - ?set_key_information_key_ack@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 428 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_ack(bool) - ?configure@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 429 NONAME ; enum eap_status_e eapol_key_state_c::configure(void) - ??1eapol_handle_tlv_message_data_c@@UAE@XZ @ 430 NONAME ; eapol_handle_tlv_message_data_c::~eapol_handle_tlv_message_data_c(void) - ?save_parameters@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@1W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 431 NONAME ; enum eap_status_e eapol_key_state_c::save_parameters(enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) - ?timer_expired@eapol_key_state_c@@UAE?AW4eap_status_e@@KPAX@Z @ 432 NONAME ; enum eap_status_e eapol_key_state_c::timer_expired(unsigned long, void *) - ?process_group_key_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 433 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message_2(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) - ??1eapol_am_wlan_authentication_c@@UAE@XZ @ 434 NONAME ; eapol_am_wlan_authentication_c::~eapol_am_wlan_authentication_c(void) + ?set_timer@eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 43 NONAME ; enum eap_status_e eap_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) + ?get_block_size@crypto_md5_c@@UAEKXZ @ 44 NONAME ; unsigned long crypto_md5_c::get_block_size(void) + ??0crypto_random_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 45 NONAME ; crypto_random_c::crypto_random_c(class abs_eap_am_tools_c *) + ??0crypto_hmac_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_crypto_hash_algorithm_c@@_N@Z @ 46 NONAME ; crypto_hmac_c::crypto_hmac_c(class abs_eap_am_tools_c *, class abs_crypto_hash_algorithm_c *, bool) + ?get_client_send_key_reply_counter@eapol_key_state_c@@AAE_KXZ @ 47 NONAME ; unsigned long long eapol_key_state_c::get_client_send_key_reply_counter(void) + ?get_eap_header@eapol_header_rd_c@@QBEPAEXZ @ 48 NONAME ; unsigned char * eapol_header_rd_c::get_eap_header(void) const + ?rc4_decrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAXK@Z @ 49 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_decrypt(class eap_variable_data_c const *, void *, unsigned long) + ?set_key_information_key_MIC@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 50 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_MIC(bool) + ?set_length@eap_header_base_c@@QAEXG_N@Z @ 51 NONAME ; void eap_header_base_c::set_length(unsigned short, bool) + ?read_section@eap_file_config_c@@AAE?AW4eap_status_e@@PAVabs_eap_am_file_input_c@@PAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@@Z @ 52 NONAME ; enum eap_status_e eap_file_config_c::read_section(class abs_eap_am_file_input_c *, class eap_core_map_c *) + ?check_guard_bytes@eap_buf_chain_base_c@@ABE_NPBE@Z @ 53 NONAME ; bool eap_buf_chain_base_c::check_guard_bytes(unsigned char const *) const + ??1eap_am_crypto_rc4_c@@UAE@XZ @ 54 NONAME ; eap_am_crypto_rc4_c::~eap_am_crypto_rc4_c(void) + ?get_protocol_string@eap_state_notification_c@@UBEPBDXZ @ 55 NONAME ; char const * eap_state_notification_c::get_protocol_string(void) const + ?aes_encrypt_block@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 56 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_encrypt_block(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long) + ?sha_256_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 57 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_init(class eap_variable_data_c *) + ?get_is_valid@eap_type_selection_c@@QBE_NXZ @ 58 NONAME ; bool eap_type_selection_c::get_is_valid(void) const + ?get_eapol_key_handshake_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_handshake_type_e@@@Z @ 59 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_handshake_type_string(enum eapol_key_handshake_type_e) + ?cancel_retransmission@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 60 NONAME ; enum eap_status_e eap_core_c::cancel_retransmission(void) + ?get_is_valid@eap_am_crypto_sha_256_c@@QAE_NXZ @ 61 NONAME ; bool eap_am_crypto_sha_256_c::get_is_valid(void) + ?update_wlan_database_reference_values@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 62 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::update_wlan_database_reference_values(class eap_array_c const *) + ?shutdown@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 63 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::shutdown(void) + ?copy_context@crypto_md4_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 64 NONAME ; enum eap_status_e crypto_md4_c::copy_context(class eap_variable_data_c const *) + ?cbc_copy_block@crypto_cbc_c@@AAEXPAXPBXKK@Z @ 65 NONAME ; void crypto_cbc_c::cbc_copy_block(void *, void const *, unsigned long, unsigned long) + ?load_module@eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 66 NONAME ; enum eap_status_e eap_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) + ?get_is_valid@crypto_tls_md5_prf_c@@QAE_NXZ @ 67 NONAME ; bool crypto_tls_md5_prf_c::get_is_valid(void) + ?cancel_all_timers@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@XZ @ 68 NONAME ; enum eap_status_e eapol_wlan_authentication_c::cancel_all_timers(void) + ?get_value@eap_tlv_header_c@@QBEPAEK@Z @ 69 NONAME ; unsigned char * eap_tlv_header_c::get_value(unsigned long) const + ?add_data@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@PBXK@Z @ 70 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data(void const *, unsigned long) + ?set_key_descriptor_type@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@@Z @ 71 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_descriptor_type(enum eapol_key_descriptor_type_e) + ?convert_selected_bytes_to_ascii_armor@eap_am_tools_c@@AAEXEPAKPAE10_N@Z @ 72 NONAME ; void eap_am_tools_c::convert_selected_bytes_to_ascii_armor(unsigned char, unsigned long *, unsigned char *, unsigned char *, unsigned long *, bool) + ?shutdown@eap_session_core_c@@UAE?AW4eap_status_e@@XZ @ 73 NONAME ; enum eap_status_e eap_session_core_c::shutdown(void) + ??1crypto_hmac_c@@UAE@XZ @ 74 NONAME ; crypto_hmac_c::~crypto_hmac_c(void) + ?get_SSID@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 75 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_SSID(void) + ??1crypto_aes_c@@UAE@XZ @ 76 NONAME ; crypto_aes_c::~crypto_aes_c(void) + ?set_is_valid@crypto_tls_base_prf_c@@AAEXXZ @ 77 NONAME ; void crypto_tls_base_prf_c::set_is_valid(void) + ?pulse_timer@eap_am_tools_symbian_c@@UAEKK@Z @ 78 NONAME ; unsigned long eap_am_tools_symbian_c::pulse_timer(unsigned long) + ?get_key_information_error@eapol_RSNA_key_header_c@@QBE_NXZ @ 79 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_error(void) const + ?get_message_data_length@eap_tlv_message_data_c@@QBEKXZ @ 80 NONAME ; unsigned long eap_tlv_message_data_c::get_message_data_length(void) const + ?get_encrypts@crypto_aes_wrap_c@@QAE_NXZ @ 81 NONAME ; bool crypto_aes_wrap_c::get_encrypts(void) + ?hash_final@crypto_sha1_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 82 NONAME ; enum eap_status_e crypto_sha1_c::hash_final(void *, unsigned long *) + ?get_block_size@eap_am_crypto_sha1_c@@QAEKXZ @ 83 NONAME ; unsigned long eap_am_crypto_sha1_c::get_block_size(void) + ?set_type@eapol_ethernet_header_base_c@@QAEXW4eapol_ethernet_type_e@@@Z @ 84 NONAME ; void eapol_ethernet_header_base_c::set_type(enum eapol_ethernet_type_e) + ?set_mem_guard_bytes@eap_buf_chain_base_c@@AAEXXZ @ 85 NONAME ; void eap_buf_chain_base_c::set_mem_guard_bytes(void) + ?copy_context@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_KPBK22@Z @ 86 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::copy_context(class eap_variable_data_c const *, unsigned long long, unsigned long const *, unsigned long const *, unsigned long const *) + ?get_attribute_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Attribute_Type_e@@@Z @ 87 NONAME ; char const * eap_simple_config_trace_string_c::get_attribute_type_string(enum simple_config_Attribute_Type_e) const + ?set_timer@eapol_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 88 NONAME ; enum eap_status_e eapol_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) + ?create_uuid_v5@eap_am_tools_c@@UAE?AW4eap_status_e@@PBXK0KPAVeap_variable_data_c@@@Z @ 89 NONAME ; enum eap_status_e eap_am_tools_c::create_uuid_v5(void const *, unsigned long, void const *, unsigned long, class eap_variable_data_c *) + ?get_key_reserved@eapol_RSNA_key_header_c@@QBEPAEXZ @ 90 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_reserved(void) const + ?rc4_decrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBXPAXK@Z @ 91 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_decrypt(class eap_variable_data_c const *, void const *, void *, unsigned long) + ?add_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KKPBX@Z @ 92 NONAME ; enum eap_status_e eap_tlv_message_data_c::add_message_data(unsigned long, unsigned long, void const *) + ?get_is_valid@crypto_sha1_c@@UAE_NXZ @ 93 NONAME ; bool crypto_sha1_c::get_is_valid(void) + ?set_is_invalid@crypto_md5_c@@AAEXXZ @ 94 NONAME ; void crypto_md5_c::set_is_invalid(void) + ?get_is_reserved@eap_am_mutex_symbian_c@@UBE_NXZ @ 95 NONAME ; bool eap_am_mutex_symbian_c::get_is_reserved(void) const + ?get_key_RSC@eapol_RSNA_key_header_c@@QBEPAEXZ @ 96 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_RSC(void) const + ?complete_reassociation@eapol_key_state_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@3W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@4@Z @ 97 NONAME ; enum eap_status_e eapol_key_state_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) + ?get_md5_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 98 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md5_digest_length(class eap_variable_data_c *) + ?get_wlan_database_reference_values@eapol_message_wlan_authentication_c@@UBE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 99 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::get_wlan_database_reference_values(class eap_variable_data_c *) const + ?tkip_mic_failure@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 100 NONAME ; enum eap_status_e ethernet_core_c::tkip_mic_failure(class eap_am_network_id_c const *, bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e) + ??0crypto_rsa_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 101 NONAME ; crypto_rsa_c::crypto_rsa_c(class abs_eap_am_tools_c *) + ?get_authenticator_RSNA_IE@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 102 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_authenticator_RSNA_IE(void) + ?rsa_encrypt_with_public_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 103 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_encrypt_with_public_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) + ?get_block_size@crypto_sha_256_c@@UAEKXZ @ 104 NONAME ; unsigned long crypto_sha_256_c::get_block_size(void) + ??0eapol_header_wr_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 105 NONAME ; eapol_header_wr_c::eapol_header_wr_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long) + ?send_eap_identity_request@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 106 NONAME ; enum eap_status_e eap_session_core_c::send_eap_identity_request(class eap_am_network_id_c const *) + ?hash_cleanup@crypto_md4_c@@UAE?AW4eap_status_e@@XZ @ 107 NONAME ; enum eap_status_e crypto_md4_c::hash_cleanup(void) + ?get_authentication_counter@eapol_wlan_authentication_c@@QAEKXZ @ 108 NONAME ; unsigned long eapol_wlan_authentication_c::get_authentication_counter(void) + ?object_decrease_reference_count@eap_tlv_message_data_c@@QAEKXZ @ 109 NONAME ; unsigned long eap_tlv_message_data_c::object_decrease_reference_count(void) + ?init@crypto_dsa_c@@QAE?AW4eap_status_e@@XZ @ 110 NONAME ; enum eap_status_e crypto_dsa_c::init(void) + ?create_nonce@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 111 NONAME ; enum eap_status_e eapol_key_state_c::create_nonce(class eap_variable_data_c *, unsigned long) + ?hmac_set_key@crypto_hmac_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 112 NONAME ; enum eap_status_e crypto_hmac_c::hmac_set_key(class eap_variable_data_c const *) + ?get_eap_type_list@eap_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 113 NONAME ; enum eap_status_e eap_core_c::get_eap_type_list(class eap_array_c *) + ?get_type@eapol_ethernet_header_base_c@@QBEGXZ @ 114 NONAME ; unsigned short eapol_ethernet_header_base_c::get_type(void) const + ?encrypt_block@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 115 NONAME ; enum eap_status_e crypto_3des_ede_c::encrypt_block(void const *, void *, unsigned long) + ?get_length@eap_header_base_c@@QBEGXZ @ 116 NONAME ; unsigned short eap_header_base_c::get_length(void) const + ?reset@eap_session_core_c@@QAE?AW4eap_status_e@@XZ @ 117 NONAME ; enum eap_status_e eap_session_core_c::reset(void) + ?set_buffer_length@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 118 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer_length(unsigned long) + ?set_is_invalid@crypto_sha1_c@@AAEXXZ @ 119 NONAME ; void crypto_sha1_c::set_is_invalid(void) + ?dsa_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 120 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_init(class eap_variable_data_c *) + ?get_is_valid@crypto_dsa_c@@QAE_NXZ @ 121 NONAME ; bool crypto_dsa_c::get_is_valid(void) + ?get_SNonce@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 122 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_SNonce(void) + ?asynchronous_init_remove_eap_session@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_network_id_selector_c@@@Z @ 123 NONAME ; enum eap_status_e eap_session_core_c::asynchronous_init_remove_eap_session(class eap_network_id_selector_c const *) + ?unload_module@eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 124 NONAME ; enum eap_status_e eap_core_c::unload_module(class eap_expanded_type_c) + ?aes_decrypt_block@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 125 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_decrypt_block(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long) + ?set_do_packet_retransmission@eap_buf_chain_base_c@@QAEX_N@Z @ 126 NONAME ; void eap_buf_chain_base_c::set_do_packet_retransmission(bool) + ?get_is_valid@crypto_rsa_c@@QAE_NXZ @ 127 NONAME ; bool crypto_rsa_c::get_is_valid(void) + ?initialize_4_way_handshake@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_protocol_version_e@@@Z @ 128 NONAME ; enum eap_status_e eapol_key_state_c::initialize_4_way_handshake(class eap_am_network_id_c const *, enum eapol_protocol_version_e) + ??1eapol_header_base_c@@UAE@XZ @ 129 NONAME ; eapol_header_base_c::~eapol_header_base_c(void) + ??8eap_expanded_type_c@@QBE_NW4eap_type_ietf_values_e@@@Z @ 130 NONAME ; bool eap_expanded_type_c::operator==(enum eap_type_ietf_values_e) const + ?get_type_partner@eap_base_type_c@@QAEPAVabs_eap_base_type_c@@XZ @ 131 NONAME ; class abs_eap_base_type_c * eap_base_type_c::get_type_partner(void) + ?cancel_handshake_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 132 NONAME ; enum eap_status_e eapol_key_state_c::cancel_handshake_timeout(void) + ?read_configure@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 133 NONAME ; enum eap_status_e eap_session_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) + ?memory_store_add_data@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVeap_tlv_message_data_c@@K@Z @ 134 NONAME ; enum eap_status_e eap_am_tools_c::memory_store_add_data(class eap_variable_data_c const *, class eap_tlv_message_data_c *, unsigned long) + ?get_sha_256_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 135 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha_256_digest_length(class eap_variable_data_c *) + ?get_key_information_key_ack@eapol_RSNA_key_header_c@@QBE_NXZ @ 136 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_key_ack(void) const + ?check_header@eapol_RSNA_key_header_c@@UBE?AW4eap_status_e@@XZ @ 137 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::check_header(void) const + ??0eap_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_core_c@@_NPBVeap_am_network_id_c@@2@Z @ 138 NONAME ; eap_core_c::eap_core_c(class abs_eap_am_tools_c *, class abs_eap_core_c *, bool, class eap_am_network_id_c const *, bool) + ?set_decryption_key@crypto_aes_c@@UAE?AW4eap_status_e@@PBXK@Z @ 139 NONAME ; enum eap_status_e crypto_aes_c::set_decryption_key(void const *, unsigned long) + ?get_is_manipulated@eap_buf_chain_base_c@@QAE_NXZ @ 140 NONAME ; bool eap_buf_chain_base_c::get_is_manipulated(void) + ?get_source@eap_am_network_id_c@@QBEPBEXZ @ 141 NONAME ; unsigned char const * eap_am_network_id_c::get_source(void) const + ?cancel_timer@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 142 NONAME ; enum eap_status_e eapol_wlan_authentication_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) + ??0crypto_3des_ede_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 143 NONAME ; crypto_3des_ede_c::crypto_3des_ede_c(class abs_eap_am_tools_c *) + ?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_am_network_id_c@@@Z @ 144 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_am_network_id_c *) + ??0eap_am_memory_store_tlv_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 145 NONAME ; eap_am_memory_store_tlv_data_c::eap_am_memory_store_tlv_data_c(class abs_eap_am_tools_c *) + ??1crypto_md5_c@@UAE@XZ @ 146 NONAME ; crypto_md5_c::~crypto_md5_c(void) + ?set_trace_file_name@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 147 NONAME ; enum eap_status_e eap_am_tools_symbian_c::set_trace_file_name(class eap_variable_data_c const *) + ?start_WPXM_reassociation@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@@Z @ 148 NONAME ; enum eap_status_e eapol_core_c::start_WPXM_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *) + ?state_notification@ethernet_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 149 NONAME ; void ethernet_core_c::state_notification(class abs_eap_state_notification_c const *) + ?set_is_valid@crypto_ephemeral_diffie_hellman_c@@QAEXXZ @ 150 NONAME ; void crypto_ephemeral_diffie_hellman_c::set_is_valid(void) + ?init_pmksa_caching_timeout@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 151 NONAME ; enum eap_status_e eapol_key_state_c::init_pmksa_caching_timeout(void) + ?disassociation@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 152 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::disassociation(class eap_am_network_id_c const *) + ??1eap_am_file_input_symbian_c@@UAE@XZ @ 153 NONAME ; eap_am_file_input_symbian_c::~eap_am_file_input_symbian_c(void) + ?get_Encryption_Type@simple_config_credential_c@@QAE?AW4simple_config_Encryption_Type_e@@XZ @ 154 NONAME ; enum simple_config_Encryption_Type_e simple_config_credential_c::get_Encryption_Type(void) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@W42@@Z @ 155 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(enum eap_status_e) + ?get_digest_length@crypto_md4_c@@UAEKXZ @ 156 NONAME ; unsigned long crypto_md4_c::get_digest_length(void) + ?eap_read_u16_t_little_endian_order@@YAGPBXK@Z @ 157 NONAME ; unsigned short eap_read_u16_t_little_endian_order(void const *, unsigned long) + ?get_EAPOL_key_IV@eapol_RSNA_key_header_c@@QBEPAEXZ @ 158 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_EAPOL_key_IV(void) const + ?get_vendor_id@eap_expanded_type_c@@QBE?AW4eap_type_vendor_id_e@@XZ @ 159 NONAME ; enum eap_type_vendor_id_e eap_expanded_type_c::get_vendor_id(void) const + ?decrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 160 NONAME ; enum eap_status_e crypto_rc4_c::decrypt_data(void const *, void *, unsigned long) + ?write_configure@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 161 NONAME ; enum eap_status_e ethernet_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) + ?u64_struct_to_u64_t@eap_am_tools_symbian_c@@UAE_KUu64_struct@@@Z @ 162 NONAME ; unsigned long long eap_am_tools_symbian_c::u64_struct_to_u64_t(struct u64_struct) + ?get_eap_identifier@eap_core_nak_info_c@@QBEEXZ @ 163 NONAME ; unsigned char eap_core_nak_info_c::get_eap_identifier(void) const + ??0crypto_aes_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 164 NONAME ; crypto_aes_c::crypto_aes_c(class abs_eap_am_tools_c *) + ?md4_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 165 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_final(class eap_variable_data_c *, unsigned char *, unsigned long *) + ?t_prf_init@crypto_eap_fast_hmac_sha1_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 166 NONAME ; enum eap_status_e crypto_eap_fast_hmac_sha1_prf_c::t_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) + ??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_variable_data_c@@1G@Z @ 167 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned short) + ??1abs_crypto_block_algorithm_c@@UAE@XZ @ 168 NONAME ; abs_crypto_block_algorithm_c::~abs_crypto_block_algorithm_c(void) + ?add_data_to_offset@eap_variable_data_c@@QAE?AW4eap_status_e@@KPBXK@Z @ 169 NONAME ; enum eap_status_e eap_variable_data_c::add_data_to_offset(unsigned long, void const *, unsigned long) + ?create_uuid_v5_from_mac_address@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAVeap_variable_data_c@@@Z @ 170 NONAME ; enum eap_status_e eap_am_tools_c::create_uuid_v5_from_mac_address(unsigned char const *, unsigned long, class eap_variable_data_c *) + ?shutdown_operation@eap_core_c@@CA?AW4eap_status_e@@PAVeap_base_type_c@@PAVabs_eap_am_tools_c@@@Z @ 171 NONAME ; enum eap_status_e eap_core_c::shutdown_operation(class eap_base_type_c *, class abs_eap_am_tools_c *) + ?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_expanded_type_c@@@Z @ 172 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_expanded_type_c *) + ?create_state@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 173 NONAME ; enum eap_status_e eapol_core_c::create_state(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) + ?stop_timer_thread@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 174 NONAME ; enum eap_status_e eap_am_tools_symbian_c::stop_timer_thread(void) + ?start_WPXM_reassociation@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@@Z @ 175 NONAME ; enum eap_status_e eapol_key_state_c::start_WPXM_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *) + ?get_mac_address@eap_rogue_ap_entry_c@@QBEPAEXZ @ 176 NONAME ; unsigned char * eap_rogue_ap_entry_c::get_mac_address(void) const + ?compare_length@eap_variable_data_c@@QBEJPBV1@K@Z @ 177 NONAME ; long eap_variable_data_c::compare_length(class eap_variable_data_c const *, unsigned long) const + ??0eap_am_mutex_base_c@@QAE@XZ @ 178 NONAME ; eap_am_mutex_base_c::eap_am_mutex_base_c(void) + ?cancel_all_timers@eapol_core_c@@UAE?AW4eap_status_e@@XZ @ 179 NONAME ; enum eap_status_e eapol_core_c::cancel_all_timers(void) + ?get_header_buffer_length@eap_general_header_base_c@@QBEKXZ @ 180 NONAME ; unsigned long eap_general_header_base_c::get_header_buffer_length(void) const + ?get_data_length@eap_variable_data_c@@QBEKXZ @ 181 NONAME ; unsigned long eap_variable_data_c::get_data_length(void) const + ?restart_authentication@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 182 NONAME ; enum eap_status_e eap_session_core_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool) + ?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PA_K@Z @ 183 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned long long *) + ?add_rand_seed@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBEK@Z @ 184 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::add_rand_seed(unsigned char const *, unsigned long) + ??0simple_config_credential_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 185 NONAME ; simple_config_credential_c::simple_config_credential_c(class abs_eap_am_tools_c *) + ?process_4_way_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 186 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_2(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) + ?set_type@eap_am_network_id_c@@QAEXG@Z @ 187 NONAME ; void eap_am_network_id_c::set_type(unsigned short) + ?set_is_valid@eap_variable_data_c@@QAEXXZ @ 188 NONAME ; void eap_variable_data_c::set_is_valid(void) + ?get_trace_mask@eap_am_tools_c@@UBEKXZ @ 189 NONAME ; unsigned long eap_am_tools_c::get_trace_mask(void) const + ?start_authentication@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 190 NONAME ; enum eap_status_e ethernet_core_c::start_authentication(class eap_am_network_id_c const *, bool) + ?get_owner_thread@eap_am_mutex_symbian_c@@QBEPBVRThread@@XZ @ 191 NONAME ; class RThread const * eap_am_mutex_symbian_c::get_owner_thread(void) const + ?copy@eap_am_crypto_sha_256_c@@QAEPAV1@XZ @ 192 NONAME ; class eap_am_crypto_sha_256_c * eap_am_crypto_sha_256_c::copy(void) + ??0crypto_md5_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 193 NONAME ; crypto_md5_c::crypto_md5_c(class abs_eap_am_tools_c *) + ??1eapol_ethernet_header_wr_c@@UAE@XZ @ 194 NONAME ; eapol_ethernet_header_wr_c::~eapol_ethernet_header_wr_c(void) + ?parse_nai@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@1@Z @ 195 NONAME ; enum eap_status_e eap_am_tools_c::parse_nai(class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *) + ?get_eap_type@eap_state_notification_c@@UBE?AVeap_expanded_type_c@@XZ @ 196 NONAME ; class eap_expanded_type_c eap_state_notification_c::get_eap_type(void) const + ?reset_cached_pmksa@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 197 NONAME ; enum eap_status_e eapol_key_state_c::reset_cached_pmksa(void) + ?get_header_offset@eap_session_core_c@@UAEKPAK0@Z @ 198 NONAME ; unsigned long eap_session_core_c::get_header_offset(unsigned long *, unsigned long *) + ?get_key_information_key_index@eapol_RSNA_key_header_c@@QBEEXZ @ 199 NONAME ; unsigned char eapol_RSNA_key_header_c::get_key_information_key_index(void) const + ?decrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 200 NONAME ; enum eap_status_e crypto_cbc_c::decrypt_data(void const *, void *, unsigned long) + ?hmac_128_final@crypto_hmac_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 201 NONAME ; enum eap_status_e crypto_hmac_c::hmac_128_final(void *, unsigned long *) + ?get_is_valid@crypto_rc4_c@@UAE_NXZ @ 202 NONAME ; bool crypto_rc4_c::get_is_valid(void) + ?complete_WPXM_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@@Z @ 203 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_WPXM_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, class eap_variable_data_c const *) + ?new_eapol_wlan_authentication@eapol_wlan_authentication_c@@SAPAV1@PAVabs_eap_am_tools_c@@PAVabs_eapol_wlan_authentication_c@@_NPBVabs_eapol_wlan_database_reference_if_c@@@Z @ 204 NONAME ; class eapol_wlan_authentication_c * eapol_wlan_authentication_c::new_eapol_wlan_authentication(class abs_eap_am_tools_c *, class abs_eapol_wlan_authentication_c *, bool, class abs_eapol_wlan_database_reference_if_c const *) + ?set_is_valid@eap_session_core_c@@UAEXXZ @ 205 NONAME ; void eap_session_core_c::set_is_valid(void) + ?re_activate_timer_queue@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 206 NONAME ; enum eap_status_e eap_am_tools_symbian_c::re_activate_timer_queue(void) + ?eap_host_to_little_endian_long_long@@YA_K_K@Z @ 207 NONAME ; unsigned long long eap_host_to_little_endian_long_long(unsigned long long) + ?set_bits_on@eapol_RSNA_key_header_c@@QAEGGGKK@Z @ 208 NONAME ; unsigned short eapol_RSNA_key_header_c::set_bits_on(unsigned short, unsigned short, unsigned long, unsigned long) + ??1eap_buf_chain_rd_c@@UAE@XZ @ 209 NONAME ; eap_buf_chain_rd_c::~eap_buf_chain_rd_c(void) + ?set_decryption_key_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 210 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::set_decryption_key_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned long) + ??0eap_am_mutex_symbian_c@@QAE@PBV0@@Z @ 211 NONAME ; eap_am_mutex_symbian_c::eap_am_mutex_symbian_c(class eap_am_mutex_symbian_c const *) + ?start_preauthentication@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 212 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_preauthentication(class eap_array_c const *) + ?eap_status_return_file_number@eap_am_tools_c@@UAE?AW4eap_status_e@@_NW42@KKJ@Z @ 213 NONAME ; enum eap_status_e eap_am_tools_c::eap_status_return_file_number(bool, enum eap_status_e, unsigned long, unsigned long, long) + ??1eap_core_c@@UAE@XZ @ 214 NONAME ; eap_core_c::~eap_core_c(void) + ?create_eapol_key_handshake_message_0@eapol_key_state_c@@AAE?AW4eap_status_e@@_NPAVeap_buf_chain_wr_c@@KPAK2_KW4eapol_protocol_version_e@@@Z @ 215 NONAME ; enum eap_status_e eapol_key_state_c::create_eapol_key_handshake_message_0(bool, class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, enum eapol_protocol_version_e) + ?copy_context@crypto_sha_256_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 216 NONAME ; enum eap_status_e crypto_sha_256_c::copy_context(class eap_variable_data_c const *) + ??0eap_header_wr_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 217 NONAME ; eap_header_wr_c::eap_header_wr_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long) + ?hash_init@crypto_sha1_c@@UAE?AW4eap_status_e@@XZ @ 218 NONAME ; enum eap_status_e crypto_sha1_c::hash_init(void) + ?check_is_valid_eap_type@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 219 NONAME ; enum eap_status_e eapol_wlan_authentication_c::check_is_valid_eap_type(class eap_expanded_type_c) + ?set_copy_of_network_id@eap_am_network_id_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 220 NONAME ; enum eap_status_e eap_am_network_id_c::set_copy_of_network_id(class eap_am_network_id_c const *) + ?hash@eap_variable_data_c@@QBEKK@Z @ 221 NONAME ; unsigned long eap_variable_data_c::hash(unsigned long) const + ?get_subsect@eap_file_config_c@@AAE?AW4eap_status_e@@PAVabs_eap_am_file_input_c@@PAVeap_variable_data_c@@@Z @ 222 NONAME ; enum eap_status_e eap_file_config_c::get_subsect(class abs_eap_am_file_input_c *, class eap_variable_data_c *) + ?eap_status_return@eap_am_tools_c@@UAE?AW4eap_status_e@@_NW42@PBDJ@Z @ 223 NONAME ; enum eap_status_e eap_am_tools_c::eap_status_return(bool, enum eap_status_e, char const *, long) + ?object_increase_reference_count@eap_core_c@@QAEXXZ @ 224 NONAME ; void eap_core_c::object_increase_reference_count(void) + ?send_message@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PAVeapol_handle_tlv_message_data_c@@@Z @ 225 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::send_message(class eapol_handle_tlv_message_data_c *) + ?expand_key@crypto_kd_hmac_sha256_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@KPBV3@1@Z @ 226 NONAME ; enum eap_status_e crypto_kd_hmac_sha256_c::expand_key(class eap_variable_data_c *, unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *) + ?set_is_invalid@crypto_tls_sha1_prf_c@@AAEXXZ @ 227 NONAME ; void crypto_tls_sha1_prf_c::set_is_invalid(void) + ?process_4_way_handshake_message_3_payloads_b@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K_N@Z @ 228 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_b(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long, bool) + ?get_is_valid@crypto_eap_fast_hmac_sha1_prf_c@@QAE_NXZ @ 229 NONAME ; bool crypto_eap_fast_hmac_sha1_prf_c::get_is_valid(void) + ?copy@eap_rogue_ap_entry_c@@QBEPAV1@XZ @ 230 NONAME ; class eap_rogue_ap_entry_c * eap_rogue_ap_entry_c::copy(void) const + ?set_is_valid@crypto_cbc_c@@UAEXXZ @ 231 NONAME ; void crypto_cbc_c::set_is_valid(void) + ?tls_prf_cleanup@crypto_tls_prf_c@@QAE?AW4eap_status_e@@XZ @ 232 NONAME ; enum eap_status_e crypto_tls_prf_c::tls_prf_cleanup(void) + ?get_packet_type@eapol_header_base_c@@QBE?AW4eapol_packet_type_e@@XZ @ 233 NONAME ; enum eapol_packet_type_e eapol_header_base_c::get_packet_type(void) const + ?copy@crypto_sha1_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 234 NONAME ; class abs_crypto_hash_algorithm_c * crypto_sha1_c::copy(void) + ?add_rogue_ap@eapol_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 235 NONAME ; enum eap_status_e eapol_core_c::add_rogue_ap(class eap_array_c &) + ?timer_expired@eap_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 236 NONAME ; enum eap_status_e eap_core_c::timer_expired(unsigned long, void *) + ?get_data_length@eapol_ethernet_header_base_c@@QBEKXZ @ 237 NONAME ; unsigned long eapol_ethernet_header_base_c::get_data_length(void) const + ?file_read_line@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 238 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_read_line(class eap_variable_data_c *) + ?decrypt_key_data@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@@Z @ 239 NONAME ; enum eap_status_e eapol_key_state_c::decrypt_key_data(class eapol_RSNA_key_header_c *) + ?reset@eap_core_c@@QAE?AW4eap_status_e@@XZ @ 240 NONAME ; enum eap_status_e eap_core_c::reset(void) + ?state_notification@eapol_message_wlan_authentication_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 241 NONAME ; void eapol_message_wlan_authentication_c::state_notification(class abs_eap_state_notification_c const *) + ?get_received_PMKID@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 242 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_received_PMKID(void) + ?eap_host_to_little_endian_short@@YAGG@Z @ 243 NONAME ; unsigned short eap_host_to_little_endian_short(unsigned short) + ?configure@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@XZ @ 244 NONAME ; enum eap_status_e eapol_wlan_authentication_c::configure(void) + ?get_key_index@eapol_session_key_c@@QBEKXZ @ 245 NONAME ; unsigned long eapol_session_key_c::get_key_index(void) const + ?get_message_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Message_Type_e@@@Z @ 246 NONAME ; char const * eap_simple_config_trace_string_c::get_message_type_string(enum simple_config_Message_Type_e) const + ??0eap_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@PBXK_N2@Z @ 247 NONAME ; eap_variable_data_c::eap_variable_data_c(class abs_eap_am_tools_c *, void const *, unsigned long, bool, bool) + ?check_pmksa_cache@eapol_key_state_c@@QAE?AW4eap_status_e@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@1@Z @ 248 NONAME ; enum eap_status_e eapol_key_state_c::check_pmksa_cache(enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) + ??1abs_crypto_stream_algorithm_c@@UAE@XZ @ 249 NONAME ; abs_crypto_stream_algorithm_c::~abs_crypto_stream_algorithm_c(void) + ??1eapol_ethernet_header_base_c@@UAE@XZ @ 250 NONAME ; eapol_ethernet_header_base_c::~eapol_ethernet_header_base_c(void) + ?eap_read_u24_t_network_order@@YAKPBXK@Z @ 251 NONAME ; unsigned long eap_read_u24_t_network_order(void const *, unsigned long) + ??0eapol_am_wlan_authentication_symbian_c@@QAE@PAVabs_eap_am_tools_c@@_NPBVabs_eapol_wlan_database_reference_if_c@@@Z @ 252 NONAME ; eapol_am_wlan_authentication_symbian_c::eapol_am_wlan_authentication_symbian_c(class abs_eap_am_tools_c *, bool, class abs_eapol_wlan_database_reference_if_c const *) + ?set_key_data_length@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 253 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_data_length(unsigned short) + ?hash_init@eap_am_crypto_md4_c@@QAE?AW4eap_status_e@@XZ @ 254 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_init(void) + ?cnf_get_string@eap_file_config_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@1PAW4eap_configure_type_e@@@Z @ 255 NONAME ; enum eap_status_e eap_file_config_c::cnf_get_string(class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, enum eap_configure_type_e *) + ?increase_key_reply_counter@eapol_key_state_c@@AAEXXZ @ 256 NONAME ; void eapol_key_state_c::increase_key_reply_counter(void) + ?sleep@eap_am_tools_symbian_c@@UAEXK@Z @ 257 NONAME ; void eap_am_tools_symbian_c::sleep(unsigned long) + ?eap_sha1_process_data_host_order@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PBKK@Z @ 258 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::eap_sha1_process_data_host_order(unsigned long const *, unsigned long) + ?restart_authentication@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 259 NONAME ; enum eap_status_e eapol_core_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool) + ?started_eap_authentication@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 260 NONAME ; enum eap_status_e eapol_key_state_c::started_eap_authentication(void) + ?get_key_flag@eapol_RC4_key_header_c@@QBE?AW4eapol_RC4_key_flags_e@@XZ @ 261 NONAME ; enum eapol_RC4_key_flags_e eapol_RC4_key_header_c::get_key_flag(void) const + ?get_data@eapol_header_base_c@@QBEPAEK@Z @ 262 NONAME ; unsigned char * eapol_header_base_c::get_data(unsigned long) const + ?get_block_size@crypto_sha1_c@@UAEKXZ @ 263 NONAME ; unsigned long crypto_sha1_c::get_block_size(void) + ?set_is_valid@crypto_tls_sha1_prf_c@@AAEXXZ @ 264 NONAME ; void crypto_tls_sha1_prf_c::set_is_valid(void) + ?get_clock_ticks@eap_am_tools_symbian_c@@UAE_KXZ @ 265 NONAME ; unsigned long long eap_am_tools_symbian_c::get_clock_ticks(void) + ?packet_process@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 266 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::packet_process(class eap_array_c const *) + ?get_data@eap_buf_chain_base_c@@QBEPAEK@Z @ 267 NONAME ; unsigned char * eap_buf_chain_base_c::get_data(unsigned long) const + ?zero_EAPOL_header_and_Key_descriptor@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 268 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_EAPOL_header_and_Key_descriptor(class abs_eap_am_tools_c *) + ?copy@network_key_and_index_c@@QAEPAV1@XZ @ 269 NONAME ; class network_key_and_index_c * network_key_and_index_c::copy(void) + ?get_is_encryption_on@eapol_key_state_c@@QAE_NXZ @ 270 NONAME ; bool eapol_key_state_c::get_is_encryption_on(void) + ?copy@crypto_md5_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 271 NONAME ; class abs_crypto_hash_algorithm_c * crypto_md5_c::copy(void) + ?get_rand_bytes@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAEK@Z @ 272 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::get_rand_bytes(unsigned char *, unsigned long) + ?get_type@eap_am_network_id_c@@QBEGXZ @ 273 NONAME ; unsigned short eap_am_network_id_c::get_type(void) const + ?get_eap_type@eap_master_session_key_c@@QBE?AVeap_expanded_type_c@@XZ @ 274 NONAME ; class eap_expanded_type_c eap_master_session_key_c::get_eap_type(void) const + ?get_key_length@crypto_cbc_c@@UAEKXZ @ 275 NONAME ; unsigned long crypto_cbc_c::get_key_length(void) + ?packet_data_session_key@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 276 NONAME ; enum eap_status_e eapol_core_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *) + ?get_key_length@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@PAG@Z @ 277 NONAME ; enum eap_status_e eapol_key_state_c::get_key_length(enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, unsigned short *) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@E@Z @ 278 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(unsigned char) + ?packet_process@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 279 NONAME ; enum eap_status_e eap_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) + ?hash_init@crypto_md5_c@@UAE?AW4eap_status_e@@XZ @ 280 NONAME ; enum eap_status_e crypto_md5_c::hash_init(void) + ??0eap_session_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_core_c@@_N@Z @ 281 NONAME ; eap_session_core_c::eap_session_core_c(class abs_eap_am_tools_c *, class abs_eap_core_c *, bool) + ?memmove@eap_am_tools_symbian_c@@UAEXPAXPBXK@Z @ 282 NONAME ; void eap_am_tools_symbian_c::memmove(void *, void const *, unsigned long) + ?set_marked_removed@eap_core_c@@QAEXXZ @ 283 NONAME ; void eap_core_c::set_marked_removed(void) + ?get_is_valid@eapol_message_wlan_authentication_c@@QAE_NXZ @ 284 NONAME ; bool eapol_message_wlan_authentication_c::get_is_valid(void) + ?set_key_type@eapol_session_key_c@@QAEXW4eapol_key_type_e@@@Z @ 285 NONAME ; void eapol_session_key_c::set_key_type(enum eapol_key_type_e) + ?eap_htonl@@YAKK@Z @ 286 NONAME ; unsigned long eap_htonl(unsigned long) + ?sha_256_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 287 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_update(class eap_variable_data_c *, unsigned char const *, unsigned long) + ?eap_md4_transform_host_order@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PBKK@Z @ 288 NONAME ; enum eap_status_e eap_am_crypto_md4_c::eap_md4_transform_host_order(unsigned long const *, unsigned long) + ?add_rogue_ap@ethernet_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 289 NONAME ; enum eap_status_e ethernet_core_c::add_rogue_ap(class eap_array_c &) + ??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 290 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *) + ?get_is_valid@eap_am_crypto_rc4_c@@QAE_NXZ @ 291 NONAME ; bool eap_am_crypto_rc4_c::get_is_valid(void) + ?get_and_increment_global_key_counter@eapol_core_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 292 NONAME ; enum eap_status_e eapol_core_c::get_and_increment_global_key_counter(class eap_variable_data_c *) + ?set_version@eapol_header_base_c@@QAEXW4eapol_protocol_version_e@@@Z @ 293 NONAME ; void eapol_header_base_c::set_version(enum eapol_protocol_version_e) + ?set_encryption_key@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXK@Z @ 294 NONAME ; enum eap_status_e crypto_aes_wrap_c::set_encryption_key(void const *, unsigned long) + ?start_preauthentication@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 295 NONAME ; enum eap_status_e eapol_core_c::start_preauthentication(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) + ?write_configure@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 296 NONAME ; enum eap_status_e eap_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) + ?cleanup@crypto_rsa_c@@QAE?AW4eap_status_e@@XZ @ 297 NONAME ; enum eap_status_e crypto_rsa_c::cleanup(void) + ?object_decrease_reference_count@eap_base_type_c@@QAEKXZ @ 298 NONAME ; unsigned long eap_base_type_c::object_decrease_reference_count(void) + ?get_is_valid@crypto_md4_c@@UAE_NXZ @ 299 NONAME ; bool crypto_md4_c::get_is_valid(void) + ??1eap_header_rd_c@@UAE@XZ @ 300 NONAME ; eap_header_rd_c::~eap_header_rd_c(void) + ?allocate_message_buffer@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KKPAPAX@Z @ 301 NONAME ; enum eap_status_e eap_tlv_message_data_c::allocate_message_buffer(unsigned long, unsigned long, void * *) + ?hash_cleanup@crypto_sha1_c@@UAE?AW4eap_status_e@@XZ @ 302 NONAME ; enum eap_status_e crypto_sha1_c::hash_cleanup(void) + ?convert_hex_ascii_to_bytes@eap_am_tools_c@@UAE?AW4eap_status_e@@PBXKPAVeap_variable_data_c@@@Z @ 303 NONAME ; enum eap_status_e eap_am_tools_c::convert_hex_ascii_to_bytes(void const *, unsigned long, class eap_variable_data_c *) + ?check_pmksa_cache@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_am_network_id_c@@@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 304 NONAME ; enum eap_status_e eapol_wlan_authentication_c::check_pmksa_cache(class eap_array_c *, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) + ?parse_generic_key_data_payload@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@W4eapol_RSNA_key_descriptor_type_e@@PAVeapol_rsna_key_data_header_c@@PAKPAVeapol_rsna_key_data_payloads_c@@W4eapol_key_state_e@@@Z @ 305 NONAME ; enum eap_status_e eapol_key_state_c::parse_generic_key_data_payload(enum eapol_key_descriptor_type_e, enum eapol_RSNA_key_descriptor_type_e, class eapol_rsna_key_data_header_c *, unsigned long *, class eapol_rsna_key_data_payloads_c *, enum eapol_key_state_e) + ?hash_update@eap_am_crypto_md4_c@@QAE?AW4eap_status_e@@PBXK@Z @ 306 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_update(void const *, unsigned long) + ?set_key_information@eapol_RSNA_key_header_c@@AAE?AW4eap_status_e@@G@Z @ 307 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information(unsigned short) + ?get_is_reserved@eap_am_mutex_base_c@@QBE_NXZ @ 308 NONAME ; bool eap_am_mutex_base_c::get_is_reserved(void) const + ?start_group_key_handshake@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 309 NONAME ; enum eap_status_e eapol_key_state_c::start_group_key_handshake(class eap_am_network_id_c const *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) + ?process_RC4_key_descriptor@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 310 NONAME ; enum eap_status_e eapol_key_state_c::process_RC4_key_descriptor(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) + ?hash_init@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@XZ @ 311 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_init(void) + ?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAV?$eap_array_c@Vsimple_config_credential_c@@@@@Z @ 312 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_array_c *) + ?get_is_valid@crypto_cbc_c@@UAE_NXZ @ 313 NONAME ; bool crypto_cbc_c::get_is_valid(void) + ?convert_bytes_to_ascii_armor@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 314 NONAME ; enum eap_status_e eap_am_tools_c::convert_bytes_to_ascii_armor(unsigned char const *, unsigned long, unsigned char *, unsigned long *) + ?copy@eap_network_id_selector_c@@QBEPAV1@XZ @ 315 NONAME ; class eap_network_id_selector_c * eap_network_id_selector_c::copy(void) const + ?get_mem_guard_length@eap_buf_chain_base_c@@QAEKXZ @ 316 NONAME ; unsigned long eap_buf_chain_base_c::get_mem_guard_length(void) + ?get_key_descriptor_type@eapol_RC4_key_header_c@@QBE?AW4eapol_key_descriptor_type_e@@XZ @ 317 NONAME ; enum eapol_key_descriptor_type_e eapol_RC4_key_header_c::get_key_descriptor_type(void) const + ?eap_write_u16_t_little_endian_order@@YA?AW4eap_status_e@@PAXKG@Z @ 318 NONAME ; enum eap_status_e eap_write_u16_t_little_endian_order(void *, unsigned long, unsigned short) + ?timer_expired@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 319 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::timer_expired(unsigned long, void *) + ??1crypto_3des_ede_c@@UAE@XZ @ 320 NONAME ; crypto_3des_ede_c::~crypto_3des_ede_c(void) + ?timer_expired@eapol_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 321 NONAME ; enum eap_status_e eapol_core_c::timer_expired(unsigned long, void *) + ?get_saved_eap_identity@eap_core_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 322 NONAME ; enum eap_status_e eap_core_c::get_saved_eap_identity(class eap_variable_data_c *) + ?convert_ascii_to_uppercase@eap_am_tools_c@@UAE?AW4eap_status_e@@PAEK@Z @ 323 NONAME ; enum eap_status_e eap_am_tools_c::convert_ascii_to_uppercase(unsigned char *, unsigned long) + ?decrypt_with_private_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 324 NONAME ; enum eap_status_e crypto_rsa_c::decrypt_with_private_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) + ?cancel_all_timers@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 325 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::cancel_all_timers(void) + ?tls_prf_output@crypto_tls_prf_c@@QAE?AW4eap_status_e@@PAXK@Z @ 326 NONAME ; enum eap_status_e crypto_tls_prf_c::tls_prf_output(void *, unsigned long) + ?get_is_writable@eap_variable_data_c@@QBE_NXZ @ 327 NONAME ; bool eap_variable_data_c::get_is_writable(void) const + ?convert_eap_type_to_u64_t@@YA_KVeap_expanded_type_c@@@Z @ 328 NONAME ; unsigned long long convert_eap_type_to_u64_t(class eap_expanded_type_c) + ?hash_cleanup@crypto_sha_256_c@@UAE?AW4eap_status_e@@XZ @ 329 NONAME ; enum eap_status_e crypto_sha_256_c::hash_cleanup(void) + ?get_vendor_type@eap_expanded_type_c@@QBEKXZ @ 330 NONAME ; unsigned long eap_expanded_type_c::get_vendor_type(void) const + ?get_expanded_ietf_type_offset@eap_header_base_c@@SAKXZ @ 331 NONAME ; unsigned long eap_header_base_c::get_expanded_ietf_type_offset(void) + ?get_data@eap_variable_data_c@@QBEPAEK@Z @ 332 NONAME ; unsigned char * eap_variable_data_c::get_data(unsigned long) const + ?dublicate_mutex@eap_am_mutex_symbian_c@@UAEPAVabs_eap_am_mutex_c@@XZ @ 333 NONAME ; class abs_eap_am_mutex_c * eap_am_mutex_symbian_c::dublicate_mutex(void) + ?update_non_aligned@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 334 NONAME ; enum eap_status_e crypto_cbc_c::update_non_aligned(void const *, void *, unsigned long) + ?disassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 335 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::disassociation(class eap_array_c const *) + ?cancel_authentication_session@eapol_core_c@@SA?AW4eap_status_e@@PAVeapol_key_state_c@@PAVabs_eap_am_tools_c@@@Z @ 336 NONAME ; enum eap_status_e eapol_core_c::cancel_authentication_session(class eapol_key_state_c *, class abs_eap_am_tools_c *) + ?hmac_cleanup@crypto_hmac_c@@UAE?AW4eap_status_e@@XZ @ 337 NONAME ; enum eap_status_e crypto_hmac_c::hmac_cleanup(void) + ??1eapol_rsna_variable_data_c@@UAE@XZ @ 338 NONAME ; eapol_rsna_variable_data_c::~eapol_rsna_variable_data_c(void) + ?configure@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 339 NONAME ; enum eap_status_e eapol_key_state_c::configure(void) + ?set_copy@eap_master_session_key_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 340 NONAME ; enum eap_status_e eap_master_session_key_c::set_copy(class eap_master_session_key_c const *) + ?hash_init@eap_am_crypto_sha_256_c@@QAE?AW4eap_status_e@@XZ @ 341 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_init(void) + ?get_send_network_id@eap_core_retransmission_c@@QAEPAVeap_am_network_id_c@@XZ @ 342 NONAME ; class eap_am_network_id_c * eap_core_retransmission_c::get_send_network_id(void) + ?get_eapol_packet_body_length@eapol_RSNA_key_header_c@@QBEGXZ @ 343 NONAME ; unsigned short eapol_RSNA_key_header_c::get_eapol_packet_body_length(void) const + ?get_is_valid@eapol_session_key_c@@QBE_NXZ @ 344 NONAME ; bool eapol_session_key_c::get_is_valid(void) const + ?get_ietf_type_field_length@eap_header_base_c@@SAKXZ @ 345 NONAME ; unsigned long eap_header_base_c::get_ietf_type_field_length(void) + ?rsa_encrypt_with_private_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 346 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_encrypt_with_private_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) + ??0crypto_sha_256_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 347 NONAME ; crypto_sha_256_c::crypto_sha_256_c(class abs_eap_am_tools_c *) + ??0eap_buf_chain_base_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 348 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned long) + ?eap_read_u64_t_little_endian_order@@YA_KPBXK@Z @ 349 NONAME ; unsigned long long eap_read_u64_t_little_endian_order(void const *, unsigned long) + ?decrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXK@Z @ 350 NONAME ; enum eap_status_e crypto_cbc_c::decrypt_data(void *, unsigned long) + ?get_is_valid@crypto_wpa_psk_password_hash_c@@QAE_NXZ @ 351 NONAME ; bool crypto_wpa_psk_password_hash_c::get_is_valid(void) + ??1ethernet_core_c@@UAE@XZ @ 352 NONAME ; ethernet_core_c::~ethernet_core_c(void) + ?eap_acknowledge@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 353 NONAME ; enum eap_status_e eap_session_core_c::eap_acknowledge(class eap_am_network_id_c const *) + ?get_key_information_key_type@eapol_RSNA_key_header_c@@QBE_NXZ @ 354 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_key_type(void) const + ??1crypto_aes_wrap_c@@UAE@XZ @ 355 NONAME ; crypto_aes_wrap_c::~crypto_aes_wrap_c(void) + ?get_status_string@eap_status_string_c@@SAPBDW4eap_status_e@@@Z @ 356 NONAME ; char const * eap_status_string_c::get_status_string(enum eap_status_e) + ?get_is_valid@crypto_md5_c@@UAE_NXZ @ 357 NONAME ; bool crypto_md5_c::get_is_valid(void) + ?get_timer_queue_is_empty@eap_am_tools_symbian_c@@UAE_NXZ @ 358 NONAME ; bool eap_am_tools_symbian_c::get_timer_queue_is_empty(void) + ?compare_u64@eap_am_tools_c@@UAEJ_K0@Z @ 359 NONAME ; long eap_am_tools_c::compare_u64(unsigned long long, unsigned long long) + ?enter_crypto_cs@eap_am_tools_symbian_c@@QAEXXZ @ 360 NONAME ; void eap_am_tools_symbian_c::enter_crypto_cs(void) + ??0crypto_nt_hash_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 361 NONAME ; crypto_nt_hash_c::crypto_nt_hash_c(class abs_eap_am_tools_c *) + ?md5_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 362 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_final(class eap_variable_data_c *, unsigned char *, unsigned long *) + ??0crypto_tls_md5_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 363 NONAME ; crypto_tls_md5_prf_c::crypto_tls_md5_prf_c(class abs_eap_am_tools_c *) + ?object_increase_reference_count@eap_am_memory_store_tlv_data_c@@QAEXXZ @ 364 NONAME ; void eap_am_memory_store_tlv_data_c::object_increase_reference_count(void) + ?get_gmt_unix_time@eap_am_tools_symbian_c@@UAEKXZ @ 365 NONAME ; unsigned long eap_am_tools_symbian_c::get_gmt_unix_time(void) + ?cleanup@eap_am_crypto_rc4_c@@AAE?AW4eap_status_e@@XZ @ 366 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::cleanup(void) + ?file_copy@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0@Z @ 367 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_copy(class eap_variable_data_c const *, class eap_variable_data_c const *) + ??1eap_am_crypto_symbian_c@@UAE@XZ @ 368 NONAME ; eap_am_crypto_symbian_c::~eap_am_crypto_symbian_c(void) + ?cancel_retransmission@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 369 NONAME ; enum eap_status_e eapol_key_state_c::cancel_retransmission(void) + ?get_use_seconds_timestamp_in_traces@eap_am_tools_c@@QAE_NXZ @ 370 NONAME ; bool eap_am_tools_c::get_use_seconds_timestamp_in_traces(void) + ?get_master_key@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@K@Z @ 371 NONAME ; enum eap_status_e crypto_nt_hash_c::get_master_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long) + ?start_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 372 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_reassociation(class eap_array_c const *) + ?packet_data_crypto_keys@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 373 NONAME ; enum eap_status_e eap_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *) + ?get_protocol_layer_string@eap_state_notification_c@@SAPBDK@Z @ 374 NONAME ; char const * eap_state_notification_c::get_protocol_layer_string(unsigned long) + ?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAW4eapol_tlv_message_type_function_e@@@Z @ 375 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, enum eapol_tlv_message_type_function_e *) + ?get_payload_size@eapol_handle_tlv_message_data_c@@QBEKPAVnetwork_key_and_index_c@@@Z @ 376 NONAME ; unsigned long eapol_handle_tlv_message_data_c::get_payload_size(class network_key_and_index_c *) const + ?get_MAC_address@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 377 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_MAC_address(void) + ?decrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PAXK@Z @ 378 NONAME ; enum eap_status_e crypto_rc4_c::decrypt_data(void *, unsigned long) + ?add_rand_seed_hw_ticks@crypto_random_c@@QAE?AW4eap_status_e@@XZ @ 379 NONAME ; enum eap_status_e crypto_random_c::add_rand_seed_hw_ticks(void) + ?set_is_valid@eap_am_crypto_symbian_c@@UAEXXZ @ 380 NONAME ; void eap_am_crypto_symbian_c::set_is_valid(void) + ?set_buffer_length@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@K@Z @ 381 NONAME ; enum eap_status_e eap_buf_chain_base_c::set_buffer_length(unsigned long) + ?check_header@eapol_RC4_key_header_c@@UBE?AW4eap_status_e@@XZ @ 382 NONAME ; enum eap_status_e eapol_RC4_key_header_c::check_header(void) const + ?set_is_valid@crypto_hmac_c@@UAEXXZ @ 383 NONAME ; void crypto_hmac_c::set_is_valid(void) + ?get_previous_state@eap_state_notification_c@@UBEKXZ @ 384 NONAME ; unsigned long eap_state_notification_c::get_previous_state(void) const + ?packet_send@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 385 NONAME ; enum eap_status_e eap_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) + ?cancel_authentication_session@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 386 NONAME ; enum eap_status_e eapol_key_state_c::cancel_authentication_session(void) + ?read_hex_byte@eap_file_config_c@@AAEPAEPAEPBE0@Z @ 387 NONAME ; unsigned char * eap_file_config_c::read_hex_byte(unsigned char *, unsigned char const *, unsigned char *) + ?read_configure@eap_file_config_c@@AAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@PAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@_N@Z @ 388 NONAME ; enum eap_status_e eap_file_config_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *, class eap_core_map_c *, bool) + ?get_md5_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 389 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md5_block_size(class eap_variable_data_c *) + ??0eap_buf_chain_wr_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@PAEK_N3K@Z @ 390 NONAME ; eap_buf_chain_wr_c::eap_buf_chain_wr_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned char *, unsigned long, bool, bool, unsigned long) + ??1eap_core_retransmission_c@@UAE@XZ @ 391 NONAME ; eap_core_retransmission_c::~eap_core_retransmission_c(void) + ?set_session_timeout@eapol_core_c@@UAE?AW4eap_status_e@@K@Z @ 392 NONAME ; enum eap_status_e eapol_core_c::set_session_timeout(unsigned long) + ??1eap_tlv_message_data_c@@UAE@XZ @ 393 NONAME ; eap_tlv_message_data_c::~eap_tlv_message_data_c(void) + ?hash_init@crypto_md4_c@@UAE?AW4eap_status_e@@XZ @ 394 NONAME ; enum eap_status_e crypto_md4_c::hash_init(void) + ?encrypt_data@eap_am_crypto_rc4_c@@QAE?AW4eap_status_e@@PBXPAXK@Z @ 395 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::encrypt_data(void const *, void *, unsigned long) + ?add_data@eap_variable_data_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 396 NONAME ; enum eap_status_e eap_variable_data_c::add_data(class eap_variable_data_c const *) + ?read_configure@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 397 NONAME ; enum eap_status_e eapol_wlan_authentication_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) + ?configure@eap_session_core_c@@UAE?AW4eap_status_e@@XZ @ 398 NONAME ; enum eap_status_e eap_session_core_c::configure(void) + ?get_destination_length@eap_am_network_id_c@@QBEKXZ @ 399 NONAME ; unsigned long eap_am_network_id_c::get_destination_length(void) const + ?tls_prf_init@crypto_tls_md5_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 400 NONAME ; enum eap_status_e crypto_tls_md5_prf_c::tls_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) + ?get_timer_id@eap_am_memory_store_tlv_data_c@@QBEKXZ @ 401 NONAME ; unsigned long eap_am_memory_store_tlv_data_c::get_timer_id(void) const + ?get_is_valid@eapol_wlan_authentication_c@@QAE_NXZ @ 402 NONAME ; bool eapol_wlan_authentication_c::get_is_valid(void) + ??9eap_expanded_type_c@@QBE_NABV0@@Z @ 403 NONAME ; bool eap_expanded_type_c::operator!=(class eap_expanded_type_c const &) const + ?trace_eapol_key_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PBDPAVeapol_RSNA_key_header_c@@@Z @ 404 NONAME ; enum eap_status_e eapol_key_state_c::trace_eapol_key_message(char const *, class eapol_RSNA_key_header_c *) + ?eap_acknowledge@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 405 NONAME ; enum eap_status_e eap_core_c::eap_acknowledge(class eap_am_network_id_c const *) + ?md4_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 406 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_init(class eap_variable_data_c *) + ?get_is_tunneled_eap@eap_core_c@@UBE_NXZ @ 407 NONAME ; bool eap_core_c::get_is_tunneled_eap(void) const + ??1crypto_tls_base_prf_c@@UAE@XZ @ 408 NONAME ; crypto_tls_base_prf_c::~crypto_tls_base_prf_c(void) + ?complete_WPXM_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 409 NONAME ; enum eap_status_e ethernet_core_c::complete_WPXM_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *) + ?octet_to_ascii@eap_am_tools_c@@UAEEJ@Z @ 410 NONAME ; unsigned char eap_am_tools_c::octet_to_ascii(long) + ?get_is_valid_data@eap_buf_chain_base_c@@QBE_NXZ @ 411 NONAME ; bool eap_buf_chain_base_c::get_is_valid_data(void) const + ??0eap_buf_chain_rd_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 412 NONAME ; eap_buf_chain_rd_c::eap_buf_chain_rd_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned long) + ?process_group_key_handshake_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 413 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) + ?load_module@ethernet_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 414 NONAME ; enum eap_status_e ethernet_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) + ?get_is_valid@eap_am_crypto_md4_c@@QAE_NXZ @ 415 NONAME ; bool eap_am_crypto_md4_c::get_is_valid(void) + ?get_next_retransmission_counter@eap_core_retransmission_c@@QAEKXZ @ 416 NONAME ; unsigned long eap_core_retransmission_c::get_next_retransmission_counter(void) + ?hash_final@crypto_md5_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 417 NONAME ; enum eap_status_e crypto_md5_c::hash_final(void *, unsigned long *) + ?get_eap_type_list@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 418 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::get_eap_type_list(class eap_array_c *) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@G@Z @ 419 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(unsigned short) + ?dh_cleanup@crypto_ephemeral_diffie_hellman_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 420 NONAME ; enum eap_status_e crypto_ephemeral_diffie_hellman_c::dh_cleanup(class eap_variable_data_c const *) + ?send_eap_failure@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 421 NONAME ; enum eap_status_e eap_core_c::send_eap_failure(class eap_am_network_id_c const *, unsigned char) + ?set_sequence_number@eapol_session_key_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 422 NONAME ; enum eap_status_e eapol_session_key_c::set_sequence_number(class eap_variable_data_c *) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@_N@Z @ 423 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(bool) + ?get_send_packet_index@eap_buf_chain_base_c@@QAEKXZ @ 424 NONAME ; unsigned long eap_buf_chain_base_c::get_send_packet_index(void) + ?packet_send@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 425 NONAME ; enum eap_status_e eap_session_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) + ?set_key_information_key_descriptor_version@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@E@Z @ 426 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_descriptor_version(unsigned char) + ?reset_eap_configuration@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 427 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::reset_eap_configuration(void) + ?get_state_string@eap_state_notification_c@@SAPBDKK@Z @ 428 NONAME ; char const * eap_state_notification_c::get_state_string(unsigned long, unsigned long) + ?copy_context@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_KPBK2@Z @ 429 NONAME ; enum eap_status_e eap_am_crypto_md4_c::copy_context(class eap_variable_data_c const *, unsigned long long, unsigned long const *, unsigned long const *) + ?get_network_index@simple_config_credential_c@@QAEEXZ @ 430 NONAME ; unsigned char simple_config_credential_c::get_network_index(void) + ?shutdown@eapol_message_wlan_authentication_c@@QAE?AW4eap_status_e@@XZ @ 431 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::shutdown(void) + ?get_is_valid@ethernet_core_c@@UAE_NXZ @ 432 NONAME ; bool ethernet_core_c::get_is_valid(void) + ?create_4_way_handshake_message_4@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1_K_NW4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 433 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_4(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, bool, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) + ?initialize_pad@crypto_hmac_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 434 NONAME ; enum eap_status_e crypto_hmac_c::initialize_pad(class eap_variable_data_c *, unsigned char) + ?sha_256_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 435 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_cleanup(class eap_variable_data_c *) + ?aligned_data_length@crypto_cbc_c@@UAEKK@Z @ 436 NONAME ; unsigned long crypto_cbc_c::aligned_data_length(unsigned long) + ?reset_start_offset_and_data_length@eap_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 437 NONAME ; enum eap_status_e eap_variable_data_c::reset_start_offset_and_data_length(void) + ?begin_db_transaction@eap_am_tools_symbian_c@@QAE?AW4eap_status_e@@AAVRDbNamedDatabase@@@Z @ 438 NONAME ; enum eap_status_e eap_am_tools_symbian_c::begin_db_transaction(class RDbNamedDatabase &) + ?eap_shift_left_64_bit@@YA_K_KK@Z @ 439 NONAME ; unsigned long long eap_shift_left_64_bit(unsigned long long, unsigned long) + ?complete_reassociation@eapol_core_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@3W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@4@Z @ 440 NONAME ; enum eap_status_e eapol_core_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) + ?trace_configuration@eap_am_tools_c@@UAEXW4eap_status_e@@PBVeap_configuration_field_c@@PBVeap_variable_data_c@@@Z @ 441 NONAME ; void eap_am_tools_c::trace_configuration(enum eap_status_e, class eap_configuration_field_c const *, class eap_variable_data_c const *) + ?get_identifier@eap_header_base_c@@QBEEXZ @ 442 NONAME ; unsigned char eap_header_base_c::get_identifier(void) const + ?configure@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 443 NONAME ; enum eap_status_e eap_am_tools_symbian_c::configure(void) + ?copy_message_digest@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PAXPAK@Z @ 444 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::copy_message_digest(void *, unsigned long *) + ?get_data_length@eapol_header_base_c@@QBEGXZ @ 445 NONAME ; unsigned short eapol_header_base_c::get_data_length(void) const + ?get_block_size@eap_am_crypto_sha_256_c@@QAEKXZ @ 446 NONAME ; unsigned long eap_am_crypto_sha_256_c::get_block_size(void) + ?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVsimple_config_credential_c@@@Z @ 447 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class simple_config_credential_c *) + ?object_increase_reference_count@eap_base_type_c@@QAEXXZ @ 448 NONAME ; void eap_base_type_c::object_increase_reference_count(void) + ?file_exists@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 449 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_exists(class eap_variable_data_c const *) + ??0eap_buf_chain_base_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@PBEK_N@Z @ 450 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned char const *, unsigned long, bool) + ?get_do_length_checks@eap_buf_chain_base_c@@QBE_NXZ @ 451 NONAME ; bool eap_buf_chain_base_c::get_do_length_checks(void) const + ?get_key_type@eapol_session_key_c@@QBE?AW4eapol_key_type_e@@XZ @ 452 NONAME ; enum eapol_key_type_e eapol_session_key_c::get_key_type(void) const + ??1eap_file_config_c@@UAE@XZ @ 453 NONAME ; eap_file_config_c::~eap_file_config_c(void) + ?trace_data@eap_am_tools_c@@UAEXPBDPBXK@Z @ 454 NONAME ; void eap_am_tools_c::trace_data(char const *, void const *, unsigned long) + ?get_key_length@eapol_RSNA_key_header_c@@QBEGXZ @ 455 NONAME ; unsigned short eapol_RSNA_key_header_c::get_key_length(void) const + ?object_increase_reference_count@eap_tlv_message_data_c@@QAEXXZ @ 456 NONAME ; void eap_tlv_message_data_c::object_increase_reference_count(void) + ?hash_final@eap_am_crypto_sha_256_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 457 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_final(void *, unsigned long *) + ?set_use_eap_milli_second_timer@eap_am_tools_symbian_c@@UAEX_N@Z @ 458 NONAME ; void eap_am_tools_symbian_c::set_use_eap_milli_second_timer(bool) + ?restart_authentication@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 459 NONAME ; enum eap_status_e eap_core_c::restart_authentication(class eap_am_network_id_c const *, bool) + ?get_is_valid_data@eap_am_network_id_c@@QBE_NXZ @ 460 NONAME ; bool eap_am_network_id_c::get_is_valid_data(void) const + ?set_is_manipulated@eap_buf_chain_base_c@@QAEXXZ @ 461 NONAME ; void eap_buf_chain_base_c::set_is_manipulated(void) + ?get_eapol_protocol_version@eapol_RC4_key_header_c@@QBE?AW4eapol_protocol_version_e@@XZ @ 462 NONAME ; enum eapol_protocol_version_e eapol_RC4_key_header_c::get_eapol_protocol_version(void) const + ?dh_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 463 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dh_cleanup(class eap_variable_data_c const *) + ?get_encryption_KEK@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 464 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_encryption_KEK(void) + ?process_RSNA_key_descriptor@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 465 NONAME ; enum eap_status_e eapol_key_state_c::process_RSNA_key_descriptor(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) + ?hash_cleanup@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@XZ @ 466 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_cleanup(void) + ?get_data@eap_variable_data_c@@QBEPAEXZ @ 467 NONAME ; unsigned char * eap_variable_data_c::get_data(void) const + ?get_key_MIC@eapol_RSNA_key_header_c@@QBEPAEXZ @ 468 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_MIC(void) const + ?get_mac_address@eap_rogue_ap_entry_c@@QBEPAEPAE@Z @ 469 NONAME ; unsigned char * eap_rogue_ap_entry_c::get_mac_address(unsigned char *) const + ?set_is_valid@eap_core_c@@UAEXXZ @ 470 NONAME ; void eap_core_c::set_is_valid(void) + ?get_sha1_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 471 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha1_block_size(class eap_variable_data_c *) + ?read_configure@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 472 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) + ?process_4_way_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 473 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_1(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) + ?get_eapol_header@eapol_ethernet_header_rd_c@@QBEPAEXZ @ 474 NONAME ; unsigned char * eapol_ethernet_header_rd_c::get_eapol_header(void) const + ?decrypt_data@eap_am_crypto_rc4_c@@QAE?AW4eap_status_e@@PBXPAXK@Z @ 475 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::decrypt_data(void const *, void *, unsigned long) + ?eap_read_u16_t_network_order@@YAGPBXK@Z @ 476 NONAME ; unsigned short eap_read_u16_t_network_order(void const *, unsigned long) + ?initialize@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@32@Z @ 477 NONAME ; enum eap_status_e eapol_key_state_c::initialize(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *) + ?send_logoff@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 478 NONAME ; enum eap_status_e ethernet_core_c::send_logoff(class eap_am_network_id_c const *) + ?rsa_sign@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 479 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_sign(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) + ?add_padding_bytes@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PAXK@Z @ 480 NONAME ; enum eap_status_e crypto_aes_wrap_c::add_padding_bytes(void *, unsigned long) + ?check_header@eapol_header_base_c@@UBE?AW4eap_status_e@@XZ @ 481 NONAME ; enum eap_status_e eapol_header_base_c::check_header(void) const + ?send_RC4_eapol_key_messages@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 482 NONAME ; enum eap_status_e eapol_key_state_c::send_RC4_eapol_key_messages(void) + ?send_eap_identity_response@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@E@Z @ 483 NONAME ; enum eap_status_e eap_core_c::send_eap_identity_response(class eap_am_network_id_c const *, class eap_variable_data_c const *, unsigned char) + ?copy@eapol_key_state_c@@QAEPAV1@PBVeap_am_network_id_c@@@Z @ 484 NONAME ; class eapol_key_state_c * eapol_key_state_c::copy(class eap_am_network_id_c const *) + ?association@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 485 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::association(class eap_am_network_id_c const *) + ?get_timer_resolution_ms@eap_am_tools_symbian_c@@UAEKXZ @ 486 NONAME ; unsigned long eap_am_tools_symbian_c::get_timer_resolution_ms(void) + ?set_key_reply_counter@eapol_key_state_c@@AAEX_K@Z @ 487 NONAME ; void eapol_key_state_c::set_key_reply_counter(unsigned long long) + ?set_is_invalid@crypto_tls_md5_prf_c@@AAEXXZ @ 488 NONAME ; void crypto_tls_md5_prf_c::set_is_invalid(void) + ?reassociate@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 489 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::reassociate(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *) + ?octet_to_ascii_armor@eap_am_tools_c@@AAEEE@Z @ 490 NONAME ; unsigned char eap_am_tools_c::octet_to_ascii_armor(unsigned char) + ?set_is_valid@crypto_tls_md5_prf_c@@AAEXXZ @ 491 NONAME ; void crypto_tls_md5_prf_c::set_is_valid(void) + ?get_is_valid@eap_am_mutex_symbian_c@@UBE_NXZ @ 492 NONAME ; bool eap_am_mutex_symbian_c::get_is_valid(void) const + ??0crypto_ephemeral_diffie_hellman_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 493 NONAME ; crypto_ephemeral_diffie_hellman_c::crypto_ephemeral_diffie_hellman_c(class abs_eap_am_tools_c *) + ?get_source@eapol_ethernet_header_wr_c@@QAEPAEXZ @ 494 NONAME ; unsigned char * eapol_ethernet_header_wr_c::get_source(void) + ?set_key@eap_am_crypto_rc4_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 495 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::set_key(class eap_variable_data_c const *) + ?set_timer@eap_session_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 496 NONAME ; enum eap_status_e eap_session_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) + ??1crypto_random_c@@UAE@XZ @ 497 NONAME ; crypto_random_c::~crypto_random_c(void) + ??1eap_am_mutex_symbian_c@@UAE@XZ @ 498 NONAME ; eap_am_mutex_symbian_c::~eap_am_mutex_symbian_c(void) + ?get_header_length@eapol_RSNA_key_header_c@@SAGXZ @ 499 NONAME ; unsigned short eapol_RSNA_key_header_c::get_header_length(void) + ?read_configure@eap_file_config_c@@QAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 500 NONAME ; enum eap_status_e eap_file_config_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) + ?delete_abs_eap_am_tools_c@abs_eap_am_tools_c@@SAXPAV1@@Z @ 501 NONAME ; void abs_eap_am_tools_c::delete_abs_eap_am_tools_c(class abs_eap_am_tools_c *) + ?get_clock_ticks_of_second@eap_am_tools_symbian_c@@UAE_KXZ @ 502 NONAME ; unsigned long long eap_am_tools_symbian_c::get_clock_ticks_of_second(void) + ??0crypto_md4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 503 NONAME ; crypto_md4_c::crypto_md4_c(class abs_eap_am_tools_c *) + ?set_packet_type@eapol_header_base_c@@QAEXW4eapol_packet_type_e@@@Z @ 504 NONAME ; void eapol_header_base_c::set_packet_type(enum eapol_packet_type_e) + ?get_header_length@eap_header_base_c@@SAKXZ @ 505 NONAME ; unsigned long eap_header_base_c::get_header_length(void) + ?packet_process@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 506 NONAME ; enum eap_status_e ethernet_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) + ?rc4_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 507 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_cleanup(class eap_variable_data_c *) + ?get_is_valid@eapol_key_state_c@@QAE_NXZ @ 508 NONAME ; bool eapol_key_state_c::get_is_valid(void) + ??0eap_am_mutex_reference_c@@QAE@XZ @ 509 NONAME ; eap_am_mutex_reference_c::eap_am_mutex_reference_c(void) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@@Z @ 510 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class eap_array_c const *) + ??Ieap_expanded_type_c@@QBEPBV0@XZ @ 511 NONAME ; class eap_expanded_type_c const * eap_expanded_type_c::operator&(void) const + ?get_expanded_type_field_length@eap_header_base_c@@SAKXZ @ 512 NONAME ; unsigned long eap_header_base_c::get_expanded_type_field_length(void) + ?sha1_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 513 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_cleanup(class eap_variable_data_c *) + ??0eapol_key_state_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_key_state_c@@PAVabs_eapol_core_c@@_NPBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@6W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@76@Z @ 514 NONAME ; eapol_key_state_c::eapol_key_state_c(class abs_eap_am_tools_c *, class abs_eapol_key_state_c *, class abs_eapol_core_c *, bool, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *) + ?dsa_sign@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 515 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_sign(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) + ?get_retransmission_counter@eap_core_retransmission_c@@QBEKXZ @ 516 NONAME ; unsigned long eap_core_retransmission_c::get_retransmission_counter(void) const + ?get_header_length@eapol_ethernet_header_base_c@@SAGXZ @ 517 NONAME ; unsigned short eapol_ethernet_header_base_c::get_header_length(void) + ?start_preauthentication@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 518 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_preauthentication(class eap_am_network_id_c const *) + ?get_key_information_request@eapol_RSNA_key_header_c@@QBE_NXZ @ 519 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_request(void) const + ?start_reassociation@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 520 NONAME ; enum eap_status_e eapol_core_c::start_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *) + ?eap_write_u64_t_little_endian_order@@YA?AW4eap_status_e@@PAXK_K@Z @ 521 NONAME ; enum eap_status_e eap_write_u64_t_little_endian_order(void *, unsigned long, unsigned long long) + ?set_eap_type@eap_master_session_key_c@@QAEXVeap_expanded_type_c@@@Z @ 522 NONAME ; void eap_master_session_key_c::set_eap_type(class eap_expanded_type_c) + ?check_guards@eap_buf_chain_base_c@@QBE_NXZ @ 523 NONAME ; bool eap_buf_chain_base_c::check_guards(void) const + ??1eap_am_tools_symbian_c@@UAE@XZ @ 524 NONAME ; eap_am_tools_symbian_c::~eap_am_tools_symbian_c(void) + ?tkip_mic_failure@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 525 NONAME ; enum eap_status_e eapol_wlan_authentication_c::tkip_mic_failure(class eap_am_network_id_c const *, bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e) + ?get_header_offset@ethernet_core_c@@UAEKPAK0@Z @ 526 NONAME ; unsigned long ethernet_core_c::get_header_offset(unsigned long *, unsigned long *) + ?set_type@eap_tlv_header_c@@QAE?AW4eap_status_e@@K@Z @ 527 NONAME ; enum eap_status_e eap_tlv_header_c::set_type(unsigned long) + ?set_Authentication_Type@simple_config_credential_c@@QAEXW4simple_config_Authentication_Type_e@@@Z @ 528 NONAME ; void simple_config_credential_c::set_Authentication_Type(enum simple_config_Authentication_Type_e) + ?increment_authentication_counter@eapol_wlan_authentication_c@@QAEXXZ @ 529 NONAME ; void eapol_wlan_authentication_c::increment_authentication_counter(void) + ?get_is_valid@crypto_tls_prf_c@@QAE_NXZ @ 530 NONAME ; bool crypto_tls_prf_c::get_is_valid(void) + ?get_unicast_cipher_suite_RSNA_IE@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 531 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_unicast_cipher_suite_RSNA_IE(void) + ??0eap_rogue_ap_entry_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 532 NONAME ; eap_rogue_ap_entry_c::eap_rogue_ap_entry_c(class abs_eap_am_tools_c *) + ??0eap_tlv_message_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 533 NONAME ; eap_tlv_message_data_c::eap_tlv_message_data_c(class abs_eap_am_tools_c *) + ?force_inheritance@eap_buf_chain_rd_c@@EAEXXZ @ 534 NONAME ; void eap_buf_chain_rd_c::force_inheritance(void) + ?get_is_valid@eapol_core_c@@UAE_NXZ @ 535 NONAME ; bool eapol_core_c::get_is_valid(void) + ?get_ethernet_header@eap_buf_chain_rd_c@@QBEPBEXZ @ 536 NONAME ; unsigned char const * eap_buf_chain_rd_c::get_ethernet_header(void) const + ?get_destination_id@eap_am_network_id_c@@QBEPBVeap_variable_data_c@@XZ @ 537 NONAME ; class eap_variable_data_c const * eap_am_network_id_c::get_destination_id(void) const + ??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@PBV0@@Z @ 538 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *) + ?synchronous_remove_eap_session@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 539 NONAME ; enum eap_status_e eap_session_core_c::synchronous_remove_eap_session(class eap_am_network_id_c const *) + ??1eapol_RC4_key_header_c@@UAE@XZ @ 540 NONAME ; eapol_RC4_key_header_c::~eapol_RC4_key_header_c(void) + ?eap_acknowledge@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 541 NONAME ; enum eap_status_e ethernet_core_c::eap_acknowledge(class eap_am_network_id_c const *) + ?save_simple_config_session@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 542 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *) + ?mutex_leave@eap_am_mutex_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 543 NONAME ; enum eap_status_e eap_am_mutex_symbian_c::mutex_leave(class abs_eap_am_tools_c *) + ??0crypto_cbc_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_crypto_block_algorithm_c@@_N@Z @ 544 NONAME ; crypto_cbc_c::crypto_cbc_c(class abs_eap_am_tools_c *, class abs_crypto_block_algorithm_c *, bool) + ?number_string_to_u32@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAK@Z @ 545 NONAME ; enum eap_status_e eap_am_tools_c::number_string_to_u32(unsigned char const *, unsigned long, unsigned long *) + ?remove_eapol_key_state@eapol_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 546 NONAME ; enum eap_status_e eapol_core_c::remove_eapol_key_state(class eap_am_network_id_c const *) + ?get_type_string@eapol_header_base_c@@QBEPBDXZ @ 547 NONAME ; char const * eapol_header_base_c::get_type_string(void) const + ?get_sha1_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 548 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha1_digest_length(class eap_variable_data_c *) + ??1eap_buf_chain_base_c@@UAE@XZ @ 549 NONAME ; eap_buf_chain_base_c::~eap_buf_chain_base_c(void) + ??1eap_am_tools_c@@UAE@XZ @ 550 NONAME ; eap_am_tools_c::~eap_am_tools_c(void) + ?resend_packet@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKKK@Z @ 551 NONAME ; enum eap_status_e eap_core_c::resend_packet(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long, unsigned long) + ?create_state@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 552 NONAME ; enum eap_status_e ethernet_core_c::create_state(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) + ?process_message_type_error@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 553 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::process_message_type_error(class eap_array_c const *) + ?get_wlan_configuration@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 554 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::get_wlan_configuration(class eap_variable_data_c *) + ?get_digest_length@crypto_hmac_c@@UAEKXZ @ 555 NONAME ; unsigned long crypto_hmac_c::get_digest_length(void) + ??0eap_buf_chain_rd_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@PBEK_N@Z @ 556 NONAME ; eap_buf_chain_rd_c::eap_buf_chain_rd_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned char const *, unsigned long, bool) + ?unload_module@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 557 NONAME ; enum eap_status_e eapol_wlan_authentication_c::unload_module(class eap_expanded_type_c) + ?get_eap_type_list@eapol_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 558 NONAME ; enum eap_status_e eapol_core_c::get_eap_type_list(class eap_array_c *) + ?eap_sha1_dss_G_function@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@PBXKPAXPAK@Z @ 559 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::eap_sha1_dss_G_function(void const *, unsigned long, void *, unsigned long *) + ?send_eap_nak_response@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EPBV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 560 NONAME ; enum eap_status_e eap_core_c::send_eap_nak_response(class eap_am_network_id_c const *, unsigned char, class eap_array_c const *) + ?get_reference_count@eap_am_mutex_reference_c@@QAEKXZ @ 561 NONAME ; unsigned long eap_am_mutex_reference_c::get_reference_count(void) + ??0eapol_RC4_key_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 562 NONAME ; eapol_RC4_key_header_c::eapol_RC4_key_header_c(class abs_eap_am_tools_c *, void *, unsigned long) + ?set_key_length@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 563 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_length(unsigned short) + ?complete_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@3W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@4@Z @ 564 NONAME ; enum eap_status_e ethernet_core_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) + ?rsa_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 565 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_init(class eap_variable_data_c *) + ?convert_eap_type_to_u32_t@@YAKVeap_expanded_type_c@@@Z @ 566 NONAME ; unsigned long convert_eap_type_to_u32_t(class eap_expanded_type_c) + ?set_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PAXK_N1@Z @ 567 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer(void *, unsigned long, bool, bool) + ?set_s_nonce@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 568 NONAME ; enum eap_status_e eapol_key_state_c::set_s_nonce(class eap_variable_data_c const *) + ?update_non_aligned@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXK@Z @ 569 NONAME ; enum eap_status_e crypto_cbc_c::update_non_aligned(void *, unsigned long) + ??1eapol_session_key_c@@UAE@XZ @ 570 NONAME ; eapol_session_key_c::~eapol_session_key_c(void) + ?file_close@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@XZ @ 571 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_close(void) + ?tls_prf_init@crypto_tls_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 572 NONAME ; enum eap_status_e crypto_tls_prf_c::tls_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) + ?t_prf_output@crypto_eap_fast_hmac_sha1_prf_c@@QAE?AW4eap_status_e@@PAXG@Z @ 573 NONAME ; enum eap_status_e crypto_eap_fast_hmac_sha1_prf_c::t_prf_output(void *, unsigned short) + ?set_eapol_packet_type@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@W4eapol_packet_type_e@@@Z @ 574 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_eapol_packet_type(enum eapol_packet_type_e) + ?hash_nt_password_hash@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@K@Z @ 575 NONAME ; enum eap_status_e crypto_nt_hash_c::hash_nt_password_hash(class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long) + ?get_key_data@eapol_RSNA_key_header_c@@QBEPAEK@Z @ 576 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_data(unsigned long) const + ?get_encrypts@crypto_cbc_c@@UAE_NXZ @ 577 NONAME ; bool crypto_cbc_c::get_encrypts(void) + ?get_is_valid_data@network_key_and_index_c@@QAE_NXZ @ 578 NONAME ; bool network_key_and_index_c::get_is_valid_data(void) + ??1eap_type_selection_c@@UAE@XZ @ 579 NONAME ; eap_type_selection_c::~eap_type_selection_c(void) + ??0eap_am_mutex_base_c@@QAE@PBV0@@Z @ 580 NONAME ; eap_am_mutex_base_c::eap_am_mutex_base_c(class eap_am_mutex_base_c const *) + ?configure@eapol_message_wlan_authentication_c@@QAE?AW4eap_status_e@@KKK@Z @ 581 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::configure(unsigned long, unsigned long, unsigned long) + ??1eap_rogue_ap_entry_c@@UAE@XZ @ 582 NONAME ; eap_rogue_ap_entry_c::~eap_rogue_ap_entry_c(void) + ??1eapol_am_wlan_authentication_symbian_c@@UAE@XZ @ 583 NONAME ; eapol_am_wlan_authentication_symbian_c::~eapol_am_wlan_authentication_symbian_c(void) + ?get_is_valid_data@eap_variable_data_c@@QBE_NXZ @ 584 NONAME ; bool eap_variable_data_c::get_is_valid_data(void) const + ?reset_header@eapol_ethernet_header_wr_c@@QAEXW4eapol_ethernet_type_e@@G@Z @ 585 NONAME ; void eapol_ethernet_header_wr_c::reset_header(enum eapol_ethernet_type_e, unsigned short) + ??1crypto_sha1_c@@UAE@XZ @ 586 NONAME ; crypto_sha1_c::~crypto_sha1_c(void) + ?check_header@eap_header_base_c@@UBE?AW4eap_status_e@@XZ @ 587 NONAME ; enum eap_status_e eap_header_base_c::check_header(void) const + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eapol_tlv_message_type_function_e@@@Z @ 588 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(enum eapol_tlv_message_type_function_e) + ?set_type@eap_header_base_c@@QAE?AW4eap_status_e@@Veap_expanded_type_c@@_N@Z @ 589 NONAME ; enum eap_status_e eap_header_base_c::set_type(class eap_expanded_type_c, bool) + ?get_is_valid@eap_buf_chain_base_c@@QBE_NXZ @ 590 NONAME ; bool eap_buf_chain_base_c::get_is_valid(void) const + ?process_4_way_handshake_message_3_payloads_a@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@KPA_N@Z @ 591 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_a(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long, bool *) + ?copy@eap_variable_data_c@@QBEPAV1@XZ @ 592 NONAME ; class eap_variable_data_c * eap_variable_data_c::copy(void) const + ?convert_bytes_to_hex_ascii@eap_am_tools_c@@UAE?AW4eap_status_e@@PBXKPAVeap_variable_data_c@@@Z @ 593 NONAME ; enum eap_status_e eap_am_tools_c::convert_bytes_to_hex_ascii(void const *, unsigned long, class eap_variable_data_c *) + ?set_is_invalid@crypto_sha_256_c@@AAEXXZ @ 594 NONAME ; void crypto_sha_256_c::set_is_invalid(void) + ?sprint@eap_am_tools_symbian_c@@AAAXAAVTDes16@@PBDZZ @ 595 NONAME ; void eap_am_tools_symbian_c::sprint(class TDes16 &, char const *, ...) + ?init_retransmission@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKW4eap_code_value_e@@EVeap_expanded_type_c@@@Z @ 596 NONAME ; enum eap_status_e eapol_key_state_c::init_retransmission(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, enum eap_code_value_e, unsigned char, class eap_expanded_type_c) + ??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@PBXK1KG_N2@Z @ 597 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *, void const *, unsigned long, void const *, unsigned long, unsigned short, bool, bool) + ??0eap_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 598 NONAME ; eap_header_base_c::eap_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long) + ?config_strlen@eap_am_tools_symbian_c@@UAEKPBD@Z @ 599 NONAME ; unsigned long eap_am_tools_symbian_c::config_strlen(char const *) + ?get_authenticator_MAC_address@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 600 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_authenticator_MAC_address(void) + ?asynchronous_start_authentication@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 601 NONAME ; enum eap_status_e eapol_core_c::asynchronous_start_authentication(class eap_am_network_id_c const *, bool) + ?encrypt_block@crypto_aes_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 602 NONAME ; enum eap_status_e crypto_aes_c::encrypt_block(void const *, void *, unsigned long) + ?get_rand_bytes@crypto_random_c@@QAE?AW4eap_status_e@@PAXK@Z @ 603 NONAME ; enum eap_status_e crypto_random_c::get_rand_bytes(void *, unsigned long) + ?find_rvalue@eap_file_config_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PA_NPAV3@2@Z @ 604 NONAME ; enum eap_status_e eap_file_config_c::find_rvalue(class eap_variable_data_c const *, bool *, class eap_variable_data_c *, class eap_variable_data_c *) + ?select_minimum@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAPBV3@1@Z @ 605 NONAME ; enum eap_status_e eapol_key_state_c::select_minimum(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const * *, class eap_variable_data_c const * *) + ?write_configure@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 606 NONAME ; enum eap_status_e eapol_wlan_authentication_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) + ?get_key_information_key_MIC@eapol_RSNA_key_header_c@@QBE_NXZ @ 607 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_key_MIC(void) const + ?add_data@eap_variable_data_c@@QAE?AW4eap_status_e@@PBXK@Z @ 608 NONAME ; enum eap_status_e eap_variable_data_c::add_data(void const *, unsigned long) + ?get_destination@eap_am_network_id_c@@QBEPBEXZ @ 609 NONAME ; unsigned char const * eap_am_network_id_c::get_destination(void) const + ?get_data_offset@eap_header_base_c@@QBEPAEKK@Z @ 610 NONAME ; unsigned char * eap_header_base_c::get_data_offset(unsigned long, unsigned long) const + ?disassociation@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 611 NONAME ; enum eap_status_e ethernet_core_c::disassociation(class eap_am_network_id_c const *) + ??0eap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_generic_e@@W4eap_protocol_layer_e@@KKKE2@Z @ 612 NONAME ; eap_state_notification_c::eap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_generic_e, enum eap_protocol_layer_e, unsigned long, unsigned long, unsigned long, unsigned char, bool) + ?get_thread_stopped@eap_am_tools_c@@UAE_NXZ @ 613 NONAME ; bool eap_am_tools_c::get_thread_stopped(void) + ??1eap_tlv_header_c@@UAE@XZ @ 614 NONAME ; eap_tlv_header_c::~eap_tlv_header_c(void) + ??0eapol_key_state_string_c@@QAE@XZ @ 615 NONAME ; eapol_key_state_string_c::eapol_key_state_string_c(void) + ?getenv@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@@Z @ 616 NONAME ; enum eap_status_e eap_am_tools_symbian_c::getenv(class eap_variable_data_c const *, class eap_variable_data_c *) + ?eap_read_u64_t_network_order@@YA_KPBXK@Z @ 617 NONAME ; unsigned long long eap_read_u64_t_network_order(void const *, unsigned long) + ?complete_association@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@3@Z @ 618 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_association(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) + ?rc4_encrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBXPAXK@Z @ 619 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_encrypt(class eap_variable_data_c const *, void const *, void *, unsigned long) + ??0eapol_key_state_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_key_state_c@@PAVabs_eapol_core_c@@_NPBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 620 NONAME ; eapol_key_state_c::eapol_key_state_c(class abs_eap_am_tools_c *, class abs_eapol_key_state_c *, class abs_eapol_core_c *, bool, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) + ?aes_set_decryption_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 621 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_set_decryption_key(class eap_variable_data_c *, unsigned char const *, unsigned long) + ?timer_expired@eap_session_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 622 NONAME ; enum eap_status_e eap_session_core_c::timer_expired(unsigned long, void *) + ??0eap_buf_chain_wr_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@@Z @ 623 NONAME ; eap_buf_chain_wr_c::eap_buf_chain_wr_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *) + ?get_rand_bytes@crypto_random_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 624 NONAME ; enum eap_status_e crypto_random_c::get_rand_bytes(class eap_variable_data_c *, unsigned long) + ?get_is_valid@crypto_tls_base_prf_c@@QAE_NXZ @ 625 NONAME ; bool crypto_tls_base_prf_c::get_is_valid(void) + ?set_activate_trace_on_error@eap_am_tools_c@@UAEXXZ @ 626 NONAME ; void eap_am_tools_c::set_activate_trace_on_error(void) + ?get_eap_identifier@eap_state_notification_c@@UBEEXZ @ 627 NONAME ; unsigned char eap_state_notification_c::get_eap_identifier(void) const + ?check_is_valid_eap_type@eapol_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 628 NONAME ; enum eap_status_e eapol_core_c::check_is_valid_eap_type(class eap_expanded_type_c) + ?set_decryption_key@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXK@Z @ 629 NONAME ; enum eap_status_e crypto_aes_wrap_c::set_decryption_key(void const *, unsigned long) + ?association@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@32@Z @ 630 NONAME ; enum eap_status_e ethernet_core_c::association(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *) + ?copy@eap_type_selection_c@@QBEPAV1@XZ @ 631 NONAME ; class eap_type_selection_c * eap_type_selection_c::copy(void) const + ?create_upper_stack@eapol_wlan_authentication_c@@AAE?AW4eap_status_e@@XZ @ 632 NONAME ; enum eap_status_e eapol_wlan_authentication_c::create_upper_stack(void) + ??0crypto_kd_hmac_sha256_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 633 NONAME ; crypto_kd_hmac_sha256_c::crypto_kd_hmac_sha256_c(class abs_eap_am_tools_c *) + ?timer_delete_data@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 634 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::timer_delete_data(unsigned long, void *) + ?sign@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 635 NONAME ; enum eap_status_e crypto_rsa_c::sign(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) + ?get_key@eapol_session_key_c@@QBEPBVeap_variable_data_c@@XZ @ 636 NONAME ; class eap_variable_data_c const * eapol_session_key_c::get_key(void) const + ?get_eapol_packet_body_length@eapol_RC4_key_header_c@@QBEGXZ @ 637 NONAME ; unsigned short eapol_RC4_key_header_c::get_eapol_packet_body_length(void) const + ?get_header_buffer@eap_general_header_base_c@@QBEPAEK@Z @ 638 NONAME ; unsigned char * eap_general_header_base_c::get_header_buffer(unsigned long) const + ??0abs_eap_am_memory_store_data_c@@QAE@XZ @ 639 NONAME ; abs_eap_am_memory_store_data_c::abs_eap_am_memory_store_data_c(void) + ??1abs_crypto_hmac_algorithm_c@@UAE@XZ @ 640 NONAME ; abs_crypto_hmac_algorithm_c::~abs_crypto_hmac_algorithm_c(void) + ??1crypto_tls_sha1_prf_c@@UAE@XZ @ 641 NONAME ; crypto_tls_sha1_prf_c::~crypto_tls_sha1_prf_c(void) + ?get_type_string@eap_header_base_c@@QBEPBDXZ @ 642 NONAME ; char const * eap_header_base_c::get_type_string(void) const + ?verify_key_mic@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@PBVeap_variable_data_c@@@Z @ 643 NONAME ; enum eap_status_e eapol_key_state_c::verify_key_mic(class eapol_RSNA_key_header_c *, class eap_variable_data_c const *) + ?get_proposed_eap_type@eap_core_nak_info_c@@QBE?AVeap_expanded_type_c@@XZ @ 644 NONAME ; class eap_expanded_type_c eap_core_nak_info_c::get_proposed_eap_type(void) const + ?save_simple_config_session@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 645 NONAME ; enum eap_status_e eapol_wlan_authentication_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *) + ?get_is_valid@crypto_hmac_c@@UAE_NXZ @ 646 NONAME ; bool crypto_hmac_c::get_is_valid(void) + ?get_encrypt@eap_buf_chain_base_c@@QBE_NXZ @ 647 NONAME ; bool eap_buf_chain_base_c::get_encrypt(void) const + ?is_ietf_type@eap_expanded_type_c@@SA_NV1@@Z @ 648 NONAME ; bool eap_expanded_type_c::is_ietf_type(class eap_expanded_type_c) + ?add_data_to_offset@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@KPBXK@Z @ 649 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data_to_offset(unsigned long, void const *, unsigned long) + ?derive_PTK@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 650 NONAME ; enum eap_status_e eapol_key_state_c::derive_PTK(void) + ?timer_expired@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 651 NONAME ; enum eap_status_e eapol_wlan_authentication_c::timer_expired(unsigned long, void *) + ?init@crypto_rsa_c@@QAE?AW4eap_status_e@@XZ @ 652 NONAME ; enum eap_status_e crypto_rsa_c::init(void) + ?set_session_timeout@eap_core_c@@UAE?AW4eap_status_e@@K@Z @ 653 NONAME ; enum eap_status_e eap_core_c::set_session_timeout(unsigned long) + ?get_payload_size@eapol_handle_tlv_message_data_c@@QBEKPBV?$eap_array_c@Vnetwork_key_and_index_c@@@@@Z @ 654 NONAME ; unsigned long eapol_handle_tlv_message_data_c::get_payload_size(class eap_array_c const *) const + ?compare@eap_variable_data_c@@QBEJPBV1@@Z @ 655 NONAME ; long eap_variable_data_c::compare(class eap_variable_data_c const *) const + ?set_encryption_key@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXK0K@Z @ 656 NONAME ; enum eap_status_e crypto_cbc_c::set_encryption_key(void const *, unsigned long, void const *, unsigned long) + ?copy_leap_password@eap_master_session_key_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 657 NONAME ; enum eap_status_e eap_master_session_key_c::copy_leap_password(class eap_variable_data_c const *) + ?zero_key_RSC@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 658 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_RSC(class abs_eap_am_tools_c *) + ?verify@crypto_dsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00000@Z @ 659 NONAME ; enum eap_status_e crypto_dsa_c::verify(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) + ?timer_sleep@eap_am_tools_symbian_c@@UAEXK@Z @ 660 NONAME ; void eap_am_tools_symbian_c::timer_sleep(unsigned long) + ?process_4_way_handshake_message_2_payloads@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 661 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_2_payloads(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) + ??0crypto_aes_wrap_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 662 NONAME ; crypto_aes_wrap_c::crypto_aes_wrap_c(class abs_eap_am_tools_c *) + ?get_reference@eap_am_mutex_base_c@@QBEPAVeap_am_mutex_reference_c@@XZ @ 663 NONAME ; class eap_am_mutex_reference_c * eap_am_mutex_base_c::get_reference(void) const + ??1eap_buf_chain_wr_c@@UAE@XZ @ 664 NONAME ; eap_buf_chain_wr_c::~eap_buf_chain_wr_c(void) + ?get_expanded_vendor_type_offset@eap_header_base_c@@SAKXZ @ 665 NONAME ; unsigned long eap_header_base_c::get_expanded_vendor_type_offset(void) + ?unset_marked_removed@eapol_key_state_c@@QAEXXZ @ 666 NONAME ; void eapol_key_state_c::unset_marked_removed(void) + ?md5_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 667 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_cleanup(class eap_variable_data_c *) + ?add_RSN_GTK_payload@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeapol_RSNA_key_header_c@@PAVeap_variable_data_c@@PAK@Z @ 668 NONAME ; enum eap_status_e eapol_key_state_c::add_RSN_GTK_payload(class eapol_RSNA_key_header_c const *, class eap_variable_data_c *, unsigned long *) + ?encrypt_with_private_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 669 NONAME ; enum eap_status_e crypto_rsa_c::encrypt_with_private_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) + ?set_is_invalid@eap_am_crypto_md4_c@@AAEXXZ @ 670 NONAME ; void eap_am_crypto_md4_c::set_is_invalid(void) + ?get_expanded_type_data@eap_expanded_type_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAVeap_variable_data_c@@@Z @ 671 NONAME ; enum eap_status_e eap_expanded_type_c::get_expanded_type_data(class abs_eap_am_tools_c *, class eap_variable_data_c *) + ?get_data@eap_buf_chain_rd_c@@QBEPBEK@Z @ 672 NONAME ; unsigned char const * eap_buf_chain_rd_c::get_data(unsigned long) const + ?reset@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 673 NONAME ; enum eap_status_e eapol_key_state_c::reset(void) + ?get_partner@eap_session_core_c@@QAEPAVabs_eap_core_c@@XZ @ 674 NONAME ; class abs_eap_core_c * eap_session_core_c::get_partner(void) + ?get_type@eap_static_expanded_type_c@@QBEABVeap_expanded_type_c@@XZ @ 675 NONAME ; class eap_expanded_type_c const & eap_static_expanded_type_c::get_type(void) const + ?configure@eap_file_config_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_file_input_c@@@Z @ 676 NONAME ; enum eap_status_e eap_file_config_c::configure(class abs_eap_am_file_input_c *) + ?copy@eap_am_crypto_md4_c@@QAEPAV1@XZ @ 677 NONAME ; class eap_am_crypto_md4_c * eap_am_crypto_md4_c::copy(void) + ?set_rogue_reason@eap_rogue_ap_entry_c@@QAEXW4eap_rogue_ap_reason_e@@@Z @ 678 NONAME ; void eap_rogue_ap_entry_c::set_rogue_reason(enum eap_rogue_ap_reason_e) + ?get_data_length@eap_buf_chain_base_c@@QBEKXZ @ 679 NONAME ; unsigned long eap_buf_chain_base_c::get_data_length(void) const + ??1eap_header_string_c@@UAE@XZ @ 680 NONAME ; eap_header_string_c::~eap_header_string_c(void) + ?decrypt_block_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 681 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::decrypt_block_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long) + ?get_type_data@eap_expanded_type_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAW4eap_type_ietf_values_e@@@Z @ 682 NONAME ; enum eap_status_e eap_expanded_type_c::get_type_data(class abs_eap_am_tools_c *, enum eap_type_ietf_values_e *) + ?get_type_data@eap_expanded_type_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAV1@@Z @ 683 NONAME ; enum eap_status_e eap_expanded_type_c::get_type_data(class abs_eap_am_tools_c *, class eap_expanded_type_c *) + ??1crypto_nt_hash_c@@UAE@XZ @ 684 NONAME ; crypto_nt_hash_c::~crypto_nt_hash_c(void) + ?tls_prf_cleanup@crypto_tls_sha1_prf_c@@QAE?AW4eap_status_e@@XZ @ 685 NONAME ; enum eap_status_e crypto_tls_sha1_prf_c::tls_prf_cleanup(void) + ?get_data_offset@eap_buf_chain_base_c@@QBEPAEKK@Z @ 686 NONAME ; unsigned char * eap_buf_chain_base_c::get_data_offset(unsigned long, unsigned long) const + ?set_copy_of_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBXK@Z @ 687 NONAME ; enum eap_status_e eap_variable_data_c::set_copy_of_buffer(void const *, unsigned long) + ?get_is_WPA@eapol_key_state_c@@AAE_NXZ @ 688 NONAME ; bool eapol_key_state_c::get_is_WPA(void) + ?set_is_invalid@crypto_tls_prf_c@@AAEXXZ @ 689 NONAME ; void crypto_tls_prf_c::set_is_invalid(void) + ?check_header@eapol_ethernet_header_base_c@@UBE?AW4eap_status_e@@XZ @ 690 NONAME ; enum eap_status_e eapol_ethernet_header_base_c::check_header(void) const + ?timer_delete_data@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@KPAX@Z @ 691 NONAME ; enum eap_status_e eapol_wlan_authentication_c::timer_delete_data(unsigned long, void *) + ?restore_bytes_from_ascii_armor@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 692 NONAME ; enum eap_status_e eap_am_tools_c::restore_bytes_from_ascii_armor(unsigned char const *, unsigned long, unsigned char *, unsigned long *) + ??1eap_master_session_key_c@@UAE@XZ @ 693 NONAME ; eap_master_session_key_c::~eap_master_session_key_c(void) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 694 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class eap_variable_data_c const *) + ?allocate_message_data_buffer@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@K@Z @ 695 NONAME ; enum eap_status_e eap_tlv_message_data_c::allocate_message_data_buffer(unsigned long) + ??0eapol_ethernet_header_rd_c@@QAE@PAVabs_eap_am_tools_c@@PBEK@Z @ 696 NONAME ; eapol_ethernet_header_rd_c::eapol_ethernet_header_rd_c(class abs_eap_am_tools_c *, unsigned char const *, unsigned long) + ??0eap_network_id_selector_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@@Z @ 697 NONAME ; eap_network_id_selector_c::eap_network_id_selector_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *) + ?load_type@ethernet_core_c@@QAEPAVeap_base_type_c@@Veap_expanded_type_c@@@Z @ 698 NONAME ; class eap_base_type_c * ethernet_core_c::load_type(class eap_expanded_type_c) + ?get_block_size@eap_am_crypto_md4_c@@QAEKXZ @ 699 NONAME ; unsigned long eap_am_crypto_md4_c::get_block_size(void) + ??0eap_am_crypto_rc4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 700 NONAME ; eap_am_crypto_rc4_c::eap_am_crypto_rc4_c(class abs_eap_am_tools_c *) + ??0eap_buf_chain_wr_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 701 NONAME ; eap_buf_chain_wr_c::eap_buf_chain_wr_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned long) + ?get_is_valid@eap_am_crypto_symbian_c@@UBE_NXZ @ 702 NONAME ; bool eap_am_crypto_symbian_c::get_is_valid(void) const + ?shutdown_operation@eapol_core_c@@SA?AW4eap_status_e@@PAVeapol_key_state_c@@PAVabs_eap_am_tools_c@@@Z @ 703 NONAME ; enum eap_status_e eapol_core_c::shutdown_operation(class eapol_key_state_c *, class abs_eap_am_tools_c *) + ?formatted_print@eap_am_tools_symbian_c@@UAAXPBDZZ @ 704 NONAME ; void eap_am_tools_symbian_c::formatted_print(char const *, ...) + ?get_is_valid@eap_am_file_input_symbian_c@@UAE_NXZ @ 705 NONAME ; bool eap_am_file_input_symbian_c::get_is_valid(void) + ?get_digest_length@crypto_md5_c@@UAEKXZ @ 706 NONAME ; unsigned long crypto_md5_c::get_digest_length(void) + ?compare_network_id@eap_am_network_id_c@@QBE_NPBV1@@Z @ 707 NONAME ; bool eap_am_network_id_c::compare_network_id(class eap_am_network_id_c const *) const + ?get_mutex@eap_am_mutex_symbian_c@@QBEPBVRMutex@@XZ @ 708 NONAME ; class RMutex const * eap_am_mutex_symbian_c::get_mutex(void) const + ?get_eapol_key_type_string@eapol_session_key_c@@SAPBDW4eapol_key_type_e@@@Z @ 709 NONAME ; char const * eapol_session_key_c::get_eapol_key_type_string(enum eapol_key_type_e) + ?trace_eap_packet@eap_core_c@@QAEXPBDPBVeap_header_wr_c@@@Z @ 710 NONAME ; void eap_core_c::trace_eap_packet(char const *, class eap_header_wr_c const *) + ?hash_init@crypto_sha_256_c@@UAE?AW4eap_status_e@@XZ @ 711 NONAME ; enum eap_status_e crypto_sha_256_c::hash_init(void) + ??1abs_eap_am_memory_store_data_c@@UAE@XZ @ 712 NONAME ; abs_eap_am_memory_store_data_c::~abs_eap_am_memory_store_data_c(void) + ?get_protocol@eap_state_notification_c@@UBEKXZ @ 713 NONAME ; unsigned long eap_state_notification_c::get_protocol(void) const + ?get_key_data_length@eapol_RSNA_key_header_c@@QBEGXZ @ 714 NONAME ; unsigned short eapol_RSNA_key_header_c::get_key_data_length(void) const + ??0eap_am_tools_symbian_c@@QAE@PBD@Z @ 715 NONAME ; eap_am_tools_symbian_c::eap_am_tools_symbian_c(char const *) + ??1abs_crypto_hash_algorithm_c@@UAE@XZ @ 716 NONAME ; abs_crypto_hash_algorithm_c::~abs_crypto_hash_algorithm_c(void) + ?asynchronous_init_remove_eapol_key_state@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 717 NONAME ; enum eap_status_e eapol_key_state_c::asynchronous_init_remove_eapol_key_state(void) + ?packet_process@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 718 NONAME ; enum eap_status_e eapol_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) + ?object_decrease_reference_count@eapol_handle_tlv_message_data_c@@QAEKXZ @ 719 NONAME ; unsigned long eapol_handle_tlv_message_data_c::object_decrease_reference_count(void) + ?restart_authentication@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 720 NONAME ; enum eap_status_e eap_session_core_c::restart_authentication(class eap_am_network_id_c const *, bool) + ?state_notification@eapol_am_wlan_authentication_symbian_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 721 NONAME ; void eapol_am_wlan_authentication_symbian_c::state_notification(class abs_eap_state_notification_c const *) + ?get_sha_256_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 722 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha_256_block_size(class eap_variable_data_c *) + ?get_supplicant_RSNA_IE@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 723 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_supplicant_RSNA_IE(void) + ?tkip_mic_failure@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 724 NONAME ; enum eap_status_e eapol_core_c::tkip_mic_failure(class eap_am_network_id_c const *, bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e) + ?get_block_size@crypto_cbc_c@@UAEKXZ @ 725 NONAME ; unsigned long crypto_cbc_c::get_block_size(void) + ?cnf_parse_value@eap_file_config_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAW4eap_configure_type_e@@PAV3@_N@Z @ 726 NONAME ; enum eap_status_e eap_file_config_c::cnf_parse_value(class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_configure_type_e *, class eap_variable_data_c *, bool) + ?packet_process_type@eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 727 NONAME ; enum eap_status_e eap_core_c::packet_process_type(class eap_expanded_type_c, class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) + ??0eap_master_session_key_c@@QAE@PAVabs_eap_am_tools_c@@Veap_expanded_type_c@@@Z @ 728 NONAME ; eap_master_session_key_c::eap_master_session_key_c(class abs_eap_am_tools_c *, class eap_expanded_type_c) + ?get_value_offset@eap_tlv_header_c@@QBEPAEKK@Z @ 729 NONAME ; unsigned char * eap_tlv_header_c::get_value_offset(unsigned long, unsigned long) const + ?get_source_length@eap_am_network_id_c@@QBEKXZ @ 730 NONAME ; unsigned long eap_am_network_id_c::get_source_length(void) const + ?get_source@eapol_ethernet_header_base_c@@QBEPAEXZ @ 731 NONAME ; unsigned char * eapol_ethernet_header_base_c::get_source(void) const + ?get_confirmation_KCK@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 732 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_confirmation_KCK(void) + ??1eap_am_crypto_sha1_c@@UAE@XZ @ 733 NONAME ; eap_am_crypto_sha1_c::~eap_am_crypto_sha1_c(void) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@K@Z @ 734 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(unsigned long) + ?set_key_information_request@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 735 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_request(bool) + ??0eap_type_selection_c@@QAE@PAVabs_eap_am_tools_c@@Veap_expanded_type_c@@_N@Z @ 736 NONAME ; eap_type_selection_c::eap_type_selection_c(class abs_eap_am_tools_c *, class eap_expanded_type_c, bool) + ?set_is_valid@ethernet_core_c@@UAEXXZ @ 737 NONAME ; void ethernet_core_c::set_is_valid(void) + ?get_is_valid@crypto_aes_wrap_c@@QAE_NXZ @ 738 NONAME ; bool crypto_aes_wrap_c::get_is_valid(void) + ?read_reassociation_parameters@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@PBV5@3@Z @ 739 NONAME ; enum eap_status_e eapol_core_c::read_reassociation_parameters(class eap_am_network_id_c const *, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *) + ?get_eap_header@eapol_header_wr_c@@QAEPAEXZ @ 740 NONAME ; unsigned char * eapol_header_wr_c::get_eap_header(void) + ?dsa_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 741 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_cleanup(class eap_variable_data_c *) + ?get_key_tx_bit@eapol_session_key_c@@QBE_NXZ @ 742 NONAME ; bool eapol_session_key_c::get_key_tx_bit(void) const + ?get_current_state@eap_state_notification_c@@UBEKXZ @ 743 NONAME ; unsigned long eap_state_notification_c::get_current_state(void) const + ?block_size_3des_ede@eap_am_crypto_symbian_c@@UAEKXZ @ 744 NONAME ; unsigned long eap_am_crypto_symbian_c::block_size_3des_ede(void) + ?timer_expired@eapol_key_state_c@@UAE?AW4eap_status_e@@KPAX@Z @ 745 NONAME ; enum eap_status_e eapol_key_state_c::timer_expired(unsigned long, void *) + ?process_group_key_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 746 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message_2(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) + ?cancel_all_authentication_sessions@eapol_core_c@@QAE?AW4eap_status_e@@XZ @ 747 NONAME ; enum eap_status_e eapol_core_c::cancel_all_authentication_sessions(void) + ?disassociation@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 748 NONAME ; enum eap_status_e eapol_core_c::disassociation(class eap_am_network_id_c const *) + ?get_is_valid@eap_general_header_base_c@@QBE_NXZ @ 749 NONAME ; bool eap_general_header_base_c::get_is_valid(void) const + ??8eap_expanded_type_c@@QBE_NABV0@@Z @ 750 NONAME ; bool eap_expanded_type_c::operator==(class eap_expanded_type_c const &) const + ?packet_data_session_key@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 751 NONAME ; enum eap_status_e ethernet_core_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *) + ?set_expanded_type_data@eap_expanded_type_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PBVeap_variable_data_c@@@Z @ 752 NONAME ; enum eap_status_e eap_expanded_type_c::set_expanded_type_data(class abs_eap_am_tools_c *, class eap_variable_data_c const *) + ?create_4_way_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 753 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_1(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) + ?read_u32_t@eap_file_config_c@@AAEPAEPAEPBEPAK@Z @ 754 NONAME ; unsigned char * eap_file_config_c::read_u32_t(unsigned char *, unsigned char const *, unsigned long *) + ??0crypto_tls_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 755 NONAME ; crypto_tls_prf_c::crypto_tls_prf_c(class abs_eap_am_tools_c *) + ?start_timer_thread@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 756 NONAME ; enum eap_status_e eap_am_tools_symbian_c::start_timer_thread(void) + ?store_configure@eap_file_config_c@@AAE?AW4eap_status_e@@PAVabs_eap_am_file_input_c@@PBVeap_variable_data_c@@PAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@@Z @ 757 NONAME ; enum eap_status_e eap_file_config_c::store_configure(class abs_eap_am_file_input_c *, class eap_variable_data_c const *, class eap_core_map_c *) + ?get_eap_type_list@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 758 NONAME ; enum eap_status_e eapol_wlan_authentication_c::get_eap_type_list(class eap_array_c *) + ?packet_send@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 759 NONAME ; enum eap_status_e ethernet_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) + ?is_expanded_type@eap_expanded_type_c@@SA_NW4eap_type_ietf_values_e@@@Z @ 760 NONAME ; bool eap_expanded_type_c::is_expanded_type(enum eap_type_ietf_values_e) + ?add_RSN_IE_payload@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeapol_RSNA_key_header_c@@PAVeap_variable_data_c@@PAK@Z @ 761 NONAME ; enum eap_status_e eapol_key_state_c::add_RSN_IE_payload(class eapol_RSNA_key_header_c const *, class eap_variable_data_c *, unsigned long *) + ?leave_crypto_cs@eap_am_tools_symbian_c@@QAEXXZ @ 762 NONAME ; void eap_am_tools_symbian_c::leave_crypto_cs(void) + ??1abs_eap_am_mutex_c@@UAE@XZ @ 763 NONAME ; abs_eap_am_mutex_c::~abs_eap_am_mutex_c(void) + ?load_module@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 764 NONAME ; enum eap_status_e eapol_wlan_authentication_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) + ?hash_final@crypto_md4_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 765 NONAME ; enum eap_status_e crypto_md4_c::hash_final(void *, unsigned long *) + ?get_am_tools@eap_general_header_base_c@@QBEPAVabs_eap_am_tools_c@@XZ @ 766 NONAME ; class abs_eap_am_tools_c * eap_general_header_base_c::get_am_tools(void) const + ??1eap_header_wr_c@@UAE@XZ @ 767 NONAME ; eap_header_wr_c::~eap_header_wr_c(void) + ?handle_eap_identity_request@eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@EPBVeap_am_network_id_c@@@Z @ 768 NONAME ; enum eap_status_e eap_core_c::handle_eap_identity_request(class eap_expanded_type_c, unsigned char, class eap_am_network_id_c const *) + ?md4_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 769 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_cleanup(class eap_variable_data_c *) + ?association@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@32@Z @ 770 NONAME ; enum eap_status_e eapol_core_c::association(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, class eap_variable_data_c const *) + ?load_module@eap_session_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 771 NONAME ; enum eap_status_e eap_session_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) + ?add_padding_bytes@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXKE@Z @ 772 NONAME ; enum eap_status_e crypto_cbc_c::add_padding_bytes(void *, unsigned long, unsigned char) + ?get_key_length@crypto_3des_ede_c@@UAEKXZ @ 773 NONAME ; unsigned long crypto_3des_ede_c::get_key_length(void) + ?send_logoff@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 774 NONAME ; enum eap_status_e eapol_core_c::send_logoff(class eap_am_network_id_c const *) + ?md5_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 775 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_update(class eap_variable_data_c *, unsigned char const *, unsigned long) + ??0eapol_message_wlan_authentication_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_message_wlan_authentication_c@@@Z @ 776 NONAME ; eapol_message_wlan_authentication_c::eapol_message_wlan_authentication_c(class abs_eap_am_tools_c *, class abs_eapol_message_wlan_authentication_c *) + ?initialize_members@eap_variable_data_c@@AAE?AW4eap_status_e@@XZ @ 777 NONAME ; enum eap_status_e eap_variable_data_c::initialize_members(void) + ?copy_message_data@eap_am_memory_store_tlv_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_message_data_c@@K@Z @ 778 NONAME ; enum eap_status_e eap_am_memory_store_tlv_data_c::copy_message_data(class eap_tlv_message_data_c const *, unsigned long) + ?set_key_information_install@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 779 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_install(bool) + ?hash_update@crypto_sha_256_c@@UAE?AW4eap_status_e@@PBXK@Z @ 780 NONAME ; enum eap_status_e crypto_sha_256_c::hash_update(void const *, unsigned long) + ?get_do_packet_retransmission@eap_buf_chain_base_c@@QAE_NXZ @ 781 NONAME ; bool eap_buf_chain_base_c::get_do_packet_retransmission(void) + ?enter_global_mutex@eap_am_tools_symbian_c@@UAEXXZ @ 782 NONAME ; void eap_am_tools_symbian_c::enter_global_mutex(void) + ?add_data_to_offset@eap_variable_data_c@@QAE?AW4eap_status_e@@KPBV1@@Z @ 783 NONAME ; enum eap_status_e eap_variable_data_c::add_data_to_offset(unsigned long, class eap_variable_data_c const *) + ?encrypt_key_data@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@@Z @ 784 NONAME ; enum eap_status_e eapol_key_state_c::encrypt_key_data(class eapol_RSNA_key_header_c *) + ?hash_cleanup@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@XZ @ 785 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_cleanup(void) + ?initialize@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 786 NONAME ; enum eap_status_e eapol_key_state_c::initialize(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) + ?hash_update@crypto_md5_c@@UAE?AW4eap_status_e@@PBXK@Z @ 787 NONAME ; enum eap_status_e crypto_md5_c::hash_update(void const *, unsigned long) + ?set_start_offset@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 788 NONAME ; enum eap_status_e eap_variable_data_c::set_start_offset(unsigned long) + ??1eap_simple_config_trace_string_c@@UAE@XZ @ 789 NONAME ; eap_simple_config_trace_string_c::~eap_simple_config_trace_string_c(void) + ??1eapol_header_rd_c@@UAE@XZ @ 790 NONAME ; eapol_header_rd_c::~eapol_header_rd_c(void) + ?set_is_invalid@eap_am_crypto_sha_256_c@@AAEXXZ @ 791 NONAME ; void eap_am_crypto_sha_256_c::set_is_invalid(void) + ?zero_key_STA_MAC_address@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 792 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_STA_MAC_address(class abs_eap_am_tools_c *) + ?u64_t_to_u64_struct@eap_am_tools_symbian_c@@UAE?AUu64_struct@@_K@Z @ 793 NONAME ; struct u64_struct eap_am_tools_symbian_c::u64_t_to_u64_struct(unsigned long long) + ?set_key_information_error@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 794 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_error(bool) + ?process_4_way_handshake_message_0@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 795 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_0(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) + ?copy@crypto_sha_256_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 796 NONAME ; class abs_crypto_hash_algorithm_c * crypto_sha_256_c::copy(void) + ?hash_update@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@PBXK@Z @ 797 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_update(void const *, unsigned long) + ?shutdown_am_tools@eap_am_tools_c@@QAE?AW4eap_status_e@@XZ @ 798 NONAME ; enum eap_status_e eap_am_tools_c::shutdown_am_tools(void) + ?read_configure@ethernet_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 799 NONAME ; enum eap_status_e ethernet_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) + ?set_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KPBX@Z @ 800 NONAME ; enum eap_status_e eap_tlv_message_data_c::set_message_data(unsigned long, void const *) + ?set_is_invalid@eap_am_crypto_rc4_c@@AAEXXZ @ 801 NONAME ; void eap_am_crypto_rc4_c::set_is_invalid(void) + ?password_hash@crypto_wpa_psk_password_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@PAXP6A?AW42@2K@Z@Z @ 802 NONAME ; enum eap_status_e crypto_wpa_psk_password_hash_c::password_hash(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, void *, enum eap_status_e (*)(void *, unsigned long)) + ?create_key_mic@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeapol_RSNA_key_header_c@@PBVeap_variable_data_c@@@Z @ 803 NONAME ; enum eap_status_e eapol_key_state_c::create_key_mic(class eapol_RSNA_key_header_c *, class eap_variable_data_c const *) + ?get_eap_type_list@eap_session_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 804 NONAME ; enum eap_status_e eap_session_core_c::get_eap_type_list(class eap_array_c *) + ?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAV?$eap_array_c@Vnetwork_key_and_index_c@@@@@Z @ 805 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_array_c *) + ?hash_cleanup@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@XZ @ 806 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_cleanup(void) + ?state_notification@eap_session_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 807 NONAME ; void eap_session_core_c::state_notification(class abs_eap_state_notification_c const *) + ??0eapol_header_rd_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 808 NONAME ; eapol_header_rd_c::eapol_header_rd_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long) + ?process_4_way_handshake_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 809 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) + ?get_type@eap_header_base_c@@QBE?AVeap_expanded_type_c@@XZ @ 810 NONAME ; class eap_expanded_type_c eap_header_base_c::get_type(void) const + ?shutdown@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 811 NONAME ; enum eap_status_e eapol_key_state_c::shutdown(void) + ?set_is_valid@crypto_dsa_c@@AAEXXZ @ 812 NONAME ; void crypto_dsa_c::set_is_valid(void) + ?aes_set_encryption_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 813 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_set_encryption_key(class eap_variable_data_c *, unsigned char const *, unsigned long) + ?set_is_valid@eapol_key_state_c@@AAEXXZ @ 814 NONAME ; void eapol_key_state_c::set_is_valid(void) + ??1crypto_cbc_c@@UAE@XZ @ 815 NONAME ; crypto_cbc_c::~crypto_cbc_c(void) + ?leave_global_mutex@eap_am_tools_symbian_c@@UAEXXZ @ 816 NONAME ; void eap_am_tools_symbian_c::leave_global_mutex(void) + ?set_key_information_key_index@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@E@Z @ 817 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_index(unsigned char) + ?set_is_valid@crypto_md4_c@@EAEXXZ @ 818 NONAME ; void crypto_md4_c::set_is_valid(void) + ?get_code@eap_header_base_c@@QBE?AW4eap_code_value_e@@XZ @ 819 NONAME ; enum eap_code_value_e eap_header_base_c::get_code(void) const + ??Ieap_expanded_type_c@@QAEPAV0@XZ @ 820 NONAME ; class eap_expanded_type_c * eap_expanded_type_c::operator&(void) + ?md4_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 821 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *) + ?get_key_information_install@eapol_RSNA_key_header_c@@QBE_NXZ @ 822 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_install(void) const + ?packet_send@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 823 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) + ??4eap_expanded_type_c@@QAEAAV0@W4eap_type_ietf_values_e@@@Z @ 824 NONAME ; class eap_expanded_type_c & eap_expanded_type_c::operator=(enum eap_type_ietf_values_e) + ?eap_write_u16_t_network_order@@YA?AW4eap_status_e@@PAXKG@Z @ 825 NONAME ; enum eap_status_e eap_write_u16_t_network_order(void *, unsigned long, unsigned short) + ?strlen@eap_am_tools_symbian_c@@UAEKPBD@Z @ 826 NONAME ; unsigned long eap_am_tools_symbian_c::strlen(char const *) + ?get_previous_state_string@eap_state_notification_c@@UBEPBDXZ @ 827 NONAME ; char const * eap_state_notification_c::get_previous_state_string(void) const + ?get_key_reply_counter@eapol_key_state_c@@AAE_KXZ @ 828 NONAME ; unsigned long long eapol_key_state_c::get_key_reply_counter(void) + ?get_marked_removed@eapol_key_state_c@@QAE_NXZ @ 829 NONAME ; bool eapol_key_state_c::get_marked_removed(void) + ?cancel_timer@ethernet_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 830 NONAME ; enum eap_status_e ethernet_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVabs_eap_state_notification_c@@@Z @ 831 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class abs_eap_state_notification_c const *) + ?get_block_size@crypto_3des_ede_c@@UAEKXZ @ 832 NONAME ; unsigned long crypto_3des_ede_c::get_block_size(void) + ?get_type_data_start_offset@eap_header_base_c@@SAK_N@Z @ 833 NONAME ; unsigned long eap_header_base_c::get_type_data_start_offset(bool) + ??0eap_am_crypto_sha1_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 834 NONAME ; eap_am_crypto_sha1_c::eap_am_crypto_sha1_c(class abs_eap_am_tools_c *) + ?convert_value@eap_file_config_c@@AAE?AW4eap_status_e@@PAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@PBVeap_variable_data_c@@W4eap_configure_type_e@@PAV4@@Z @ 835 NONAME ; enum eap_status_e eap_file_config_c::convert_value(class eap_core_map_c *, class eap_variable_data_c const *, enum eap_configure_type_e, class eap_variable_data_c *) + ?convert_hex_ascii_to_bytes@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 836 NONAME ; enum eap_status_e eap_am_tools_c::convert_hex_ascii_to_bytes(unsigned char const *, unsigned long, unsigned char *, unsigned long *) + ?set_authentication_role@eap_core_c@@UAE?AW4eap_status_e@@_N@Z @ 837 NONAME ; enum eap_status_e eap_core_c::set_authentication_role(bool) + ?start_authentication@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 838 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_authentication(class eap_array_c const *) + ?eap_write_u32_t_little_endian_order@@YA?AW4eap_status_e@@PAXKK@Z @ 839 NONAME ; enum eap_status_e eap_write_u32_t_little_endian_order(void *, unsigned long, unsigned long) + ?set_data_length@eapol_header_base_c@@QAEXG@Z @ 840 NONAME ; void eapol_header_base_c::set_data_length(unsigned short) + ?get_digest_length@crypto_sha_256_c@@UAEKXZ @ 841 NONAME ; unsigned long crypto_sha_256_c::get_digest_length(void) + ?reset@eap_am_network_id_c@@QAEXXZ @ 842 NONAME ; void eap_am_network_id_c::reset(void) + ??0abs_eap_am_mutex_c@@QAE@XZ @ 843 NONAME ; abs_eap_am_mutex_c::abs_eap_am_mutex_c(void) + ?configure@eap_core_c@@UAE?AW4eap_status_e@@XZ @ 844 NONAME ; enum eap_status_e eap_core_c::configure(void) + ?get_is_valid@eap_session_core_c@@UAE_NXZ @ 845 NONAME ; bool eap_session_core_c::get_is_valid(void) + ?get_rand_integer@crypto_random_c@@QAEKKK@Z @ 846 NONAME ; unsigned long crypto_random_c::get_rand_integer(unsigned long, unsigned long) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 847 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class eap_expanded_type_c) + ?authentication_finished@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@_NVeap_expanded_type_c@@W4eapol_key_authentication_type_e@@@Z @ 848 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::authentication_finished(bool, class eap_expanded_type_c, enum eapol_key_authentication_type_e) + ?object_increase_reference_count@eapol_key_state_c@@QAEXXZ @ 849 NONAME ; void eapol_key_state_c::object_increase_reference_count(void) + ?check_activate_trace_on_error@eap_am_tools_c@@UAEXXZ @ 850 NONAME ; void eap_am_tools_c::check_activate_trace_on_error(void) + ?get_sent_packet@eap_core_retransmission_c@@QBEPAVeap_buf_chain_wr_c@@XZ @ 851 NONAME ; class eap_buf_chain_wr_c * eap_core_retransmission_c::get_sent_packet(void) const + ??0eapol_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_core_c@@_N@Z @ 852 NONAME ; eapol_core_c::eapol_core_c(class abs_eap_am_tools_c *, class abs_eapol_core_c *, bool) + ?asynchronous_init_remove_eap_session@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 853 NONAME ; enum eap_status_e eap_core_c::asynchronous_init_remove_eap_session(void) + ?get_eapol_key_authentication_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_authentication_type_e@@@Z @ 854 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_authentication_type_string(enum eapol_key_authentication_type_e) + ?zero_key_MIC@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 855 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_MIC(class abs_eap_am_tools_c *) + ?get_type_data_length@eap_header_base_c@@QBEGXZ @ 856 NONAME ; unsigned short eap_header_base_c::get_type_data_length(void) const + ??1eap_core_nak_info_c@@UAE@XZ @ 857 NONAME ; eap_core_nak_info_c::~eap_core_nak_info_c(void) + ?start_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 858 NONAME ; enum eap_status_e ethernet_core_c::start_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *) + ?get_asymmetric_start_key@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@K_N2@Z @ 859 NONAME ; enum eap_status_e crypto_nt_hash_c::get_asymmetric_start_key(class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long, bool, bool) + ?get_is_valid@eap_am_network_id_c@@QBE_NXZ @ 860 NONAME ; bool eap_am_network_id_c::get_is_valid(void) const + ?set_is_valid@eap_am_crypto_md4_c@@AAEXXZ @ 861 NONAME ; void eap_am_crypto_md4_c::set_is_valid(void) + ??1eap_am_mutex_reference_c@@UAE@XZ @ 862 NONAME ; eap_am_mutex_reference_c::~eap_am_mutex_reference_c(void) + ??0ethernet_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_ethernet_core_c@@_N@Z @ 863 NONAME ; ethernet_core_c::ethernet_core_c(class abs_eap_am_tools_c *, class abs_ethernet_core_c *, bool) + ?set_key_information_key_type@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 864 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_type(bool) + ?check_is_valid_eap_type@eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 865 NONAME ; enum eap_status_e eap_core_c::check_is_valid_eap_type(class eap_expanded_type_c) + ?get_is_valid@eap_tlv_message_data_c@@QAE_NXZ @ 866 NONAME ; bool eap_tlv_message_data_c::get_is_valid(void) + ?get_buffer_offset@eap_variable_data_c@@QBEPAEKK@Z @ 867 NONAME ; unsigned char * eap_variable_data_c::get_buffer_offset(unsigned long, unsigned long) const + ?get_encrypts@crypto_3des_ede_c@@UAE_NXZ @ 868 NONAME ; bool crypto_3des_ede_c::get_encrypts(void) + ?add_end_null@eap_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 869 NONAME ; enum eap_status_e eap_variable_data_c::add_end_null(void) + ?shutdown@eapol_core_c@@UAE?AW4eap_status_e@@XZ @ 870 NONAME ; enum eap_status_e eapol_core_c::shutdown(void) + ?initialize_session_timeout@eap_core_c@@AAE?AW4eap_status_e@@K@Z @ 871 NONAME ; enum eap_status_e eap_core_c::initialize_session_timeout(unsigned long) + ?get_is_valid@crypto_nt_hash_c@@QAE_NXZ @ 872 NONAME ; bool crypto_nt_hash_c::get_is_valid(void) + ?get_key_length@eapol_RC4_key_header_c@@QBEGXZ @ 873 NONAME ; unsigned short eapol_RC4_key_header_c::get_key_length(void) const + ?get_use_eap_milli_second_timer@eap_am_tools_symbian_c@@UAE_NXZ @ 874 NONAME ; bool eap_am_tools_symbian_c::get_use_eap_milli_second_timer(void) + ??1crypto_eap_fast_hmac_sha1_prf_c@@UAE@XZ @ 875 NONAME ; crypto_eap_fast_hmac_sha1_prf_c::~crypto_eap_fast_hmac_sha1_prf_c(void) + ?set_mac_address@eap_rogue_ap_entry_c@@QAEXPBE@Z @ 876 NONAME ; void eap_rogue_ap_entry_c::set_mac_address(unsigned char const *) + ?copy@eap_am_network_id_c@@QBEPAV1@XZ @ 877 NONAME ; class eap_am_network_id_c * eap_am_network_id_c::copy(void) const + ?set_marked_removed@eapol_key_state_c@@QAEXXZ @ 878 NONAME ; void eapol_key_state_c::set_marked_removed(void) + ?start_preauthentication@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 879 NONAME ; enum eap_status_e ethernet_core_c::start_preauthentication(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) + ?set_eapol_packet_type@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_packet_type_e@@@Z @ 880 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_eapol_packet_type(enum eapol_packet_type_e) + ??0eap_header_string_c@@QAE@XZ @ 881 NONAME ; eap_header_string_c::eap_header_string_c(void) + ?get_supplicant_MAC_address@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 882 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_supplicant_MAC_address(void) + ?get_type_data@eap_header_base_c@@QBEPAEK@Z @ 883 NONAME ; unsigned char * eap_header_base_c::get_type_data(unsigned long) const + ?eap_write_u64_t_network_order@@YA?AW4eap_status_e@@PAXK_K@Z @ 884 NONAME ; enum eap_status_e eap_write_u64_t_network_order(void *, unsigned long, unsigned long long) + ?get_tmp_IV@crypto_cbc_c@@UAEPBVeap_variable_data_c@@XZ @ 885 NONAME ; class eap_variable_data_c const * crypto_cbc_c::get_tmp_IV(void) + ?eap_sha1_process_data_network_order@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PBKK@Z @ 886 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::eap_sha1_process_data_network_order(unsigned long const *, unsigned long) + ?load_type@eap_core_c@@QAEPAVeap_base_type_c@@Veap_expanded_type_c@@0PBVeap_am_network_id_c@@@Z @ 887 NONAME ; class eap_base_type_c * eap_core_c::load_type(class eap_expanded_type_c, class eap_expanded_type_c, class eap_am_network_id_c const *) + ?convert_unicode_to_utf8@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 888 NONAME ; enum eap_status_e eap_am_tools_symbian_c::convert_unicode_to_utf8(class eap_variable_data_c &, class eap_variable_data_c const &) + ?encrypt_block_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 889 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::encrypt_block_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long) + ?set_buffer@eapol_rsna_variable_data_c@@QAE?AW4eap_status_e@@PBVeapol_rsna_key_data_header_c@@PAEK_N2@Z @ 890 NONAME ; enum eap_status_e eapol_rsna_variable_data_c::set_buffer(class eapol_rsna_key_data_header_c const *, unsigned char *, unsigned long, bool, bool) + ?eapol_indication@eapol_wlan_authentication_c@@EAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_wlan_authentication_state_e@@@Z @ 891 NONAME ; enum eap_status_e eapol_wlan_authentication_c::eapol_indication(class eap_am_network_id_c const *, enum eapol_wlan_authentication_state_e) + ?send_eap_success@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 892 NONAME ; enum eap_status_e eap_core_c::send_eap_success(class eap_am_network_id_c const *, unsigned char) + ?sha1_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 893 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_final(class eap_variable_data_c *, unsigned char *, unsigned long *) + ?set_pairwise_PMK@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVeap_am_network_id_c@@@Z @ 894 NONAME ; enum eap_status_e eapol_key_state_c::set_pairwise_PMK(class eap_variable_data_c const *, class eap_am_network_id_c const *) + ?eap_htons@@YAGG@Z @ 895 NONAME ; unsigned short eap_htons(unsigned short) + ?reset@eap_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 896 NONAME ; enum eap_status_e eap_variable_data_c::reset(void) + ?get_key_length@crypto_aes_wrap_c@@QAEKXZ @ 897 NONAME ; unsigned long crypto_aes_wrap_c::get_key_length(void) + ?get_crypto@eap_am_tools_symbian_c@@UAEPAVabs_eap_am_crypto_c@@XZ @ 898 NONAME ; class abs_eap_am_crypto_c * eap_am_tools_symbian_c::get_crypto(void) + ?eap_sha_256_process_data_network_order@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PBKK@Z @ 899 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::eap_sha_256_process_data_network_order(unsigned long const *, unsigned long) + ?set_network_index@simple_config_credential_c@@QAEXE@Z @ 900 NONAME ; void simple_config_credential_c::set_network_index(unsigned char) + ?get_needs_confirmation_from_user@eap_state_notification_c@@UBE_NXZ @ 901 NONAME ; bool eap_state_notification_c::get_needs_confirmation_from_user(void) const + ?start_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0W4eapol_key_authentication_type_e@@@Z @ 902 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_reassociation(class eap_am_network_id_c const *, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) + ?set_value_length@eap_tlv_header_c@@QAE?AW4eap_status_e@@K@Z @ 903 NONAME ; enum eap_status_e eap_tlv_header_c::set_value_length(unsigned long) + ?get_digest_length@eap_am_crypto_sha1_c@@QAEKXZ @ 904 NONAME ; unsigned long eap_am_crypto_sha1_c::get_digest_length(void) + ?generate_diffie_hellman_keys@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@0PBEK1K@Z @ 905 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::generate_diffie_hellman_keys(class eap_variable_data_c *, class eap_variable_data_c *, unsigned char const *, unsigned long, unsigned char const *, unsigned long) + ?get_eapol_packet_type@eapol_RC4_key_header_c@@QBE?AW4eapol_packet_type_e@@XZ @ 906 NONAME ; enum eapol_packet_type_e eapol_RC4_key_header_c::get_eapol_packet_type(void) const + ?get_is_valid@crypto_kd_hmac_sha256_c@@QAE_NXZ @ 907 NONAME ; bool crypto_kd_hmac_sha256_c::get_is_valid(void) + ?packet_send@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 908 NONAME ; enum eap_status_e eapol_key_state_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) + ?expand_environment_variables@eap_file_config_c@@AAE?AW4eap_status_e@@PAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@PBVeap_variable_data_c@@PAV4@@Z @ 909 NONAME ; enum eap_status_e eap_file_config_c::expand_environment_variables(class eap_core_map_c *, class eap_variable_data_c const *, class eap_variable_data_c *) + ?hash_final@eap_am_crypto_md4_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 910 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_final(void *, unsigned long *) + ?eap_sha_256_process_data_host_order@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PBKK@Z @ 911 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::eap_sha_256_process_data_host_order(unsigned long const *, unsigned long) + ?mutex_enter@eap_am_mutex_symbian_c@@UAE?AW4eap_status_e@@XZ @ 912 NONAME ; enum eap_status_e eap_am_mutex_symbian_c::mutex_enter(void) + ?add_data@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 913 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data(class eap_variable_data_c const *) + ?derive_WPXM_WPXK1_WPXK2@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 914 NONAME ; enum eap_status_e eapol_key_state_c::derive_WPXM_WPXK1_WPXK2(void) + ?file_read@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 915 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_read(class eap_variable_data_c *) + ?write_configure@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 916 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) + ?eap_htonll@@YA_K_K@Z @ 917 NONAME ; unsigned long long eap_htonll(unsigned long long) + ??0eap_am_mutex_symbian_c@@QAE@XZ @ 918 NONAME ; eap_am_mutex_symbian_c::eap_am_mutex_symbian_c(void) + ?set_is_valid@crypto_eap_fast_hmac_sha1_prf_c@@AAEXXZ @ 919 NONAME ; void crypto_eap_fast_hmac_sha1_prf_c::set_is_valid(void) + ?set_WPXM_parameters@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 920 NONAME ; enum eap_status_e eapol_key_state_c::set_WPXM_parameters(class eap_am_network_id_c const *) + ?get_is_timer_thread_active@eap_am_tools_symbian_c@@UAE_NXZ @ 921 NONAME ; bool eap_am_tools_symbian_c::get_is_timer_thread_active(void) + ?object_decrease_reference_count@eap_core_c@@QAEKXZ @ 922 NONAME ; unsigned long eap_core_c::object_decrease_reference_count(void) + ?init_group_key_update_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@K@Z @ 923 NONAME ; enum eap_status_e eapol_key_state_c::init_group_key_update_timeout(unsigned long) + ?discard_stream@crypto_rc4_c@@UAE?AW4eap_status_e@@K@Z @ 924 NONAME ; enum eap_status_e crypto_rc4_c::discard_stream(unsigned long) + ?load_module@eapol_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 925 NONAME ; enum eap_status_e eapol_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) + ?zero_key_signature@eapol_RC4_key_header_c@@QAEXPAVabs_eap_am_tools_c@@@Z @ 926 NONAME ; void eapol_RC4_key_header_c::zero_key_signature(class abs_eap_am_tools_c *) + ?set_is_valid@eapol_core_c@@UAEXXZ @ 927 NONAME ; void eapol_core_c::set_is_valid(void) + ?generic_convert_unicode_to_utf8@eap_am_tools_c@@QAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 928 NONAME ; enum eap_status_e eap_am_tools_c::generic_convert_unicode_to_utf8(class eap_variable_data_c &, class eap_variable_data_c const &) + ?restore_selected_bytes_from_ascii_armor@eap_am_tools_c@@AAEXEPAKPAE0_N@Z @ 929 NONAME ; void eap_am_tools_c::restore_selected_bytes_from_ascii_armor(unsigned char, unsigned long *, unsigned char *, unsigned long *, bool) + ??1eap_expanded_type_c@@QAE@XZ @ 930 NONAME ; eap_expanded_type_c::~eap_expanded_type_c(void) + ?shutdown_operation@eap_session_core_c@@CA?AW4eap_status_e@@PAVeap_core_c@@PAVabs_eap_am_tools_c@@@Z @ 931 NONAME ; enum eap_status_e eap_session_core_c::shutdown_operation(class eap_core_c *, class abs_eap_am_tools_c *) + ?set_copy_of_am_network_id@eap_am_network_id_c@@QAE?AW4eap_status_e@@PBXK0KG@Z @ 932 NONAME ; enum eap_status_e eap_am_network_id_c::set_copy_of_am_network_id(void const *, unsigned long, void const *, unsigned long, unsigned short) + ?get_eapol_header@eapol_ethernet_header_wr_c@@QBEPAEXZ @ 933 NONAME ; unsigned char * eapol_ethernet_header_wr_c::get_eapol_header(void) const + ?memrchr@eap_am_tools_symbian_c@@UAEPAXPBXEK@Z @ 934 NONAME ; void * eap_am_tools_symbian_c::memrchr(void const *, unsigned char, unsigned long) + ?create_PMKID@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 935 NONAME ; enum eap_status_e eapol_key_state_c::create_PMKID(void) + ?encrypt_block@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXKPAXK@Z @ 936 NONAME ; enum eap_status_e crypto_aes_wrap_c::encrypt_block(void const *, unsigned long, void *, unsigned long) + ?check_one_payload@eapol_rsna_key_data_payloads_c@@QAE_NW4eapol_rsna_key_data_payload_status_e@1@PBV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 937 NONAME ; bool eapol_rsna_key_data_payloads_c::check_one_payload(enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, class eap_array_c const *) + ??0eap_header_rd_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 938 NONAME ; eap_header_rd_c::eap_header_rd_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long) + ?rsa_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 939 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_cleanup(class eap_variable_data_c *) + ??1eapol_key_state_string_c@@UAE@XZ @ 940 NONAME ; eapol_key_state_string_c::~eapol_key_state_string_c(void) + ?rsa_decrypt_with_public_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 941 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_decrypt_with_public_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) + ?set_is_valid@crypto_random_c@@QAEXXZ @ 942 NONAME ; void crypto_random_c::set_is_valid(void) + ?ascii_to_octet@eap_am_tools_c@@UAEEJ@Z @ 943 NONAME ; unsigned char eap_am_tools_c::ascii_to_octet(long) + ?convert_utf8_to_unicode@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 944 NONAME ; enum eap_status_e eap_am_tools_symbian_c::convert_utf8_to_unicode(class eap_variable_data_c &, class eap_variable_data_c const &) + ?set_is_valid@eap_am_network_id_c@@AAEXXZ @ 945 NONAME ; void eap_am_network_id_c::set_is_valid(void) + ?hash_update@crypto_sha1_c@@UAE?AW4eap_status_e@@PBXK@Z @ 946 NONAME ; enum eap_status_e crypto_sha1_c::hash_update(void const *, unsigned long) + ?verify@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 947 NONAME ; enum eap_status_e crypto_rsa_c::verify(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) + ?get_block_size@crypto_aes_wrap_c@@QAEKXZ @ 948 NONAME ; unsigned long crypto_aes_wrap_c::get_block_size(void) + ?write_configure@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 949 NONAME ; enum eap_status_e eap_session_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) + ?unload_module@ethernet_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 950 NONAME ; enum eap_status_e ethernet_core_c::unload_module(class eap_expanded_type_c) + ?get_expanded_vendor_id_offset@eap_header_base_c@@SAKXZ @ 951 NONAME ; unsigned long eap_header_base_c::get_expanded_vendor_id_offset(void) + ?use_test_random@eap_am_crypto_symbian_c@@UAEXPBEK_N@Z @ 952 NONAME ; void eap_am_crypto_symbian_c::use_test_random(unsigned char const *, unsigned long, bool) + ?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAE@Z @ 953 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned char *) + ?set_is_valid@crypto_rc4_c@@EAEXXZ @ 954 NONAME ; void crypto_rc4_c::set_is_valid(void) + ?memset@eap_am_tools_symbian_c@@UAEXPAXJK@Z @ 955 NONAME ; void eap_am_tools_symbian_c::memset(void *, long, unsigned long) + ?set_timer@ethernet_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 956 NONAME ; enum eap_status_e ethernet_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) + ?initialize_asynchronous_init_remove_eap_session@eap_core_c@@AAE?AW4eap_status_e@@K@Z @ 957 NONAME ; enum eap_status_e eap_core_c::initialize_asynchronous_init_remove_eap_session(unsigned long) + ?aes_key_length@eap_am_crypto_symbian_c@@UAEKXZ @ 958 NONAME ; unsigned long eap_am_crypto_symbian_c::aes_key_length(void) + ?get_is_valid@crypto_aes_c@@UAE_NXZ @ 959 NONAME ; bool crypto_aes_c::get_is_valid(void) + ?reset_header@eap_tlv_header_c@@QAE?AW4eap_status_e@@KK@Z @ 960 NONAME ; enum eap_status_e eap_tlv_header_c::reset_header(unsigned long, unsigned long) + ?add_data@eap_am_memory_store_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVeap_tlv_message_data_c@@K@Z @ 961 NONAME ; enum eap_status_e eap_am_memory_store_c::add_data(class eap_variable_data_c const *, class eap_tlv_message_data_c const *, unsigned long) + ?read_configure@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 962 NONAME ; enum eap_status_e eapol_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) + ?get_is_valid@eap_variable_data_c@@QBE_NXZ @ 963 NONAME ; bool eap_variable_data_c::get_is_valid(void) const + ?set_is_invalid@crypto_dsa_c@@AAEXXZ @ 964 NONAME ; void crypto_dsa_c::set_is_invalid(void) + ?read_type@eap_expanded_type_c@@SA?AW4eap_status_e@@PAVabs_eap_am_tools_c@@KPBXKPAV1@@Z @ 965 NONAME ; enum eap_status_e eap_expanded_type_c::read_type(class abs_eap_am_tools_c *, unsigned long, void const *, unsigned long, class eap_expanded_type_c *) + ??1eap_header_base_c@@UAE@XZ @ 966 NONAME ; eap_header_base_c::~eap_header_base_c(void) + ?create_group_key_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1_KW4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 967 NONAME ; enum eap_status_e eapol_key_state_c::create_group_key_handshake_message_2(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) + ?get_message_data_length@eap_am_memory_store_tlv_data_c@@QBEKXZ @ 968 NONAME ; unsigned long eap_am_memory_store_tlv_data_c::get_message_data_length(void) const + ?process_data@eapol_message_wlan_authentication_c@@QAE?AW4wlan_eap_if_send_status_e@@PBXK@Z @ 969 NONAME ; enum wlan_eap_if_send_status_e eapol_message_wlan_authentication_c::process_data(void const *, unsigned long) + ?load_module@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 970 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) + ?configure@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@XZ @ 971 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::configure(void) + ??1simple_config_credential_c@@UAE@XZ @ 972 NONAME ; simple_config_credential_c::~simple_config_credential_c(void) + ?set_timer_resolution_ms@eap_am_tools_symbian_c@@UAEXK@Z @ 973 NONAME ; void eap_am_tools_symbian_c::set_timer_resolution_ms(unsigned long) + ?get_key_information_key_descriptor_version@eapol_RSNA_key_header_c@@QBE?AW4key_descriptor_version_e@1@XZ @ 974 NONAME ; enum eapol_RSNA_key_header_c::key_descriptor_version_e eapol_RSNA_key_header_c::get_key_information_key_descriptor_version(void) const + ??1eapol_wlan_authentication_c@@UAE@XZ @ 975 NONAME ; eapol_wlan_authentication_c::~eapol_wlan_authentication_c(void) + ??0eap_file_config_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 976 NONAME ; eap_file_config_c::eap_file_config_c(class abs_eap_am_tools_c *) + ?get_header_length@eapol_header_base_c@@SAKXZ @ 977 NONAME ; unsigned long eapol_header_base_c::get_header_length(void) + ?am_cancel_all_timers@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 978 NONAME ; enum eap_status_e eap_am_tools_symbian_c::am_cancel_all_timers(void) + ?get_md4_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 979 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md4_block_size(class eap_variable_data_c *) + ?set_encryption_key_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 980 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::set_encryption_key_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned long) + ?set_stack_address@eap_buf_chain_base_c@@QAEXPBX@Z @ 981 NONAME ; void eap_buf_chain_base_c::set_stack_address(void const *) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@_K@Z @ 982 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(unsigned long long) + ?read_configure@eap_file_config_c@@AAE?AW4eap_status_e@@PAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@PAW4eap_configure_type_e@@_N@Z @ 983 NONAME ; enum eap_status_e eap_file_config_c::read_configure(class eap_core_map_c *, class eap_configuration_field_c const *, class eap_variable_data_c *, enum eap_configure_type_e *, bool) + ?nt_password_hash@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@K@Z @ 984 NONAME ; enum eap_status_e crypto_nt_hash_c::nt_password_hash(class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long) + ?encrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXK@Z @ 985 NONAME ; enum eap_status_e crypto_cbc_c::encrypt_data(void *, unsigned long) + ?get_code_string@eap_header_base_c@@QBEPBDXZ @ 986 NONAME ; char const * eap_header_base_c::get_code_string(void) const + ?remove_reference@eap_am_mutex_reference_c@@QAEXXZ @ 987 NONAME ; void eap_am_mutex_reference_c::remove_reference(void) + ?rsa_verify@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@11@Z @ 988 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_verify(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) + ?eap_acknowledge@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 989 NONAME ; enum eap_status_e eapol_core_c::eap_acknowledge(class eap_am_network_id_c const *) + ?open_crypto_memory_leaks@eap_am_crypto_symbian_c@@AAEXXZ @ 990 NONAME ; void eap_am_crypto_symbian_c::open_crypto_memory_leaks(void) + ?set_is_valid@eap_am_crypto_rc4_c@@AAEXXZ @ 991 NONAME ; void eap_am_crypto_rc4_c::set_is_valid(void) + ?force_inheritance@eap_buf_chain_wr_c@@EAEXXZ @ 992 NONAME ; void eap_buf_chain_wr_c::force_inheritance(void) + ?set_is_client@eap_buf_chain_base_c@@QAEX_N@Z @ 993 NONAME ; void eap_buf_chain_base_c::set_is_client(bool) + ?check_is_valid_eap_type@ethernet_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 994 NONAME ; enum eap_status_e ethernet_core_c::check_is_valid_eap_type(class eap_expanded_type_c) + ?get_key_information@eapol_RSNA_key_header_c@@QBEGXZ @ 995 NONAME ; unsigned short eapol_RSNA_key_header_c::get_key_information(void) const + ?set_is_valid@crypto_aes_c@@UAEXXZ @ 996 NONAME ; void crypto_aes_c::set_is_valid(void) + ?set_is_invalid@crypto_eap_fast_hmac_sha1_prf_c@@AAEXXZ @ 997 NONAME ; void crypto_eap_fast_hmac_sha1_prf_c::set_is_invalid(void) + ?set_partner@eap_core_c@@QAEXPAVabs_eap_core_c@@@Z @ 998 NONAME ; void eap_core_c::set_partner(class abs_eap_core_c *) + ?get_version@eapol_header_base_c@@QBE?AW4eapol_protocol_version_e@@XZ @ 999 NONAME ; enum eapol_protocol_version_e eapol_header_base_c::get_version(void) const + ??0crypto_tls_sha1_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1000 NONAME ; crypto_tls_sha1_prf_c::crypto_tls_sha1_prf_c(class abs_eap_am_tools_c *) + ?get_block_size@crypto_md4_c@@UAEKXZ @ 1001 NONAME ; unsigned long crypto_md4_c::get_block_size(void) + ?timer_thread_function@eap_am_tools_c@@UAE?AW4eap_status_e@@XZ @ 1002 NONAME ; enum eap_status_e eap_am_tools_c::timer_thread_function(void) + ?get_payload_size@eapol_handle_tlv_message_data_c@@QBEKPAVsimple_config_credential_c@@@Z @ 1003 NONAME ; unsigned long eapol_handle_tlv_message_data_c::get_payload_size(class simple_config_credential_c *) const + ?set_eapol_protocol_version@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_protocol_version_e@@@Z @ 1004 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_eapol_protocol_version(enum eapol_protocol_version_e) + ?packet_send@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 1005 NONAME ; enum eap_status_e eapol_wlan_authentication_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) + ?packet_process@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 1006 NONAME ; enum eap_status_e eapol_wlan_authentication_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) + ?begin_db_update@eap_am_tools_symbian_c@@QAE?AW4eap_status_e@@AAVRDbView@@@Z @ 1007 NONAME ; enum eap_status_e eap_am_tools_symbian_c::begin_db_update(class RDbView &) + ?generic_convert_utf8_to_unicode@eap_am_tools_c@@QAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 1008 NONAME ; enum eap_status_e eap_am_tools_c::generic_convert_utf8_to_unicode(class eap_variable_data_c &, class eap_variable_data_c const &) + ?packet_data_session_key@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 1009 NONAME ; enum eap_status_e eapol_wlan_authentication_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *) + ?packet_send@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 1010 NONAME ; enum eap_status_e eapol_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) + ?add_rogue_ap@eap_session_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 1011 NONAME ; enum eap_status_e eap_session_core_c::add_rogue_ap(class eap_array_c &) + ?get_current_eap_index@eapol_wlan_authentication_c@@UAEKXZ @ 1012 NONAME ; unsigned long eapol_wlan_authentication_c::get_current_eap_index(void) + ?set_key@crypto_rc4_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1013 NONAME ; enum eap_status_e crypto_rc4_c::set_key(class eap_variable_data_c const *) + ?encrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PAXK@Z @ 1014 NONAME ; enum eap_status_e crypto_rc4_c::encrypt_data(void *, unsigned long) + ??0eapol_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 1015 NONAME ; eapol_header_base_c::eapol_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long) + ?get_is_valid@crypto_ephemeral_diffie_hellman_c@@QAE_NXZ @ 1016 NONAME ; bool crypto_ephemeral_diffie_hellman_c::get_is_valid(void) + ?complete_WPXM_reassociation@eapol_core_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 1017 NONAME ; enum eap_status_e eapol_core_c::complete_WPXM_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *) + ?get_is_valid@eap_core_retransmission_c@@QBE_NXZ @ 1018 NONAME ; bool eap_core_retransmission_c::get_is_valid(void) const + ?read_reassociation_parameters@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@PBV5@3@Z @ 1019 NONAME ; enum eap_status_e ethernet_core_c::read_reassociation_parameters(class eap_am_network_id_c const *, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *) + ??1crypto_dsa_c@@UAE@XZ @ 1020 NONAME ; crypto_dsa_c::~crypto_dsa_c(void) + ?resend_packet@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 1021 NONAME ; enum eap_status_e eapol_key_state_c::resend_packet(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) + ?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_variable_data_c@@@Z @ 1022 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_variable_data_c *) + ?set_is_valid@crypto_sha_256_c@@EAEXXZ @ 1023 NONAME ; void crypto_sha_256_c::set_is_valid(void) + ??1eapol_key_state_c@@UAE@XZ @ 1024 NONAME ; eapol_key_state_c::~eapol_key_state_c(void) + ??0eap_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1025 NONAME ; eap_variable_data_c::eap_variable_data_c(class abs_eap_am_tools_c *) + ?get_trace_mutex@eap_am_tools_symbian_c@@QAEPAVabs_eap_am_mutex_c@@XZ @ 1026 NONAME ; class abs_eap_am_mutex_c * eap_am_tools_symbian_c::get_trace_mutex(void) + ?object_increase_reference_count@eapol_handle_tlv_message_data_c@@QAEXXZ @ 1027 NONAME ; void eapol_handle_tlv_message_data_c::object_increase_reference_count(void) + ?decrypt_block@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXKPAXK@Z @ 1028 NONAME ; enum eap_status_e crypto_aes_wrap_c::decrypt_block(void const *, unsigned long, void *, unsigned long) + ?file_delete@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1029 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_delete(class eap_variable_data_c const *) + ?get_eap_type_string@eap_header_string_c@@SAPBDVeap_expanded_type_c@@@Z @ 1030 NONAME ; char const * eap_header_string_c::get_eap_type_string(class eap_expanded_type_c) + ??0eapol_handle_tlv_message_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1031 NONAME ; eapol_handle_tlv_message_data_c::eapol_handle_tlv_message_data_c(class abs_eap_am_tools_c *) + ??1eap_state_notification_c@@UAE@XZ @ 1032 NONAME ; eap_state_notification_c::~eap_state_notification_c(void) + ?hmac_final@crypto_hmac_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 1033 NONAME ; enum eap_status_e crypto_hmac_c::hmac_final(void *, unsigned long *) + ?file_read_line@eap_file_config_c@@AAE?AW4eap_status_e@@PAVabs_eap_am_file_input_c@@PAVeap_variable_data_c@@@Z @ 1034 NONAME ; enum eap_status_e eap_file_config_c::file_read_line(class abs_eap_am_file_input_c *, class eap_variable_data_c *) + ?get_is_client@eap_state_notification_c@@UBE_NXZ @ 1035 NONAME ; bool eap_state_notification_c::get_is_client(void) const + ??0crypto_wpa_psk_password_hash_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1036 NONAME ; crypto_wpa_psk_password_hash_c::crypto_wpa_psk_password_hash_c(class abs_eap_am_tools_c *) + ??0network_key_and_index_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1037 NONAME ; network_key_and_index_c::network_key_and_index_c(class abs_eap_am_tools_c *) + ?get_header_offset@eap_general_header_base_c@@QBEPAEKK@Z @ 1038 NONAME ; unsigned char * eap_general_header_base_c::get_header_offset(unsigned long, unsigned long) const + ?check_pmksa_cache@eapol_core_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_am_network_id_c@@@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 1039 NONAME ; enum eap_status_e eapol_core_c::check_pmksa_cache(class eap_array_c *, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) + ?get_key_STA_MAC_address@eapol_RSNA_key_header_c@@QBEPAEXZ @ 1040 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_STA_MAC_address(void) const + ?cancel_eap_failure_timeout@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 1041 NONAME ; enum eap_status_e eap_core_c::cancel_eap_failure_timeout(void) + ?get_protocol_layer@eap_state_notification_c@@UBE?AW4eap_protocol_layer_e@@XZ @ 1042 NONAME ; enum eap_protocol_layer_e eap_state_notification_c::get_protocol_layer(void) const + ?get_replay_counter@eapol_RC4_key_header_c@@QAEPAEXZ @ 1043 NONAME ; unsigned char * eapol_RC4_key_header_c::get_replay_counter(void) + ?set_do_length_checks@eap_buf_chain_base_c@@QAEX_N@Z @ 1044 NONAME ; void eap_buf_chain_base_c::set_do_length_checks(bool) + ?get_buffer_length@eap_buf_chain_base_c@@QBEKXZ @ 1045 NONAME ; unsigned long eap_buf_chain_base_c::get_buffer_length(void) const + ?set_encryption_key@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXK@Z @ 1046 NONAME ; enum eap_status_e crypto_3des_ede_c::set_encryption_key(void const *, unsigned long) + ??0eap_general_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 1047 NONAME ; eap_general_header_base_c::eap_general_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long) + ?get_state_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_state_e@@@Z @ 1048 NONAME ; char const * eap_simple_config_trace_string_c::get_state_string(enum simple_config_state_e) const + ?start_authentication@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@W4eapol_key_authentication_type_e@@0_NPBVeap_am_network_id_c@@@Z @ 1049 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_authentication(class eap_variable_data_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, bool, class eap_am_network_id_c const *) + ?get_type_string@eapol_handle_tlv_message_data_c@@QAEPBDW4eapol_tlv_message_type_e@@@Z @ 1050 NONAME ; char const * eapol_handle_tlv_message_data_c::get_type_string(enum eapol_tlv_message_type_e) + ?parse_key_data@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@PBVeapol_rsna_key_data_header_c@@PAKPAVeapol_rsna_key_data_payloads_c@@W4eapol_key_state_e@@W4key_descriptor_version_e@eapol_RSNA_key_header_c@@@Z @ 1051 NONAME ; enum eap_status_e eapol_key_state_c::parse_key_data(enum eapol_key_descriptor_type_e, class eapol_rsna_key_data_header_c const *, unsigned long *, class eapol_rsna_key_data_payloads_c *, enum eapol_key_state_e, enum eapol_RSNA_key_header_c::key_descriptor_version_e) + ?get_data@eap_header_base_c@@QBEPAEK@Z @ 1052 NONAME ; unsigned char * eap_header_base_c::get_data(unsigned long) const + ?reset_header@eapol_header_wr_c@@QAEXG@Z @ 1053 NONAME ; void eapol_header_wr_c::reset_header(unsigned short) + ?get_eapol_packet_type@eapol_RSNA_key_header_c@@QBE?AW4eapol_packet_type_e@@XZ @ 1054 NONAME ; enum eapol_packet_type_e eapol_RSNA_key_header_c::get_eapol_packet_type(void) const + ?get_is_valid@eapol_handle_tlv_message_data_c@@QAE_NXZ @ 1055 NONAME ; bool eapol_handle_tlv_message_data_c::get_is_valid(void) + ?xor_u64@eap_am_tools_c@@UAE_K_K0@Z @ 1056 NONAME ; unsigned long long eap_am_tools_c::xor_u64(unsigned long long, unsigned long long) + ?swap@eap_am_crypto_rc4_c@@AAEXPAE0@Z @ 1057 NONAME ; void eap_am_crypto_rc4_c::swap(unsigned char *, unsigned char *) + ?eap_read_u32_t_network_order@@YAKPBXK@Z @ 1058 NONAME ; unsigned long eap_read_u32_t_network_order(void const *, unsigned long) + ?get_key_length@crypto_aes_c@@UAEKXZ @ 1059 NONAME ; unsigned long crypto_aes_c::get_key_length(void) + ?get_partner@eap_core_c@@QAEPAVabs_eap_core_c@@XZ @ 1060 NONAME ; class abs_eap_core_c * eap_core_c::get_partner(void) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeapol_session_key_c@@@Z @ 1061 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class eapol_session_key_c const *) + ??1eap_am_memory_store_tlv_data_c@@UAE@XZ @ 1062 NONAME ; eap_am_memory_store_tlv_data_c::~eap_am_memory_store_tlv_data_c(void) + ?set_is_valid@crypto_rsa_c@@AAEXXZ @ 1063 NONAME ; void crypto_rsa_c::set_is_valid(void) + ?set_max_trace_file_size@eap_am_tools_symbian_c@@UAEXK@Z @ 1064 NONAME ; void eap_am_tools_symbian_c::set_max_trace_file_size(unsigned long) + ?set_is_invalid@crypto_md4_c@@AAEXXZ @ 1065 NONAME ; void crypto_md4_c::set_is_invalid(void) + ?set_wlan_parameters@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@_N0W4eapol_key_authentication_type_e@@@Z @ 1066 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::set_wlan_parameters(class eap_variable_data_c const *, bool, class eap_variable_data_c const *, enum eapol_key_authentication_type_e) + ?set_timer@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 1067 NONAME ; enum eap_status_e eapol_wlan_authentication_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) + ?enter_trace_mutex@eap_am_tools_symbian_c@@QAEXXZ @ 1068 NONAME ; void eap_am_tools_symbian_c::enter_trace_mutex(void) + ?md4_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 1069 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_update(class eap_variable_data_c *, unsigned char const *, unsigned long) + ??0eap_expanded_type_c@@QAE@W4eap_type_ietf_values_e@@@Z @ 1070 NONAME ; eap_expanded_type_c::eap_expanded_type_c(enum eap_type_ietf_values_e) + ?get_is_valid@eapol_am_wlan_authentication_symbian_c@@UAE_NXZ @ 1071 NONAME ; bool eapol_am_wlan_authentication_symbian_c::get_is_valid(void) + ?allocate_buffer@eap_variable_data_c@@AAE?AW4eap_status_e@@K@Z @ 1072 NONAME ; enum eap_status_e eap_variable_data_c::allocate_buffer(unsigned long) + ?derive_WPXM_PTK@eapol_key_state_c@@AAE?AW4eap_status_e@@K@Z @ 1073 NONAME ; enum eap_status_e eapol_key_state_c::derive_WPXM_PTK(unsigned long) + ?get_md4_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 1074 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md4_digest_length(class eap_variable_data_c *) + ?set_authentication_error@eap_state_notification_c@@UAEXW4eap_status_e@@@Z @ 1075 NONAME ; void eap_state_notification_c::set_authentication_error(enum eap_status_e) + ?set_client_send_key_reply_counter@eapol_key_state_c@@AAEX_K@Z @ 1076 NONAME ; void eapol_key_state_c::set_client_send_key_reply_counter(unsigned long long) + ?eap_acknowledge@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1077 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::eap_acknowledge(class eap_array_c const *) + ?rc4_set_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 1078 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_set_key(class eap_variable_data_c *, class eap_variable_data_c const *) + ?process_group_key_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 1079 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message_1(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) + ?get_header_length@eap_tlv_header_c@@SAKXZ @ 1080 NONAME ; unsigned long eap_tlv_header_c::get_header_length(void) + ?initialize@eap_buf_chain_base_c@@AAE?AW4eap_status_e@@K@Z @ 1081 NONAME ; enum eap_status_e eap_buf_chain_base_c::initialize(unsigned long) + ??0eap_expanded_type_c@@QAE@XZ @ 1082 NONAME ; eap_expanded_type_c::eap_expanded_type_c(void) + ??0eap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@Veap_expanded_type_c@@KKE2@Z @ 1083 NONAME ; eap_state_notification_c::eap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, class eap_expanded_type_c, unsigned long, unsigned long, unsigned char, bool) + ?copy@eap_am_crypto_sha1_c@@QAEPAV1@XZ @ 1084 NONAME ; class eap_am_crypto_sha1_c * eap_am_crypto_sha1_c::copy(void) + ??1eap_variable_data_c@@UAE@XZ @ 1085 NONAME ; eap_variable_data_c::~eap_variable_data_c(void) + ?object_decrease_reference_count@eap_am_memory_store_tlv_data_c@@QAEKXZ @ 1086 NONAME ; unsigned long eap_am_memory_store_tlv_data_c::object_decrease_reference_count(void) + ?restart_with_new_type@eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@E@Z @ 1087 NONAME ; enum eap_status_e eap_core_c::restart_with_new_type(class eap_expanded_type_c, class eap_am_network_id_c const *, unsigned char) + ?get_payload_size@eapol_handle_tlv_message_data_c@@QBEKPBVabs_eap_state_notification_c@@@Z @ 1088 NONAME ; unsigned long eapol_handle_tlv_message_data_c::get_payload_size(class abs_eap_state_notification_c const *) const + ??0eap_core_retransmission_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKKKW4eap_code_value_e@@EVeap_expanded_type_c@@@Z @ 1089 NONAME ; eap_core_retransmission_c::eap_core_retransmission_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long, unsigned long, enum eap_code_value_e, unsigned char, class eap_expanded_type_c) + ?init@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 1090 NONAME ; enum eap_status_e eap_variable_data_c::init(unsigned long) + ?get_eap_code_string@eap_header_string_c@@SAPBDW4eap_code_value_e@@@Z @ 1091 NONAME ; char const * eap_header_string_c::get_eap_code_string(enum eap_code_value_e) + ??1network_key_and_index_c@@UAE@XZ @ 1092 NONAME ; network_key_and_index_c::~network_key_and_index_c(void) + ?copy_context@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_KPBK22@Z @ 1093 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::copy_context(class eap_variable_data_c const *, unsigned long long, unsigned long const *, unsigned long const *, unsigned long const *) + ??0eap_network_id_selector_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1094 NONAME ; eap_network_id_selector_c::eap_network_id_selector_c(class abs_eap_am_tools_c *) + ?compare@eap_variable_data_c@@QBEJPBXK@Z @ 1095 NONAME ; long eap_variable_data_c::compare(void const *, unsigned long) const + ?copy@crypto_md4_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 1096 NONAME ; class abs_crypto_hash_algorithm_c * crypto_md4_c::copy(void) + ?generate_g_power_to_xy@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@PBEK2K@Z @ 1097 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::generate_g_power_to_xy(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned char const *, unsigned long, unsigned char const *, unsigned long) + ?directory_read@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Vabs_eap_file_stat_c@@@@@Z @ 1098 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::directory_read(class eap_array_c *) + ?get_is_valid@simple_config_credential_c@@QAE_NXZ @ 1099 NONAME ; bool simple_config_credential_c::get_is_valid(void) + ?set_trace_mask@eap_am_tools_c@@UAEXK@Z @ 1100 NONAME ; void eap_am_tools_c::set_trace_mask(unsigned long) + ?dsa_verify@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@11111@Z @ 1101 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_verify(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) + ?file_read_word@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1102 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_read_word(class eap_variable_data_c *) + ?set_is_valid@eap_am_memory_store_c@@AAEXXZ @ 1103 NONAME ; void eap_am_memory_store_c::set_is_valid(void) + ?process_4_way_handshake_message_4@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 1104 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_4(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) + ?set_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 1105 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer(class eap_variable_data_c const *) + ?get_network_key@network_key_and_index_c@@QAEPAVeap_variable_data_c@@XZ @ 1106 NONAME ; class eap_variable_data_c * network_key_and_index_c::get_network_key(void) + ?handle_eap_identity_response@eap_core_c@@AAE?AW4eap_status_e@@PAVeap_base_type_c@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 1107 NONAME ; enum eap_status_e eap_core_c::handle_eap_identity_response(class eap_base_type_c *, class eap_expanded_type_c, class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) + ?init_handshake_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@K@Z @ 1108 NONAME ; enum eap_status_e eapol_key_state_c::init_handshake_timeout(unsigned long) + ?set_eapol_key_state@eapol_key_state_c@@AAEXW4eapol_key_state_e@@@Z @ 1109 NONAME ; void eapol_key_state_c::set_eapol_key_state(enum eapol_key_state_e) + ?set_type_data_length@eap_header_base_c@@QAEXG_N@Z @ 1110 NONAME ; void eap_header_base_c::set_type_data_length(unsigned short, bool) + ?get_eap_expanded_type_size@eap_expanded_type_c@@SAKXZ @ 1111 NONAME ; unsigned long eap_expanded_type_c::get_eap_expanded_type_size(void) + ?init_retransmission@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKW4eap_code_value_e@@EVeap_expanded_type_c@@@Z @ 1112 NONAME ; enum eap_status_e eap_core_c::init_retransmission(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, enum eap_code_value_e, unsigned char, class eap_expanded_type_c) + ?cancel_group_key_update_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 1113 NONAME ; enum eap_status_e eapol_key_state_c::cancel_group_key_update_timeout(void) + ?set_eapol_packet_body_length@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@K@Z @ 1114 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_eapol_packet_body_length(unsigned long) + ?new_eapol_am_wlan_authentication@eapol_am_wlan_authentication_c@@SAPAV1@PAVabs_eap_am_tools_c@@_NPBVabs_eapol_wlan_database_reference_if_c@@@Z @ 1115 NONAME ; class eapol_am_wlan_authentication_c * eapol_am_wlan_authentication_c::new_eapol_am_wlan_authentication(class abs_eap_am_tools_c *, bool, class abs_eapol_wlan_database_reference_if_c const *) + ?create_4_way_handshake_message_3@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 1116 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_3(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) + ?update_header_offset@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1117 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::update_header_offset(class eap_array_c const *) + ?asynchronous_init_remove_eap_session@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1118 NONAME ; enum eap_status_e eapol_core_c::asynchronous_init_remove_eap_session(class eap_am_network_id_c const *) + ??1crypto_md4_c@@UAE@XZ @ 1119 NONAME ; crypto_md4_c::~crypto_md4_c(void) + ?leave_trace_mutex@eap_am_tools_symbian_c@@QAEXXZ @ 1120 NONAME ; void eap_am_tools_symbian_c::leave_trace_mutex(void) + ?get_is_valid@eap_am_memory_store_c@@QAE_NXZ @ 1121 NONAME ; bool eap_am_memory_store_c::get_is_valid(void) + ?cancel_all_timers@eap_core_c@@UAE?AW4eap_status_e@@XZ @ 1122 NONAME ; enum eap_status_e eap_core_c::cancel_all_timers(void) + ?get_digest_length@crypto_sha1_c@@UAEKXZ @ 1123 NONAME ; unsigned long crypto_sha1_c::get_digest_length(void) + ?remove_leading_spaces@eap_file_config_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1124 NONAME ; enum eap_status_e eap_file_config_c::remove_leading_spaces(class eap_variable_data_c *) + ?timer_delete_data@eap_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1125 NONAME ; enum eap_status_e eap_core_c::timer_delete_data(unsigned long, void *) + ??0eap_buf_chain_base_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 1126 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned long) + ?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAG@Z @ 1127 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned short *) + ?set_Encryption_Type@simple_config_credential_c@@QAEXW4simple_config_Encryption_Type_e@@@Z @ 1128 NONAME ; void simple_config_credential_c::set_Encryption_Type(enum simple_config_Encryption_Type_e) + ?get_is_RSNA@eapol_key_state_c@@AAE_NXZ @ 1129 NONAME ; bool eapol_key_state_c::get_is_RSNA(void) + ??0eap_am_file_input_symbian_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1130 NONAME ; eap_am_file_input_symbian_c::eap_am_file_input_symbian_c(class abs_eap_am_tools_c *) + ?get_ethernet_header@eap_buf_chain_wr_c@@QAEPAEXZ @ 1131 NONAME ; unsigned char * eap_buf_chain_wr_c::get_ethernet_header(void) + ?tls_prf_A_value@crypto_tls_base_prf_c@@QAE?AW4eap_status_e@@PAVabs_crypto_hmac_algorithm_c@@PAVeap_variable_data_c@@11@Z @ 1132 NONAME ; enum eap_status_e crypto_tls_base_prf_c::tls_prf_A_value(class abs_crypto_hmac_algorithm_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *) + ?convert_eapol_error_to_am_error@eap_am_tools_symbian_c@@UAEJW4eap_status_e@@@Z @ 1133 NONAME ; long eap_am_tools_symbian_c::convert_eapol_error_to_am_error(enum eap_status_e) + ?get_key_descriptor_type@eapol_RSNA_key_header_c@@QBE?AW4eapol_key_descriptor_type_e@@XZ @ 1134 NONAME ; enum eapol_key_descriptor_type_e eapol_RSNA_key_header_c::get_key_descriptor_type(void) const + ?get_current_state_string@eap_state_notification_c@@UBEPBDXZ @ 1135 NONAME ; char const * eap_state_notification_c::get_current_state_string(void) const + ?get_key@eapol_RC4_key_header_c@@QBEPAEXZ @ 1136 NONAME ; unsigned char * eapol_RC4_key_header_c::get_key(void) const + ?set_data_length@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 1137 NONAME ; enum eap_status_e eap_variable_data_c::set_data_length(unsigned long) + ?tkip_mic_failure@eapol_key_state_c@@QAE?AW4eap_status_e@@_NW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 1138 NONAME ; enum eap_status_e eapol_key_state_c::tkip_mic_failure(bool, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e) + ?set_key_tx_bit@eapol_session_key_c@@QAEX_N@Z @ 1139 NONAME ; void eapol_session_key_c::set_key_tx_bit(bool) + ?aes_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1140 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_cleanup(class eap_variable_data_c *) + ?get_data_offset@eap_buf_chain_rd_c@@QBEPBEKK@Z @ 1141 NONAME ; unsigned char const * eap_buf_chain_rd_c::get_data_offset(unsigned long, unsigned long) const + ?cancel_timer@eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 1142 NONAME ; enum eap_status_e eap_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) + ??0eapol_ethernet_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 1143 NONAME ; eapol_ethernet_header_base_c::eapol_ethernet_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long) + ?get_data_offset@eap_variable_data_c@@QBEPAEKK@Z @ 1144 NONAME ; unsigned char * eap_variable_data_c::get_data_offset(unsigned long, unsigned long) const + ?sha1_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 1145 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *) + ?cancel_timer@eapol_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 1146 NONAME ; enum eap_status_e eapol_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) + ?state_notification@eapol_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 1147 NONAME ; void eapol_core_c::state_notification(class abs_eap_state_notification_c const *) + ??0crypto_eap_fast_hmac_sha1_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1148 NONAME ; crypto_eap_fast_hmac_sha1_prf_c::crypto_eap_fast_hmac_sha1_prf_c(class abs_eap_am_tools_c *) + ?tls_prf_cleanup@crypto_tls_base_prf_c@@QAE?AW4eap_status_e@@XZ @ 1149 NONAME ; enum eap_status_e crypto_tls_base_prf_c::tls_prf_cleanup(void) + ?set_key_information_secure@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 1150 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_secure(bool) + ?get_is_valid@network_key_and_index_c@@QAE_NXZ @ 1151 NONAME ; bool network_key_and_index_c::get_is_valid(void) + ?internal_encrypt_data@crypto_cbc_c@@AAE?AW4eap_status_e@@PBXPAXK@Z @ 1152 NONAME ; enum eap_status_e crypto_cbc_c::internal_encrypt_data(void const *, void *, unsigned long) + ??0eap_simple_config_trace_string_c@@QAE@XZ @ 1153 NONAME ; eap_simple_config_trace_string_c::eap_simple_config_trace_string_c(void) + ??1eapol_handle_tlv_message_data_c@@UAE@XZ @ 1154 NONAME ; eapol_handle_tlv_message_data_c::~eapol_handle_tlv_message_data_c(void) + ?set_encryption_key@crypto_aes_c@@UAE?AW4eap_status_e@@PBXK@Z @ 1155 NONAME ; enum eap_status_e crypto_aes_c::set_encryption_key(void const *, unsigned long) + ?save_parameters@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@1W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 1156 NONAME ; enum eap_status_e eapol_key_state_c::save_parameters(enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) + ??1eap_am_crypto_sha_256_c@@UAE@XZ @ 1157 NONAME ; eap_am_crypto_sha_256_c::~eap_am_crypto_sha_256_c(void) + ?get_new_key_from_sha@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@K@Z @ 1158 NONAME ; enum eap_status_e crypto_nt_hash_c::get_new_key_from_sha(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long) + ?configure@ethernet_core_c@@UAE?AW4eap_status_e@@XZ @ 1159 NONAME ; enum eap_status_e ethernet_core_c::configure(void) + ?shutdown@eap_am_memory_store_c@@QAE?AW4eap_status_e@@XZ @ 1160 NONAME ; enum eap_status_e eap_am_memory_store_c::shutdown(void) + ?reset_operation@eap_core_c@@CA?AW4eap_status_e@@PAVeap_base_type_c@@PAVabs_eap_am_tools_c@@@Z @ 1161 NONAME ; enum eap_status_e eap_core_c::reset_operation(class eap_base_type_c *, class abs_eap_am_tools_c *) + ?cbc_xor_block@crypto_cbc_c@@AAEXPBXPAXKK@Z @ 1162 NONAME ; void crypto_cbc_c::cbc_xor_block(void const *, void *, unsigned long, unsigned long) + ?close_crypto_memory_leaks@eap_am_crypto_symbian_c@@AAEXXZ @ 1163 NONAME ; void eap_am_crypto_symbian_c::close_crypto_memory_leaks(void) + ?check_padding@eapol_key_state_c@@AAE?AW4eap_status_e@@PBEK@Z @ 1164 NONAME ; enum eap_status_e eapol_key_state_c::check_padding(unsigned char const *, unsigned long) + ?unset_marked_removed@eap_core_c@@QAEXXZ @ 1165 NONAME ; void eap_core_c::unset_marked_removed(void) + ?directory_open@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1166 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::directory_open(class eap_variable_data_c const *) + ?memory_store_remove_data@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1167 NONAME ; enum eap_status_e eap_am_tools_c::memory_store_remove_data(class eap_variable_data_c const *) + ?set_is_reserved@eap_am_mutex_reference_c@@QAEX_N@Z @ 1168 NONAME ; void eap_am_mutex_reference_c::set_is_reserved(bool) + ?synchronous_cancel_all_eap_sessions@eap_session_core_c@@QAE?AW4eap_status_e@@XZ @ 1169 NONAME ; enum eap_status_e eap_session_core_c::synchronous_cancel_all_eap_sessions(void) + ?associate@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@W4eapol_key_802_11_authentication_mode_e@@@Z @ 1170 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::associate(enum eapol_key_802_11_authentication_mode_e) + ?asynchronous_init_remove_eapol_key_state@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1171 NONAME ; enum eap_status_e eapol_core_c::asynchronous_init_remove_eapol_key_state(class eap_am_network_id_c const *) + ?get_key_information_reserved_a@eapol_RSNA_key_header_c@@QBEEXZ @ 1172 NONAME ; unsigned char eapol_RSNA_key_header_c::get_key_information_reserved_a(void) const + ?start_4_way_handshake@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1173 NONAME ; enum eap_status_e eapol_key_state_c::start_4_way_handshake(class eap_am_network_id_c const *) + ?hash_update@crypto_md4_c@@UAE?AW4eap_status_e@@PBXK@Z @ 1174 NONAME ; enum eap_status_e crypto_md4_c::hash_update(void const *, unsigned long) + ?rsna_prf@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@00KPAV3@@Z @ 1175 NONAME ; enum eap_status_e eapol_key_state_c::rsna_prf(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long, class eap_variable_data_c *) + ?convert@wlan_eap_if_send_status_conversion_c@@SA?AW4eap_status_e@@W4wlan_eap_if_send_status_e@@@Z @ 1176 NONAME ; enum eap_status_e wlan_eap_if_send_status_conversion_c::convert(enum wlan_eap_if_send_status_e) + ?set_encrypt@eap_buf_chain_base_c@@QAEX_N@Z @ 1177 NONAME ; void eap_buf_chain_base_c::set_encrypt(bool) + ?set_code@eap_header_base_c@@QAEXW4eap_code_value_e@@@Z @ 1178 NONAME ; void eap_header_base_c::set_code(enum eap_code_value_e) + ?reset_header@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@EW4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@1@_K_N33333333W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 1179 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::reset_header(unsigned char, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, unsigned long long, bool, bool, bool, bool, bool, bool, bool, bool, bool, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) + ?parse_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1180 NONAME ; enum eap_status_e eap_tlv_message_data_c::parse_message_data(class eap_array_c *) + ?directory_close@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@XZ @ 1181 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::directory_close(void) + ??1crypto_kd_hmac_sha256_c@@UAE@XZ @ 1182 NONAME ; crypto_kd_hmac_sha256_c::~crypto_kd_hmac_sha256_c(void) + ?check_header@eap_tlv_header_c@@UBE?AW4eap_status_e@@XZ @ 1183 NONAME ; enum eap_status_e eap_tlv_header_c::check_header(void) const + ?new_abs_eap_am_tools_c@abs_eap_am_tools_c@@SAPAV1@XZ @ 1184 NONAME ; class abs_eap_am_tools_c * abs_eap_am_tools_c::new_abs_eap_am_tools_c(void) + ?eap_write_u24_t_network_order@@YA?AW4eap_status_e@@PAXKK@Z @ 1185 NONAME ; enum eap_status_e eap_write_u24_t_network_order(void *, unsigned long, unsigned long) + ?get_is_valid@crypto_sha_256_c@@UAE_NXZ @ 1186 NONAME ; bool crypto_sha_256_c::get_is_valid(void) + ?get_header_offset@eapol_core_c@@UAEKPAK0@Z @ 1187 NONAME ; unsigned long eapol_core_c::get_header_offset(unsigned long *, unsigned long *) + ??1eapol_message_wlan_authentication_c@@UAE@XZ @ 1188 NONAME ; eapol_message_wlan_authentication_c::~eapol_message_wlan_authentication_c(void) + ?check_payloads@eapol_rsna_key_data_payloads_c@@QAE_NW4eapol_rsna_key_data_payload_status_e@1@000@Z @ 1189 NONAME ; bool eapol_rsna_key_data_payloads_c::check_payloads(enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e) + ?copy_message_digest@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PAXPAK@Z @ 1190 NONAME ; enum eap_status_e eap_am_crypto_md4_c::copy_message_digest(void *, unsigned long *) + ?timer_delete_data@eap_session_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1191 NONAME ; enum eap_status_e eap_session_core_c::timer_delete_data(unsigned long, void *) + ?convert_am_error_to_eapol_error@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@J@Z @ 1192 NONAME ; enum eap_status_e eap_am_tools_symbian_c::convert_am_error_to_eapol_error(long) + ??1eapol_rsna_key_data_payloads_c@@UAE@XZ @ 1193 NONAME ; eapol_rsna_key_data_payloads_c::~eapol_rsna_key_data_payloads_c(void) + ?sha_256_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 1194 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_final(class eap_variable_data_c *, unsigned char *, unsigned long *) + ??0eapol_session_key_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1195 NONAME ; eapol_session_key_c::eapol_session_key_c(class abs_eap_am_tools_c *) + ?copy_context@crypto_md5_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1196 NONAME ; enum eap_status_e crypto_md5_c::copy_context(class eap_variable_data_c const *) + ?get_destination_length@eapol_ethernet_header_base_c@@QBEKXZ @ 1197 NONAME ; unsigned long eapol_ethernet_header_base_c::get_destination_length(void) const + ?get_key_IV@eapol_RC4_key_header_c@@QAEPAEXZ @ 1198 NONAME ; unsigned char * eapol_RC4_key_header_c::get_key_IV(void) + ?get_key_data_offset@eapol_RSNA_key_header_c@@QBEPAEKK@Z @ 1199 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_data_offset(unsigned long, unsigned long) const + ?eap_host_to_little_endian_long@@YAKK@Z @ 1200 NONAME ; unsigned long eap_host_to_little_endian_long(unsigned long) + ?timer_delete_data@eapol_key_state_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1201 NONAME ; enum eap_status_e eapol_key_state_c::timer_delete_data(unsigned long, void *) + ?get_eapol_protocol_version@eapol_RSNA_key_header_c@@QBE?AW4eapol_protocol_version_e@@XZ @ 1202 NONAME ; enum eapol_protocol_version_e eapol_RSNA_key_header_c::get_eapol_protocol_version(void) const + ?zero_EAPOL_key_IV@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 1203 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_EAPOL_key_IV(class abs_eap_am_tools_c *) + ?set_is_valid@crypto_tls_prf_c@@AAEXXZ @ 1204 NONAME ; void crypto_tls_prf_c::set_is_valid(void) + ?set_is_invalid@crypto_rc4_c@@AAEXXZ @ 1205 NONAME ; void crypto_rc4_c::set_is_invalid(void) + ?indicate_eapol_key_state_started_eap_authentication@eapol_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1206 NONAME ; enum eap_status_e eapol_core_c::indicate_eapol_key_state_started_eap_authentication(class eap_am_network_id_c const *) + ??1eap_network_id_selector_c@@UAE@XZ @ 1207 NONAME ; eap_network_id_selector_c::~eap_network_id_selector_c(void) + ?get_allow_send_eap_success@eap_state_notification_c@@UBE_NXZ @ 1208 NONAME ; bool eap_state_notification_c::get_allow_send_eap_success(void) const + ?get_type@eap_type_selection_c@@QBE?AVeap_expanded_type_c@@XZ @ 1209 NONAME ; class eap_expanded_type_c eap_type_selection_c::get_type(void) const + ?get_authentication_error@eap_state_notification_c@@UBE?AW4eap_status_e@@XZ @ 1210 NONAME ; enum eap_status_e eap_state_notification_c::get_authentication_error(void) const + ?zero_key_reserved@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 1211 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::zero_key_reserved(class abs_eap_am_tools_c *) + ?get_key_signature@eapol_RC4_key_header_c@@QBEPAEXZ @ 1212 NONAME ; unsigned char * eapol_RC4_key_header_c::get_key_signature(void) const + ?get_source_id@eap_am_network_id_c@@QBEPBVeap_variable_data_c@@XZ @ 1213 NONAME ; class eap_variable_data_c const * eap_am_network_id_c::get_source_id(void) const + ?set_key_information_encrypted_key_data@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 1214 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_encrypted_key_data(bool) + ?check_one_payload@eapol_rsna_key_data_payloads_c@@QAE_NW4eapol_rsna_key_data_payload_status_e@1@PBVeapol_rsna_variable_data_c@@@Z @ 1215 NONAME ; bool eapol_rsna_key_data_payloads_c::check_one_payload(enum eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payload_status_e, class eapol_rsna_variable_data_c const *) + ?get_protocol_string@eap_state_notification_c@@SAPBDKK@Z @ 1216 NONAME ; char const * eap_state_notification_c::get_protocol_string(unsigned long, unsigned long) + ?start_WPXM_reassociation@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@@Z @ 1217 NONAME ; enum eap_status_e ethernet_core_c::start_WPXM_reassociation(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *) + ?client_proposes_eap_types@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 1218 NONAME ; enum eap_status_e eap_core_c::client_proposes_eap_types(class eap_am_network_id_c const *, unsigned char) + ??0eapol_session_key_c@@QAE@PAVabs_eap_am_tools_c@@PAVeap_variable_data_c@@W4eapol_key_type_e@@K_NPBEK@Z @ 1219 NONAME ; eapol_session_key_c::eapol_session_key_c(class abs_eap_am_tools_c *, class eap_variable_data_c *, enum eapol_key_type_e, unsigned long, bool, unsigned char const *, unsigned long) + ?get_is_reserved@eap_am_mutex_reference_c@@QAE_NXZ @ 1220 NONAME ; bool eap_am_mutex_reference_c::get_is_reserved(void) + ?set_key@eapol_session_key_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1221 NONAME ; enum eap_status_e eapol_session_key_c::set_key(class eap_variable_data_c const *) + ?set_is_invalid@crypto_rsa_c@@AAEXXZ @ 1222 NONAME ; void crypto_rsa_c::set_is_invalid(void) + ?complete_WPXM_reassociation@eapol_key_state_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@@Z @ 1223 NONAME ; enum eap_status_e eapol_key_state_c::complete_WPXM_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *) + ?eap_write_u32_t_network_order@@YA?AW4eap_status_e@@PAXKK@Z @ 1224 NONAME ; enum eap_status_e eap_write_u32_t_network_order(void *, unsigned long, unsigned long) + ?get_hardware_ticks_of_second@eap_am_tools_symbian_c@@UAE_KXZ @ 1225 NONAME ; unsigned long long eap_am_tools_symbian_c::get_hardware_ticks_of_second(void) + ?get_header_offset@eapol_message_wlan_authentication_c@@UAEKPAK0@Z @ 1226 NONAME ; unsigned long eapol_message_wlan_authentication_c::get_header_offset(unsigned long *, unsigned long *) + ?get_data@eap_am_memory_store_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVeap_tlv_message_data_c@@@Z @ 1227 NONAME ; enum eap_status_e eap_am_memory_store_c::get_data(class eap_variable_data_c const *, class eap_tlv_message_data_c *) + ?aes_block_size@eap_am_crypto_symbian_c@@UAEKXZ @ 1228 NONAME ; unsigned long eap_am_crypto_symbian_c::aes_block_size(void) + ?add_structured_parameter_header@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eapol_tlv_message_type_e@@K@Z @ 1229 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_structured_parameter_header(enum eapol_tlv_message_type_e, unsigned long) + ?get_global_mutex@eap_am_tools_symbian_c@@UAEPAVabs_eap_am_mutex_c@@XZ @ 1230 NONAME ; class abs_eap_am_mutex_c * eap_am_tools_symbian_c::get_global_mutex(void) + ?check_is_aes_key_wrap_padding@eapol_key_state_c@@AAE?AW4eap_status_e@@W4eapol_RSNA_key_descriptor_type_e@@PAVeapol_rsna_key_data_header_c@@K@Z @ 1231 NONAME ; enum eap_status_e eapol_key_state_c::check_is_aes_key_wrap_padding(enum eapol_RSNA_key_descriptor_type_e, class eapol_rsna_key_data_header_c *, unsigned long) + ?get_encrypts@crypto_aes_c@@UAE_NXZ @ 1232 NONAME ; bool crypto_aes_c::get_encrypts(void) + ?get_payload_size@eapol_handle_tlv_message_data_c@@QBEKPBVeapol_session_key_c@@@Z @ 1233 NONAME ; unsigned long eapol_handle_tlv_message_data_c::get_payload_size(class eapol_session_key_c const *) const + ?check_is_valid_eap_type@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 1234 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::check_is_valid_eap_type(class eap_expanded_type_c) + ?get_eapol_key_descriptor_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_descriptor_type_e@@@Z @ 1235 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_descriptor_type_string(enum eapol_key_descriptor_type_e) + ?eap_shift_right_64_bit@@YA_K_KK@Z @ 1236 NONAME ; unsigned long long eap_shift_right_64_bit(unsigned long long, unsigned long) + ?add_rogue_ap@eap_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 1237 NONAME ; enum eap_status_e eap_core_c::add_rogue_ap(class eap_array_c &) + ?timer_expired@eap_am_memory_store_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1238 NONAME ; enum eap_status_e eap_am_memory_store_c::timer_expired(unsigned long, void *) + ?add_rogue_ap@eapol_wlan_authentication_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 1239 NONAME ; enum eap_status_e eapol_wlan_authentication_c::add_rogue_ap(class eap_array_c &) + ??9eap_expanded_type_c@@QBE_NW4eap_type_ietf_values_e@@@Z @ 1240 NONAME ; bool eap_expanded_type_c::operator!=(enum eap_type_ietf_values_e) const + ?get_sequence_number@eapol_session_key_c@@QBEPBVeap_variable_data_c@@XZ @ 1241 NONAME ; class eap_variable_data_c const * eapol_session_key_c::get_sequence_number(void) const + ?tls_prf_one_round@crypto_tls_base_prf_c@@QAE?AW4eap_status_e@@PAVabs_crypto_hmac_algorithm_c@@PBVeap_variable_data_c@@PAV4@2PAXK@Z @ 1242 NONAME ; enum eap_status_e crypto_tls_base_prf_c::tls_prf_one_round(class abs_crypto_hmac_algorithm_c *, class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, void *, unsigned long) + ?memchr@eap_am_tools_symbian_c@@UAEPAXPBXEK@Z @ 1243 NONAME ; void * eap_am_tools_symbian_c::memchr(void const *, unsigned char, unsigned long) + ??1crypto_rc4_c@@UAE@XZ @ 1244 NONAME ; crypto_rc4_c::~crypto_rc4_c(void) + ??1eap_status_string_c@@UAE@XZ @ 1245 NONAME ; eap_status_string_c::~eap_status_string_c(void) + ?get_buffer@eap_variable_data_c@@QBEPAEK@Z @ 1246 NONAME ; unsigned char * eap_variable_data_c::get_buffer(unsigned long) const + ?packet_data_crypto_keys@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 1247 NONAME ; enum eap_status_e eap_session_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *) + ?cancel_all_timers@eap_session_core_c@@UAE?AW4eap_status_e@@XZ @ 1248 NONAME ; enum eap_status_e eap_session_core_c::cancel_all_timers(void) + ??1eapol_header_wr_c@@UAE@XZ @ 1249 NONAME ; eapol_header_wr_c::~eapol_header_wr_c(void) + ?get_is_WPXM@eapol_key_state_c@@AAE_NXZ @ 1250 NONAME ; bool eapol_key_state_c::get_is_WPXM(void) + ?send_eap_identity_request@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1251 NONAME ; enum eap_status_e eap_core_c::send_eap_identity_request(class eap_am_network_id_c const *) + ?get_key_information_encrypted_key_data@eapol_RSNA_key_header_c@@QBE_NXZ @ 1252 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_encrypted_key_data(void) const + ?set_key_index@eapol_session_key_c@@QAEXK@Z @ 1253 NONAME ; void eapol_session_key_c::set_key_index(unsigned long) + ?get_next_retransmission_time@eap_core_retransmission_c@@QAEKXZ @ 1254 NONAME ; unsigned long eap_core_retransmission_c::get_next_retransmission_time(void) + ??1crypto_rsa_c@@UAE@XZ @ 1255 NONAME ; crypto_rsa_c::~crypto_rsa_c(void) + ?get_eap_type@eap_core_retransmission_c@@QBE?AVeap_expanded_type_c@@XZ @ 1256 NONAME ; class eap_expanded_type_c eap_core_retransmission_c::get_eap_type(void) const + ?get_marked_removed@eap_core_c@@QAE_NXZ @ 1257 NONAME ; bool eap_core_c::get_marked_removed(void) + ?complete_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@W4eapol_wlan_authentication_state_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@2W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@3@Z @ 1258 NONAME ; enum eap_status_e eapol_wlan_authentication_c::complete_reassociation(enum eapol_wlan_authentication_state_e, class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) + ?sign@crypto_dsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 1259 NONAME ; enum eap_status_e crypto_dsa_c::sign(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) + ??0eap_network_id_selector_c@@QAE@PAVabs_eap_am_tools_c@@PBV0@@Z @ 1260 NONAME ; eap_network_id_selector_c::eap_network_id_selector_c(class abs_eap_am_tools_c *, class eap_network_id_selector_c const *) + ?get_buffer_length@eap_variable_data_c@@QBEKXZ @ 1261 NONAME ; unsigned long eap_variable_data_c::get_buffer_length(void) const + ?set_is_valid@crypto_sha1_c@@EAEXXZ @ 1262 NONAME ; void crypto_sha1_c::set_is_valid(void) + ?set_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBXK_N1@Z @ 1263 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer(void const *, unsigned long, bool, bool) + ?write_type@eap_expanded_type_c@@SA?AW4eap_status_e@@PAVabs_eap_am_tools_c@@KPAXK_NV1@@Z @ 1264 NONAME ; enum eap_status_e eap_expanded_type_c::write_type(class abs_eap_am_tools_c *, unsigned long, void *, unsigned long, bool, class eap_expanded_type_c) + ?shutdown@ethernet_core_c@@UAE?AW4eap_status_e@@XZ @ 1265 NONAME ; enum eap_status_e ethernet_core_c::shutdown(void) + ?sha1_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 1266 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_update(class eap_variable_data_c *, unsigned char const *, unsigned long) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_buf_chain_wr_c@@@Z @ 1267 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class eap_buf_chain_wr_c const *) + ?decrypt_block@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1268 NONAME ; enum eap_status_e crypto_3des_ede_c::decrypt_block(void const *, void *, unsigned long) + ??0eap_am_memory_store_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1269 NONAME ; eap_am_memory_store_c::eap_am_memory_store_c(class abs_eap_am_tools_c *) + ?get_is_valid@eap_core_c@@UAE_NXZ @ 1270 NONAME ; bool eap_core_c::get_is_valid(void) + ?remove_pmksa_from_cache@eapol_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1271 NONAME ; enum eap_status_e eapol_core_c::remove_pmksa_from_cache(class eap_am_network_id_c const *) + ?get_random_error_type@eap_buf_chain_base_c@@QAE?AW4eap_random_error_type@@XZ @ 1272 NONAME ; enum eap_random_error_type eap_buf_chain_base_c::get_random_error_type(void) + ?set_timer@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 1273 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) + ?tls_prf_output@crypto_tls_sha1_prf_c@@QAE?AW4eap_status_e@@PAXK@Z @ 1274 NONAME ; enum eap_status_e crypto_tls_sha1_prf_c::tls_prf_output(void *, unsigned long) + ??0eapol_rsna_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@_N1@Z @ 1275 NONAME ; eapol_rsna_variable_data_c::eapol_rsna_variable_data_c(class abs_eap_am_tools_c *, bool, bool) + ??1eapol_ethernet_header_rd_c@@UAE@XZ @ 1276 NONAME ; eapol_ethernet_header_rd_c::~eapol_ethernet_header_rd_c(void) + ??0crypto_rc4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1277 NONAME ; crypto_rc4_c::crypto_rc4_c(class abs_eap_am_tools_c *) + ?read_subsections@eap_file_config_c@@AAE?AW4eap_status_e@@PAVabs_eap_am_file_input_c@@PAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@@Z @ 1278 NONAME ; enum eap_status_e eap_file_config_c::read_subsections(class abs_eap_am_file_input_c *, class eap_core_map_c *) + ?cancel_timer@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 1279 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) + ??0eap_base_type_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@@Z @ 1280 NONAME ; eap_base_type_c::eap_base_type_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *) + ?get_network_keys@simple_config_credential_c@@QAEPAV?$eap_array_c@Vnetwork_key_and_index_c@@@@XZ @ 1281 NONAME ; class eap_array_c * simple_config_credential_c::get_network_keys(void) + ?add_data_to_offset@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@KPBVeap_variable_data_c@@@Z @ 1282 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data_to_offset(unsigned long, class eap_variable_data_c const *) + ?state_notification@eap_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 1283 NONAME ; void eap_core_c::state_notification(class abs_eap_state_notification_c const *) + ?set_key_index@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@E@Z @ 1284 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_index(unsigned char) + ??1crypto_sha_256_c@@UAE@XZ @ 1285 NONAME ; crypto_sha_256_c::~crypto_sha_256_c(void) + ?get_original_header@eapol_rsna_variable_data_c@@QBEPBVeapol_rsna_key_data_header_c@@XZ @ 1286 NONAME ; class eapol_rsna_key_data_header_c const * eapol_rsna_variable_data_c::get_original_header(void) const + ?ignore_notifications@eap_core_c@@QAEXXZ @ 1287 NONAME ; void eap_core_c::ignore_notifications(void) + ?set_is_valid@eapol_wlan_authentication_c@@QAEXXZ @ 1288 NONAME ; void eapol_wlan_authentication_c::set_is_valid(void) + ?get_digest_length@eap_am_crypto_md4_c@@QAEKXZ @ 1289 NONAME ; unsigned long eap_am_crypto_md4_c::get_digest_length(void) + ?write_configure@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 1290 NONAME ; enum eap_status_e eapol_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) + ?send_eap_notification_response@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 1291 NONAME ; enum eap_status_e eap_core_c::send_eap_notification_response(class eap_am_network_id_c const *, unsigned char) + ?get_header_offset@eap_core_retransmission_c@@QBEKXZ @ 1292 NONAME ; unsigned long eap_core_retransmission_c::get_header_offset(void) const + ?verify_field_is_zero@eapol_key_state_c@@AAE?AW4eap_status_e@@PBEK@Z @ 1293 NONAME ; enum eap_status_e eapol_key_state_c::verify_field_is_zero(unsigned char const *, unsigned long) + ?get_is_associated@eapol_key_state_c@@QAE_NXZ @ 1294 NONAME ; bool eapol_key_state_c::get_is_associated(void) + ?unload_module@eapol_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 1295 NONAME ; enum eap_status_e eapol_core_c::unload_module(class eap_expanded_type_c) + ?cancel_pmksa_caching_timeout@eapol_key_state_c@@AAE?AW4eap_status_e@@XZ @ 1296 NONAME ; enum eap_status_e eapol_key_state_c::cancel_pmksa_caching_timeout(void) + ?get_destination@eapol_ethernet_header_base_c@@QBEPAEXZ @ 1297 NONAME ; unsigned char * eapol_ethernet_header_base_c::get_destination(void) const + ?set_is_valid@crypto_3des_ede_c@@UAEXXZ @ 1298 NONAME ; void crypto_3des_ede_c::set_is_valid(void) + ?eap_md4_process_data@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PBKK@Z @ 1299 NONAME ; enum eap_status_e eap_am_crypto_md4_c::eap_md4_process_data(unsigned long const *, unsigned long) + ?disassociate@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 1300 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::disassociate(class eap_am_network_id_c const *, bool) + ?get_message_data@eap_tlv_message_data_c@@QBEPAXXZ @ 1301 NONAME ; void * eap_tlv_message_data_c::get_message_data(void) const + ?set_eap_failure_timeout@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 1302 NONAME ; enum eap_status_e eap_core_c::set_eap_failure_timeout(void) + ?snprintf@eap_am_tools_symbian_c@@UAAKPAEKPBDZZ @ 1303 NONAME ; unsigned long eap_am_tools_symbian_c::snprintf(unsigned char *, unsigned long, char const *, ...) + ?set_random_error_type@eap_buf_chain_base_c@@QAEXW4eap_random_error_type@@@Z @ 1304 NONAME ; void eap_buf_chain_base_c::set_random_error_type(enum eap_random_error_type) + ?create_new_session@eap_session_core_c@@AAEPAVeap_core_c@@PBVeap_am_network_id_c@@@Z @ 1305 NONAME ; class eap_core_c * eap_session_core_c::create_new_session(class eap_am_network_id_c const *) + ??0eapol_RSNA_key_header_c@@QAE@PAVabs_eap_am_tools_c@@_N1PAXK@Z @ 1306 NONAME ; eapol_RSNA_key_header_c::eapol_RSNA_key_header_c(class abs_eap_am_tools_c *, bool, bool, void *, unsigned long) + ?copy_context@crypto_sha1_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1307 NONAME ; enum eap_status_e crypto_sha1_c::copy_context(class eap_variable_data_c const *) + ?cleanup@crypto_dsa_c@@QAE?AW4eap_status_e@@XZ @ 1308 NONAME ; enum eap_status_e crypto_dsa_c::cleanup(void) + ?rsa_decrypt_with_private_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 1309 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_decrypt_with_private_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) + ?check_padding_bytes@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXKE@Z @ 1310 NONAME ; enum eap_status_e crypto_cbc_c::check_padding_bytes(void const *, unsigned long, unsigned char) + ?get_key_information_secure@eapol_RSNA_key_header_c@@QBE_NXZ @ 1311 NONAME ; bool eapol_RSNA_key_header_c::get_key_information_secure(void) const + ?decrypt_block@crypto_aes_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1312 NONAME ; enum eap_status_e crypto_aes_c::decrypt_block(void const *, void *, unsigned long) + ?complete_association@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1313 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_association(class eap_array_c const *) + ?process_eapol_key_frame@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 1314 NONAME ; enum eap_status_e eapol_key_state_c::process_eapol_key_frame(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) + ?remove_pmksa_from_cache@ethernet_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1315 NONAME ; enum eap_status_e ethernet_core_c::remove_pmksa_from_cache(class eap_am_network_id_c const *) + ?tls_prf_output@crypto_tls_md5_prf_c@@QAE?AW4eap_status_e@@PAXK@Z @ 1316 NONAME ; enum eap_status_e crypto_tls_md5_prf_c::tls_prf_output(void *, unsigned long) + ?create_4_way_handshake_message_2@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1_KW4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 1317 NONAME ; enum eap_status_e eapol_key_state_c::create_4_way_handshake_message_2(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, unsigned long long, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) + ?get_buffer_size@eap_core_retransmission_c@@QBEKXZ @ 1318 NONAME ; unsigned long eap_core_retransmission_c::get_buffer_size(void) const + ?convert@wlan_eap_if_send_status_conversion_c@@SA?AW4wlan_eap_if_send_status_e@@W4eap_status_e@@@Z @ 1319 NONAME ; enum wlan_eap_if_send_status_e wlan_eap_if_send_status_conversion_c::convert(enum eap_status_e) + ?get_type_data_offset@eap_header_base_c@@QBEPAEKK@Z @ 1320 NONAME ; unsigned char * eap_header_base_c::get_type_data_offset(unsigned long, unsigned long) const + ?get_eapol_key_state_string@eapol_key_state_string_c@@SAPBDW4eapol_key_state_e@@@Z @ 1321 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_state_string(enum eapol_key_state_e) + ?get_header_offset@eap_core_c@@UAEKPAK0@Z @ 1322 NONAME ; unsigned long eap_core_c::get_header_offset(unsigned long *, unsigned long *) + ?get_is_valid@eap_am_tools_symbian_c@@UBE_NXZ @ 1323 NONAME ; bool eap_am_tools_symbian_c::get_is_valid(void) const + ?remove_spaces@eap_file_config_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1324 NONAME ; enum eap_status_e eap_file_config_c::remove_spaces(class eap_variable_data_c *) + ?cancel_timer@eap_session_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 1325 NONAME ; enum eap_status_e eap_session_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) + ?get_header_length@eapol_RC4_key_header_c@@SAGXZ @ 1326 NONAME ; unsigned short eapol_RC4_key_header_c::get_header_length(void) + ?send_error_message@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@W42@W4eapol_tlv_message_type_function_e@@@Z @ 1327 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::send_error_message(enum eap_status_e, enum eapol_tlv_message_type_function_e) + ??1eap_general_header_base_c@@UAE@XZ @ 1328 NONAME ; eap_general_header_base_c::~eap_general_header_base_c(void) + ?get_type_data_offset@eap_header_wr_c@@QBEPAEKK@Z @ 1329 NONAME ; unsigned char * eap_header_wr_c::get_type_data_offset(unsigned long, unsigned long) const + ?complete_eap_identity_query@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@E@Z @ 1330 NONAME ; enum eap_status_e eap_core_c::complete_eap_identity_query(class eap_am_network_id_c const *, class eap_variable_data_c const *, unsigned char) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1331 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class eap_am_network_id_c const *) + ?set_is_invalid@eap_am_crypto_sha1_c@@AAEXXZ @ 1332 NONAME ; void eap_am_crypto_sha1_c::set_is_invalid(void) + ?encrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1333 NONAME ; enum eap_status_e crypto_rc4_c::encrypt_data(void const *, void *, unsigned long) + ?synchronous_create_eap_session@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1334 NONAME ; enum eap_status_e eap_session_core_c::synchronous_create_eap_session(class eap_am_network_id_c const *) + ?set_is_valid@eap_am_crypto_sha1_c@@AAEXXZ @ 1335 NONAME ; void eap_am_crypto_sha1_c::set_is_valid(void) + ?get_selected_eap_types@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_type_selection_c@@@@@Z @ 1336 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::get_selected_eap_types(class eap_array_c *) + ?set_header_buffer@eap_general_header_base_c@@QAEXPAEK@Z @ 1337 NONAME ; void eap_general_header_base_c::set_header_buffer(unsigned char *, unsigned long) + ?configure@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@XZ @ 1338 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::configure(void) + ?am_cancel_timer@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 1339 NONAME ; enum eap_status_e eap_am_tools_symbian_c::am_cancel_timer(class abs_eap_base_timer_c *, unsigned long) + ?get_value_length@eap_tlv_header_c@@QBEKXZ @ 1340 NONAME ; unsigned long eap_tlv_header_c::get_value_length(void) const + ?get_is_valid@eap_am_crypto_sha1_c@@QAE_NXZ @ 1341 NONAME ; bool eap_am_crypto_sha1_c::get_is_valid(void) + ?set_copy_of_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 1342 NONAME ; enum eap_status_e eap_variable_data_c::set_copy_of_buffer(class eap_variable_data_c const *) + ??1crypto_ephemeral_diffie_hellman_c@@UAE@XZ @ 1343 NONAME ; crypto_ephemeral_diffie_hellman_c::~crypto_ephemeral_diffie_hellman_c(void) + ?set_send_packet_index@eap_buf_chain_base_c@@QAEXK@Z @ 1344 NONAME ; void eap_buf_chain_base_c::set_send_packet_index(unsigned long) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eapol_tlv_message_type_e@@K@Z @ 1345 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(enum eapol_tlv_message_type_e, unsigned long) + ?copy_message_digest@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PAXPAK@Z @ 1346 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::copy_message_digest(void *, unsigned long *) + ?initialize_preauthentication@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 1347 NONAME ; enum eap_status_e eapol_key_state_c::initialize_preauthentication(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) + ?get_network_key_index@network_key_and_index_c@@QAEEXZ @ 1348 NONAME ; unsigned char network_key_and_index_c::get_network_key_index(void) + ?reset_header@eap_header_wr_c@@QAEXG_N@Z @ 1349 NONAME ; void eap_header_wr_c::reset_header(unsigned short, bool) + ?get_ietf_type@eap_header_base_c@@QBE?AW4eap_type_ietf_values_e@@XZ @ 1350 NONAME ; enum eap_type_ietf_values_e eap_header_base_c::get_ietf_type(void) const + ?state_notification@eapol_wlan_authentication_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 1351 NONAME ; void eapol_wlan_authentication_c::state_notification(class abs_eap_state_notification_c const *) + ?cleanup_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1352 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::cleanup_3des_ede(class eap_variable_data_c *) + ?get_eap_code@eap_core_retransmission_c@@QBE?AW4eap_code_value_e@@XZ @ 1353 NONAME ; enum eap_code_value_e eap_core_retransmission_c::get_eap_code(void) const + ??0eapol_wlan_authentication_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eapol_wlan_authentication_c@@PAVeapol_am_wlan_authentication_c@@_N@Z @ 1354 NONAME ; eapol_wlan_authentication_c::eapol_wlan_authentication_c(class abs_eap_am_tools_c *, class abs_eapol_wlan_authentication_c *, class eapol_am_wlan_authentication_c *, bool) + ?finalize_non_aligned@crypto_cbc_c@@UAE?AW4eap_status_e@@XZ @ 1355 NONAME ; enum eap_status_e crypto_cbc_c::finalize_non_aligned(void) + ?set_key_descriptor_type@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@W4eapol_key_descriptor_type_e@@@Z @ 1356 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_descriptor_type(enum eapol_key_descriptor_type_e) + ?decrypt_with_public_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 1357 NONAME ; enum eap_status_e crypto_rsa_c::decrypt_with_public_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) + ?get_destination@eapol_ethernet_header_wr_c@@QAEPAEXZ @ 1358 NONAME ; unsigned char * eapol_ethernet_header_wr_c::get_destination(void) + ?tls_prf_cleanup@crypto_tls_md5_prf_c@@QAE?AW4eap_status_e@@XZ @ 1359 NONAME ; enum eap_status_e crypto_tls_md5_prf_c::tls_prf_cleanup(void) + ?isspace@eap_am_tools_symbian_c@@UAE_NE@Z @ 1360 NONAME ; bool eap_am_tools_symbian_c::isspace(unsigned char) + ?set_decryption_key@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXK0K@Z @ 1361 NONAME ; enum eap_status_e crypto_cbc_c::set_decryption_key(void const *, unsigned long, void const *, unsigned long) + ?add_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_general_header_base_c@@@Z @ 1362 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::add_parameter_data(class eap_general_header_base_c const *) + ?set_decryption_key@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXK@Z @ 1363 NONAME ; enum eap_status_e crypto_3des_ede_c::set_decryption_key(void const *, unsigned long) + ?set_network_key_index@network_key_and_index_c@@QAEXE@Z @ 1364 NONAME ; void network_key_and_index_c::set_network_key_index(unsigned char) + ?start_WPXM_reassociation@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@0PAVeap_variable_data_c@@PBV4@2@Z @ 1365 NONAME ; enum eap_status_e eapol_wlan_authentication_c::start_WPXM_reassociation(class eap_am_network_id_c const *, class eap_am_network_id_c const *, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *) + ?set_notification_string@eap_state_notification_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@_N@Z @ 1366 NONAME ; enum eap_status_e eap_state_notification_c::set_notification_string(class eap_variable_data_c const *, bool) + ?copy_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KPBX@Z @ 1367 NONAME ; enum eap_status_e eap_tlv_message_data_c::copy_message_data(unsigned long, void const *) + ?add_reference@eap_am_mutex_reference_c@@QAEXXZ @ 1368 NONAME ; void eap_am_mutex_reference_c::add_reference(void) + ??1crypto_tls_prf_c@@UAE@XZ @ 1369 NONAME ; crypto_tls_prf_c::~crypto_tls_prf_c(void) + ?get_am_tools@eap_buf_chain_base_c@@IAEPAVabs_eap_am_tools_c@@XZ @ 1370 NONAME ; class abs_eap_am_tools_c * eap_buf_chain_base_c::get_am_tools(void) + ?get_hardware_ticks@eap_am_tools_symbian_c@@UAE_KXZ @ 1371 NONAME ; unsigned long long eap_am_tools_symbian_c::get_hardware_ticks(void) + ?get_type_data@eap_header_wr_c@@QBEPAEK@Z @ 1372 NONAME ; unsigned char * eap_header_wr_c::get_type_data(unsigned long) const + ?packet_data_session_key@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeapol_session_key_c@@@Z @ 1373 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::packet_data_session_key(class eap_am_network_id_c const *, class eapol_session_key_c const *) + ?process_group_key_handshake_message_0@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 1374 NONAME ; enum eap_status_e eapol_key_state_c::process_group_key_handshake_message_0(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) + ?create_group_key_handshake_message_1@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_protocol_version_e@@W4eapol_key_descriptor_type_e@@@Z @ 1375 NONAME ; enum eap_status_e eapol_key_state_c::create_group_key_handshake_message_1(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_protocol_version_e, enum eapol_key_descriptor_type_e) + ?shutdown@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@XZ @ 1376 NONAME ; enum eap_status_e eapol_wlan_authentication_c::shutdown(void) + ?get_message_data@eap_am_memory_store_tlv_data_c@@QBEPAXXZ @ 1377 NONAME ; void * eap_am_memory_store_tlv_data_c::get_message_data(void) const + ?multiply_u64@eap_am_tools_c@@UAE_K_K0@Z @ 1378 NONAME ; unsigned long long eap_am_tools_c::multiply_u64(unsigned long long, unsigned long long) + ?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeapol_session_key_c@@@Z @ 1379 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eapol_session_key_c *) + ?hash_final@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 1380 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_final(void *, unsigned long *) + ?encrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1381 NONAME ; enum eap_status_e crypto_cbc_c::encrypt_data(void const *, void *, unsigned long) + ?start_WPXM_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1382 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::start_WPXM_reassociation(class eap_array_c const *) + ?set_is_valid@crypto_md5_c@@EAEXXZ @ 1383 NONAME ; void crypto_md5_c::set_is_valid(void) + ?get_is_client@eap_buf_chain_base_c@@QBE_NXZ @ 1384 NONAME ; bool eap_buf_chain_base_c::get_is_client(void) const + ?set_session_timeout@eap_session_core_c@@UAE?AW4eap_status_e@@K@Z @ 1385 NONAME ; enum eap_status_e eap_session_core_c::set_session_timeout(unsigned long) + ?create_tkip_mic_failure_message@eapol_key_state_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KPAK1W4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@W4eapol_protocol_version_e@@@Z @ 1386 NONAME ; enum eap_status_e eapol_key_state_c::create_tkip_mic_failure_message(class eap_buf_chain_wr_c *, unsigned long, unsigned long *, unsigned long *, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e, enum eapol_protocol_version_e) + ?key_length_3des_ede@eap_am_crypto_symbian_c@@UAEKXZ @ 1387 NONAME ; unsigned long eap_am_crypto_symbian_c::key_length_3des_ede(void) + ?cancel_all_authentication_sessions@ethernet_core_c@@QAE?AW4eap_status_e@@XZ @ 1388 NONAME ; enum eap_status_e ethernet_core_c::cancel_all_authentication_sessions(void) + ?read_configure@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 1389 NONAME ; enum eap_status_e eap_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) + ?get_header_offset@eapol_wlan_authentication_c@@UAEKPAK0@Z @ 1390 NONAME ; unsigned long eapol_wlan_authentication_c::get_header_offset(unsigned long *, unsigned long *) + ?get_notification_string@eap_state_notification_c@@UBEPBVeap_variable_data_c@@XZ @ 1391 NONAME ; class eap_variable_data_c const * eap_state_notification_c::get_notification_string(void) const + ?set_key_replay_counter@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_K@Z @ 1392 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_replay_counter(unsigned long long) + ??1crypto_wpa_psk_password_hash_c@@UAE@XZ @ 1393 NONAME ; crypto_wpa_psk_password_hash_c::~crypto_wpa_psk_password_hash_c(void) + ?add_message_data_array@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KKPAV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 1394 NONAME ; enum eap_status_e eap_tlv_message_data_c::add_message_data_array(unsigned long, unsigned long, class eap_array_c *) + ?allow_4_way_handshake@eapol_key_state_c@@QAE?AW4eap_status_e@@XZ @ 1395 NONAME ; enum eap_status_e eapol_key_state_c::allow_4_way_handshake(void) + ?get_function_string@eapol_handle_tlv_message_data_c@@QAEPBDW4eapol_tlv_message_type_function_e@@@Z @ 1396 NONAME ; char const * eapol_handle_tlv_message_data_c::get_function_string(enum eapol_tlv_message_type_function_e) + ?get_is_valid@crypto_random_c@@QAE_NXZ @ 1397 NONAME ; bool crypto_random_c::get_is_valid(void) + ?get_rogue_reason@eap_rogue_ap_entry_c@@QBE?AW4eap_rogue_ap_reason_e@@XZ @ 1398 NONAME ; enum eap_rogue_ap_reason_e eap_rogue_ap_entry_c::get_rogue_reason(void) const + ?set_is_valid@crypto_aes_wrap_c@@QAEXXZ @ 1399 NONAME ; void crypto_aes_wrap_c::set_is_valid(void) + ?process_4_way_handshake_message_3@eapol_key_state_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeapol_RSNA_key_header_c@@K@Z @ 1400 NONAME ; enum eap_status_e eapol_key_state_c::process_4_way_handshake_message_3(class eap_am_network_id_c const *, class eapol_RSNA_key_header_c *, unsigned long) + ?convert_bytes_to_hex_ascii@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 1401 NONAME ; enum eap_status_e eap_am_tools_c::convert_bytes_to_hex_ascii(unsigned char const *, unsigned long, unsigned char *, unsigned long *) + ?hash_update@eap_am_crypto_sha_256_c@@QAE?AW4eap_status_e@@PBXK@Z @ 1402 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_update(void const *, unsigned long) + ?get_is_valid_data@eap_type_selection_c@@QBE_NXZ @ 1403 NONAME ; bool eap_type_selection_c::get_is_valid_data(void) const + ?read_reassociation_parameters@eapol_key_state_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PAVeap_variable_data_c@@PBV5@3@Z @ 1404 NONAME ; enum eap_status_e eapol_key_state_c::read_reassociation_parameters(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *) + ?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAK@Z @ 1405 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned long *) + ?timer_delete_data@eap_am_memory_store_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1406 NONAME ; enum eap_status_e eap_am_memory_store_c::timer_delete_data(unsigned long, void *) + ?get_is_client@eapol_wlan_authentication_c@@UAE_NXZ @ 1407 NONAME ; bool eapol_wlan_authentication_c::get_is_client(void) + ?hmac_update@crypto_hmac_c@@UAE?AW4eap_status_e@@PBXK@Z @ 1408 NONAME ; enum eap_status_e crypto_hmac_c::hmac_update(void const *, unsigned long) + ?eap_read_u32_t_little_endian_order@@YAKPBXK@Z @ 1409 NONAME ; unsigned long eap_read_u32_t_little_endian_order(void const *, unsigned long) + ?set_key_length@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 1410 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_length(unsigned short) + ?get_key_index@eapol_RC4_key_header_c@@QBEEXZ @ 1411 NONAME ; unsigned char eapol_RC4_key_header_c::get_key_index(void) const + ?eap_acknowledge@eapol_wlan_authentication_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1412 NONAME ; enum eap_status_e eapol_wlan_authentication_c::eap_acknowledge(class eap_am_network_id_c const *) + ??1eap_base_type_c@@UAE@XZ @ 1413 NONAME ; eap_base_type_c::~eap_base_type_c(void) + ?get_key_replay_counter@eapol_RSNA_key_header_c@@QBE_KXZ @ 1414 NONAME ; unsigned long long eapol_RSNA_key_header_c::get_key_replay_counter(void) const + ?get_parameter_data@eapol_handle_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAPAVeap_state_notification_c@@@Z @ 1415 NONAME ; enum eap_status_e eapol_handle_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_state_notification_c * *) + ?get_eap_type_list@ethernet_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 1416 NONAME ; enum eap_status_e ethernet_core_c::get_eap_type_list(class eap_array_c *) + ?unload_module@eap_session_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 1417 NONAME ; enum eap_status_e eap_session_core_c::unload_module(class eap_expanded_type_c) + ?packet_process@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 1418 NONAME ; enum eap_status_e eap_session_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) + ?begin_db_delete@eap_am_tools_symbian_c@@QAE?AW4eap_status_e@@AAVRDbView@@@Z @ 1419 NONAME ; enum eap_status_e eap_am_tools_symbian_c::begin_db_delete(class RDbView &) + ?check_pmksa_cache@ethernet_core_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_am_network_id_c@@@@W4eapol_key_authentication_type_e@@W4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@2@Z @ 1420 NONAME ; enum eap_status_e ethernet_core_c::check_pmksa_cache(class eap_array_c *, enum eapol_key_authentication_type_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e) + ?set_identifier@eap_header_base_c@@QAEXE@Z @ 1421 NONAME ; void eap_header_base_c::set_identifier(unsigned char) + ?set_am_partner@eapol_am_wlan_authentication_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eapol_am_wlan_authentication_c@@PAVabs_eap_configuration_if_c@@@Z @ 1422 NONAME ; enum eap_status_e eapol_am_wlan_authentication_symbian_c::set_am_partner(class abs_eapol_am_wlan_authentication_c *, class abs_eap_configuration_if_c *) + ?am_set_timer@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 1423 NONAME ; enum eap_status_e eap_am_tools_symbian_c::am_set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) + ?get_eapol_packet_length@eapol_RSNA_key_header_c@@QBEGXZ @ 1424 NONAME ; unsigned short eapol_RSNA_key_header_c::get_eapol_packet_length(void) const + ?increase_client_send_key_reply_counter@eapol_key_state_c@@AAEXXZ @ 1425 NONAME ; void eapol_key_state_c::increase_client_send_key_reply_counter(void) + ?get_ANonce@eapol_key_state_c@@AAEPAVeap_variable_data_c@@XZ @ 1426 NONAME ; class eap_variable_data_c * eapol_key_state_c::get_ANonce(void) + ??1eap_am_crypto_md4_c@@UAE@XZ @ 1427 NONAME ; eap_am_crypto_md4_c::~eap_am_crypto_md4_c(void) + ?reset_or_remove_session@eap_session_core_c@@AAE?AW4eap_status_e@@PAPAVeap_core_c@@PBVeap_network_id_selector_c@@_N@Z @ 1428 NONAME ; enum eap_status_e eap_session_core_c::reset_or_remove_session(class eap_core_c * *, class eap_network_id_selector_c const *, bool) + ??1crypto_tls_md5_prf_c@@UAE@XZ @ 1429 NONAME ; crypto_tls_md5_prf_c::~crypto_tls_md5_prf_c(void) + ??4eap_expanded_type_c@@QAEAAV0@ABV0@@Z @ 1430 NONAME ; class eap_expanded_type_c & eap_expanded_type_c::operator=(class eap_expanded_type_c const &) + ?get_type_field_length@eap_header_base_c@@QBEKXZ @ 1431 NONAME ; unsigned long eap_header_base_c::get_type_field_length(void) const + ?get_eap_identifier@eap_core_retransmission_c@@QBEEXZ @ 1432 NONAME ; unsigned char eap_core_retransmission_c::get_eap_identifier(void) const + ??0crypto_sha1_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1433 NONAME ; crypto_sha1_c::crypto_sha1_c(class abs_eap_am_tools_c *) + ?sha_256_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 1434 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *) + ??0eap_tlv_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 1435 NONAME ; eap_tlv_header_c::eap_tlv_header_c(class abs_eap_am_tools_c *, void *, unsigned long) + ??0eap_status_string_c@@QAE@XZ @ 1436 NONAME ; eap_status_string_c::eap_status_string_c(void) + ??1eap_session_core_c@@UAE@XZ @ 1437 NONAME ; eap_session_core_c::~eap_session_core_c(void) + ?rc4_encrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAXK@Z @ 1438 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_encrypt(class eap_variable_data_c const *, void *, unsigned long) + ??0eap_buf_chain_base_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@PAEK_N3K@Z @ 1439 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned char *, unsigned long, bool, bool, unsigned long) + ?compare@eap_expanded_type_c@@QBEJPBV1@@Z @ 1440 NONAME ; long eap_expanded_type_c::compare(class eap_expanded_type_c const *) const + ?generate_g_power_to_xy@crypto_ephemeral_diffie_hellman_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@PBXK2K@Z @ 1441 NONAME ; enum eap_status_e crypto_ephemeral_diffie_hellman_c::generate_g_power_to_xy(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, void const *, unsigned long, void const *, unsigned long) + ?tls_prf_init@crypto_tls_sha1_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 1442 NONAME ; enum eap_status_e crypto_tls_sha1_prf_c::tls_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) + ?packet_data_crypto_keys@eapol_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 1443 NONAME ; enum eap_status_e eapol_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *) + ??1eapol_RSNA_key_header_c@@UAE@XZ @ 1444 NONAME ; eapol_RSNA_key_header_c::~eapol_RSNA_key_header_c(void) + ?get_Authentication_Type@simple_config_credential_c@@QAE?AW4simple_config_Authentication_Type_e@@XZ @ 1445 NONAME ; enum simple_config_Authentication_Type_e simple_config_credential_c::get_Authentication_Type(void) + ?get_stack_address@eap_buf_chain_base_c@@QBEPBXXZ @ 1446 NONAME ; void const * eap_buf_chain_base_c::get_stack_address(void) const + ??0eap_am_tools_c@@QAE@XZ @ 1447 NONAME ; eap_am_tools_c::eap_am_tools_c(void) + ?get_protocol_layer_string@eap_state_notification_c@@UBEPBDXZ @ 1448 NONAME ; char const * eap_state_notification_c::get_protocol_layer_string(void) const + ?cancel_asynchronous_init_remove_eap_session@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 1449 NONAME ; enum eap_status_e eap_core_c::cancel_asynchronous_init_remove_eap_session(void) + ?process_message@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PAVeapol_handle_tlv_message_data_c@@@Z @ 1450 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::process_message(class eapol_handle_tlv_message_data_c *) + ??0eap_am_crypto_symbian_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1451 NONAME ; eap_am_crypto_symbian_c::eap_am_crypto_symbian_c(class abs_eap_am_tools_c *) + ?sha1_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1452 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_init(class eap_variable_data_c *) + ?get_payload_size@eapol_handle_tlv_message_data_c@@QBEKPBV?$eap_array_c@Vsimple_config_credential_c@@@@@Z @ 1453 NONAME ; unsigned long eapol_handle_tlv_message_data_c::get_payload_size(class eap_array_c const *) const + ?create_eap_identity_response@eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@PBVeap_variable_data_c@@E@Z @ 1454 NONAME ; enum eap_status_e eap_core_c::create_eap_identity_response(class eap_buf_chain_wr_c *, class eap_variable_data_c const *, unsigned char) + ??0crypto_tls_base_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1455 NONAME ; crypto_tls_base_prf_c::crypto_tls_base_prf_c(class abs_eap_am_tools_c *) + ?file_size@eap_am_file_input_symbian_c@@UAEKXZ @ 1456 NONAME ; unsigned long eap_am_file_input_symbian_c::file_size(void) + ??1eap_am_memory_store_c@@UAE@XZ @ 1457 NONAME ; eap_am_memory_store_c::~eap_am_memory_store_c(void) + ?set_eapol_protocol_version@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@W4eapol_protocol_version_e@@@Z @ 1458 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_eapol_protocol_version(enum eapol_protocol_version_e) + ?set_key_flag@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@W4eapol_RC4_key_flags_e@@@Z @ 1459 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_key_flag(enum eapol_RC4_key_flags_e) + ?timer_delete_data@eapol_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1460 NONAME ; enum eap_status_e eapol_core_c::timer_delete_data(unsigned long, void *) + ?md5_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1461 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_init(class eap_variable_data_c *) + ?get_key_NONCE@eapol_RSNA_key_header_c@@QBEPAEXZ @ 1462 NONAME ; unsigned char * eapol_RSNA_key_header_c::get_key_NONCE(void) const + ?t_prf_cleanup@crypto_eap_fast_hmac_sha1_prf_c@@QAE?AW4eap_status_e@@XZ @ 1463 NONAME ; enum eap_status_e crypto_eap_fast_hmac_sha1_prf_c::t_prf_cleanup(void) + ?complete_reassociation@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1464 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::complete_reassociation(class eap_array_c const *) + ??0eap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@W4eap_type_ietf_values_e@@KKE2@Z @ 1465 NONAME ; eap_state_notification_c::eap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, enum eap_type_ietf_values_e, unsigned long, unsigned long, unsigned char, bool) + ?add_rogue_ap@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 1466 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::add_rogue_ap(class eap_array_c &) + ?check_pmksa_cache@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1467 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::check_pmksa_cache(class eap_array_c const *) + ??1abs_crypto_cbc_block_algorithm_c@@UAE@XZ @ 1468 NONAME ; abs_crypto_cbc_block_algorithm_c::~abs_crypto_cbc_block_algorithm_c(void) + ??0eap_am_crypto_md4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1469 NONAME ; eap_am_crypto_md4_c::eap_am_crypto_md4_c(class abs_eap_am_tools_c *) + ?internal_decrypt_data@crypto_cbc_c@@AAE?AW4eap_status_e@@PBXPAXK@Z @ 1470 NONAME ; enum eap_status_e crypto_cbc_c::internal_decrypt_data(void const *, void *, unsigned long) + ?shutdown@eap_core_c@@UAE?AW4eap_status_e@@XZ @ 1471 NONAME ; enum eap_status_e eap_core_c::shutdown(void) + ?file_write@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1472 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_write(class eap_variable_data_c const *) + ?compare_length@eap_variable_data_c@@QBEJPBXKK@Z @ 1473 NONAME ; long eap_variable_data_c::compare_length(void const *, unsigned long, unsigned long) const + ?save_simple_config_session@eapol_message_wlan_authentication_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 1474 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *) + ?hash_final@crypto_sha_256_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 1475 NONAME ; enum eap_status_e crypto_sha_256_c::hash_final(void *, unsigned long *) + ?memcmp@eap_am_tools_symbian_c@@UAEJPBX0K@Z @ 1476 NONAME ; long eap_am_tools_symbian_c::memcmp(void const *, void const *, unsigned long) + ?get_block_size@crypto_aes_c@@UAEKXZ @ 1477 NONAME ; unsigned long crypto_aes_c::get_block_size(void) + ?get_data@eapol_ethernet_header_base_c@@QBEPAEK@Z @ 1478 NONAME ; unsigned char * eapol_ethernet_header_base_c::get_data(unsigned long) const + ?tkip_mic_failure@eapol_message_wlan_authentication_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 1479 NONAME ; enum eap_status_e eapol_message_wlan_authentication_c::tkip_mic_failure(class eap_array_c const *) + ?remove_data@eap_am_memory_store_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1480 NONAME ; enum eap_status_e eap_am_memory_store_c::remove_data(class eap_variable_data_c const *) + ?dss_pseudo_random@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAEK0K@Z @ 1481 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dss_pseudo_random(unsigned char *, unsigned long, unsigned char *, unsigned long) + ?generate_diffie_hellman_keys@crypto_ephemeral_diffie_hellman_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@0PBXK1K@Z @ 1482 NONAME ; enum eap_status_e crypto_ephemeral_diffie_hellman_c::generate_diffie_hellman_keys(class eap_variable_data_c *, class eap_variable_data_c *, void const *, unsigned long, void const *, unsigned long) + ?get_is_valid@eap_am_mutex_base_c@@QBE_NXZ @ 1483 NONAME ; bool eap_am_mutex_base_c::get_is_valid(void) const + ?file_open@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@W4eap_file_io_direction_e@@@Z @ 1484 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_open(class eap_variable_data_c const *, enum eap_file_io_direction_e) + ?get_source_length@eapol_ethernet_header_base_c@@QBEKXZ @ 1485 NONAME ; unsigned long eapol_ethernet_header_base_c::get_source_length(void) const + ??1eap_am_mutex_base_c@@UAE@XZ @ 1486 NONAME ; eap_am_mutex_base_c::~eap_am_mutex_base_c(void) + ?get_is_valid@crypto_tls_sha1_prf_c@@QAE_NXZ @ 1487 NONAME ; bool crypto_tls_sha1_prf_c::get_is_valid(void) + ?cancel_session_timeout@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 1488 NONAME ; enum eap_status_e eap_core_c::cancel_session_timeout(void) + ?hash_cleanup@crypto_md5_c@@UAE?AW4eap_status_e@@XZ @ 1489 NONAME ; enum eap_status_e crypto_md5_c::hash_cleanup(void) + ?add_message_header@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KK@Z @ 1490 NONAME ; enum eap_status_e eap_tlv_message_data_c::add_message_header(unsigned long, unsigned long) + ??0eapol_ethernet_header_wr_c@@QAE@PAVabs_eap_am_tools_c@@PBEK@Z @ 1491 NONAME ; eapol_ethernet_header_wr_c::eapol_ethernet_header_wr_c(class abs_eap_am_tools_c *, unsigned char const *, unsigned long) + ?get_payload_size@eapol_handle_tlv_message_data_c@@QBEKPBVeap_am_network_id_c@@@Z @ 1492 NONAME ; unsigned long eapol_handle_tlv_message_data_c::get_payload_size(class eap_am_network_id_c const *) const + ?get_is_enabled@eap_type_selection_c@@QBE_NXZ @ 1493 NONAME ; bool eap_type_selection_c::get_is_enabled(void) const + ?set_eapol_packet_body_length@eapol_RC4_key_header_c@@QAE?AW4eap_status_e@@G@Z @ 1494 NONAME ; enum eap_status_e eapol_RC4_key_header_c::set_eapol_packet_body_length(unsigned short) + ?shutdown@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 1495 NONAME ; enum eap_status_e eap_am_tools_symbian_c::shutdown(void) + ?get_digest_length@eap_am_crypto_sha_256_c@@QAEKXZ @ 1496 NONAME ; unsigned long eap_am_crypto_sha_256_c::get_digest_length(void) + ?get_eapol_key_state@eapol_key_state_c@@ABE?AW4eapol_key_state_e@@XZ @ 1497 NONAME ; enum eapol_key_state_e eapol_key_state_c::get_eapol_key_state(void) const + ??0eapol_rsna_key_data_payloads_c@@QAE@PAVabs_eap_am_tools_c@@_N1@Z @ 1498 NONAME ; eapol_rsna_key_data_payloads_c::eapol_rsna_key_data_payloads_c(class abs_eap_am_tools_c *, bool, bool) + ?set_key_information_key_ack@eapol_RSNA_key_header_c@@QAE?AW4eap_status_e@@_N@Z @ 1499 NONAME ; enum eap_status_e eapol_RSNA_key_header_c::set_key_information_key_ack(bool) + ?octet_from_ascii_armor@eap_am_tools_c@@AAEEE@Z @ 1500 NONAME ; unsigned char eap_am_tools_c::octet_from_ascii_armor(unsigned char) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/EapAuthServeru.def --- a/eapol/eapol_framework/eapol_symbian/bwins/EapAuthServeru.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,107 +0,0 @@ -EXPORTS - ?get_is_valid@eap_am_stack_symbian_c@@UAE_NXZ @ 1 NONAME ; bool eap_am_stack_symbian_c::get_is_valid(void) - ??1eap_core_server_message_if_c@@UAE@XZ @ 2 NONAME ; eap_core_server_message_if_c::~eap_core_server_message_if_c(void) - ?send_message@eap_general_settings_server_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 3 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::send_message(class eap_process_tlv_message_data_c *) - ?get_eapol_key_authentication_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_authentication_type_e@@@Z @ 4 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_authentication_type_string(enum eapol_key_authentication_type_e) - ?complete_copy_configuration@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 5 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::complete_copy_configuration(class eap_method_settings_c const *) - ?state_notification@eap_core_server_message_if_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 6 NONAME ; void eap_core_server_message_if_c::state_notification(class abs_eap_state_notification_c const *) - ?set_eap_database_reference_values@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 7 NONAME ; enum eap_status_e eap_am_stack_symbian_c::set_eap_database_reference_values(class eap_variable_data_c const *) - ?get_is_valid@eap_general_settings_server_message_if_c@@UAE_NXZ @ 8 NONAME ; bool eap_general_settings_server_message_if_c::get_is_valid(void) - ?complete_delete_all_eap_settings@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 9 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::complete_delete_all_eap_settings(class eap_method_settings_c const *) - ?set_session_timeout@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@K@Z @ 10 NONAME ; enum eap_status_e eap_core_server_message_if_c::set_session_timeout(unsigned long) - ?cancel_timer@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 11 NONAME ; enum eap_status_e eap_am_stack_symbian_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ??1eapol_key_state_string_c@@UAE@XZ @ 12 NONAME ; eapol_key_state_string_c::~eapol_key_state_string_c(void) - ?save_simple_config_session@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 13 NONAME ; enum eap_status_e eap_am_stack_symbian_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *) - ?process_data@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PBXK@Z @ 14 NONAME ; enum eap_status_e eap_core_server_message_if_c::process_data(void const *, unsigned long) - ?send_message@eap_plugin_server_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 15 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::send_message(class eap_process_tlv_message_data_c *) - ?set_partner@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_am_stack_c@@PAVabs_eap_configuration_if_c@@@Z @ 16 NONAME ; enum eap_status_e eap_am_stack_symbian_c::set_partner(class abs_eap_am_stack_c *, class abs_eap_configuration_if_c *) - ?get_is_valid@eap_core_server_message_if_c@@UAE_NXZ @ 17 NONAME ; bool eap_core_server_message_if_c::get_is_valid(void) - ??0eap_core_server_message_if_c@@QAE@PAVabs_eap_am_tools_c@@_NK@Z @ 18 NONAME ; eap_core_server_message_if_c::eap_core_server_message_if_c(class abs_eap_am_tools_c *, bool, unsigned long) - ?process_message@eap_plugin_server_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 19 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::process_message(class eap_process_tlv_message_data_c *) - ?process_data@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBXK@Z @ 20 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::process_data(void const *, unsigned long) - ?read_configure@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 21 NONAME ; enum eap_status_e eap_am_stack_symbian_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ??0eap_am_stack_symbian_c@@QAE@PAVabs_eap_am_tools_c@@_N@Z @ 22 NONAME ; eap_am_stack_symbian_c::eap_am_stack_symbian_c(class abs_eap_am_tools_c *, bool) - ?send_error_message@eap_general_settings_server_message_if_c@@AAE?AW4eap_status_e@@W42@W4eap_tlv_message_type_function_e@@@Z @ 23 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::send_error_message(enum eap_status_e, enum eap_tlv_message_type_function_e) - ?process_message@eap_core_server_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 24 NONAME ; enum eap_status_e eap_core_server_message_if_c::process_message(class eap_process_tlv_message_data_c *) - ?complete_get_802_11_authentication_mode@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@W42@PBVeap_am_network_id_c@@W4eapol_key_802_11_authentication_mode_e@@@Z @ 25 NONAME ; enum eap_status_e eap_core_server_message_if_c::complete_get_802_11_authentication_mode(enum eap_status_e, class eap_am_network_id_c const *, enum eapol_key_802_11_authentication_mode_e) - ?check_is_valid_eap_type@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 26 NONAME ; enum eap_status_e eap_am_stack_symbian_c::check_is_valid_eap_type(class eap_expanded_type_c) - ??1EapClientIf@@UAE@XZ @ 27 NONAME ; EapClientIf::~EapClientIf(void) - ??0eap_general_settings_server_message_if_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 28 NONAME ; eap_general_settings_server_message_if_c::eap_general_settings_server_message_if_c(class abs_eap_am_tools_c *) - ?GetServerNameAndExe@EapClientIf@@KAHPAV?$TBuf@$0BI@@@0@Z @ 29 NONAME ; int EapClientIf::GetServerNameAndExe(class TBuf<24> *, class TBuf<24> *) - ?read_configure@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 30 NONAME ; enum eap_status_e eap_core_server_message_if_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?packet_send@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 31 NONAME ; enum eap_status_e eap_core_server_message_if_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ?get_eap_type_list@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 32 NONAME ; enum eap_status_e eap_core_server_message_if_c::get_eap_type_list(class eap_array_c *) - ?shutdown@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@XZ @ 33 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::shutdown(void) - ?complete_delete_configuration@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 34 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::complete_delete_configuration(class eap_method_settings_c const *) - ?complete_get_certificate_lists@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 35 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::complete_get_certificate_lists(class eap_method_settings_c const *) - ?complete_remove_eap_session@eap_core_server_message_if_c@@EAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 36 NONAME ; enum eap_status_e eap_core_server_message_if_c::complete_remove_eap_session(bool, class eap_am_network_id_c const *) - ?set_timer@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 37 NONAME ; enum eap_status_e eap_core_server_message_if_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ?shutdown@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@XZ @ 38 NONAME ; enum eap_status_e eap_core_server_message_if_c::shutdown(void) - ?restart_authentication@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 39 NONAME ; enum eap_status_e eap_core_server_message_if_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool) - ?get_eap_type_list@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 40 NONAME ; enum eap_status_e eap_am_stack_symbian_c::get_eap_type_list(class eap_array_c *) - ?save_simple_config_session@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 41 NONAME ; enum eap_status_e eap_core_server_message_if_c::save_simple_config_session(enum simple_config_state_e, class eap_array_c const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *) - ??0EapClientIf@@QAE@XZ @ 42 NONAME ; EapClientIf::EapClientIf(void) - ?shutdown@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@XZ @ 43 NONAME ; enum eap_status_e eap_am_stack_symbian_c::shutdown(void) - ?timer_delete_data@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 44 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::timer_delete_data(unsigned long, void *) - ?configure@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 45 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::configure(class eap_variable_data_c const *) - ?write_configure@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 46 NONAME ; enum eap_status_e eap_core_server_message_if_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?timer_expired@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 47 NONAME ; enum eap_status_e eap_core_server_message_if_c::timer_expired(unsigned long, void *) - ?process_message_type_error@eap_plugin_server_message_if_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 48 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::process_message_type_error(class eap_array_c const *) - ?set_is_valid@eap_core_server_message_if_c@@QAEXXZ @ 49 NONAME ; void eap_core_server_message_if_c::set_is_valid(void) - ?configure@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 50 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::configure(class eap_variable_data_c const *) - ?set_is_valid@eap_plugin_server_message_if_c@@QAEXXZ @ 51 NONAME ; void eap_plugin_server_message_if_c::set_is_valid(void) - ?asynchronous_start_authentication@eap_core_server_message_if_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 52 NONAME ; enum eap_status_e eap_core_server_message_if_c::asynchronous_start_authentication(class eap_am_network_id_c const *, bool) - ?timer_delete_data@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 53 NONAME ; enum eap_status_e eap_core_server_message_if_c::timer_delete_data(unsigned long, void *) - ?complete_set_index@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 54 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::complete_set_index(class eap_method_settings_c const *) - ?eap_mtu@eap_core_server_message_if_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 55 NONAME ; enum eap_status_e eap_core_server_message_if_c::eap_mtu(class eap_array_c const *) - ?get_eapol_key_handshake_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_handshake_type_e@@@Z @ 56 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_handshake_type_string(enum eapol_key_handshake_type_e) - ?get_is_valid@eap_plugin_server_message_if_c@@UAE_NXZ @ 57 NONAME ; bool eap_plugin_server_message_if_c::get_is_valid(void) - ?add_rogue_ap@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 58 NONAME ; enum eap_status_e eap_core_server_message_if_c::add_rogue_ap(class eap_array_c &) - ?set_timer@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 59 NONAME ; enum eap_status_e eap_am_stack_symbian_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ??1eap_am_stack_symbian_c@@UAE@XZ @ 60 NONAME ; eap_am_stack_symbian_c::~eap_am_stack_symbian_c(void) - ?check_is_valid_eap_type@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 61 NONAME ; enum eap_status_e eap_core_server_message_if_c::check_is_valid_eap_type(class eap_expanded_type_c) - ?shutdown@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@XZ @ 62 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::shutdown(void) - ?set_partner@eap_core_server_message_if_c@@UAEXPAVabs_eap_am_message_if_c@@@Z @ 63 NONAME ; void eap_core_server_message_if_c::set_partner(class abs_eap_am_message_if_c *) - ?complete_get_configuration@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 64 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::complete_get_configuration(class eap_method_settings_c const *) - ?get_802_11_authentication_mode@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@@Z @ 65 NONAME ; enum eap_status_e eap_am_stack_symbian_c::get_802_11_authentication_mode(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e) - ?packet_data_crypto_keys@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 66 NONAME ; enum eap_status_e eap_core_server_message_if_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *) - ?timer_expired@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 67 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::timer_expired(unsigned long, void *) - ?process_data@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@PBXK@Z @ 68 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::process_data(void const *, unsigned long) - ??0eapol_key_state_string_c@@QAE@XZ @ 69 NONAME ; eapol_key_state_string_c::eapol_key_state_string_c(void) - ?complete_invoke_ui@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 70 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::complete_invoke_ui(class eap_method_settings_c const *) - ?get_802_11_authentication_mode@eap_core_server_message_if_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 71 NONAME ; enum eap_status_e eap_core_server_message_if_c::get_802_11_authentication_mode(class eap_array_c const *) - ?load_module@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 72 NONAME ; enum eap_status_e eap_am_stack_symbian_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) - ?unload_module@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 73 NONAME ; enum eap_status_e eap_core_server_message_if_c::unload_module(class eap_expanded_type_c) - ?process_message_type_error@eap_core_server_message_if_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 74 NONAME ; enum eap_status_e eap_core_server_message_if_c::process_message_type_error(class eap_array_c const *) - ?complete_get_eap_methods@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 75 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::complete_get_eap_methods(class eap_method_settings_c const *) - ?cancel_timer@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 76 NONAME ; enum eap_status_e eap_core_server_message_if_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ?complete_get_type_info@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 77 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::complete_get_type_info(class eap_method_settings_c const *) - ?send_message@eap_core_server_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 78 NONAME ; enum eap_status_e eap_core_server_message_if_c::send_message(class eap_process_tlv_message_data_c *) - ?complete_set_eap_methods@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 79 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::complete_set_eap_methods(class eap_method_settings_c const *) - ?configure@eap_am_stack_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 80 NONAME ; enum eap_status_e eap_am_stack_symbian_c::configure(class eap_variable_data_c const *) - ?configure@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 81 NONAME ; enum eap_status_e eap_core_server_message_if_c::configure(class eap_variable_data_c const *) - ?asynchronous_init_remove_eap_session@eap_core_server_message_if_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 82 NONAME ; enum eap_status_e eap_core_server_message_if_c::asynchronous_init_remove_eap_session(class eap_am_network_id_c const *) - ?process_message_type_error@eap_general_settings_server_message_if_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 83 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::process_message_type_error(class eap_array_c const *) - ?timer_expired@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 84 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::timer_expired(unsigned long, void *) - ?set_partner@eap_general_settings_server_message_if_c@@UAEXPAVabs_eap_am_message_if_c@@@Z @ 85 NONAME ; void eap_general_settings_server_message_if_c::set_partner(class abs_eap_am_message_if_c *) - ?load_module@eap_core_server_message_if_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 86 NONAME ; enum eap_status_e eap_core_server_message_if_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) - ?send_error_message@eap_plugin_server_message_if_c@@AAE?AW4eap_status_e@@W42@W4eap_tlv_message_type_function_e@@@Z @ 87 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::send_error_message(enum eap_status_e, enum eap_tlv_message_type_function_e) - ?LaunchFromClient@CEapScheduler@@SAHV?$TBuf@$0BI@@@@Z @ 88 NONAME ; int CEapScheduler::LaunchFromClient(class TBuf<24>) - ?ThreadStart@CEapScheduler@@SAHAAVTServerStart@1@@Z @ 89 NONAME ; int CEapScheduler::ThreadStart(class CEapScheduler::TServerStart &) - ?new_eap_am_stack_c@@YAPAVeap_am_stack_c@@PAVabs_eap_am_tools_c@@_N@Z @ 90 NONAME ; class eap_am_stack_c * new_eap_am_stack_c(class abs_eap_am_tools_c *, bool) - ?complete_set_configuration@eap_plugin_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 91 NONAME ; enum eap_status_e eap_plugin_server_message_if_c::complete_set_configuration(class eap_method_settings_c const *) - ?complete_copy_all_eap_settings@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 92 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::complete_copy_all_eap_settings(class eap_method_settings_c const *) - ?timer_delete_data@eap_general_settings_server_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 93 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::timer_delete_data(unsigned long, void *) - ?send_error_message@eap_core_server_message_if_c@@AAE?AW4eap_status_e@@W42@W4eap_tlv_message_type_function_e@@@Z @ 94 NONAME ; enum eap_status_e eap_core_server_message_if_c::send_error_message(enum eap_status_e, enum eap_tlv_message_type_function_e) - ?NewL@CEapScheduler@@SAPAV1@XZ @ 95 NONAME ; class CEapScheduler * CEapScheduler::NewL(void) - ?get_eapol_key_descriptor_type_string@eapol_key_state_string_c@@SAPBDW4eapol_key_descriptor_type_e@@@Z @ 96 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_descriptor_type_string(enum eapol_key_descriptor_type_e) - ?set_is_valid@eap_general_settings_server_message_if_c@@QAEXXZ @ 97 NONAME ; void eap_general_settings_server_message_if_c::set_is_valid(void) - ??1eap_general_settings_server_message_if_c@@UAE@XZ @ 98 NONAME ; eap_general_settings_server_message_if_c::~eap_general_settings_server_message_if_c(void) - ??1eap_plugin_server_message_if_c@@UAE@XZ @ 99 NONAME ; eap_plugin_server_message_if_c::~eap_plugin_server_message_if_c(void) - ?get_eapol_key_state_string@eapol_key_state_string_c@@SAPBDW4eapol_key_state_e@@@Z @ 100 NONAME ; char const * eapol_key_state_string_c::get_eapol_key_state_string(enum eapol_key_state_e) - ?set_partner@eap_plugin_server_message_if_c@@UAEXPAVabs_eap_am_message_if_c@@@Z @ 101 NONAME ; void eap_plugin_server_message_if_c::set_partner(class abs_eap_am_message_if_c *) - ?process_message@eap_general_settings_server_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 102 NONAME ; enum eap_status_e eap_general_settings_server_message_if_c::process_message(class eap_process_tlv_message_data_c *) - ?get_header_offset@eap_core_server_message_if_c@@UAEKPAK0@Z @ 103 NONAME ; unsigned long eap_core_server_message_if_c::get_header_offset(unsigned long *, unsigned long *) - ??0eap_plugin_server_message_if_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 104 NONAME ; eap_plugin_server_message_if_c::eap_plugin_server_message_if_c(class abs_eap_am_tools_c *) - ?eap_acknowledge@eap_core_server_message_if_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 105 NONAME ; enum eap_status_e eap_core_server_message_if_c::eap_acknowledge(class eap_array_c const *) - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/eap_notifieru.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eap_notifieru.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -EXPORTS - ?Cancel@CEapAuthNotifier@@QAEXXZ @ 1 NONAME ; void CEapAuthNotifier::Cancel(void) - ?NewL@CEapAuthNotifier@@SAPAV1@AAVMNotificationCallback@@@Z @ 2 NONAME ; class CEapAuthNotifier * CEapAuthNotifier::NewL(class MNotificationCallback &) - ?StartL@CEapAuthNotifier@@QAEXW4EEapNotifierType@1@PAUTEapDialogInfo@1@AAVTEapExpandedType@@@Z @ 3 NONAME ; void CEapAuthNotifier::StartL(enum CEapAuthNotifier::EEapNotifierType, struct CEapAuthNotifier::TEapDialogInfo *, class TEapExpandedType &) - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/eapakau.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapakau.def Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapakau.def Wed Sep 01 12:23:57 2010 +0100 @@ -1,245 +1,3 @@ EXPORTS ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) - ?send_challenge_request_message@eap_type_aka_c@@AAE?AW4eap_status_e@@E@Z @ 2 NONAME ; enum eap_status_e eap_type_aka_c::send_challenge_request_message(unsigned char) - ?complete_re_syncronization_query@eap_type_aka_c@@EAE?AW4eap_status_e@@EPBVeap_type_aka_authentication_vector_c@@@Z @ 3 NONAME ; enum eap_status_e eap_type_aka_c::complete_re_syncronization_query(unsigned char, class eap_type_aka_authentication_vector_c const *) - ?add_pseudonym_or_imsi_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111PBVeap_variable_data_c@@W4aka_payload_AT_type_e@@@Z @ 4 NONAME ; enum eap_status_e eap_type_aka_c::add_pseudonym_or_imsi_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, class eap_variable_data_c const *, enum aka_payload_AT_type_e) - ??1eap_type_aka_authentication_vector_c@@UAE@XZ @ 5 NONAME ; eap_type_aka_authentication_vector_c::~eap_type_aka_authentication_vector_c(void) - ??1aka_variable_data_c@@UAE@XZ @ 6 NONAME ; aka_variable_data_c::~aka_variable_data_c(void) - ?finish_successful_authentication@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 7 NONAME ; enum eap_status_e eap_type_aka_c::finish_successful_authentication(class eap_am_network_id_c const *) - ?cancel_timer@eap_type_aka_c@@QAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 8 NONAME ; enum eap_status_e eap_type_aka_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ?NewL@eap_am_type_aka_symbian_c@@SAPAV1@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@W4TIndexType@@HVeap_expanded_type_c@@_NPBVeap_am_network_id_c@@@Z @ 9 NONAME ; class eap_am_type_aka_symbian_c * eap_am_type_aka_symbian_c::NewL(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, enum TIndexType, int, class eap_expanded_type_c, bool, class eap_am_network_id_c const *) - ??1eap_type_aka_state_notification_c@@UAE@XZ @ 10 NONAME ; eap_type_aka_state_notification_c::~eap_type_aka_state_notification_c(void) - ??0aka_payload_AT_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 11 NONAME ; aka_payload_AT_header_c::aka_payload_AT_header_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?get_data_offset@aka_header_c@@QBEPAEKK@Z @ 12 NONAME ; unsigned char * aka_header_c::get_data_offset(unsigned long, unsigned long) const - ?get_payload_AT_string@aka_payload_AT_header_c@@QBEPBDXZ @ 13 NONAME ; char const * aka_payload_AT_header_c::get_payload_AT_string(void) const - ?set_reserved@aka_payload_AT_header_c@@QAEXG@Z @ 14 NONAME ; void aka_payload_AT_header_c::set_reserved(unsigned short) - ?get_header_length@aka_header_c@@QBEKXZ @ 15 NONAME ; unsigned long aka_header_c::get_header_length(void) const - ?get_state_variable@eap_type_aka_c@@AAEPBVeap_type_aka_state_variable_parameters_c@@XZ @ 16 NONAME ; class eap_type_aka_state_variable_parameters_c const * eap_type_aka_c::get_state_variable(void) - ?check_initiator@eap_type_aka_state_variable_parameters_c@@QBE_N_N@Z @ 17 NONAME ; bool eap_type_aka_state_variable_parameters_c::check_initiator(bool) const - ?get_is_valid@eap_am_type_aka_symbian_c@@QAE_NXZ @ 18 NONAME ; bool eap_am_type_aka_symbian_c::get_is_valid(void) - ?get_header_length@aka_payload_AT_header_c@@SAGXZ @ 19 NONAME ; unsigned short aka_payload_AT_header_c::get_header_length(void) - ??0eap_type_aka_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@PAVeap_am_type_aka_c@@_N3PBVeap_am_network_id_c@@@Z @ 20 NONAME ; eap_type_aka_c::eap_type_aka_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, class eap_am_type_aka_c *, bool, bool, class eap_am_network_id_c const *) - ?handle_client_error_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 21 NONAME ; enum eap_status_e eap_type_aka_c::handle_client_error_response_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ??0aka_header_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 22 NONAME ; aka_header_c::aka_header_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long) - ?query_AKA_authentication_vector@eap_type_aka_c@@AAE?AW4eap_status_e@@EPAW4eap_type_aka_identity_type@@@Z @ 23 NONAME ; enum eap_status_e eap_type_aka_c::query_AKA_authentication_vector(unsigned char, enum eap_type_aka_identity_type *) - ?increase_reauth_counter@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 24 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::increase_reauth_counter(void) - ?cancel_error_message_delay_timer@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 25 NONAME ; enum eap_status_e eap_type_aka_c::cancel_error_message_delay_timer(void) - ?delete_unused_keys@eap_type_aka_c@@AAEXXZ @ 26 NONAME ; void eap_type_aka_c::delete_unused_keys(void) - ??1aka_payload_AT_header_c@@UAE@XZ @ 27 NONAME ; aka_payload_AT_header_c::~aka_payload_AT_header_c(void) - ?get_data_length@aka_payload_AT_header_c@@QBEKXZ @ 28 NONAME ; unsigned long aka_payload_AT_header_c::get_data_length(void) const - ?get_reserved_pointer@aka_payload_AT_header_c@@QBEPAEK@Z @ 29 NONAME ; unsigned char * aka_payload_AT_header_c::get_reserved_pointer(unsigned long) const - ?get_AUTN@eap_type_aka_authentication_vector_c@@QBEPAVeap_variable_data_c@@XZ @ 30 NONAME ; class eap_variable_data_c * eap_type_aka_authentication_vector_c::get_AUTN(void) const - ?cancel_imsi_from_username_query@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 31 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::cancel_imsi_from_username_query(void) - ??0aka_fixed_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 32 NONAME ; aka_fixed_data_c::aka_fixed_data_c(class abs_eap_am_tools_c *) - ?add_AUTS_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111PBVeap_variable_data_c@@W4aka_payload_AT_type_e@@@Z @ 33 NONAME ; enum eap_status_e eap_type_aka_c::add_AUTS_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, class eap_variable_data_c const *, enum aka_payload_AT_type_e) - ?set_vector_status@eap_type_aka_authentication_vector_c@@QAEXW4eap_status_e@@@Z @ 34 NONAME ; void eap_type_aka_authentication_vector_c::set_vector_status(enum eap_status_e) - ?handle_synchronization_failure_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 35 NONAME ; enum eap_status_e eap_type_aka_c::handle_synchronization_failure_response_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?get_eap_type_string@aka_header_c@@QBEPBDXZ @ 36 NONAME ; char const * aka_header_c::get_eap_type_string(void) const - ?check_challenge_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 37 NONAME ; enum eap_status_e eap_type_aka_c::check_challenge_response_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?cancel_AKA_authentication_vector_query@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 38 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::cancel_AKA_authentication_vector_query(void) - ?get_saved_previous_state_string@eap_type_aka_c@@ABEPBDXZ @ 39 NONAME ; char const * eap_type_aka_c::get_saved_previous_state_string(void) const - ?send_challenge_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 40 NONAME ; enum eap_status_e eap_type_aka_c::send_challenge_response_message(class eap_variable_data_c *) - ?send_aka_notification_request@eap_type_aka_c@@AAE?AW4eap_status_e@@W4eap_aka_notification_codes_e@@_N@Z @ 41 NONAME ; enum eap_status_e eap_type_aka_c::send_aka_notification_request(enum eap_aka_notification_codes_e, bool) - ?set_error_message_delay_timer@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 42 NONAME ; enum eap_status_e eap_type_aka_c::set_error_message_delay_timer(void) - ?configure@eap_type_aka_c@@UAE?AW4eap_status_e@@XZ @ 43 NONAME ; enum eap_status_e eap_type_aka_c::configure(void) - ?set_timer@eap_type_aka_c@@QAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 44 NONAME ; enum eap_status_e eap_type_aka_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ?get_payload_included@aka_variable_data_c@@QBE_NXZ @ 45 NONAME ; bool aka_variable_data_c::get_payload_included(void) const - ?reset_header@aka_header_c@@QAEXK_N@Z @ 46 NONAME ; void aka_header_c::reset_header(unsigned long, bool) - ?get_data@aka_variable_data_c@@QBEPAEK@Z @ 47 NONAME ; unsigned char * aka_variable_data_c::get_data(unsigned long) const - ?generate_reauth_shared_secred_keys@eap_type_aka_c@@AAE?AW4eap_status_e@@KPBVeap_variable_data_c@@K00PAV3@@Z @ 48 NONAME ; enum eap_status_e eap_type_aka_c::generate_reauth_shared_secred_keys(unsigned long, class eap_variable_data_c const *, unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?add_variable_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111PBVeap_variable_data_c@@W4aka_payload_AT_type_e@@@Z @ 49 NONAME ; enum eap_status_e eap_type_aka_c::add_variable_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, class eap_variable_data_c const *, enum aka_payload_AT_type_e) - ?query_AKA_RES@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVeap_type_aka_authentication_vector_c@@@Z @ 50 NONAME ; enum eap_status_e eap_type_aka_c::query_AKA_RES(class eap_type_aka_authentication_vector_c *) - ?handle_reauthentication_request_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 51 NONAME ; enum eap_status_e eap_type_aka_c::handle_reauthentication_request_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?get_state_string@eap_type_aka_c@@ABEPBDXZ @ 52 NONAME ; char const * eap_type_aka_c::get_state_string(void) const - ?add_padding_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111K@Z @ 53 NONAME ; enum eap_status_e eap_type_aka_c::add_padding_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, unsigned long) - ?initialize_notification_message@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 54 NONAME ; enum eap_status_e eap_type_aka_c::initialize_notification_message(void) - ?handle_error_packet@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 55 NONAME ; enum eap_status_e eap_type_aka_c::handle_error_packet(void) - ?check_valid_state@eap_type_aka_c@@AAE?AW4eap_status_e@@W4aka_subtype_e@@@Z @ 56 NONAME ; enum eap_status_e eap_type_aka_c::check_valid_state(enum aka_subtype_e) - ?update_payload_indexes@eap_type_aka_c@@AAEXKKKPAK000@Z @ 57 NONAME ; void eap_type_aka_c::update_payload_indexes(unsigned long, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *) - ?set_data_length@aka_header_c@@QAEXK_N@Z @ 58 NONAME ; void aka_header_c::set_data_length(unsigned long, bool) - ?get_reserved@aka_header_c@@QBEGXZ @ 59 NONAME ; unsigned short aka_header_c::get_reserved(void) const - ?generate_encryption_IV@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 60 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::generate_encryption_IV(class eap_variable_data_c *, unsigned long) - ?store_reauthentication_id@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@@Z @ 61 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::store_reauthentication_id(class eap_am_network_id_c const *, class eap_variable_data_c const *) - ?send_aka_notification_response@eap_type_aka_c@@AAE?AW4eap_status_e@@W4eap_aka_notification_codes_e@@_N@Z @ 62 NONAME ; enum eap_status_e eap_type_aka_c::send_aka_notification_response(enum eap_aka_notification_codes_e, bool) - ?get_includes_other_version_than_1@aka_payloads_c@@QAE_NXZ @ 63 NONAME ; bool aka_payloads_c::get_includes_other_version_than_1(void) - ?get_reserved@aka_payload_AT_header_c@@QBEGXZ @ 64 NONAME ; unsigned short aka_payload_AT_header_c::get_reserved(void) const - ??0aka_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 65 NONAME ; aka_variable_data_c::aka_variable_data_c(class abs_eap_am_tools_c *) - ?generate_shared_secred_keys@eap_type_aka_c@@AAE?AW4eap_status_e@@KPBVeap_variable_data_c@@0PAV3@111@Z @ 66 NONAME ; enum eap_status_e eap_type_aka_c::generate_shared_secred_keys(unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *) - ?cancel_AKA_RES_query@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 67 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::cancel_AKA_RES_query(void) - ?query_AKA_IMSI_or_pseudonym_or_reauthentication_id@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@000PAK_NW4aka_payload_AT_type_e@@W4eap_type_aka_complete_e@@E@Z @ 68 NONAME ; enum eap_status_e eap_type_aka_c::query_AKA_IMSI_or_pseudonym_or_reauthentication_id(class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, unsigned long *, bool, enum aka_payload_AT_type_e, enum eap_type_aka_complete_e, unsigned char) - ?handle_eap_identity_query@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_variable_data_c@@EPBV4@222K_N@Z @ 69 NONAME ; enum eap_status_e eap_type_aka_c::handle_eap_identity_query(class eap_am_network_id_c const *, class eap_variable_data_c *, unsigned char, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long, bool) - ?complete_AKA_imsi_L@eap_am_type_aka_symbian_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@W42@@Z @ 70 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::complete_AKA_imsi_L(class eap_variable_data_c const *, enum eap_status_e) - ?set_data_length@aka_payload_AT_header_c@@QAEXG@Z @ 71 NONAME ; void aka_payload_AT_header_c::set_data_length(unsigned short) - ?get_RES@eap_type_aka_authentication_vector_c@@QBEPAVeap_variable_data_c@@XZ @ 72 NONAME ; class eap_variable_data_c * eap_type_aka_authentication_vector_c::get_RES(void) const - ?send_aka_client_error_response@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 73 NONAME ; enum eap_status_e eap_type_aka_c::send_aka_client_error_response(void) - ?get_data_length@aka_header_c@@QBEGXZ @ 74 NONAME ; unsigned short aka_header_c::get_data_length(void) const - ?eap_acknowledge@eap_type_aka_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 75 NONAME ; enum eap_status_e eap_type_aka_c::eap_acknowledge(class eap_am_network_id_c const *) - ?check_payloads@aka_payloads_c@@QAE_NW4eap_aka_payload_status_e@1@00000000000000000000@Z @ 76 NONAME ; bool aka_payloads_c::check_payloads(enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e, enum aka_payloads_c::eap_aka_payload_status_e) - ?handle_aka_identity_response_message_completion@eap_type_aka_c@@AAE?AW4eap_status_e@@EW42@W4eap_type_aka_identity_type@@_N@Z @ 77 NONAME ; enum eap_status_e eap_type_aka_c::handle_aka_identity_response_message_completion(unsigned char, enum eap_status_e, enum eap_type_aka_identity_type, bool) - ?set_data@aka_fixed_data_c@@QAEXPBVaka_payload_AT_header_c@@GG@Z @ 78 NONAME ; void aka_fixed_data_c::set_data(class aka_payload_AT_header_c const *, unsigned short, unsigned short) - ?get_RAND@eap_type_aka_authentication_vector_c@@QBEPAVeap_variable_data_c@@XZ @ 79 NONAME ; class eap_variable_data_c * eap_type_aka_authentication_vector_c::get_RAND(void) const - ?complete_imsi_from_username@eap_type_aka_c@@UAE?AW4eap_status_e@@EPBVeap_am_network_id_c@@PBVeap_variable_data_c@@1W4eap_type_aka_identity_type@@W42@W4eap_type_aka_complete_e@@@Z @ 80 NONAME ; enum eap_status_e eap_type_aka_c::complete_imsi_from_username(unsigned char, class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_type_aka_identity_type, enum eap_status_e, enum eap_type_aka_complete_e) - ?query_AKA_RES@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PAVeap_type_aka_authentication_vector_c@@@Z @ 81 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::query_AKA_RES(class eap_type_aka_authentication_vector_c *) - ?checkcode_save_message_server@eap_type_aka_c@@AAE?AW4eap_status_e@@PBXK@Z @ 82 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_save_message_server(void const *, unsigned long) - ?send_reauthentication_request_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_NE@Z @ 83 NONAME ; enum eap_status_e eap_type_aka_c::send_reauthentication_request_message(class eap_variable_data_c const *, bool, unsigned char) - ?add_mac_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111PAPAE1@Z @ 84 NONAME ; enum eap_status_e eap_type_aka_c::add_mac_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, unsigned char * *, unsigned long *) - ?cancel_notification_message_delay_timer@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 85 NONAME ; enum eap_status_e eap_type_aka_c::cancel_notification_message_delay_timer(void) - ?check_message_authentication_code@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVaka_payloads_c@@PBVaka_header_c@@K@Z @ 86 NONAME ; enum eap_status_e eap_type_aka_c::check_message_authentication_code(class eap_variable_data_c const *, class aka_payloads_c *, class aka_header_c const *, unsigned long) - ?check_valid_types@eap_type_aka_state_variable_parameters_c@@QBE_NW4aka_subtype_e@@@Z @ 87 NONAME ; bool eap_type_aka_state_variable_parameters_c::check_valid_types(enum aka_subtype_e) const - ??0eap_type_aka_authentication_vector_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 88 NONAME ; eap_type_aka_authentication_vector_c::eap_type_aka_authentication_vector_c(class abs_eap_am_tools_c *) - ?get_sub_type_offset@aka_header_c@@QBEKXZ @ 89 NONAME ; unsigned long aka_header_c::get_sub_type_offset(void) const - ?generate_reauthentication_id@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@PAV4@K@Z @ 90 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::generate_reauthentication_id(class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long) - ?reset@eap_type_aka_authentication_vector_c@@QAEXXZ @ 91 NONAME ; void eap_type_aka_authentication_vector_c::reset(void) - ?handle_identity_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVeap_header_rd_c@@K@Z @ 92 NONAME ; enum eap_status_e eap_type_aka_c::handle_identity_response_message(class eap_header_rd_c *, unsigned long) - ?get_data_length@aka_variable_data_c@@QBEKXZ @ 93 NONAME ; unsigned long aka_variable_data_c::get_data_length(void) const - ??0eap_type_aka_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_generic_e@@W4eap_protocol_layer_e@@KKKE2@Z @ 94 NONAME ; eap_type_aka_state_notification_c::eap_type_aka_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_generic_e, enum eap_protocol_layer_e, unsigned long, unsigned long, unsigned long, unsigned char, bool) - ?get_data_offset@aka_payload_AT_header_c@@QBEPAEKK@Z @ 95 NONAME ; unsigned char * aka_payload_AT_header_c::get_data_offset(unsigned long, unsigned long) const - ?get_data@aka_payload_AT_header_c@@QBEPAEK@Z @ 96 NONAME ; unsigned char * aka_payload_AT_header_c::get_data(unsigned long) const - ?get_original_header@aka_fixed_data_c@@QAEPBVaka_payload_AT_header_c@@XZ @ 97 NONAME ; class aka_payload_AT_header_c const * aka_fixed_data_c::get_original_header(void) - ?store_identity@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_N@Z @ 98 NONAME ; enum eap_status_e eap_type_aka_c::store_identity(class eap_variable_data_c const *, bool) - ?set_is_valid@eap_type_aka_c@@UAEXXZ @ 99 NONAME ; void eap_type_aka_c::set_is_valid(void) - ?cancel_AKA_IMSI_or_pseudonym_or_reauthentication_id_query@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 100 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::cancel_AKA_IMSI_or_pseudonym_or_reauthentication_id_query(void) - ?configure@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 101 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::configure(void) - ?authentication_finished@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@_NW4eap_aka_authentication_type_e@@W4eap_type_aka_identity_type@@@Z @ 102 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::authentication_finished(bool, enum eap_aka_authentication_type_e, enum eap_type_aka_identity_type) - ?create_message_authentication_code@eap_type_aka_c@@QAE?AW4eap_status_e@@PAVeap_type_aka_MAC_attributes_c@@W4aka_subtype_e@@W4eap_code_value_e@@PBVeap_variable_data_c@@@Z @ 103 NONAME ; enum eap_status_e eap_type_aka_c::create_message_authentication_code(class eap_type_aka_MAC_attributes_c *, enum aka_subtype_e, enum eap_code_value_e, class eap_variable_data_c const *) - ?get_max_payload_data_length@aka_payload_AT_header_c@@SAGXZ @ 104 NONAME ; unsigned short aka_payload_AT_header_c::get_max_payload_data_length(void) - ?initialize_state@eap_type_aka_c@@AAEXW4eap_type_aka_state_variable_e@@_N1W4aka_subtype_e@@2222@Z @ 105 NONAME ; void eap_type_aka_c::initialize_state(enum eap_type_aka_state_variable_e, bool, bool, enum aka_subtype_e, enum aka_subtype_e, enum aka_subtype_e, enum aka_subtype_e, enum aka_subtype_e) - ?add_simple_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111W4aka_payload_AT_type_e@@@Z @ 106 NONAME ; enum eap_status_e eap_type_aka_c::add_simple_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum aka_payload_AT_type_e) - ?send_aka_synchronization_failure_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_type_aka_authentication_vector_c@@@Z @ 107 NONAME ; enum eap_status_e eap_type_aka_c::send_aka_synchronization_failure_response_message(class eap_type_aka_authentication_vector_c const *) - ?complete_AKA_authentication_vector_query@eap_type_aka_c@@UAE?AW4eap_status_e@@PAVeap_type_aka_authentication_vector_c@@PBVeap_variable_data_c@@W4eap_aka_authentication_vector_status_e@@W4eap_type_aka_identity_type@@W42@E@Z @ 108 NONAME ; enum eap_status_e eap_type_aka_c::complete_AKA_authentication_vector_query(class eap_type_aka_authentication_vector_c *, class eap_variable_data_c const *, enum eap_aka_authentication_vector_status_e, enum eap_type_aka_identity_type, enum eap_status_e, unsigned char) - ?set_notification_message_delay_timer@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 109 NONAME ; enum eap_status_e eap_type_aka_c::set_notification_message_delay_timer(void) - ?get_is_valid@aka_fixed_data_c@@QBE_NXZ @ 110 NONAME ; bool aka_fixed_data_c::get_is_valid(void) const - ?get_code_string@aka_header_c@@QBEPBDXZ @ 111 NONAME ; char const * aka_header_c::get_code_string(void) const - ?handle_notification_response_message_reauthentication@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 112 NONAME ; enum eap_status_e eap_type_aka_c::handle_notification_response_message_reauthentication(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?init_state@eap_type_aka_state_variable_parameters_c@@QAEX_N0W4aka_subtype_e@@1111@Z @ 113 NONAME ; void eap_type_aka_state_variable_parameters_c::init_state(bool, bool, enum aka_subtype_e, enum aka_subtype_e, enum aka_subtype_e, enum aka_subtype_e, enum aka_subtype_e) - ?add_client_error_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111W4eap_aka_client_error_code_e@@@Z @ 114 NONAME ; enum eap_status_e eap_type_aka_c::add_client_error_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum eap_aka_client_error_code_e) - ?get_type@aka_fixed_data_c@@QBEGPAVabs_eap_am_tools_c@@@Z @ 115 NONAME ; unsigned short aka_fixed_data_c::get_type(class abs_eap_am_tools_c *) const - ?store_pseudonym_id@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@@Z @ 116 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::store_pseudonym_id(class eap_am_network_id_c const *, class eap_variable_data_c const *) - ?set_is_valid@eap_am_type_aka_symbian_c@@QAEXXZ @ 117 NONAME ; void eap_am_type_aka_symbian_c::set_is_valid(void) - ?send_aka_identity_request_message@eap_type_aka_c@@AAE?AW4eap_status_e@@_NE@Z @ 118 NONAME ; enum eap_status_e eap_type_aka_c::send_aka_identity_request_message(bool, unsigned char) - ?handle_aka_packet@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 119 NONAME ; enum eap_status_e eap_type_aka_c::handle_aka_packet(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?analyse_aka_packet@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 120 NONAME ; enum eap_status_e eap_type_aka_c::analyse_aka_packet(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?update_buffer_indexes@eap_type_aka_c@@AAEXKKPAK0@Z @ 121 NONAME ; void eap_type_aka_c::update_buffer_indexes(unsigned long, unsigned long, unsigned long *, unsigned long *) - ?handle_reauthentication_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 122 NONAME ; enum eap_status_e eap_type_aka_c::handle_reauthentication_response_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?get_is_valid@eap_type_aka_authentication_vector_c@@QBE_NXZ @ 123 NONAME ; bool eap_type_aka_authentication_vector_c::get_is_valid(void) const - ?get_nai_realm@eap_type_aka_c@@AAEPAVeap_variable_data_c@@XZ @ 124 NONAME ; class eap_variable_data_c * eap_type_aka_c::get_nai_realm(void) - ??1aka_header_c@@UAE@XZ @ 125 NONAME ; aka_header_c::~aka_header_c(void) - ?checkcode_verify@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 126 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_verify(class eap_variable_data_c const *) - ?timer_delete_data@eap_type_aka_c@@UAE?AW4eap_status_e@@KPAX@Z @ 127 NONAME ; enum eap_status_e eap_type_aka_c::timer_delete_data(unsigned long, void *) - ?checkcode_verify_payloads@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_payloads_c@@@Z @ 128 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_verify_payloads(class aka_payloads_c *) - ?reset_header@aka_payload_AT_header_c@@QAEXG@Z @ 129 NONAME ; void aka_payload_AT_header_c::reset_header(unsigned short) - ?check_header@aka_header_c@@UBE?AW4eap_status_e@@XZ @ 130 NONAME ; enum eap_status_e aka_header_c::check_header(void) const - ?checkcode_init@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 131 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_init(void) - ?compare_payload_first_is_less@eap_type_aka_c@@CA_NPBW4aka_payload_AT_type_e@@0PAVabs_eap_am_tools_c@@@Z @ 132 NONAME ; bool eap_type_aka_c::compare_payload_first_is_less(enum aka_payload_AT_type_e const *, enum aka_payload_AT_type_e const *, class abs_eap_am_tools_c *) - ?set_reserved@aka_header_c@@QAEXG@Z @ 133 NONAME ; void aka_header_c::set_reserved(unsigned short) - ?set_includes_unknown_attribute@aka_payloads_c@@QAEXW4aka_payload_AT_type_e@@@Z @ 134 NONAME ; void aka_payloads_c::set_includes_unknown_attribute(enum aka_payload_AT_type_e) - ?send_aka_identity_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EW4aka_payload_AT_type_e@@PBVeap_variable_data_c@@@Z @ 135 NONAME ; enum eap_status_e eap_type_aka_c::send_aka_identity_response_message(class eap_am_network_id_c const *, unsigned char, enum aka_payload_AT_type_e, class eap_variable_data_c const *) - ?get_data@aka_header_c@@QBEPAEK@Z @ 136 NONAME ; unsigned char * aka_header_c::get_data(unsigned long) const - ?get_includes_unknown_attribute@aka_payloads_c@@QAE?AW4aka_payload_AT_type_e@@XZ @ 137 NONAME ; enum aka_payload_AT_type_e aka_payloads_c::get_includes_unknown_attribute(void) - ?reset@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 138 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::reset(void) - ??1eap_type_aka_state_variable_parameters_c@@UAE@XZ @ 139 NONAME ; eap_type_aka_state_variable_parameters_c::~eap_type_aka_state_variable_parameters_c(void) - ?add_counter_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111G@Z @ 140 NONAME ; enum eap_status_e eap_type_aka_c::add_counter_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, unsigned short) - ?check_NAI@eap_type_aka_c@@AAE?AW4eap_status_e@@PBEK0@Z @ 141 NONAME ; enum eap_status_e eap_type_aka_c::check_NAI(unsigned char const *, unsigned long, unsigned char const *) - ?store_reauth_parameters@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@00K@Z @ 142 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::store_reauth_parameters(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long) - ?get_is_client@eap_type_aka_c@@UAE_NXZ @ 143 NONAME ; bool eap_type_aka_c::get_is_client(void) - ?aka_packet_process@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@K_N@Z @ 144 NONAME ; enum eap_status_e eap_type_aka_c::aka_packet_process(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, bool) - ?random_selection@eap_type_aka_c@@AAE_NXZ @ 145 NONAME ; bool eap_type_aka_c::random_selection(void) - ?shutdown@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@XZ @ 146 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::shutdown(void) - ?check_synchronization_failure_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 147 NONAME ; enum eap_status_e eap_type_aka_c::check_synchronization_failure_response_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?get_payload_buffer@aka_variable_data_c@@QAEPAVeap_variable_data_c@@XZ @ 148 NONAME ; class eap_variable_data_c * aka_variable_data_c::get_payload_buffer(void) - ?get_is_valid@aka_variable_data_c@@QBE_NXZ @ 149 NONAME ; bool aka_variable_data_c::get_is_valid(void) const - ?handle_notification_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 150 NONAME ; enum eap_status_e eap_type_aka_c::handle_notification_response_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?type_configure_write@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 151 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::type_configure_write(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?get_subtype_string@aka_header_c@@QBEPBDXZ @ 152 NONAME ; char const * aka_header_c::get_subtype_string(void) const - ?read_configure@eap_type_aka_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 153 NONAME ; enum eap_status_e eap_type_aka_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?new_handler@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 154 NONAME ; enum eap_status_e eap_type_aka_c::new_handler(class eap_am_network_id_c const *, bool) - ?add_RES_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111PBVeap_variable_data_c@@W4aka_payload_AT_type_e@@@Z @ 155 NONAME ; enum eap_status_e eap_type_aka_c::add_RES_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, class eap_variable_data_c const *, enum aka_payload_AT_type_e) - ?decrypt_DATA_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_payloads_c@@PBVeap_variable_data_c@@@Z @ 156 NONAME ; enum eap_status_e eap_type_aka_c::decrypt_DATA_payload(class aka_payloads_c *, class eap_variable_data_c const *) - ?query_AKA_IMSI_or_pseudonym_or_reauthentication_id@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@000PAKW4aka_payload_AT_type_e@@W4eap_type_aka_complete_e@@E@Z @ 157 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::query_AKA_IMSI_or_pseudonym_or_reauthentication_id(class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, unsigned long *, enum aka_payload_AT_type_e, enum eap_type_aka_complete_e, unsigned char) - ?set_initial_eap_identifier@eap_type_aka_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 158 NONAME ; enum eap_status_e eap_type_aka_c::set_initial_eap_identifier(class eap_am_network_id_c const *, unsigned char) - ?reset@eap_type_aka_c@@UAE?AW4eap_status_e@@XZ @ 159 NONAME ; enum eap_status_e eap_type_aka_c::reset(void) - ?parse_generic_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@W4aka_payload_AT_type_e@@PBVaka_payload_AT_header_c@@PAVaka_payloads_c@@W4aka_subtype_e@@@Z @ 160 NONAME ; enum eap_status_e eap_type_aka_c::parse_generic_payload(enum aka_payload_AT_type_e, class aka_payload_AT_header_c const *, class aka_payloads_c *, enum aka_subtype_e) - ?checkcode_update_saved_message@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 161 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_update_saved_message(void) - ?complete_AKA_IMSI_or_pseudonym_or_reauthentication_id_query@eap_type_aka_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@000KW4eap_type_aka_complete_e@@EW42@@Z @ 162 NONAME ; enum eap_status_e eap_type_aka_c::complete_AKA_IMSI_or_pseudonym_or_reauthentication_id_query(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long, enum eap_type_aka_complete_e, unsigned char, enum eap_status_e) - ?type_configure_read@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 163 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::type_configure_read(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?send_aka_authentication_reject_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_type_aka_authentication_vector_c@@@Z @ 164 NONAME ; enum eap_status_e eap_type_aka_c::send_aka_authentication_reject_response_message(class eap_type_aka_authentication_vector_c const *) - ?checkcode_update@eap_type_aka_c@@AAE?AW4eap_status_e@@PBXK@Z @ 165 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_update(void const *, unsigned long) - ?get_is_valid@eap_type_aka_c@@UAE_NXZ @ 166 NONAME ; bool eap_type_aka_c::get_is_valid(void) - ?handle_aka_identity_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 167 NONAME ; enum eap_status_e eap_type_aka_c::handle_aka_identity_response_message(class aka_header_c *, unsigned long, class aka_payloads_c *) - ?checkcode_save_message_client@eap_type_aka_c@@AAE?AW4eap_status_e@@PBXKPAVaka_payloads_c@@@Z @ 168 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_save_message_client(void const *, unsigned long, class aka_payloads_c *) - ?reset@aka_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 169 NONAME ; enum eap_status_e aka_variable_data_c::reset(void) - ?handle_aka_notification_request_message_full_authentication@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 170 NONAME ; enum eap_status_e eap_type_aka_c::handle_aka_notification_request_message_full_authentication(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?parse_aka_packet@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 171 NONAME ; enum eap_status_e eap_type_aka_c::parse_aka_packet(class aka_header_c *, unsigned long, class aka_payloads_c *) - ?extra_message_authentication_code_bytes@eap_type_aka_c@@QAE?AW4eap_status_e@@W4aka_subtype_e@@W4eap_code_value_e@@PAVcrypto_hmac_c@@@Z @ 172 NONAME ; enum eap_status_e eap_type_aka_c::extra_message_authentication_code_bytes(enum aka_subtype_e, enum eap_code_value_e, class crypto_hmac_c *) - ?handle_aka_identity_request_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 173 NONAME ; enum eap_status_e eap_type_aka_c::handle_aka_identity_request_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?set_includes_other_version_than_1@aka_payloads_c@@QAEX_N@Z @ 174 NONAME ; void aka_payloads_c::set_includes_other_version_than_1(bool) - ?get_IK@eap_type_aka_authentication_vector_c@@QBEPAVeap_variable_data_c@@XZ @ 175 NONAME ; class eap_variable_data_c * eap_type_aka_authentication_vector_c::get_IK(void) const - ??0eap_type_aka_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@Veap_expanded_type_c@@KKE2@Z @ 176 NONAME ; eap_type_aka_state_notification_c::eap_type_aka_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, class eap_expanded_type_c, unsigned long, unsigned long, unsigned char, bool) - ?query_eap_identity@eap_type_aka_c@@UAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@PBVeap_am_network_id_c@@E@Z @ 177 NONAME ; enum eap_status_e eap_type_aka_c::query_eap_identity(bool, class eap_variable_data_c *, class eap_am_network_id_c const *, unsigned char) - ?get_AUTS@eap_type_aka_authentication_vector_c@@QBEPAVeap_variable_data_c@@XZ @ 178 NONAME ; class eap_variable_data_c * eap_type_aka_authentication_vector_c::get_AUTS(void) const - ?get_vector_status@eap_type_aka_authentication_vector_c@@QBE?AW4eap_status_e@@XZ @ 179 NONAME ; enum eap_status_e eap_type_aka_authentication_vector_c::get_vector_status(void) const - ?get_original_header@aka_variable_data_c@@QBEPBVaka_payload_AT_header_c@@XZ @ 180 NONAME ; class aka_payload_AT_header_c const * aka_variable_data_c::get_original_header(void) const - ?set_subtype@aka_header_c@@QAEXW4aka_subtype_e@@@Z @ 181 NONAME ; void aka_header_c::set_subtype(enum aka_subtype_e) - ?handle_aka_notification@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@W4eap_aka_notification_codes_e@@@Z @ 182 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::handle_aka_notification(enum eap_aka_notification_codes_e) - ?handle_notification_packet@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 183 NONAME ; enum eap_status_e eap_type_aka_c::handle_notification_packet(void) - ??1aka_payloads_c@@UAE@XZ @ 184 NONAME ; aka_payloads_c::~aka_payloads_c(void) - ?handle_aka_notification_request_message_reauthentication@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 185 NONAME ; enum eap_status_e eap_type_aka_c::handle_aka_notification_request_message_reauthentication(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?data_exp@eap_type_aka_c@@AAE?AW4eap_status_e@@KPAVeap_variable_data_c@@PBV3@1@Z @ 186 NONAME ; enum eap_status_e eap_type_aka_c::data_exp(unsigned long, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?query_reauth_parameters@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@00PAK@Z @ 187 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::query_reauth_parameters(class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, unsigned long *) - ?get_state_string@eap_type_aka_c@@SAPBDW4eap_type_aka_state_variable_e@@@Z @ 188 NONAME ; char const * eap_type_aka_c::get_state_string(enum eap_type_aka_state_variable_e) - ??0eap_type_aka_state_variable_parameters_c@@QAE@XZ @ 189 NONAME ; eap_type_aka_state_variable_parameters_c::eap_type_aka_state_variable_parameters_c(void) - ?get_identity_string@eap_type_aka_c@@SAPBDW4eap_type_aka_identity_type@@@Z @ 190 NONAME ; char const * eap_type_aka_c::get_identity_string(enum eap_type_aka_identity_type) - ?get_header_offset@eap_type_aka_c@@QAEKPAK0@Z @ 191 NONAME ; unsigned long eap_type_aka_c::get_header_offset(unsigned long *, unsigned long *) - ?handle_DATA_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@W4aka_subtype_e@@PAVaka_payloads_c@@@Z @ 192 NONAME ; enum eap_status_e eap_type_aka_c::handle_DATA_payload(enum aka_subtype_e, class aka_payloads_c *) - ?copy@eap_type_aka_authentication_vector_c@@QBEPAV1@XZ @ 193 NONAME ; class eap_type_aka_authentication_vector_c * eap_type_aka_authentication_vector_c::copy(void) const - ?check_one_payload@aka_payloads_c@@QAE_NW4eap_aka_payload_status_e@1@PBVaka_variable_data_c@@@Z @ 194 NONAME ; bool aka_payloads_c::check_one_payload(enum aka_payloads_c::eap_aka_payload_status_e, class aka_variable_data_c const *) - ?timer_expired@eap_type_aka_c@@UAE?AW4eap_status_e@@KPAX@Z @ 195 NONAME ; enum eap_status_e eap_type_aka_c::timer_expired(unsigned long, void *) - ?send_reauthentication_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0000GE_N@Z @ 196 NONAME ; enum eap_status_e eap_type_aka_c::send_reauthentication_response_message(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned short, unsigned char, bool) - ?get_next_header@aka_payload_AT_header_c@@QBEPAEXZ @ 197 NONAME ; unsigned char * aka_payload_AT_header_c::get_next_header(void) const - ?get_CK@eap_type_aka_authentication_vector_c@@QBEPAVeap_variable_data_c@@XZ @ 198 NONAME ; class eap_variable_data_c * eap_type_aka_authentication_vector_c::get_CK(void) const - ?get_subtype@aka_header_c@@QBE?AW4aka_subtype_e@@XZ @ 199 NONAME ; enum aka_subtype_e aka_header_c::get_subtype(void) const - ?complete_AKA_RES_L@eap_am_type_aka_symbian_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@000W42@1@Z @ 200 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::complete_AKA_RES_L(class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, enum eap_status_e, enum eap_status_e) - ??0eap_type_aka_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@W4eap_type_ietf_values_e@@KKE2@Z @ 201 NONAME ; eap_type_aka_state_notification_c::eap_type_aka_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, enum eap_type_ietf_values_e, unsigned long, unsigned long, unsigned char, bool) - ?randomly_refuse_eap_identity@eap_type_aka_c@@AAE_NXZ @ 202 NONAME ; bool eap_type_aka_c::randomly_refuse_eap_identity(void) - ?add_notification_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVaka_header_c@@KKPAK111W4eap_aka_notification_codes_e@@@Z @ 203 NONAME ; enum eap_status_e eap_type_aka_c::add_notification_payload(class aka_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum eap_aka_notification_codes_e) - ?query_SIM_imsi@eap_am_type_aka_symbian_c@@QAE?AW4eap_status_e@@PAEKPAK@Z @ 204 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::query_SIM_imsi(unsigned char *, unsigned long, unsigned long *) - ?complete_AKA_RES_query@eap_type_aka_c@@UAE?AW4eap_status_e@@PBVeap_type_aka_authentication_vector_c@@W42@@Z @ 205 NONAME ; enum eap_status_e eap_type_aka_c::complete_AKA_RES_query(class eap_type_aka_authentication_vector_c const *, enum eap_status_e) - ?shutdown@eap_type_aka_c@@UAE?AW4eap_status_e@@XZ @ 206 NONAME ; enum eap_status_e eap_type_aka_c::shutdown(void) - ?handle_imsi_from_username@eap_type_aka_c@@QAE?AW4eap_status_e@@EPBVeap_am_network_id_c@@PBVeap_variable_data_c@@1W4eap_type_aka_identity_type@@@Z @ 207 NONAME ; enum eap_status_e eap_type_aka_c::handle_imsi_from_username(unsigned char, class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_type_aka_identity_type) - ?query_imsi_from_username@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@EPBVeap_am_network_id_c@@PBVeap_variable_data_c@@PAV4@PAW4eap_type_aka_identity_type@@W4eap_type_aka_complete_e@@@Z @ 208 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::query_imsi_from_username(unsigned char, class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, enum eap_type_aka_identity_type *, enum eap_type_aka_complete_e) - ?get_payload_length@aka_payload_AT_header_c@@QBEGXZ @ 209 NONAME ; unsigned short aka_payload_AT_header_c::get_payload_length(void) const - ?generate_nai@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@_NPBV3@2122K@Z @ 210 NONAME ; enum eap_status_e eap_type_aka_c::generate_nai(class eap_variable_data_c *, bool, class eap_variable_data_c const *, class eap_variable_data_c const *, bool, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long) - ??1aka_fixed_data_c@@UAE@XZ @ 211 NONAME ; aka_fixed_data_c::~aka_fixed_data_c(void) - ?process_AKA_kc_sres@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_type_aka_authentication_vector_c@@@Z @ 212 NONAME ; enum eap_status_e eap_type_aka_c::process_AKA_kc_sres(class eap_type_aka_authentication_vector_c const *) - ?get_payload_AT_string@aka_payload_AT_header_c@@SAPBDW4aka_payload_AT_type_e@@@Z @ 213 NONAME ; char const * aka_payload_AT_header_c::get_payload_AT_string(enum aka_payload_AT_type_e) - ?set_current_payload@aka_payload_AT_header_c@@QAEXW4aka_payload_AT_type_e@@@Z @ 214 NONAME ; void aka_payload_AT_header_c::set_current_payload(enum aka_payload_AT_type_e) - ?send_final_notification@eap_type_aka_c@@AAE?AW4eap_status_e@@XZ @ 215 NONAME ; enum eap_status_e eap_type_aka_c::send_final_notification(void) - ?checkcode_final@eap_type_aka_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 216 NONAME ; enum eap_status_e eap_type_aka_c::checkcode_final(class eap_variable_data_c *) - ?check_header@aka_payload_AT_header_c@@UBE?AW4eap_status_e@@XZ @ 217 NONAME ; enum eap_status_e aka_payload_AT_header_c::check_header(void) const - ?set_buffer@aka_variable_data_c@@QAE?AW4eap_status_e@@PBVaka_payload_AT_header_c@@PAEK_N2@Z @ 218 NONAME ; enum eap_status_e aka_variable_data_c::set_buffer(class aka_payload_AT_header_c const *, unsigned char *, unsigned long, bool, bool) - ?handle_notification_response_message_full_authentication@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 219 NONAME ; enum eap_status_e eap_type_aka_c::handle_notification_response_message_full_authentication(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?handle_aka_notification_request_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 220 NONAME ; enum eap_status_e eap_type_aka_c::handle_aka_notification_request_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ??1eap_type_aka_c@@UAE@XZ @ 221 NONAME ; eap_type_aka_c::~eap_type_aka_c(void) - ?handle_challenge_response_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 222 NONAME ; enum eap_status_e eap_type_aka_c::handle_challenge_response_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?state_notification@eap_type_aka_c@@QAEXPBVabs_eap_state_notification_c@@@Z @ 223 NONAME ; void eap_type_aka_c::state_notification(class abs_eap_state_notification_c const *) - ??0aka_payloads_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 224 NONAME ; aka_payloads_c::aka_payloads_c(class abs_eap_am_tools_c *) - ?get_data@aka_fixed_data_c@@QBEGPAVabs_eap_am_tools_c@@@Z @ 225 NONAME ; unsigned short aka_fixed_data_c::get_data(class abs_eap_am_tools_c *) const - ?query_AKA_authentication_vector@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@EPAV3@PAVeap_type_aka_authentication_vector_c@@PAW4eap_type_aka_identity_type@@@Z @ 226 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::query_AKA_authentication_vector(class eap_variable_data_c const *, unsigned char, class eap_variable_data_c *, class eap_type_aka_authentication_vector_c *, enum eap_type_aka_identity_type *) - ??1eap_am_type_aka_symbian_c@@UAE@XZ @ 227 NONAME ; eap_am_type_aka_symbian_c::~eap_am_type_aka_symbian_c(void) - ?get_is_valid@aka_payloads_c@@QBE_NXZ @ 228 NONAME ; bool aka_payloads_c::get_is_valid(void) const - ?parse_identity@eap_type_aka_c@@AAE?AW4eap_status_e@@PBEK@Z @ 229 NONAME ; enum eap_status_e eap_type_aka_c::parse_identity(unsigned char const *, unsigned long) - ?initialize_error_message@eap_type_aka_c@@AAE?AW4eap_status_e@@W42@@Z @ 230 NONAME ; enum eap_status_e eap_type_aka_c::initialize_error_message(enum eap_status_e) - ?generate_pseudonym_id@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@PAV4@K@Z @ 231 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::generate_pseudonym_id(class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long) - ?get_current_payload@aka_payload_AT_header_c@@QBE?AW4aka_payload_AT_type_e@@XZ @ 232 NONAME ; enum aka_payload_AT_type_e aka_payload_AT_header_c::get_current_payload(void) const - ?handle_challenge_request_message@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVaka_header_c@@KPAVaka_payloads_c@@@Z @ 233 NONAME ; enum eap_status_e eap_type_aka_c::handle_challenge_request_message(class eap_am_network_id_c const *, class aka_header_c *, unsigned long, class aka_payloads_c *) - ?generate_nonce@eap_type_aka_c@@AAE?AW4eap_status_e@@KPAVeap_variable_data_c@@@Z @ 234 NONAME ; enum eap_status_e eap_type_aka_c::generate_nonce(unsigned long, class eap_variable_data_c *) - ?encrypt_DATA_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PAEKPBVeap_variable_data_c@@1@Z @ 235 NONAME ; enum eap_status_e eap_type_aka_c::encrypt_DATA_payload(unsigned char *, unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?process_re_syncronization@eap_type_aka_c@@AAE?AW4eap_status_e@@EPBVeap_type_aka_authentication_vector_c@@@Z @ 236 NONAME ; enum eap_status_e eap_type_aka_c::process_re_syncronization(unsigned char, class eap_type_aka_authentication_vector_c const *) - ?packet_send@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 237 NONAME ; enum eap_status_e eap_type_aka_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ?query_re_syncronization@eap_am_type_aka_symbian_c@@UAE?AW4eap_status_e@@EPAVeap_type_aka_authentication_vector_c@@@Z @ 238 NONAME ; enum eap_status_e eap_am_type_aka_symbian_c::query_re_syncronization(unsigned char, class eap_type_aka_authentication_vector_c *) - ?write_configure@eap_type_aka_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 239 NONAME ; enum eap_status_e eap_type_aka_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?packet_process@eap_type_aka_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 240 NONAME ; enum eap_status_e eap_type_aka_c::packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) - ?is_session_valid@eap_am_type_aka_symbian_c@@QAE_NXZ @ 241 NONAME ; bool eap_am_type_aka_symbian_c::is_session_valid(void) - ?parse_aka_payload@eap_type_aka_c@@AAE?AW4eap_status_e@@PBVaka_payload_AT_header_c@@PAKPAVaka_payloads_c@@W4aka_subtype_e@@@Z @ 242 NONAME ; enum eap_status_e eap_type_aka_c::parse_aka_payload(class aka_payload_AT_header_c const *, unsigned long *, class aka_payloads_c *, enum aka_subtype_e) - ?packet_trace@eap_type_aka_c@@AAEXPBDPBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 243 NONAME ; void eap_type_aka_c::packet_trace(char const *, class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/eapclientifu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapclientifu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -EXPORTS - ?Close@REapSession@@QAEXXZ @ 1 NONAME ; void REapSession::Close(void) - ?get_is_valid@REapSession@@QAE_NXZ @ 2 NONAME ; bool REapSession::get_is_valid(void) - ??1REapSession@@UAE@XZ @ 3 NONAME ; REapSession::~REapSession(void) - ?ConnectL@REapSession@@QAEXPAVabs_eap_am_tools_c@@PAVMSendPacketHandler@@V?$TBuf@$0BI@@@2PBXHW4TEapRequests@@@Z @ 4 NONAME ; void REapSession::ConnectL(class abs_eap_am_tools_c *, class MSendPacketHandler *, class TBuf<24>, class TBuf<24>, void const *, int, enum TEapRequests) - ??1EapClientIf@@UAE@XZ @ 5 NONAME ; EapClientIf::~EapClientIf(void) - ?process_data@REapSession@@QAE?AW4eap_status_e@@W4TEapRequests@@PBXK@Z @ 6 NONAME ; enum eap_status_e REapSession::process_data(enum TEapRequests, void const *, unsigned long) - ??0EapClientIf@@QAE@XZ @ 7 NONAME ; EapClientIf::EapClientIf(void) - ?GetServerNameAndExe@EapClientIf@@KAHPAV?$TBuf@$0BI@@@0@Z @ 8 NONAME ; int EapClientIf::GetServerNameAndExe(class TBuf<24> *, class TBuf<24> *) - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/eapcoreinterfaceimplementationu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapcoreinterfaceimplementationu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -EXPORTS - ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) - ??1EapClientIf@@UAE@XZ @ 2 NONAME ; EapClientIf::~EapClientIf(void) - ?GetServerNameAndExe@EapClientIf@@KAHPAV?$TBuf@$0BI@@@0@Z @ 3 NONAME ; int EapClientIf::GetServerNameAndExe(class TBuf<24> *, class TBuf<24> *) - ??0EapClientIf@@QAE@XZ @ 4 NONAME ; EapClientIf::EapClientIf(void) - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/eapcoreinterfaceu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapcoreinterfaceu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -EXPORTS - ?process_data@CEapCoreInterface@@UAE?AW4eap_status_e@@PBXK@Z @ 1 NONAME ; enum eap_status_e CEapCoreInterface::process_data(void const *, unsigned long) - ?set_partner@CEapCoreInterface@@UAEXPAVabs_eap_am_message_if_c@@@Z @ 2 NONAME ; void CEapCoreInterface::set_partner(class abs_eap_am_message_if_c *) - ?configure@CEapCoreInterface@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 3 NONAME ; enum eap_status_e CEapCoreInterface::configure(class eap_variable_data_c const *) - ?shutdown@CEapCoreInterface@@UAE?AW4eap_status_e@@XZ @ 4 NONAME ; enum eap_status_e CEapCoreInterface::shutdown(void) - ?new_eap_am_client_message_if_c@@YAPAVeap_am_message_if_c@@PAVabs_eap_am_tools_c@@_NK@Z @ 5 NONAME ; class eap_am_message_if_c * new_eap_am_client_message_if_c(class abs_eap_am_tools_c *, bool, unsigned long) - ?get_is_valid@CEapCoreInterface@@UAE_NXZ @ 6 NONAME ; bool CEapCoreInterface::get_is_valid(void) - ?SendData@CEapCoreInterface@@UAEHPBXH@Z @ 7 NONAME ; int CEapCoreInterface::SendData(void const *, int) - ?ConstrucL@CEapCoreInterface@@QAEPAVCEapProcessInterface@@PAVabs_eap_am_tools_c@@@Z @ 8 NONAME ; class CEapProcessInterface * CEapCoreInterface::ConstrucL(class abs_eap_am_tools_c *) - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/eapgeneralsettingsu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapgeneralsettingsu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -EXPORTS - ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) - ?copy_all_eap_settings@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 2 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::copy_all_eap_settings(class eap_method_settings_c const *) - ??1eap_general_settings_message_c@@UAE@XZ @ 3 NONAME ; eap_general_settings_message_c::~eap_general_settings_message_c(void) - ??1eap_general_settings_client_message_if_c@@UAE@XZ @ 4 NONAME ; eap_general_settings_client_message_if_c::~eap_general_settings_client_message_if_c(void) - ??0eap_general_settings_message_c@@QAE@XZ @ 5 NONAME ; eap_general_settings_message_c::eap_general_settings_message_c(void) - ?shutdown@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@XZ @ 6 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::shutdown(void) - ?set_partner@eap_am_message_if_symbian_c@@UAEXPAVabs_eap_am_message_if_c@@@Z @ 7 NONAME ; void eap_am_message_if_symbian_c::set_partner(class abs_eap_am_message_if_c *) - ?process_message@eap_general_settings_client_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 8 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::process_message(class eap_process_tlv_message_data_c *) - ?delete_all_eap_settings@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 9 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::delete_all_eap_settings(class eap_method_settings_c const *) - ?configure@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 10 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::configure(void) - ?configure@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 11 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::configure(class eap_variable_data_c const *) - ?process_data@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@PBXK@Z @ 12 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::process_data(void const *, unsigned long) - ?get_is_valid@eap_am_message_if_symbian_c@@UAE_NXZ @ 13 NONAME ; bool eap_am_message_if_symbian_c::get_is_valid(void) - ?send_data@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@ABVTDesC8@@@Z @ 14 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::send_data(class TDesC8 const &) - ?send_data@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@PBXK@Z @ 15 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::send_data(void const *, unsigned long) - ??0EapClientIf@@QAE@XZ @ 16 NONAME ; EapClientIf::EapClientIf(void) - ??1eap_am_message_if_symbian_c@@UAE@XZ @ 17 NONAME ; eap_am_message_if_symbian_c::~eap_am_message_if_symbian_c(void) - ?get_certificate_lists@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 18 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::get_certificate_lists(class eap_method_settings_c const *) - ?get_is_valid@eap_general_settings_client_message_if_c@@UAE_NXZ @ 19 NONAME ; bool eap_general_settings_client_message_if_c::get_is_valid(void) - ?get_eap_methods@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 20 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::get_eap_methods(class eap_method_settings_c const *) - ??0eap_am_message_if_symbian_c@@QAE@PAVabs_eap_am_tools_c@@W4TEapRequests@@@Z @ 21 NONAME ; eap_am_message_if_symbian_c::eap_am_message_if_symbian_c(class abs_eap_am_tools_c *, enum TEapRequests) - ?shutdown@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 22 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::shutdown(void) - ?reset@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 23 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::reset(void) - ??1EapClientIf@@UAE@XZ @ 24 NONAME ; EapClientIf::~EapClientIf(void) - ?set_eap_methods@eap_general_settings_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 25 NONAME ; enum eap_status_e eap_general_settings_client_message_if_c::set_eap_methods(class eap_method_settings_c const *) - ??0eap_general_settings_client_message_if_c@@QAE@PAVabs_eap_am_tools_c@@PAVeap_am_message_if_c@@PAVabs_eap_general_settings_message_c@@@Z @ 26 NONAME ; eap_general_settings_client_message_if_c::eap_general_settings_client_message_if_c(class abs_eap_am_tools_c *, class eap_am_message_if_c *, class abs_eap_general_settings_message_c *) - ?GetServerNameAndExe@EapClientIf@@KAHPAV?$TBuf@$0BI@@@0@Z @ 27 NONAME ; int EapClientIf::GetServerNameAndExe(class TBuf<24> *, class TBuf<24> *) - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/eapgenericu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapgenericu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +0,0 @@ -EXPORTS - ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) - ?get_state_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_state_e@@@Z @ 2 NONAME ; char const * eap_simple_config_trace_string_c::get_state_string(enum simple_config_state_e) const - ?reset@simple_config_message_c@@QAE?AW4eap_status_e@@XZ @ 3 NONAME ; enum eap_status_e simple_config_message_c::reset(void) - ?configure@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 4 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::configure(void) - ?add_payloads_to_simple_config_authenticator@simple_config_payloads_c@@QBE?AW4eap_status_e@@PAVcrypto_hmac_c@@_N@Z @ 5 NONAME ; enum eap_status_e simple_config_payloads_c::add_payloads_to_simple_config_authenticator(class crypto_hmac_c *, bool) const - ?set_simple_config_message_data@simple_config_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 6 NONAME ; enum eap_status_e simple_config_message_c::set_simple_config_message_data(class eap_variable_data_c *, unsigned char) - ?reset@simple_config_payloads_c@@QAE?AW4eap_status_e@@XZ @ 7 NONAME ; enum eap_status_e simple_config_payloads_c::reset(void) - ?process_data@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@PBXK@Z @ 8 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::process_data(void const *, unsigned long) - ?get_is_valid@eap_am_message_if_symbian_c@@UAE_NXZ @ 9 NONAME ; bool eap_am_message_if_symbian_c::get_is_valid(void) - ?copy_attribute_data@simple_config_payloads_c@@QAE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@_NPBXK@Z @ 10 NONAME ; enum eap_status_e simple_config_payloads_c::copy_attribute_data(enum simple_config_Attribute_Type_e, bool, void const *, unsigned long) - ??0eap_plugin_client_message_if_c@@QAE@PAVabs_eap_am_tools_c@@PAVeap_am_message_if_c@@PAVabs_eap_plugin_message_c@@@Z @ 11 NONAME ; eap_plugin_client_message_if_c::eap_plugin_client_message_if_c(class abs_eap_am_tools_c *, class eap_am_message_if_c *, class abs_eap_plugin_message_c *) - ?get_MAC_address_const@simple_config_credential_c@@QBEPBVeap_variable_data_c@@XZ @ 12 NONAME ; class eap_variable_data_c const * simple_config_credential_c::get_MAC_address_const(void) const - ?get_data@simple_config_variable_data_c@@QBEPAEK@Z @ 13 NONAME ; unsigned char * simple_config_variable_data_c::get_data(unsigned long) const - ?get_attribute_pointer@simple_config_payloads_c@@QBEPAVsimple_config_variable_data_c@@W4simple_config_Attribute_Type_e@@@Z @ 14 NONAME ; class simple_config_variable_data_c * simple_config_payloads_c::get_attribute_pointer(enum simple_config_Attribute_Type_e) const - ?create_simple_config_message@simple_config_payloads_c@@QBE?AW4eap_status_e@@PAVsimple_config_message_c@@_N@Z @ 15 NONAME ; enum eap_status_e simple_config_payloads_c::create_simple_config_message(class simple_config_message_c *, bool) const - ?send_data@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@ABVTDesC8@@@Z @ 16 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::send_data(class TDesC8 const &) - ?reset@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 17 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::reset(void) - ??1eap_plugin_message_base_c@@UAE@XZ @ 18 NONAME ; eap_plugin_message_base_c::~eap_plugin_message_base_c(void) - ?object_increase_reference_count@simple_config_variable_data_c@@QAEXXZ @ 19 NONAME ; void simple_config_variable_data_c::object_increase_reference_count(void) - ??1eap_am_message_if_symbian_c@@UAE@XZ @ 20 NONAME ; eap_am_message_if_symbian_c::~eap_am_message_if_symbian_c(void) - ?add_attribute@simple_config_payloads_c@@QAE?AW4eap_status_e@@PAVsimple_config_variable_data_c@@@Z @ 21 NONAME ; enum eap_status_e simple_config_payloads_c::add_attribute(class simple_config_variable_data_c *) - ?get_next_payload_with_same_attribute_type@simple_config_variable_data_c@@QAEPAV1@XZ @ 22 NONAME ; class simple_config_variable_data_c * simple_config_variable_data_c::get_next_payload_with_same_attribute_type(void) - ?get_type_info@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 23 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::get_type_info(class eap_method_settings_c const *) - ?get_is_valid@simple_config_payloads_c@@QBE_NXZ @ 24 NONAME ; bool simple_config_payloads_c::get_is_valid(void) const - ??1simple_config_message_c@@UAE@XZ @ 25 NONAME ; simple_config_message_c::~simple_config_message_c(void) - ?process_message@eap_plugin_client_message_if_c@@QAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 26 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::process_message(class eap_process_tlv_message_data_c *) - ?parse_simple_config_payloads@simple_config_payloads_c@@QAE?AW4eap_status_e@@PAXPAK1@Z @ 27 NONAME ; enum eap_status_e simple_config_payloads_c::parse_simple_config_payloads(void *, unsigned long *, unsigned long *) - ?get_is_valid@simple_config_variable_data_c@@QBE_NXZ @ 28 NONAME ; bool simple_config_variable_data_c::get_is_valid(void) const - ?set_attribute_type@simple_config_variable_data_c@@QAEXW4simple_config_Attribute_Type_e@@@Z @ 29 NONAME ; void simple_config_variable_data_c::set_attribute_type(enum simple_config_Attribute_Type_e) - ??1EapClientIf@@UAE@XZ @ 30 NONAME ; EapClientIf::~EapClientIf(void) - ?delete_configuration@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 31 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::delete_configuration(class eap_method_settings_c const *) - ?GetServerNameAndExe@EapClientIf@@KAHPAV?$TBuf@$0BI@@@0@Z @ 32 NONAME ; int EapClientIf::GetServerNameAndExe(class TBuf<24> *, class TBuf<24> *) - ?new_eap_plugin_client_message_if_c@eap_plugin_message_base_c@@SAPAV1@PAVabs_eap_am_tools_c@@PAVabs_eap_plugin_message_c@@@Z @ 33 NONAME ; class eap_plugin_message_base_c * eap_plugin_message_base_c::new_eap_plugin_client_message_if_c(class abs_eap_am_tools_c *, class abs_eap_plugin_message_c *) - ?get_network_key_const@network_key_and_index_c@@QBEPBVeap_variable_data_c@@XZ @ 34 NONAME ; class eap_variable_data_c const * network_key_and_index_c::get_network_key_const(void) const - ?add_padding@simple_config_message_c@@QAE?AW4eap_status_e@@K@Z @ 35 NONAME ; enum eap_status_e simple_config_message_c::add_padding(unsigned long) - ?verify_padding@simple_config_payloads_c@@AAE?AW4eap_status_e@@PBEK@Z @ 36 NONAME ; enum eap_status_e simple_config_payloads_c::verify_padding(unsigned char const *, unsigned long) - ?shutdown@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@XZ @ 37 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::shutdown(void) - ?get_is_valid_data@network_key_and_index_c@@QAE_NXZ @ 38 NONAME ; bool network_key_and_index_c::get_is_valid_data(void) - ?get_MAC_address@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 39 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_MAC_address(void) - ?parse_generic_payload@simple_config_payloads_c@@QAE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PBVsimple_config_tlv_header_c@@@Z @ 40 NONAME ; enum eap_status_e simple_config_payloads_c::parse_generic_payload(enum simple_config_Attribute_Type_e, class simple_config_tlv_header_c const *) - ?configure@eap_am_message_if_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 41 NONAME ; enum eap_status_e eap_am_message_if_symbian_c::configure(class eap_variable_data_c const *) - ?get_header@simple_config_variable_data_c@@QAEPAVsimple_config_tlv_header_c@@XZ @ 42 NONAME ; class simple_config_tlv_header_c * simple_config_variable_data_c::get_header(void) - ?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAE@Z @ 43 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned char *) const - ?get_attribute_count@simple_config_payloads_c@@QBEKXZ @ 44 NONAME ; unsigned long simple_config_payloads_c::get_attribute_count(void) const - ?get_network_index@simple_config_credential_c@@QBEEXZ @ 45 NONAME ; unsigned char simple_config_credential_c::get_network_index(void) const - ?get_configuration@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 46 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::get_configuration(class eap_method_settings_c const *) - ?add_next_payload_with_same_attribute_type@simple_config_variable_data_c@@QAEXPAV1@@Z @ 47 NONAME ; void simple_config_variable_data_c::add_next_payload_with_same_attribute_type(class simple_config_variable_data_c *) - ?set_network_key_index@network_key_and_index_c@@QAEXE@Z @ 48 NONAME ; void network_key_and_index_c::set_network_key_index(unsigned char) - ?get_data_length@simple_config_variable_data_c@@QBEKXZ @ 49 NONAME ; unsigned long simple_config_variable_data_c::get_data_length(void) const - ?get_attribute_type@simple_config_variable_data_c@@QBE?AW4simple_config_Attribute_Type_e@@XZ @ 50 NONAME ; enum simple_config_Attribute_Type_e simple_config_variable_data_c::get_attribute_type(void) const - ?get_Authentication_Type@simple_config_credential_c@@QAE?AW4simple_config_Authentication_Type_e@@XZ @ 51 NONAME ; enum simple_config_Authentication_Type_e simple_config_credential_c::get_Authentication_Type(void) - ??1simple_config_credential_c@@UAE@XZ @ 52 NONAME ; simple_config_credential_c::~simple_config_credential_c(void) - ??0EapClientIf@@QAE@XZ @ 53 NONAME ; EapClientIf::EapClientIf(void) - ??1simple_config_variable_data_c@@UAE@XZ @ 54 NONAME ; simple_config_variable_data_c::~simple_config_variable_data_c(void) - ??1network_key_and_index_c@@UAE@XZ @ 55 NONAME ; network_key_and_index_c::~network_key_and_index_c(void) - ?copy@simple_config_payloads_c@@QBEPAV1@XZ @ 56 NONAME ; class simple_config_payloads_c * simple_config_payloads_c::copy(void) const - ??0eap_plugin_message_base_c@@QAE@XZ @ 57 NONAME ; eap_plugin_message_base_c::eap_plugin_message_base_c(void) - ?copy_attribute@simple_config_payloads_c@@QAE?AW4eap_status_e@@PBV1@W4simple_config_Attribute_Type_e@@@Z @ 58 NONAME ; enum eap_status_e simple_config_payloads_c::copy_attribute(class simple_config_payloads_c const *, enum simple_config_Attribute_Type_e) - ??0eap_am_message_if_symbian_c@@QAE@PAVabs_eap_am_tools_c@@W4TEapRequests@@@Z @ 59 NONAME ; eap_am_message_if_symbian_c::eap_am_message_if_symbian_c(class abs_eap_am_tools_c *, enum TEapRequests) - ?get_network_keys@simple_config_credential_c@@QAEPAV?$eap_array_c@Vnetwork_key_and_index_c@@@@XZ @ 60 NONAME ; class eap_array_c * simple_config_credential_c::get_network_keys(void) - ??1eap_simple_config_trace_string_c@@UAE@XZ @ 61 NONAME ; eap_simple_config_trace_string_c::~eap_simple_config_trace_string_c(void) - ?get_attribute_pointer@simple_config_payloads_c@@QBEPAVsimple_config_variable_data_c@@W4simple_config_Attribute_Type_e@@K@Z @ 62 NONAME ; class simple_config_variable_data_c * simple_config_payloads_c::get_attribute_pointer(enum simple_config_Attribute_Type_e, unsigned long) const - ?get_is_valid@simple_config_credential_c@@QAE_NXZ @ 63 NONAME ; bool simple_config_credential_c::get_is_valid(void) - ??1eap_plugin_client_message_if_c@@UAE@XZ @ 64 NONAME ; eap_plugin_client_message_if_c::~eap_plugin_client_message_if_c(void) - ?check_mandatory_payloads@simple_config_payloads_c@@QBE?AW4eap_status_e@@PBV?$eap_array_c@W4simple_config_Attribute_Type_e@@@@@Z @ 65 NONAME ; enum eap_status_e simple_config_payloads_c::check_mandatory_payloads(class eap_array_c const *) const - ?set_partner@eap_am_message_if_symbian_c@@UAEXPAVabs_eap_am_message_if_c@@@Z @ 66 NONAME ; void eap_am_message_if_symbian_c::set_partner(class abs_eap_am_message_if_c *) - ?set_copy_of_buffer@simple_config_variable_data_c@@QAE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@_NPBXK@Z @ 67 NONAME ; enum eap_status_e simple_config_variable_data_c::set_copy_of_buffer(enum simple_config_Attribute_Type_e, bool, void const *, unsigned long) - ?get_network_keys_const@simple_config_credential_c@@QBEPBV?$eap_array_c@Vnetwork_key_and_index_c@@@@XZ @ 68 NONAME ; class eap_array_c const * simple_config_credential_c::get_network_keys_const(void) const - ?set_network_index@simple_config_credential_c@@QAEXE@Z @ 69 NONAME ; void simple_config_credential_c::set_network_index(unsigned char) - ?send_data@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBXK@Z @ 70 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::send_data(void const *, unsigned long) - ?get_network_key@network_key_and_index_c@@QAEPAVeap_variable_data_c@@XZ @ 71 NONAME ; class eap_variable_data_c * network_key_and_index_c::get_network_key(void) - ?get_simple_config_message_data@simple_config_message_c@@QAEPAVeap_variable_data_c@@XZ @ 72 NONAME ; class eap_variable_data_c * simple_config_message_c::get_simple_config_message_data(void) - ?get_attribute_data@simple_config_payloads_c@@ABE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAXK@Z @ 73 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, void *, unsigned long) const - ?check_payloads_existense@simple_config_payloads_c@@QBE?AW4eap_status_e@@PBW4simple_config_Attribute_Type_e@@K@Z @ 74 NONAME ; enum eap_status_e simple_config_payloads_c::check_payloads_existense(enum simple_config_Attribute_Type_e const *, unsigned long) const - ?get_Encryption_Type@simple_config_credential_c@@QAE?AW4simple_config_Encryption_Type_e@@XZ @ 75 NONAME ; enum simple_config_Encryption_Type_e simple_config_credential_c::get_Encryption_Type(void) - ?get_SSID_const@simple_config_credential_c@@QBEPBVeap_variable_data_c@@XZ @ 76 NONAME ; class eap_variable_data_c const * simple_config_credential_c::get_SSID_const(void) const - ?get_attribute@simple_config_payloads_c@@QBEPAVsimple_config_variable_data_c@@K@Z @ 77 NONAME ; class simple_config_variable_data_c * simple_config_payloads_c::get_attribute(unsigned long) const - ?get_is_mandatory@simple_config_variable_data_c@@QBE_NXZ @ 78 NONAME ; bool simple_config_variable_data_c::get_is_mandatory(void) const - ?set_configuration@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 79 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::set_configuration(class eap_method_settings_c const *) - ?check_payloads_existense@simple_config_payloads_c@@QBE?AW4eap_status_e@@PBV?$eap_array_c@W4simple_config_Attribute_Type_e@@@@@Z @ 80 NONAME ; enum eap_status_e simple_config_payloads_c::check_payloads_existense(class eap_array_c const *) const - ??1simple_config_payloads_c@@UAE@XZ @ 81 NONAME ; simple_config_payloads_c::~simple_config_payloads_c(void) - ?shutdown@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 82 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::shutdown(void) - ??0simple_config_message_c@@QAE@PAVabs_eap_am_tools_c@@_N@Z @ 83 NONAME ; simple_config_message_c::simple_config_message_c(class abs_eap_am_tools_c *, bool) - ?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAVeap_variable_data_c@@@Z @ 84 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, class eap_variable_data_c *) const - ?get_SSID@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 85 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_SSID(void) - ??0simple_config_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 86 NONAME ; simple_config_variable_data_c::simple_config_variable_data_c(class abs_eap_am_tools_c *) - ?get_network_key_index@network_key_and_index_c@@QBEEXZ @ 87 NONAME ; unsigned char network_key_and_index_c::get_network_key_index(void) const - ?set_Encryption_Type@simple_config_credential_c@@QAEXW4simple_config_Encryption_Type_e@@@Z @ 88 NONAME ; void simple_config_credential_c::set_Encryption_Type(enum simple_config_Encryption_Type_e) - ?get_message_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Message_Type_e@@@Z @ 89 NONAME ; char const * eap_simple_config_trace_string_c::get_message_type_string(enum simple_config_Message_Type_e) const - ?add_data@simple_config_variable_data_c@@QAE?AW4eap_status_e@@PBXK@Z @ 90 NONAME ; enum eap_status_e simple_config_variable_data_c::add_data(void const *, unsigned long) - ?set_index@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 91 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::set_index(class eap_method_settings_c const *) - ?set_Authentication_Type@simple_config_credential_c@@QAEXW4simple_config_Authentication_Type_e@@@Z @ 92 NONAME ; void simple_config_credential_c::set_Authentication_Type(enum simple_config_Authentication_Type_e) - ?set_next_payload_with_same_attribute_type@simple_config_variable_data_c@@QAEXPAV1@@Z @ 93 NONAME ; void simple_config_variable_data_c::set_next_payload_with_same_attribute_type(class simple_config_variable_data_c *) - ?get_is_valid@simple_config_message_c@@QAE_NXZ @ 94 NONAME ; bool simple_config_message_c::get_is_valid(void) - ?get_full_attribute_buffer@simple_config_variable_data_c@@QAEPAVeap_variable_data_c@@XZ @ 95 NONAME ; class eap_variable_data_c * simple_config_variable_data_c::get_full_attribute_buffer(void) - ?copy_configuration@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 96 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::copy_configuration(class eap_method_settings_c const *) - ?get_attribute_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Attribute_Type_e@@@Z @ 97 NONAME ; char const * eap_simple_config_trace_string_c::get_attribute_type_string(enum simple_config_Attribute_Type_e) const - ?copy@simple_config_variable_data_c@@QBEPAV1@XZ @ 98 NONAME ; class simple_config_variable_data_c * simple_config_variable_data_c::copy(void) const - ?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAG@Z @ 99 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned short *) const - ?invoke_ui@eap_plugin_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 100 NONAME ; enum eap_status_e eap_plugin_client_message_if_c::invoke_ui(class eap_method_settings_c const *) - ?get_is_valid@eap_plugin_client_message_if_c@@UAE_NXZ @ 101 NONAME ; bool eap_plugin_client_message_if_c::get_is_valid(void) - ??0network_key_and_index_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 102 NONAME ; network_key_and_index_c::network_key_and_index_c(class abs_eap_am_tools_c *) - ??0simple_config_payloads_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 103 NONAME ; simple_config_payloads_c::simple_config_payloads_c(class abs_eap_am_tools_c *) - ?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PA_K@Z @ 104 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned long long *) const - ?get_is_valid@network_key_and_index_c@@QAE_NXZ @ 105 NONAME ; bool network_key_and_index_c::get_is_valid(void) - ??0eap_simple_config_trace_string_c@@QAE@XZ @ 106 NONAME ; eap_simple_config_trace_string_c::eap_simple_config_trace_string_c(void) - ?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAK@Z @ 107 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned long *) const - ?copy@network_key_and_index_c@@QAEPAV1@XZ @ 108 NONAME ; class network_key_and_index_c * network_key_and_index_c::copy(void) - ??0simple_config_credential_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 109 NONAME ; simple_config_credential_c::simple_config_credential_c(class abs_eap_am_tools_c *) - ?get_header_length@simple_config_tlv_header_c@@SAKXZ @ 110 NONAME ; unsigned long simple_config_tlv_header_c::get_header_length(void) - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/eapmschapv2u.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapmschapv2u.def Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapmschapv2u.def Wed Sep 01 12:23:57 2010 +0100 @@ -1,80 +1,3 @@ EXPORTS ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) - ?set_value_size@mschapv2_challenge_c@@QAEXXZ @ 2 NONAME ; void mschapv2_challenge_c::set_value_size(void) - ?get_opcode@mschapv2_header_c@@QBE?AW4mschapv2_opcode_e@@XZ @ 3 NONAME ; enum mschapv2_opcode_e mschapv2_header_c::get_opcode(void) const - ?get_name_length@mschapv2_response_c@@QBEKXZ @ 4 NONAME ; unsigned long mschapv2_response_c::get_name_length(void) const - ?get_name@mschapv2_challenge_c@@QBEPBEXZ @ 5 NONAME ; unsigned char const * mschapv2_challenge_c::get_name(void) const - ?update_username_password@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@XZ @ 6 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::update_username_password(void) - ?get_memory_store_key@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 7 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::get_memory_store_key(class eap_variable_data_c *) - ??0mschapv2_change_password_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 8 NONAME ; mschapv2_change_password_c::mschapv2_change_password_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?set_nt_response@mschapv2_response_c@@QAEXPBE@Z @ 9 NONAME ; void mschapv2_response_c::set_nt_response(unsigned char const *) - ?configure@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@XZ @ 10 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::configure(void) - ?get_header_minimum_size@mschapv2_response_c@@SAKXZ @ 11 NONAME ; unsigned long mschapv2_response_c::get_header_minimum_size(void) - ?get_nt_response@mschapv2_response_c@@QBEPBEXZ @ 12 NONAME ; unsigned char const * mschapv2_response_c::get_nt_response(void) const - ?get_is_valid@eap_am_type_mschapv2_symbian_c@@QAE_NXZ @ 13 NONAME ; bool eap_am_type_mschapv2_symbian_c::get_is_valid(void) - ?get_nt_response@mschapv2_change_password_c@@QBEPBEXZ @ 14 NONAME ; unsigned char const * mschapv2_change_password_c::get_nt_response(void) const - ??1mschapv2_response_c@@UAE@XZ @ 15 NONAME ; mschapv2_response_c::~mschapv2_response_c(void) - ??1eap_type_mschapv2_state_c@@UAE@XZ @ 16 NONAME ; eap_type_mschapv2_state_c::~eap_type_mschapv2_state_c(void) - ?reset@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@XZ @ 17 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::reset(void) - ?set_peer_challenge@mschapv2_change_password_c@@QAEXPBE@Z @ 18 NONAME ; void mschapv2_change_password_c::set_peer_challenge(unsigned char const *) - ?set_is_valid@eap_am_type_mschapv2_symbian_c@@QAEXXZ @ 19 NONAME ; void eap_am_type_mschapv2_symbian_c::set_is_valid(void) - ?packet_process@eap_type_mschapv2_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 20 NONAME ; enum eap_status_e eap_type_mschapv2_c::packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) - ?set_challenge@mschapv2_challenge_c@@QAEXPBE@Z @ 21 NONAME ; void mschapv2_challenge_c::set_challenge(unsigned char const *) - ?set_name@mschapv2_challenge_c@@QAEXPBE@Z @ 22 NONAME ; void mschapv2_challenge_c::set_name(unsigned char const *) - ?get_challenge@mschapv2_challenge_c@@QBEPBEXZ @ 23 NONAME ; unsigned char const * mschapv2_challenge_c::get_challenge(void) const - ?set_peer_challenge@mschapv2_response_c@@QAEXPBE@Z @ 24 NONAME ; void mschapv2_response_c::set_peer_challenge(unsigned char const *) - ?get_peer_challenge@mschapv2_response_c@@QBEPBEXZ @ 25 NONAME ; unsigned char const * mschapv2_response_c::get_peer_challenge(void) const - ?read_auth_failure_string@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@W4eap_mschapv2_error_e@@AAVeap_variable_data_c@@@Z @ 26 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::read_auth_failure_string(enum eap_mschapv2_error_e, class eap_variable_data_c &) - ?get_ms_length@mschapv2_header_c@@QBEGXZ @ 27 NONAME ; unsigned short mschapv2_header_c::get_ms_length(void) const - ??0mschapv2_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 28 NONAME ; mschapv2_header_c::mschapv2_header_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?set_is_valid@eap_type_mschapv2_c@@UAEXXZ @ 29 NONAME ; void eap_type_mschapv2_c::set_is_valid(void) - ?get_is_valid@eap_type_mschapv2_c@@UAE_NXZ @ 30 NONAME ; bool eap_type_mschapv2_c::get_is_valid(void) - ?finish_successful_authentication@eap_type_mschapv2_c@@AAE?AW4eap_status_e@@XZ @ 31 NONAME ; enum eap_status_e eap_type_mschapv2_c::finish_successful_authentication(void) - ?get_encrypted_pw_block@mschapv2_change_password_c@@QBEPBEXZ @ 32 NONAME ; unsigned char const * mschapv2_change_password_c::get_encrypted_pw_block(void) const - ?type_configure_write@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 33 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::type_configure_write(class eap_configuration_field_c const *, class eap_variable_data_c *) - ??1eap_type_mschapv2_c@@UAE@XZ @ 34 NONAME ; eap_type_mschapv2_c::~eap_type_mschapv2_c(void) - ?get_data@mschapv2_header_c@@QBEPAEXZ @ 35 NONAME ; unsigned char * mschapv2_header_c::get_data(void) const - ?complete_eap_identity_query@eap_type_mschapv2_c@@EAE?AW4eap_status_e@@XZ @ 36 NONAME ; enum eap_status_e eap_type_mschapv2_c::complete_eap_identity_query(void) - ?set_name@mschapv2_response_c@@QAEXPBE@Z @ 37 NONAME ; void mschapv2_response_c::set_name(unsigned char const *) - ?get_header_minimum_size@mschapv2_change_password_c@@SAKXZ @ 38 NONAME ; unsigned long mschapv2_change_password_c::get_header_minimum_size(void) - ??1mschapv2_header_c@@UAE@XZ @ 39 NONAME ; mschapv2_header_c::~mschapv2_header_c(void) - ??0eap_type_mschapv2_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@PAVeap_am_type_mschapv2_c@@_N3PBVeap_am_network_id_c@@@Z @ 40 NONAME ; eap_type_mschapv2_c::eap_type_mschapv2_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, class eap_am_type_mschapv2_c *, bool, bool, class eap_am_network_id_c const *) - ?get_name@mschapv2_response_c@@QBEPBEXZ @ 41 NONAME ; unsigned char const * mschapv2_response_c::get_name(void) const - ?get_mschapv2_id@mschapv2_header_c@@QBEEXZ @ 42 NONAME ; unsigned char mschapv2_header_c::get_mschapv2_id(void) const - ?complete_change_password_query@eap_type_mschapv2_c@@EAE?AW4eap_status_e@@XZ @ 43 NONAME ; enum eap_status_e eap_type_mschapv2_c::complete_change_password_query(void) - ?set_initial_eap_identifier@eap_type_mschapv2_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 44 NONAME ; enum eap_status_e eap_type_mschapv2_c::set_initial_eap_identifier(class eap_am_network_id_c const *, unsigned char) - ?get_data_length@mschapv2_header_c@@QBEKXZ @ 45 NONAME ; unsigned long mschapv2_header_c::get_data_length(void) const - ?set_opcode@mschapv2_header_c@@QAEXW4mschapv2_opcode_e@@@Z @ 46 NONAME ; void mschapv2_header_c::set_opcode(enum mschapv2_opcode_e) - ?handle_identity_response_message@eap_type_mschapv2_c@@AAE?AW4eap_status_e@@XZ @ 47 NONAME ; enum eap_status_e eap_type_mschapv2_c::handle_identity_response_message(void) - ??1mschapv2_change_password_c@@UAE@XZ @ 48 NONAME ; mschapv2_change_password_c::~mschapv2_change_password_c(void) - ?check_header@mschapv2_change_password_c@@UBE?AW4eap_status_e@@XZ @ 49 NONAME ; enum eap_status_e mschapv2_change_password_c::check_header(void) const - ?get_is_client@eap_type_mschapv2_c@@EAE_NXZ @ 50 NONAME ; bool eap_type_mschapv2_c::get_is_client(void) - ?get_header_minimum_size@mschapv2_challenge_c@@SAKXZ @ 51 NONAME ; unsigned long mschapv2_challenge_c::get_header_minimum_size(void) - ?query_eap_identity@eap_type_mschapv2_c@@UAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@PBVeap_am_network_id_c@@E@Z @ 52 NONAME ; enum eap_status_e eap_type_mschapv2_c::query_eap_identity(bool, class eap_variable_data_c *, class eap_am_network_id_c const *, unsigned char) - ??1eap_am_type_mschapv2_symbian_c@@UAE@XZ @ 53 NONAME ; eap_am_type_mschapv2_symbian_c::~eap_am_type_mschapv2_symbian_c(void) - ?reset@eap_type_mschapv2_c@@UAE?AW4eap_status_e@@XZ @ 54 NONAME ; enum eap_status_e eap_type_mschapv2_c::reset(void) - ?configure@eap_type_mschapv2_c@@UAE?AW4eap_status_e@@XZ @ 55 NONAME ; enum eap_status_e eap_type_mschapv2_c::configure(void) - ?set_mschapv2_id@mschapv2_header_c@@QAEXE@Z @ 56 NONAME ; void mschapv2_header_c::set_mschapv2_id(unsigned char) - ?check_header@mschapv2_header_c@@UBE?AW4eap_status_e@@XZ @ 57 NONAME ; enum eap_status_e mschapv2_header_c::check_header(void) const - ?set_constants@mschapv2_response_c@@QAE?AW4eap_status_e@@XZ @ 58 NONAME ; enum eap_status_e mschapv2_response_c::set_constants(void) - ?set_ms_length@mschapv2_header_c@@QAEXG@Z @ 59 NONAME ; void mschapv2_header_c::set_ms_length(unsigned short) - ?shutdown@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@XZ @ 60 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::shutdown(void) - ??1mschapv2_challenge_c@@UAE@XZ @ 61 NONAME ; mschapv2_challenge_c::~mschapv2_challenge_c(void) - ?check_header@mschapv2_response_c@@UBE?AW4eap_status_e@@XZ @ 62 NONAME ; enum eap_status_e mschapv2_response_c::check_header(void) const - ??0mschapv2_response_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 63 NONAME ; mschapv2_response_c::mschapv2_response_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?shutdown@eap_type_mschapv2_c@@UAE?AW4eap_status_e@@XZ @ 64 NONAME ; enum eap_status_e eap_type_mschapv2_c::shutdown(void) - ?DlgComplete@eap_am_type_mschapv2_symbian_c@@UAEXH@Z @ 65 NONAME ; void eap_am_type_mschapv2_symbian_c::DlgComplete(int) - ?eap_acknowledge@eap_type_mschapv2_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 66 NONAME ; enum eap_status_e eap_type_mschapv2_c::eap_acknowledge(class eap_am_network_id_c const *) - ?set_encrypted_pw_block@mschapv2_change_password_c@@QAEXPBE@Z @ 67 NONAME ; void mschapv2_change_password_c::set_encrypted_pw_block(unsigned char const *) - ?set_nt_response@mschapv2_change_password_c@@QAEXPBE@Z @ 68 NONAME ; void mschapv2_change_password_c::set_nt_response(unsigned char const *) - ??0mschapv2_challenge_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 69 NONAME ; mschapv2_challenge_c::mschapv2_challenge_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?set_encrypted_hash@mschapv2_change_password_c@@QAEXPBE@Z @ 70 NONAME ; void mschapv2_change_password_c::set_encrypted_hash(unsigned char const *) - ?type_configure_read@eap_am_type_mschapv2_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 71 NONAME ; enum eap_status_e eap_am_type_mschapv2_symbian_c::type_configure_read(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?get_encrypted_hash@mschapv2_change_password_c@@QBEPBEXZ @ 72 NONAME ; unsigned char const * mschapv2_change_password_c::get_encrypted_hash(void) const - ?finish_unsuccessful_authentication@eap_type_mschapv2_c@@EAE?AW4eap_status_e@@_N@Z @ 73 NONAME ; enum eap_status_e eap_type_mschapv2_c::finish_unsuccessful_authentication(bool) - ?set_constants@mschapv2_change_password_c@@QAE?AW4eap_status_e@@XZ @ 74 NONAME ; enum eap_status_e mschapv2_change_password_c::set_constants(void) - ?complete_failure_retry_response@eap_type_mschapv2_c@@EAE?AW4eap_status_e@@XZ @ 75 NONAME ; enum eap_status_e eap_type_mschapv2_c::complete_failure_retry_response(void) - ?check_header@mschapv2_challenge_c@@UBE?AW4eap_status_e@@XZ @ 76 NONAME ; enum eap_status_e mschapv2_challenge_c::check_header(void) const - ?get_peer_challenge@mschapv2_change_password_c@@QBEPBEXZ @ 77 NONAME ; unsigned char const * mschapv2_change_password_c::get_peer_challenge(void) const - ?get_name_length@mschapv2_challenge_c@@QBEKXZ @ 78 NONAME ; unsigned long mschapv2_challenge_c::get_name_length(void) const diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/eapprotectedsetupu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapprotectedsetupu.def Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapprotectedsetupu.def Wed Sep 01 12:23:57 2010 +0100 @@ -1,292 +1,3 @@ EXPORTS ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) - ?set_type_partner@simple_config_base_record_c@@QAEXPAVabs_simple_config_base_record_c@@@Z @ 2 NONAME ; void simple_config_base_record_c::set_type_partner(class abs_simple_config_base_record_c *) - ?set_simple_config_message_data@simple_config_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 3 NONAME ; enum eap_status_e simple_config_message_c::set_simple_config_message_data(class eap_variable_data_c *, unsigned char) - ?eap_simple_config_fragment_send@eap_type_simple_config_c@@AAE?AW4eap_status_e@@XZ @ 4 NONAME ; enum eap_status_e eap_type_simple_config_c::eap_simple_config_fragment_send(void) - ?verify_nonces_and_authenticator@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@00PBVsimple_config_payloads_c@@_N22@Z @ 5 NONAME ; enum eap_status_e simple_config_record_c::verify_nonces_and_authenticator(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class simple_config_payloads_c const *, bool, bool, bool) - ?copy_attribute_data@simple_config_payloads_c@@QAE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@_NPBXK@Z @ 6 NONAME ; enum eap_status_e simple_config_payloads_c::copy_attribute_data(enum simple_config_Attribute_Type_e, bool, void const *, unsigned long) - ?get_is_valid@eap_type_simple_config_c@@UAE_NXZ @ 7 NONAME ; bool eap_type_simple_config_c::get_is_valid(void) - ?get_failure_message_received@eap_type_simple_config_c@@ABE_NXZ @ 8 NONAME ; bool eap_type_simple_config_c::get_failure_message_received(void) const - ?get_reassembly_state_string@eap_type_simple_config_c@@ABEPBDXZ @ 9 NONAME ; char const * eap_type_simple_config_c::get_reassembly_state_string(void) const - ?restart_authentication@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 10 NONAME ; enum eap_status_e eap_type_simple_config_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool) - ?get_next_payload_with_same_attribute_type@simple_config_variable_data_c@@QAEPAV1@XZ @ 11 NONAME ; class simple_config_variable_data_c * simple_config_variable_data_c::get_next_payload_with_same_attribute_type(void) - ?set_simple_config_flag_value@eap_simple_config_header_c@@QBEXEKK@Z @ 12 NONAME ; void eap_simple_config_header_c::set_simple_config_flag_value(unsigned char, unsigned long, unsigned long) const - ?send_M3@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 13 NONAME ; enum eap_status_e simple_config_record_c::send_M3(void) - ??1simple_config_message_c@@UAE@XZ @ 14 NONAME ; simple_config_message_c::~simple_config_message_c(void) - ?save_current_reassembly_state@eap_type_simple_config_c@@AAEXXZ @ 15 NONAME ; void eap_type_simple_config_c::save_current_reassembly_state(void) - ?cancel_M2D_received_timeout@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 16 NONAME ; enum eap_status_e simple_config_record_c::cancel_M2D_received_timeout(void) - ?timer_delete_data@eap_type_simple_config_c@@UAE?AW4eap_status_e@@KPAX@Z @ 17 NONAME ; enum eap_status_e eap_type_simple_config_c::timer_delete_data(unsigned long, void *) - ?packet_process@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 18 NONAME ; enum eap_status_e eap_type_simple_config_c::packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) - ?get_network_key_const@network_key_and_index_c@@QBEPBVeap_variable_data_c@@XZ @ 19 NONAME ; class eap_variable_data_c const * network_key_and_index_c::get_network_key_const(void) const - ?get_NAI@eap_type_simple_config_c@@AAEPAVeap_variable_data_c@@XZ @ 20 NONAME ; class eap_variable_data_c * eap_type_simple_config_c::get_NAI(void) - ?set_data_length@eap_simple_config_header_c@@QAEXK_N@Z @ 21 NONAME ; void eap_simple_config_header_c::set_data_length(unsigned long, bool) - ?get_MAC_address@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 22 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_MAC_address(void) - ??1CEapAmProtectedSetupSymbian@@UAE@XZ @ 23 NONAME ; CEapAmProtectedSetupSymbian::~CEapAmProtectedSetupSymbian(void) - ?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAE@Z @ 24 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned char *) const - ??1eap_type_simple_config_state_notification_c@@UAE@XZ @ 25 NONAME ; eap_type_simple_config_state_notification_c::~eap_type_simple_config_state_notification_c(void) - ?packet_process@simple_config_record_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 26 NONAME ; enum eap_status_e simple_config_record_c::packet_process(class eap_variable_data_c *, unsigned char) - ??0simple_config_completion_c@@QAE@PAVabs_eap_am_tools_c@@W4simple_config_completion_action_e@@@Z @ 27 NONAME ; simple_config_completion_c::simple_config_completion_c(class abs_eap_am_tools_c *, enum simple_config_completion_action_e) - ??1simple_config_variable_data_c@@UAE@XZ @ 28 NONAME ; simple_config_variable_data_c::~simple_config_variable_data_c(void) - ?get_simple_config_message_length@eap_simple_config_header_c@@QBE?AW4eap_status_e@@PAK@Z @ 29 NONAME ; enum eap_status_e eap_simple_config_header_c::get_simple_config_message_length(unsigned long *) const - ?save_current_state@eap_type_simple_config_c@@AAEXXZ @ 30 NONAME ; void eap_type_simple_config_c::save_current_state(void) - ?unload_module@eap_type_simple_config_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 31 NONAME ; enum eap_status_e eap_type_simple_config_c::unload_module(class eap_expanded_type_c) - ?copy@simple_config_payloads_c@@QBEPAV1@XZ @ 32 NONAME ; class simple_config_payloads_c * simple_config_payloads_c::copy(void) const - ?set_eap_code@eap_simple_config_header_c@@QAEXW4eap_code_value_e@@@Z @ 33 NONAME ; void eap_simple_config_header_c::set_eap_code(enum eap_code_value_e) - ?restore_saved_reassembly_state@eap_type_simple_config_c@@AAEXXZ @ 34 NONAME ; void eap_type_simple_config_c::restore_saved_reassembly_state(void) - ?get_state_string@eap_type_simple_config_c@@SAPBDW4eap_type_simple_config_state_variable_e@@@Z @ 35 NONAME ; char const * eap_type_simple_config_c::get_state_string(enum eap_type_simple_config_state_variable_e) - ?get_eap_type_string@eap_simple_config_header_c@@QBEPBDXZ @ 36 NONAME ; char const * eap_simple_config_header_c::get_eap_type_string(void) const - ?check_NAI@eap_type_simple_config_c@@AAE?AW4eap_status_e@@PBEK0@Z @ 37 NONAME ; enum eap_status_e eap_type_simple_config_c::check_NAI(unsigned char const *, unsigned long, unsigned char const *) - ??1eap_simple_config_trace_string_c@@UAE@XZ @ 38 NONAME ; eap_simple_config_trace_string_c::~eap_simple_config_trace_string_c(void) - ?get_attribute_pointer@simple_config_payloads_c@@QBEPAVsimple_config_variable_data_c@@W4simple_config_Attribute_Type_e@@K@Z @ 39 NONAME ; class simple_config_variable_data_c * simple_config_payloads_c::get_attribute_pointer(enum simple_config_Attribute_Type_e, unsigned long) const - ?parse_identity@eap_type_simple_config_c@@AAE?AW4eap_status_e@@PBEK@Z @ 40 NONAME ; enum eap_status_e eap_type_simple_config_c::parse_identity(unsigned char const *, unsigned long) - ?set_copy_of_buffer@simple_config_variable_data_c@@QAE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@_NPBXK@Z @ 41 NONAME ; enum eap_status_e simple_config_variable_data_c::set_copy_of_buffer(enum simple_config_Attribute_Type_e, bool, void const *, unsigned long) - ?read_configure@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 42 NONAME ; enum eap_status_e eap_type_simple_config_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?packet_data_crypto_keys@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 43 NONAME ; enum eap_status_e eap_type_simple_config_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *) - ?get_simple_config_message_data@simple_config_message_c@@QAEPAVeap_variable_data_c@@XZ @ 44 NONAME ; class eap_variable_data_c * simple_config_message_c::get_simple_config_message_data(void) - ?get_state@eap_type_simple_config_c@@ABE?AW4eap_type_simple_config_state_variable_e@@XZ @ 45 NONAME ; enum eap_type_simple_config_state_variable_e eap_type_simple_config_c::get_state(void) const - ?get_completion_action@simple_config_completion_c@@QBE?AW4simple_config_completion_action_e@@XZ @ 46 NONAME ; enum simple_config_completion_action_e simple_config_completion_c::get_completion_action(void) const - ??0CEapAmProtectedSetupSymbian@@IAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@W4TIndexType@@HVeap_expanded_type_c@@3_NPBVeap_am_network_id_c@@PAVabs_eap_configuration_if_c@@@Z @ 47 NONAME ; CEapAmProtectedSetupSymbian::CEapAmProtectedSetupSymbian(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, enum TIndexType, int, class eap_expanded_type_c, class eap_expanded_type_c, bool, class eap_am_network_id_c const *, class abs_eap_configuration_if_c *) - ?get_simple_config_flag_bit@eap_simple_config_header_c@@QBE_NK@Z @ 48 NONAME ; bool eap_simple_config_header_c::get_simple_config_flag_bit(unsigned long) const - ??0simple_config_message_c@@QAE@PAVabs_eap_am_tools_c@@_N@Z @ 49 NONAME ; simple_config_message_c::simple_config_message_c(class abs_eap_am_tools_c *, bool) - ?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAVeap_variable_data_c@@@Z @ 50 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, class eap_variable_data_c *) const - ?send_M1@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 51 NONAME ; enum eap_status_e simple_config_record_c::send_M1(class simple_config_payloads_c const *) - ?send_final_notification@eap_type_simple_config_c@@AAE?AW4eap_status_e@@XZ @ 52 NONAME ; enum eap_status_e eap_type_simple_config_c::send_final_notification(void) - ?get_SSID@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 53 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_SSID(void) - ?process_M4@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 54 NONAME ; enum eap_status_e simple_config_record_c::process_M4(class simple_config_payloads_c const *) - ?load_module@eap_type_simple_config_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 55 NONAME ; enum eap_status_e eap_type_simple_config_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) - ?get_network_key_index@network_key_and_index_c@@QBEEXZ @ 56 NONAME ; unsigned char network_key_and_index_c::get_network_key_index(void) const - ?get_state_string@eap_type_simple_config_c@@ABEPBDXZ @ 57 NONAME ; char const * eap_type_simple_config_c::get_state_string(void) const - ?get_reassembly_state_string@eap_type_simple_config_c@@SAPBDW4eap_type_simple_config_reassembly_state_e@@@Z @ 58 NONAME ; char const * eap_type_simple_config_c::get_reassembly_state_string(enum eap_type_simple_config_reassembly_state_e) - ??0simple_config_base_record_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 59 NONAME ; simple_config_base_record_c::simple_config_base_record_c(class abs_eap_am_tools_c *) - ?add_data@simple_config_variable_data_c@@QAE?AW4eap_status_e@@PBXK@Z @ 60 NONAME ; enum eap_status_e simple_config_variable_data_c::add_data(void const *, unsigned long) - ?send_WSC_ACK@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 61 NONAME ; enum eap_status_e simple_config_record_c::send_WSC_ACK(void) - ?initalize_error_message_timeout@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 62 NONAME ; enum eap_status_e simple_config_record_c::initalize_error_message_timeout(void) - ?get_full_attribute_buffer@simple_config_variable_data_c@@QAEPAVeap_variable_data_c@@XZ @ 63 NONAME ; class eap_variable_data_c * simple_config_variable_data_c::get_full_attribute_buffer(void) - ?generate_dhe_keys@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 64 NONAME ; enum eap_status_e simple_config_record_c::generate_dhe_keys(void) - ?set_state@simple_config_record_c@@AAEXW4simple_config_state_e@@@Z @ 65 NONAME ; void simple_config_record_c::set_state(enum simple_config_state_e) - ?eap_acknowledge@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 66 NONAME ; enum eap_status_e eap_type_simple_config_c::eap_acknowledge(class eap_am_network_id_c const *) - ?set_eap_type@eap_simple_config_header_c@@QAEXVeap_expanded_type_c@@_N@Z @ 67 NONAME ; void eap_simple_config_header_c::set_eap_type(class eap_expanded_type_c, bool) - ?get_attribute_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Attribute_Type_e@@@Z @ 68 NONAME ; char const * eap_simple_config_trace_string_c::get_attribute_type_string(enum simple_config_Attribute_Type_e) const - ?copy@simple_config_variable_data_c@@QBEPAV1@XZ @ 69 NONAME ; class simple_config_variable_data_c * simple_config_variable_data_c::copy(void) const - ?set_timer@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 70 NONAME ; enum eap_status_e eap_type_simple_config_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ?set_flag_reserved@eap_simple_config_header_c@@QAEXE@Z @ 71 NONAME ; void eap_simple_config_header_c::set_flag_reserved(unsigned char) - ??1eap_type_simple_config_c@@UAE@XZ @ 72 NONAME ; eap_type_simple_config_c::~eap_type_simple_config_c(void) - ?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PA_K@Z @ 73 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned long long *) const - ??0simple_config_payloads_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 74 NONAME ; simple_config_payloads_c::simple_config_payloads_c(class abs_eap_am_tools_c *) - ?get_eap_type@eap_simple_config_header_c@@QBE?AVeap_expanded_type_c@@XZ @ 75 NONAME ; class eap_expanded_type_c eap_simple_config_header_c::get_eap_type(void) const - ?send_M5@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 76 NONAME ; enum eap_status_e simple_config_record_c::send_M5(void) - ?received_registrar_information@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Vsimple_config_payloads_c@@@@@Z @ 77 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::received_registrar_information(class eap_array_c const *) - ?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAK@Z @ 78 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned long *) const - ?initialize_M2D_received_timeout@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 79 NONAME ; enum eap_status_e simple_config_record_c::initialize_M2D_received_timeout(void) - ?reset@simple_config_message_c@@QAE?AW4eap_status_e@@XZ @ 80 NONAME ; enum eap_status_e simple_config_message_c::reset(void) - ??0eap_type_simple_config_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@W4eap_type_ietf_values_e@@KKE2@Z @ 81 NONAME ; eap_type_simple_config_state_notification_c::eap_type_simple_config_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, enum eap_type_ietf_values_e, unsigned long, unsigned long, unsigned char, bool) - ?check_sent_simple_config_message@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 82 NONAME ; enum eap_status_e simple_config_record_c::check_sent_simple_config_message(void) - ?create_simple_config_message@simple_config_payloads_c@@QBE?AW4eap_status_e@@PAVsimple_config_message_c@@_N@Z @ 83 NONAME ; enum eap_status_e simple_config_payloads_c::create_simple_config_message(class simple_config_message_c *, bool) const - ?object_increase_reference_count@simple_config_variable_data_c@@QAEXXZ @ 84 NONAME ; void simple_config_variable_data_c::object_increase_reference_count(void) - ?simple_config_packet_send@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@W4simple_config_Message_Type_e@@@Z @ 85 NONAME ; enum eap_status_e eap_type_simple_config_c::simple_config_packet_send(class eap_buf_chain_wr_c *, enum simple_config_Message_Type_e) - ?packet_send@eap_type_simple_config_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 86 NONAME ; enum eap_status_e eap_type_simple_config_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ?get_is_valid@simple_config_payloads_c@@QBE_NXZ @ 87 NONAME ; bool simple_config_payloads_c::get_is_valid(void) const - ?set_attribute_type@simple_config_variable_data_c@@QAEXW4simple_config_Attribute_Type_e@@@Z @ 88 NONAME ; void simple_config_variable_data_c::set_attribute_type(enum simple_config_Attribute_Type_e) - ?simple_config_message_process@eap_type_simple_config_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_simple_config_header_c@@K@Z @ 89 NONAME ; enum eap_status_e eap_type_simple_config_c::simple_config_message_process(class eap_am_network_id_c const *, class eap_simple_config_header_c *, unsigned long) - ??0eap_type_simple_config_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_generic_e@@W4eap_protocol_layer_e@@KKKE2@Z @ 90 NONAME ; eap_type_simple_config_state_notification_c::eap_type_simple_config_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_generic_e, enum eap_protocol_layer_e, unsigned long, unsigned long, unsigned long, unsigned char, bool) - ??1eap_simple_config_header_c@@UAE@XZ @ 91 NONAME ; eap_simple_config_header_c::~eap_simple_config_header_c(void) - ?update_buffer_indexes@eap_type_simple_config_c@@AAEXKKPAK0@Z @ 92 NONAME ; void eap_type_simple_config_c::update_buffer_indexes(unsigned long, unsigned long, unsigned long *, unsigned long *) - ?add_padding@simple_config_message_c@@QAE?AW4eap_status_e@@K@Z @ 93 NONAME ; enum eap_status_e simple_config_message_c::add_padding(unsigned long) - ?verify_padding@simple_config_payloads_c@@AAE?AW4eap_status_e@@PBEK@Z @ 94 NONAME ; enum eap_status_e simple_config_payloads_c::verify_padding(unsigned char const *, unsigned long) - ?query_eap_identity@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EPA_NPAVeap_variable_data_c@@12@Z @ 95 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::query_eap_identity(class eap_am_network_id_c const *, unsigned char, bool *, class eap_variable_data_c *, bool *, class eap_variable_data_c *) - ??0eap_type_simple_config_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@Veap_expanded_type_c@@KKE2@Z @ 96 NONAME ; eap_type_simple_config_state_notification_c::eap_type_simple_config_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, class eap_expanded_type_c, unsigned long, unsigned long, unsigned char, bool) - ?reset@simple_config_record_c@@UAE?AW4eap_status_e@@XZ @ 97 NONAME ; enum eap_status_e simple_config_record_c::reset(void) - ?parse_generic_payload@simple_config_payloads_c@@QAE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PBVsimple_config_tlv_header_c@@@Z @ 98 NONAME ; enum eap_status_e simple_config_payloads_c::parse_generic_payload(enum simple_config_Attribute_Type_e, class simple_config_tlv_header_c const *) - ?decrypt_payloads@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAVsimple_config_variable_data_c@@PAVsimple_config_payloads_c@@@Z @ 99 NONAME ; enum eap_status_e simple_config_record_c::decrypt_payloads(class eap_variable_data_c const *, class eap_variable_data_c const *, class simple_config_variable_data_c *, class simple_config_payloads_c *) - ?reset@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@XZ @ 100 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::reset(void) - ?query_network_and_device_parameters@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@W4simple_config_state_e@@@Z @ 101 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::query_network_and_device_parameters(enum simple_config_state_e) - ?get_is_valid@CEapAmProtectedSetupSymbian@@UAE_NXZ @ 102 NONAME ; bool CEapAmProtectedSetupSymbian::get_is_valid(void) - ?get_attribute_count@simple_config_payloads_c@@QBEKXZ @ 103 NONAME ; unsigned long simple_config_payloads_c::get_attribute_count(void) const - ?add_next_payload_with_same_attribute_type@simple_config_variable_data_c@@QAEXPAV1@@Z @ 104 NONAME ; void simple_config_variable_data_c::add_next_payload_with_same_attribute_type(class simple_config_variable_data_c *) - ?get_data_length@simple_config_variable_data_c@@QBEKXZ @ 105 NONAME ; unsigned long simple_config_variable_data_c::get_data_length(void) const - ?state_notification@eap_type_simple_config_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 106 NONAME ; void eap_type_simple_config_c::state_notification(class abs_eap_state_notification_c const *) - ?completion_action_check@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 107 NONAME ; enum eap_status_e simple_config_record_c::completion_action_check(void) - ?generate_er_hashs@simple_config_record_c@@AAE?AW4eap_status_e@@_NPBVeap_variable_data_c@@11PAV3@22222@Z @ 108 NONAME ; enum eap_status_e simple_config_record_c::generate_er_hashs(bool, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *) - ?complete_protected_setup_device_paramsL@CEapAmProtectedSetupSymbian@@QAE?AW4eap_status_e@@ABVTMobilePhoneIdentityV1@RMobilePhone@@W42@@Z @ 109 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::complete_protected_setup_device_paramsL(class RMobilePhone::TMobilePhoneIdentityV1 const &, enum eap_status_e) - ?cancel_identity_query@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@XZ @ 110 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::cancel_identity_query(void) - ?read_configure@simple_config_record_c@@QAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 111 NONAME ; enum eap_status_e simple_config_record_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?set_initial_eap_identifier@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 112 NONAME ; enum eap_status_e eap_type_simple_config_c::set_initial_eap_identifier(class eap_am_network_id_c const *, unsigned char) - ?cancel_timer@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 113 NONAME ; enum eap_status_e eap_type_simple_config_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ?get_network_keys@simple_config_credential_c@@QAEPAV?$eap_array_c@Vnetwork_key_and_index_c@@@@XZ @ 114 NONAME ; class eap_array_c * simple_config_credential_c::get_network_keys(void) - ?timer_expired@eap_type_simple_config_c@@UAE?AW4eap_status_e@@KPAX@Z @ 115 NONAME ; enum eap_status_e eap_type_simple_config_c::timer_expired(unsigned long, void *) - ?reset@eap_type_simple_config_c@@UAE?AW4eap_status_e@@XZ @ 116 NONAME ; enum eap_status_e eap_type_simple_config_c::reset(void) - ?NewL@CEapAmProtectedSetupSymbian@@SAPAV1@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@W4TIndexType@@HVeap_expanded_type_c@@3_NPBVeap_am_network_id_c@@PAVabs_eap_configuration_if_c@@@Z @ 117 NONAME ; class CEapAmProtectedSetupSymbian * CEapAmProtectedSetupSymbian::NewL(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, enum TIndexType, int, class eap_expanded_type_c, class eap_expanded_type_c, bool, class eap_am_network_id_c const *, class abs_eap_configuration_if_c *) - ?get_code_string@eap_simple_config_header_c@@QBEPBDXZ @ 118 NONAME ; char const * eap_simple_config_header_c::get_code_string(void) const - ?check_mandatory_payloads@simple_config_payloads_c@@QBE?AW4eap_status_e@@PBV?$eap_array_c@W4simple_config_Attribute_Type_e@@@@@Z @ 119 NONAME ; enum eap_status_e simple_config_payloads_c::check_mandatory_payloads(class eap_array_c const *) const - ?add_authenticator_attribute@simple_config_record_c@@AAE?AW4eap_status_e@@PAVsimple_config_message_c@@0@Z @ 120 NONAME ; enum eap_status_e simple_config_record_c::add_authenticator_attribute(class simple_config_message_c *, class simple_config_message_c *) - ?get_is_valid@simple_config_record_c@@UAE_NXZ @ 121 NONAME ; bool simple_config_record_c::get_is_valid(void) - ?set_network_index@simple_config_credential_c@@QAEXE@Z @ 122 NONAME ; void simple_config_credential_c::set_network_index(unsigned char) - ?add_rogue_ap@eap_type_simple_config_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 123 NONAME ; enum eap_status_e eap_type_simple_config_c::add_rogue_ap(class eap_array_c &) - ?generate_nonce@simple_config_record_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 124 NONAME ; enum eap_status_e simple_config_record_c::generate_nonce(class eap_variable_data_c *, unsigned long) - ?get_Encryption_Type@simple_config_credential_c@@QAE?AW4simple_config_Encryption_Type_e@@XZ @ 125 NONAME ; enum simple_config_Encryption_Type_e simple_config_credential_c::get_Encryption_Type(void) - ?get_attribute@simple_config_payloads_c@@QBEPAVsimple_config_variable_data_c@@K@Z @ 126 NONAME ; class simple_config_variable_data_c * simple_config_payloads_c::get_attribute(unsigned long) const - ?get_is_mandatory@simple_config_variable_data_c@@QBE_NXZ @ 127 NONAME ; bool simple_config_variable_data_c::get_is_mandatory(void) const - ?indicate_messages_processed@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 128 NONAME ; enum eap_status_e simple_config_record_c::indicate_messages_processed(void) - ?check_payloads_existense@simple_config_payloads_c@@QBE?AW4eap_status_e@@PBV?$eap_array_c@W4simple_config_Attribute_Type_e@@@@@Z @ 129 NONAME ; enum eap_status_e simple_config_payloads_c::check_payloads_existense(class eap_array_c const *) const - ?send_WSC_NACK@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 130 NONAME ; enum eap_status_e simple_config_record_c::send_WSC_NACK(void) - ?indicate_state_to_lower_layer@simple_config_record_c@@AAE?AW4eap_status_e@@W4simple_config_state_e@@@Z @ 131 NONAME ; enum eap_status_e simple_config_record_c::indicate_state_to_lower_layer(enum simple_config_state_e) - ?send_sc_frag_ack@eap_type_simple_config_c@@AAE?AW4eap_status_e@@XZ @ 132 NONAME ; enum eap_status_e eap_type_simple_config_c::send_sc_frag_ack(void) - ?send_M7@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 133 NONAME ; enum eap_status_e simple_config_record_c::send_M7(void) - ?write_configure@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 134 NONAME ; enum eap_status_e eap_type_simple_config_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?set_sc_op_code@eap_simple_config_header_c@@QAEXW4op_code_e@1@@Z @ 135 NONAME ; void eap_simple_config_header_c::set_sc_op_code(enum eap_simple_config_header_c::op_code_e) - ?set_Authentication_Type@simple_config_credential_c@@QAEXW4simple_config_Authentication_Type_e@@@Z @ 136 NONAME ; void simple_config_credential_c::set_Authentication_Type(enum simple_config_Authentication_Type_e) - ?set_next_payload_with_same_attribute_type@simple_config_variable_data_c@@QAEXPAV1@@Z @ 137 NONAME ; void simple_config_variable_data_c::set_next_payload_with_same_attribute_type(class simple_config_variable_data_c *) - ?load_module@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 138 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) - ?get_attribute_data@simple_config_payloads_c@@QBE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAG@Z @ 139 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, unsigned short *) const - ?update_payload_indexes@eap_type_simple_config_c@@AAEXKKKPAK000@Z @ 140 NONAME ; void eap_type_simple_config_c::update_payload_indexes(unsigned long, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *) - ?eap_identity_response_packet_process@eap_type_simple_config_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 141 NONAME ; enum eap_status_e eap_type_simple_config_c::eap_identity_response_packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) - ?get_eap_code@eap_simple_config_header_c@@QBE?AW4eap_code_value_e@@XZ @ 142 NONAME ; enum eap_code_value_e eap_simple_config_header_c::get_eap_code(void) const - ?cancel_error_message_timeout@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 143 NONAME ; enum eap_status_e simple_config_record_c::cancel_error_message_timeout(void) - ?set_state@eap_type_simple_config_c@@AAEXW4eap_type_simple_config_state_variable_e@@@Z @ 144 NONAME ; void eap_type_simple_config_c::set_state(enum eap_type_simple_config_state_variable_e) - ?get_simple_config_flags@eap_simple_config_header_c@@QBEPAEXZ @ 145 NONAME ; unsigned char * eap_simple_config_header_c::get_simple_config_flags(void) const - ?generate_kdk@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@000PAV3@@Z @ 146 NONAME ; enum eap_status_e simple_config_record_c::generate_kdk(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?get_flag_simple_config_length_included@eap_simple_config_header_c@@QBE_NXZ @ 147 NONAME ; bool eap_simple_config_header_c::get_flag_simple_config_length_included(void) const - ?process_M2@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 148 NONAME ; enum eap_status_e simple_config_record_c::process_M2(class simple_config_payloads_c const *) - ??0simple_config_credential_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 149 NONAME ; simple_config_credential_c::simple_config_credential_c(class abs_eap_am_tools_c *) - ?type_configure_write@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 150 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::type_configure_write(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?timer_delete_data@simple_config_record_c@@EAE?AW4eap_status_e@@KPAX@Z @ 151 NONAME ; enum eap_status_e simple_config_record_c::timer_delete_data(unsigned long, void *) - ?shutdown@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@XZ @ 152 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::shutdown(void) - ?set_am_partner@CEapAmProtectedSetupSymbian@@UAEXPAVabs_eap_am_type_simple_config_c@@@Z @ 153 NONAME ; void CEapAmProtectedSetupSymbian::set_am_partner(class abs_eap_am_type_simple_config_c *) - ?get_sc_flags_offset@eap_simple_config_header_c@@QBEKXZ @ 154 NONAME ; unsigned long eap_simple_config_header_c::get_sc_flags_offset(void) const - ?encrypt_payloads@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAVsimple_config_payloads_c@@PAVsimple_config_variable_data_c@@@Z @ 155 NONAME ; enum eap_status_e simple_config_record_c::encrypt_payloads(class eap_variable_data_c const *, class eap_variable_data_c const *, class simple_config_payloads_c *, class simple_config_variable_data_c *) - ?are_pending_queries_completed@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 156 NONAME ; enum eap_status_e simple_config_record_c::are_pending_queries_completed(void) - ?write_configure@simple_config_record_c@@QAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 157 NONAME ; enum eap_status_e simple_config_record_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?set_simple_config_am_partner@CEapAmProtectedSetupSymbian@@UAEXPAVabs_simple_config_am_services_c@@@Z @ 158 NONAME ; void CEapAmProtectedSetupSymbian::set_simple_config_am_partner(class abs_simple_config_am_services_c *) - ?process_M8@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 159 NONAME ; enum eap_status_e simple_config_record_c::process_M8(class simple_config_payloads_c const *) - ?set_failure_message_received@eap_type_simple_config_c@@AAEXXZ @ 160 NONAME ; void eap_type_simple_config_c::set_failure_message_received(void) - ?set_flag_simple_config_length_included@eap_simple_config_header_c@@QAEX_N@Z @ 161 NONAME ; void eap_simple_config_header_c::set_flag_simple_config_length_included(bool) - ?get_is_valid@simple_config_variable_data_c@@QBE_NXZ @ 162 NONAME ; bool simple_config_variable_data_c::get_is_valid(void) const - ?configure@eap_type_simple_config_c@@UAE?AW4eap_status_e@@XZ @ 163 NONAME ; enum eap_status_e eap_type_simple_config_c::configure(void) - ?start_simple_config_authentication@eap_type_simple_config_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@@Z @ 164 NONAME ; enum eap_status_e eap_type_simple_config_c::start_simple_config_authentication(class eap_am_network_id_c const *, class eap_variable_data_c const *) - ?get_completion_action_string@simple_config_completion_c@@QBEPBDXZ @ 165 NONAME ; char const * simple_config_completion_c::get_completion_action_string(void) const - ?process_simple_config_attributes@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 166 NONAME ; enum eap_status_e simple_config_record_c::process_simple_config_attributes(class simple_config_payloads_c const *) - ?get_data_offset@eap_simple_config_header_c@@QBEPAEPAVabs_eap_am_tools_c@@KK@Z @ 167 NONAME ; unsigned char * eap_simple_config_header_c::get_data_offset(class abs_eap_am_tools_c *, unsigned long, unsigned long) const - ?configure@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@XZ @ 168 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::configure(void) - ?keyed_hmac@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 169 NONAME ; enum eap_status_e simple_config_record_c::keyed_hmac(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?shutdown@simple_config_record_c@@UAE?AW4eap_status_e@@XZ @ 170 NONAME ; enum eap_status_e simple_config_record_c::shutdown(void) - ?generate_dhe_shared_secret@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@@Z @ 171 NONAME ; enum eap_status_e simple_config_record_c::generate_dhe_shared_secret(class eap_variable_data_c const *, class eap_variable_data_c *) - ?get_is_valid_data@network_key_and_index_c@@QAE_NXZ @ 172 NONAME ; bool network_key_and_index_c::get_is_valid_data(void) - ?set_reassembly_state@eap_type_simple_config_c@@AAEXW4eap_type_simple_config_reassembly_state_e@@@Z @ 173 NONAME ; void eap_type_simple_config_c::set_reassembly_state(enum eap_type_simple_config_reassembly_state_e) - ?restore_saved_previous_state@eap_type_simple_config_c@@AAEXXZ @ 174 NONAME ; void eap_type_simple_config_c::restore_saved_previous_state(void) - ?get_header@simple_config_variable_data_c@@QAEPAVsimple_config_tlv_header_c@@XZ @ 175 NONAME ; class simple_config_tlv_header_c * simple_config_variable_data_c::get_header(void) - ??0simple_config_record_c@@QAE@PAVabs_eap_am_tools_c@@PAVsimple_config_am_services_c@@_N2PBVeap_am_network_id_c@@@Z @ 176 NONAME ; simple_config_record_c::simple_config_record_c(class abs_eap_am_tools_c *, class simple_config_am_services_c *, bool, bool, class eap_am_network_id_c const *) - ?get_is_client@eap_type_simple_config_c@@UAE_NXZ @ 177 NONAME ; bool eap_type_simple_config_c::get_is_client(void) - ?get_last_eap_identifier@eap_type_simple_config_c@@ABEEXZ @ 178 NONAME ; unsigned char eap_type_simple_config_c::get_last_eap_identifier(void) const - ??1simple_config_credential_c@@UAE@XZ @ 179 NONAME ; simple_config_credential_c::~simple_config_credential_c(void) - ?get_attribute_type@simple_config_variable_data_c@@QBE?AW4simple_config_Attribute_Type_e@@XZ @ 180 NONAME ; enum simple_config_Attribute_Type_e simple_config_variable_data_c::get_attribute_type(void) const - ?set_network_key_index@network_key_and_index_c@@QAEXE@Z @ 181 NONAME ; void network_key_and_index_c::set_network_key_index(unsigned char) - ?get_header_length@eap_simple_config_header_c@@QBEKXZ @ 182 NONAME ; unsigned long eap_simple_config_header_c::get_header_length(void) const - ?copy_attribute@simple_config_payloads_c@@QAE?AW4eap_status_e@@PBV1@W4simple_config_Attribute_Type_e@@@Z @ 183 NONAME ; enum eap_status_e simple_config_payloads_c::copy_attribute(class simple_config_payloads_c const *, enum simple_config_Attribute_Type_e) - ??0eap_type_simple_config_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@PAVeap_am_type_simple_config_c@@_NPAVsimple_config_base_record_c@@33Veap_expanded_type_c@@PBVeap_am_network_id_c@@@Z @ 184 NONAME ; eap_type_simple_config_c::eap_type_simple_config_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, class eap_am_type_simple_config_c *, bool, class simple_config_base_record_c *, bool, bool, class eap_expanded_type_c, class eap_am_network_id_c const *) - ?generate_erhash@simple_config_record_c@@AAE?AW4eap_status_e@@_NPBVeap_variable_data_c@@11PAV3@22@Z @ 185 NONAME ; enum eap_status_e simple_config_record_c::generate_erhash(bool, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *) - ?get_start_offset_of_data@eap_simple_config_header_c@@QBEKXZ @ 186 NONAME ; unsigned long eap_simple_config_header_c::get_start_offset_of_data(void) const - ?get_flag_reserved@eap_simple_config_header_c@@QBEEXZ @ 187 NONAME ; unsigned char eap_simple_config_header_c::get_flag_reserved(void) const - ?send_error_notification@simple_config_record_c@@AAEXW4eap_status_e@@@Z @ 188 NONAME ; void simple_config_record_c::send_error_notification(enum eap_status_e) - ?get_type_partner@simple_config_base_record_c@@QAEPAVabs_simple_config_base_record_c@@XZ @ 189 NONAME ; class abs_simple_config_base_record_c * simple_config_base_record_c::get_type_partner(void) - ?key_derivation_function@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0KPAV3@@Z @ 190 NONAME ; enum eap_status_e simple_config_record_c::key_derivation_function(class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long, class eap_variable_data_c *) - ?unload_module@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 191 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::unload_module(class eap_expanded_type_c) - ?finish_successful_authentication@eap_type_simple_config_c@@AAE?AW4eap_status_e@@XZ @ 192 NONAME ; enum eap_status_e eap_type_simple_config_c::finish_successful_authentication(void) - ?process_simple_config_message@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 193 NONAME ; enum eap_status_e simple_config_record_c::process_simple_config_message(void) - ?set_is_valid@simple_config_record_c@@EAEXXZ @ 194 NONAME ; void simple_config_record_c::set_is_valid(void) - ?get_sc_op_code_offset@eap_simple_config_header_c@@QBEKXZ @ 195 NONAME ; unsigned long eap_simple_config_header_c::get_sc_op_code_offset(void) const - ?process_WSC_NACK@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 196 NONAME ; enum eap_status_e simple_config_record_c::process_WSC_NACK(class simple_config_payloads_c const *) - ?get_attribute_data@simple_config_payloads_c@@ABE?AW4eap_status_e@@W4simple_config_Attribute_Type_e@@PAXK@Z @ 197 NONAME ; enum eap_status_e simple_config_payloads_c::get_attribute_data(enum simple_config_Attribute_Type_e, void *, unsigned long) const - ?unset_failure_message_received@eap_type_simple_config_c@@AAEXXZ @ 198 NONAME ; void eap_type_simple_config_c::unset_failure_message_received(void) - ?get_send_network_id@eap_type_simple_config_c@@AAEPAVeap_am_network_id_c@@XZ @ 199 NONAME ; class eap_am_network_id_c * eap_type_simple_config_c::get_send_network_id(void) - ?get_eap_length@eap_simple_config_header_c@@QBEGXZ @ 200 NONAME ; unsigned short eap_simple_config_header_c::get_eap_length(void) const - ?set_simple_config_flag_bit@eap_simple_config_header_c@@QBEX_NK@Z @ 201 NONAME ; void eap_simple_config_header_c::set_simple_config_flag_bit(bool, unsigned long) const - ?generate_authenticator@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 202 NONAME ; enum eap_status_e simple_config_record_c::generate_authenticator(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?derive_additional_keys@simple_config_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@11@Z @ 203 NONAME ; enum eap_status_e simple_config_record_c::derive_additional_keys(class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *) - ?packet_trace@eap_type_simple_config_c@@AAEXPBDPBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 204 NONAME ; void eap_type_simple_config_c::packet_trace(char const *, class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) - ?handle_eap_identity_query@eap_type_simple_config_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E_NPBVeap_variable_data_c@@12@Z @ 205 NONAME ; enum eap_status_e eap_type_simple_config_c::handle_eap_identity_query(class eap_am_network_id_c const *, unsigned char, bool, class eap_variable_data_c const *, bool, class eap_variable_data_c const *) - ??0simple_config_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 206 NONAME ; simple_config_variable_data_c::simple_config_variable_data_c(class abs_eap_am_tools_c *) - ?check_header@eap_simple_config_header_c@@QBE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@_N@Z @ 207 NONAME ; enum eap_status_e eap_simple_config_header_c::check_header(class abs_eap_am_tools_c *, bool) const - ?get_message_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Message_Type_e@@@Z @ 208 NONAME ; char const * eap_simple_config_trace_string_c::get_message_type_string(enum simple_config_Message_Type_e) const - ?reset_header@eap_simple_config_header_c@@QAEXPAVabs_eap_am_tools_c@@K_N@Z @ 209 NONAME ; void eap_simple_config_header_c::reset_header(class abs_eap_am_tools_c *, unsigned long, bool) - ?set_eap_identifier@eap_simple_config_header_c@@QAEXE@Z @ 210 NONAME ; void eap_simple_config_header_c::set_eap_identifier(unsigned char) - ?get_reassembly_state@eap_type_simple_config_c@@ABE?AW4eap_type_simple_config_reassembly_state_e@@XZ @ 211 NONAME ; enum eap_type_simple_config_reassembly_state_e eap_type_simple_config_c::get_reassembly_state(void) const - ?save_simple_config_session@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@PBVeap_variable_data_c@@W4simple_config_Device_Password_ID_e@@PBVsimple_config_payloads_c@@@Z @ 212 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::save_simple_config_session(enum simple_config_state_e, class eap_array_c const *, class eap_variable_data_c const *, enum simple_config_Device_Password_ID_e, class simple_config_payloads_c const *) - ?get_is_valid@simple_config_message_c@@QAE_NXZ @ 213 NONAME ; bool simple_config_message_c::get_is_valid(void) - ?set_last_eap_identifier@eap_type_simple_config_c@@AAEXE@Z @ 214 NONAME ; void eap_type_simple_config_c::set_last_eap_identifier(unsigned char) - ??0network_key_and_index_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 215 NONAME ; network_key_and_index_c::network_key_and_index_c(class abs_eap_am_tools_c *) - ?send_WSC_Done@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 216 NONAME ; enum eap_status_e simple_config_record_c::send_WSC_Done(void) - ?verify_state@simple_config_record_c@@AAE_NW4simple_config_state_e@@@Z @ 217 NONAME ; bool simple_config_record_c::verify_state(enum simple_config_state_e) - ?simple_config_packet_process@eap_type_simple_config_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_simple_config_header_c@@K@Z @ 218 NONAME ; enum eap_status_e eap_type_simple_config_c::simple_config_packet_process(class eap_am_network_id_c const *, class eap_simple_config_header_c *, unsigned long) - ?start_simple_config_authentication@simple_config_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 219 NONAME ; enum eap_status_e simple_config_record_c::start_simple_config_authentication(class eap_variable_data_c const *) - ?copy@network_key_and_index_c@@QAEPAV1@XZ @ 220 NONAME ; class network_key_and_index_c * network_key_and_index_c::copy(void) - ?check_is_valid_eap_type@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 221 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::check_is_valid_eap_type(class eap_expanded_type_c) - ?send_simple_config_message@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 222 NONAME ; enum eap_status_e simple_config_record_c::send_simple_config_message(void) - ?get_sc_op_code_string@eap_simple_config_header_c@@QBEPBDXZ @ 223 NONAME ; char const * eap_simple_config_header_c::get_sc_op_code_string(void) const - ?get_simple_config_flag_value@eap_simple_config_header_c@@QBEEKK@Z @ 224 NONAME ; unsigned char eap_simple_config_header_c::get_simple_config_flag_value(unsigned long, unsigned long) const - ?get_state_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_state_e@@@Z @ 225 NONAME ; char const * eap_simple_config_trace_string_c::get_state_string(enum simple_config_state_e) const - ?add_payloads_to_simple_config_authenticator@simple_config_payloads_c@@QBE?AW4eap_status_e@@PAVcrypto_hmac_c@@_N@Z @ 226 NONAME ; enum eap_status_e simple_config_payloads_c::add_payloads_to_simple_config_authenticator(class crypto_hmac_c *, bool) const - ?reset@simple_config_payloads_c@@QAE?AW4eap_status_e@@XZ @ 227 NONAME ; enum eap_status_e simple_config_payloads_c::reset(void) - ?get_MAC_address_const@simple_config_credential_c@@QBEPBVeap_variable_data_c@@XZ @ 228 NONAME ; class eap_variable_data_c const * simple_config_credential_c::get_MAC_address_const(void) const - ?get_data@simple_config_variable_data_c@@QBEPAEK@Z @ 229 NONAME ; unsigned char * simple_config_variable_data_c::get_data(unsigned long) const - ?get_attribute_pointer@simple_config_payloads_c@@QBEPAVsimple_config_variable_data_c@@W4simple_config_Attribute_Type_e@@@Z @ 230 NONAME ; class simple_config_variable_data_c * simple_config_payloads_c::get_attribute_pointer(enum simple_config_Attribute_Type_e) const - ?completion_action_clenup@simple_config_record_c@@AAE?AW4eap_status_e@@XZ @ 231 NONAME ; enum eap_status_e simple_config_record_c::completion_action_clenup(void) - ?type_configure_read@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 232 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::type_configure_read(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?set_eap_length@eap_simple_config_header_c@@QAEXG_N@Z @ 233 NONAME ; void eap_simple_config_header_c::set_eap_length(unsigned short, bool) - ?add_attribute@simple_config_payloads_c@@QAE?AW4eap_status_e@@PAVsimple_config_variable_data_c@@@Z @ 234 NONAME ; enum eap_status_e simple_config_payloads_c::add_attribute(class simple_config_variable_data_c *) - ?get_state@simple_config_record_c@@ABE?AW4simple_config_state_e@@XZ @ 235 NONAME ; enum simple_config_state_e simple_config_record_c::get_state(void) const - ?process_M2D@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 236 NONAME ; enum eap_status_e simple_config_record_c::process_M2D(class simple_config_payloads_c const *) - ?parse_simple_config_payloads@simple_config_payloads_c@@QAE?AW4eap_status_e@@PAXPAK1@Z @ 237 NONAME ; enum eap_status_e simple_config_payloads_c::parse_simple_config_payloads(void *, unsigned long *, unsigned long *) - ?set_nai_realm@simple_config_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 238 NONAME ; enum eap_status_e simple_config_record_c::set_nai_realm(class eap_variable_data_c const *) - ?configure@simple_config_record_c@@UAE?AW4eap_status_e@@XZ @ 239 NONAME ; enum eap_status_e simple_config_record_c::configure(void) - ?completion_action_add@simple_config_record_c@@AAE?AW4eap_status_e@@W4simple_config_completion_action_e@@@Z @ 240 NONAME ; enum eap_status_e simple_config_record_c::completion_action_add(enum simple_config_completion_action_e) - ?get_network_index@simple_config_credential_c@@QBEEXZ @ 241 NONAME ; unsigned char simple_config_credential_c::get_network_index(void) const - ?set_is_valid@eap_type_simple_config_c@@UAEXXZ @ 242 NONAME ; void eap_type_simple_config_c::set_is_valid(void) - ?get_Authentication_Type@simple_config_credential_c@@QAE?AW4simple_config_Authentication_Type_e@@XZ @ 243 NONAME ; enum simple_config_Authentication_Type_e simple_config_credential_c::get_Authentication_Type(void) - ??1network_key_and_index_c@@UAE@XZ @ 244 NONAME ; network_key_and_index_c::~network_key_and_index_c(void) - ?get_data_length@eap_simple_config_header_c@@QBEGXZ @ 245 NONAME ; unsigned short eap_simple_config_header_c::get_data_length(void) const - ?process_M6@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 246 NONAME ; enum eap_status_e simple_config_record_c::process_M6(class simple_config_payloads_c const *) - ?complete_eap_identity_query@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EW42@_NPBVeap_variable_data_c@@23@Z @ 247 NONAME ; enum eap_status_e eap_type_simple_config_c::complete_eap_identity_query(class eap_am_network_id_c const *, unsigned char, enum eap_status_e, bool, class eap_variable_data_c const *, bool, class eap_variable_data_c const *) - ?set_is_valid@CEapAmProtectedSetupSymbian@@QAEXXZ @ 248 NONAME ; void CEapAmProtectedSetupSymbian::set_is_valid(void) - ?send_simple_config_start_message@eap_type_simple_config_c@@AAE?AW4eap_status_e@@E@Z @ 249 NONAME ; enum eap_status_e eap_type_simple_config_c::send_simple_config_start_message(unsigned char) - ?get_is_valid@simple_config_credential_c@@QAE_NXZ @ 250 NONAME ; bool simple_config_credential_c::get_is_valid(void) - ?set_is_valid@simple_config_completion_c@@AAEXXZ @ 251 NONAME ; void simple_config_completion_c::set_is_valid(void) - ?get_network_keys_const@simple_config_credential_c@@QBEPBV?$eap_array_c@Vnetwork_key_and_index_c@@@@XZ @ 252 NONAME ; class eap_array_c const * simple_config_credential_c::get_network_keys_const(void) const - ?get_simple_config_max_header_length@eap_simple_config_header_c@@SAKXZ @ 253 NONAME ; unsigned long eap_simple_config_header_c::get_simple_config_max_header_length(void) - ?get_network_key@network_key_and_index_c@@QAEPAVeap_variable_data_c@@XZ @ 254 NONAME ; class eap_variable_data_c * network_key_and_index_c::get_network_key(void) - ??0eap_simple_config_header_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 255 NONAME ; eap_simple_config_header_c::eap_simple_config_header_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long) - ?check_payloads_existense@simple_config_payloads_c@@QBE?AW4eap_status_e@@PBW4simple_config_Attribute_Type_e@@K@Z @ 256 NONAME ; enum eap_status_e simple_config_payloads_c::check_payloads_existense(enum simple_config_Attribute_Type_e const *, unsigned long) const - ?get_SSID_const@simple_config_credential_c@@QBEPBVeap_variable_data_c@@XZ @ 257 NONAME ; class eap_variable_data_c const * simple_config_credential_c::get_SSID_const(void) const - ?shutdown@eap_type_simple_config_c@@UAE?AW4eap_status_e@@XZ @ 258 NONAME ; enum eap_status_e eap_type_simple_config_c::shutdown(void) - ?check_is_valid_eap_type@eap_type_simple_config_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 259 NONAME ; enum eap_status_e eap_type_simple_config_c::check_is_valid_eap_type(class eap_expanded_type_c) - ?set_simple_config_message_length@eap_simple_config_header_c@@QAEXK@Z @ 260 NONAME ; void eap_simple_config_header_c::set_simple_config_message_length(unsigned long) - ??1simple_config_payloads_c@@UAE@XZ @ 261 NONAME ; simple_config_payloads_c::~simple_config_payloads_c(void) - ?add_common_attributes@simple_config_record_c@@AAE?AW4eap_status_e@@PAVsimple_config_payloads_c@@W4simple_config_Message_Type_e@@_N2@Z @ 262 NONAME ; enum eap_status_e simple_config_record_c::add_common_attributes(class simple_config_payloads_c *, enum simple_config_Message_Type_e, bool, bool) - ?get_simple_config_min_header_length@eap_simple_config_header_c@@QBEKXZ @ 263 NONAME ; unsigned long eap_simple_config_header_c::get_simple_config_min_header_length(void) const - ?set_session_timeout@eap_type_simple_config_c@@UAE?AW4eap_status_e@@K@Z @ 264 NONAME ; enum eap_status_e eap_type_simple_config_c::set_session_timeout(unsigned long) - ?get_eap_type_list@eap_type_simple_config_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 265 NONAME ; enum eap_status_e eap_type_simple_config_c::get_eap_type_list(class eap_array_c *) - ??1simple_config_base_record_c@@UAE@XZ @ 266 NONAME ; simple_config_base_record_c::~simple_config_base_record_c(void) - ?cancel_query_network_and_device_parameters@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@XZ @ 267 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::cancel_query_network_and_device_parameters(void) - ?get_eap_type_list@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 268 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::get_eap_type_list(class eap_array_c *) - ?set_Encryption_Type@simple_config_credential_c@@QAEXW4simple_config_Encryption_Type_e@@@Z @ 269 NONAME ; void simple_config_credential_c::set_Encryption_Type(enum simple_config_Encryption_Type_e) - ?get_flag_more_fragments@eap_simple_config_header_c@@QBE_NXZ @ 270 NONAME ; bool eap_simple_config_header_c::get_flag_more_fragments(void) const - ?get_saved_previous_state_string@eap_type_simple_config_c@@ABEPBDXZ @ 271 NONAME ; char const * eap_type_simple_config_c::get_saved_previous_state_string(void) const - ?authentication_finished@CEapAmProtectedSetupSymbian@@UAE?AW4eap_status_e@@_N0@Z @ 272 NONAME ; enum eap_status_e CEapAmProtectedSetupSymbian::authentication_finished(bool, bool) - ?complete_query_network_and_device_parameters@simple_config_record_c@@UAE?AW4eap_status_e@@W4simple_config_state_e@@PAVsimple_config_payloads_c@@W42@@Z @ 273 NONAME ; enum eap_status_e simple_config_record_c::complete_query_network_and_device_parameters(enum simple_config_state_e, class simple_config_payloads_c *, enum eap_status_e) - ?get_eap_identifier@eap_simple_config_header_c@@QBEEXZ @ 274 NONAME ; unsigned char eap_simple_config_header_c::get_eap_identifier(void) const - ?set_completion_action@simple_config_completion_c@@QAEXW4simple_config_completion_action_e@@@Z @ 275 NONAME ; void simple_config_completion_c::set_completion_action(enum simple_config_completion_action_e) - ?get_data@eap_simple_config_header_c@@QBEPAEPAVabs_eap_am_tools_c@@K@Z @ 276 NONAME ; unsigned char * eap_simple_config_header_c::get_data(class abs_eap_am_tools_c *, unsigned long) const - ?get_is_valid@simple_config_completion_c@@QAE_NXZ @ 277 NONAME ; bool simple_config_completion_c::get_is_valid(void) - ?get_nai_realm@eap_type_simple_config_c@@AAEPAVeap_variable_data_c@@XZ @ 278 NONAME ; class eap_variable_data_c * eap_type_simple_config_c::get_nai_realm(void) - ?process_WSC_ACK@simple_config_record_c@@AAE?AW4eap_status_e@@PBVsimple_config_payloads_c@@@Z @ 279 NONAME ; enum eap_status_e simple_config_record_c::process_WSC_ACK(class simple_config_payloads_c const *) - ?get_header_offset@eap_type_simple_config_c@@UAEKPAK0@Z @ 280 NONAME ; unsigned long eap_type_simple_config_c::get_header_offset(unsigned long *, unsigned long *) - ?query_eap_identity@eap_type_simple_config_c@@UAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@PBVeap_am_network_id_c@@E@Z @ 281 NONAME ; enum eap_status_e eap_type_simple_config_c::query_eap_identity(bool, class eap_variable_data_c *, class eap_am_network_id_c const *, unsigned char) - ??1simple_config_completion_c@@UAE@XZ @ 282 NONAME ; simple_config_completion_c::~simple_config_completion_c(void) - ?get_is_valid@network_key_and_index_c@@QAE_NXZ @ 283 NONAME ; bool network_key_and_index_c::get_is_valid(void) - ?set_flag_more_fragments@eap_simple_config_header_c@@QAEX_N@Z @ 284 NONAME ; void eap_simple_config_header_c::set_flag_more_fragments(bool) - ?timer_expired@simple_config_record_c@@EAE?AW4eap_status_e@@KPAX@Z @ 285 NONAME ; enum eap_status_e simple_config_record_c::timer_expired(unsigned long, void *) - ??1simple_config_record_c@@UAE@XZ @ 286 NONAME ; simple_config_record_c::~simple_config_record_c(void) - ??0eap_simple_config_trace_string_c@@QAE@XZ @ 287 NONAME ; eap_simple_config_trace_string_c::eap_simple_config_trace_string_c(void) - ?get_sc_op_code@eap_simple_config_header_c@@QBE?AW4op_code_e@1@XZ @ 288 NONAME ; enum eap_simple_config_header_c::op_code_e eap_simple_config_header_c::get_sc_op_code(void) const - ?get_sc_length_offset@eap_simple_config_header_c@@QBEKXZ @ 289 NONAME ; unsigned long eap_simple_config_header_c::get_sc_length_offset(void) const - ?get_header_length@simple_config_tlv_header_c@@SAKXZ @ 290 NONAME ; unsigned long simple_config_tlv_header_c::get_header_length(void) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/eapsecuridu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapsecuridu.def Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapsecuridu.def Wed Sep 01 12:23:57 2010 +0100 @@ -1,35 +1,3 @@ EXPORTS ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) - ?get_is_valid@eap_type_securid_c@@UAE_NXZ @ 2 NONAME ; bool eap_type_securid_c::get_is_valid(void) - ?configure@eap_type_securid_c@@UAE?AW4eap_status_e@@XZ @ 3 NONAME ; enum eap_status_e eap_type_securid_c::configure(void) - ?client_securid_complete_passcode_query@eap_type_securid_c@@EAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 4 NONAME ; enum eap_status_e eap_type_securid_c::client_securid_complete_passcode_query(class eap_variable_data_c const *) - ?configure@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@XZ @ 5 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::configure(void) - ?DlgComplete@eap_am_type_securid_symbian_c@@UAEXH@Z @ 6 NONAME ; void eap_am_type_securid_symbian_c::DlgComplete(int) - ??1eap_am_type_securid_symbian_c@@UAE@XZ @ 7 NONAME ; eap_am_type_securid_symbian_c::~eap_am_type_securid_symbian_c(void) - ?read_auth_failure_string@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 8 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::read_auth_failure_string(class eap_variable_data_c *) - ??0eap_type_securid_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@PAVeap_am_type_securid_c@@_NVeap_expanded_type_c@@3PBVeap_am_network_id_c@@@Z @ 9 NONAME ; eap_type_securid_c::eap_type_securid_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, class eap_am_type_securid_c *, bool, class eap_expanded_type_c, bool, class eap_am_network_id_c const *) - ?eap_acknowledge@eap_type_securid_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 10 NONAME ; enum eap_status_e eap_type_securid_c::eap_acknowledge(class eap_am_network_id_c const *) - ?client_gtc_complete_user_input_query@eap_type_securid_c@@EAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 11 NONAME ; enum eap_status_e eap_type_securid_c::client_gtc_complete_user_input_query(class eap_variable_data_c const *) - ?set_is_valid@eap_type_securid_c@@UAEXXZ @ 12 NONAME ; void eap_type_securid_c::set_is_valid(void) - ?reset@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@XZ @ 13 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::reset(void) - ?timer_expired@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@KPAX@Z @ 14 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::timer_expired(unsigned long, void *) - ?type_configure_write@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 15 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::type_configure_write(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?get_is_valid@eap_am_type_securid_symbian_c@@QAE_NXZ @ 16 NONAME ; bool eap_am_type_securid_symbian_c::get_is_valid(void) - ?set_initial_eap_identifier@eap_type_securid_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 17 NONAME ; enum eap_status_e eap_type_securid_c::set_initial_eap_identifier(class eap_am_network_id_c const *, unsigned char) - ?client_securid_complete_pincode_query@eap_type_securid_c@@EAE?AW4eap_status_e@@PBVeap_variable_data_c@@0@Z @ 18 NONAME ; enum eap_status_e eap_type_securid_c::client_securid_complete_pincode_query(class eap_variable_data_c const *, class eap_variable_data_c const *) - ?remove_username_store@eap_type_securid_c@@AAE?AW4eap_status_e@@XZ @ 19 NONAME ; enum eap_status_e eap_type_securid_c::remove_username_store(void) - ?timer_delete_data@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@KPAX@Z @ 20 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::timer_delete_data(unsigned long, void *) - ??1eap_type_securid_c@@UAE@XZ @ 21 NONAME ; eap_type_securid_c::~eap_type_securid_c(void) - ?finish_unsuccessful_authentication@eap_type_securid_c@@EAE?AW4eap_status_e@@_N@Z @ 22 NONAME ; enum eap_status_e eap_type_securid_c::finish_unsuccessful_authentication(bool) - ?get_is_client@eap_type_securid_c@@EAE_NXZ @ 23 NONAME ; bool eap_type_securid_c::get_is_client(void) - ?shutdown@eap_type_securid_c@@UAE?AW4eap_status_e@@XZ @ 24 NONAME ; enum eap_status_e eap_type_securid_c::shutdown(void) - ?shutdown@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@XZ @ 25 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::shutdown(void) - ?complete_eap_identity_query@eap_type_securid_c@@EAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 26 NONAME ; enum eap_status_e eap_type_securid_c::complete_eap_identity_query(class eap_variable_data_c const *) - ?finish_successful_authentication@eap_type_securid_c@@AAE?AW4eap_status_e@@XZ @ 27 NONAME ; enum eap_status_e eap_type_securid_c::finish_successful_authentication(void) - ?get_memory_store_key@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 28 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::get_memory_store_key(class eap_variable_data_c *) - ?reset@eap_type_securid_c@@UAE?AW4eap_status_e@@XZ @ 29 NONAME ; enum eap_status_e eap_type_securid_c::reset(void) - ?query_eap_identity@eap_type_securid_c@@UAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@PBVeap_am_network_id_c@@E@Z @ 30 NONAME ; enum eap_status_e eap_type_securid_c::query_eap_identity(bool, class eap_variable_data_c *, class eap_am_network_id_c const *, unsigned char) - ?type_configure_read@eap_am_type_securid_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 31 NONAME ; enum eap_status_e eap_am_type_securid_symbian_c::type_configure_read(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?set_is_valid@eap_am_type_securid_symbian_c@@QAEXXZ @ 32 NONAME ; void eap_am_type_securid_symbian_c::set_is_valid(void) - ?packet_process@eap_type_securid_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 33 NONAME ; enum eap_status_e eap_type_securid_c::packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/eapsimu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapsimu.def Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapsimu.def Wed Sep 01 12:23:57 2010 +0100 @@ -1,233 +1,3 @@ EXPORTS ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) - ?get_payload_AT_string@gsmsim_payload_AT_header_c@@SAPBDW4gsmsim_payload_AT_type_e@@@Z @ 2 NONAME ; char const * gsmsim_payload_AT_header_c::get_payload_AT_string(enum gsmsim_payload_AT_type_e) - ?get_data_offset@gsmsim_payload_AT_header_c@@QBEPAEKK@Z @ 3 NONAME ; unsigned char * gsmsim_payload_AT_header_c::get_data_offset(unsigned long, unsigned long) const - ?restore_saved_previous_state@eap_type_gsmsim_c@@AAEXXZ @ 4 NONAME ; void eap_type_gsmsim_c::restore_saved_previous_state(void) - ?get_is_client@eap_type_gsmsim_c@@UAE_NXZ @ 5 NONAME ; bool eap_type_gsmsim_c::get_is_client(void) - ?set_data@gsmsim_fixed_data_c@@QAEXPBVgsmsim_payload_AT_header_c@@GG@Z @ 6 NONAME ; void gsmsim_fixed_data_c::set_data(class gsmsim_payload_AT_header_c const *, unsigned short, unsigned short) - ?query_SIM_IMSI_or_pseudonym_or_reauthentication_id@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@000PAK_NW4gsmsim_payload_AT_type_e@@W4eap_type_gsmsim_complete_e@@E@Z @ 7 NONAME ; enum eap_status_e eap_type_gsmsim_c::query_SIM_IMSI_or_pseudonym_or_reauthentication_id(class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, unsigned long *, bool, enum gsmsim_payload_AT_type_e, enum eap_type_gsmsim_complete_e, unsigned char) - ?handle_gsmsim_notification_request_message_reauthentication@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 8 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_gsmsim_notification_request_message_reauthentication(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *) - ?state_notification@eap_type_gsmsim_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 9 NONAME ; void eap_type_gsmsim_c::state_notification(class abs_eap_state_notification_c const *) - ?set_initial_eap_identifier@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 10 NONAME ; enum eap_status_e eap_type_gsmsim_c::set_initial_eap_identifier(class eap_am_network_id_c const *, unsigned char) - ?query_reauth_parameters@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@00PAK@Z @ 11 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::query_reauth_parameters(class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, unsigned long *) - ?get_data_length@gsmsim_header_c@@QBEGXZ @ 12 NONAME ; unsigned short gsmsim_header_c::get_data_length(void) const - ?handle_gsmsim_packet@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 13 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_gsmsim_packet(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *) - ?get_payload_included@gsmsim_variable_data_c@@QBE_NXZ @ 14 NONAME ; bool gsmsim_variable_data_c::get_payload_included(void) const - ?get_reserved@gsmsim_header_c@@QBEGXZ @ 15 NONAME ; unsigned short gsmsim_header_c::get_reserved(void) const - ?get_payload_buffer@gsmsim_variable_data_c@@QAEPAVeap_variable_data_c@@XZ @ 16 NONAME ; class eap_variable_data_c * gsmsim_variable_data_c::get_payload_buffer(void) - ?get_header_offset@eap_type_gsmsim_c@@UAEKPAK0@Z @ 17 NONAME ; unsigned long eap_type_gsmsim_c::get_header_offset(unsigned long *, unsigned long *) - ??1gsmsim_payloads_c@@UAE@XZ @ 18 NONAME ; gsmsim_payloads_c::~gsmsim_payloads_c(void) - ?query_SIM_IMSI_or_pseudonym_or_reauthentication_id@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@111PAKW4gsmsim_payload_AT_type_e@@W4eap_type_gsmsim_complete_e@@E@Z @ 19 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::query_SIM_IMSI_or_pseudonym_or_reauthentication_id(bool, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, unsigned long *, enum gsmsim_payload_AT_type_e, enum eap_type_gsmsim_complete_e, unsigned char) - ?store_pseudonym_id@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@@Z @ 20 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::store_pseudonym_id(class eap_am_network_id_c const *, class eap_variable_data_c const *) - ?get_state_string@eap_type_gsmsim_c@@SAPBDW4eap_type_gsmsim_state_variable_e@@@Z @ 21 NONAME ; char const * eap_type_gsmsim_c::get_state_string(enum eap_type_gsmsim_state_variable_e) - ?get_ENCR_DATA@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 22 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_ENCR_DATA(void) - ?set_triplet@eap_type_sim_triplet_array_c@@QAE?AW4eap_status_e@@KPAVeap_type_saesim_triplet_c@@@Z @ 23 NONAME ; enum eap_status_e eap_type_sim_triplet_array_c::set_triplet(unsigned long, class eap_type_saesim_triplet_c *) - ?get_original_header@gsmsim_fixed_data_c@@QAEPBVgsmsim_payload_AT_header_c@@XZ @ 24 NONAME ; class gsmsim_payload_AT_header_c const * gsmsim_fixed_data_c::get_original_header(void) - ?check_message_authentication_code@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVgsmsim_payloads_c@@PBVgsmsim_header_c@@K@Z @ 25 NONAME ; enum eap_status_e eap_type_gsmsim_c::check_message_authentication_code(class eap_variable_data_c const *, class gsmsim_payloads_c *, class gsmsim_header_c const *, unsigned long) - ?get_identity_string@eap_type_gsmsim_c@@SAPBDW4eap_type_gsmsim_identity_type@@@Z @ 26 NONAME ; char const * eap_type_gsmsim_c::get_identity_string(enum eap_type_gsmsim_identity_type) - ??0eap_type_gsmsim_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@PAVeap_am_type_gsmsim_c@@_N3PBVeap_am_network_id_c@@@Z @ 27 NONAME ; eap_type_gsmsim_c::eap_type_gsmsim_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, class eap_am_type_gsmsim_c *, bool, bool, class eap_am_network_id_c const *) - ?generate_reauthentication_id@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@PAV4@K@Z @ 28 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::generate_reauthentication_id(class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long) - ??0gsmsim_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 29 NONAME ; gsmsim_variable_data_c::gsmsim_variable_data_c(class abs_eap_am_tools_c *) - ?generate_pseudonym_id@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@PAV4@K@Z @ 30 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::generate_pseudonym_id(class eap_am_network_id_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long) - ?initialize_notification_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 31 NONAME ; enum eap_status_e eap_type_gsmsim_c::initialize_notification_message(void) - ?get_VERSION_LIST@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 32 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_VERSION_LIST(void) - ?finish_successful_authentication@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 33 NONAME ; enum eap_status_e eap_type_gsmsim_c::finish_successful_authentication(class eap_am_network_id_c const *) - ?get_data_length@gsmsim_payload_AT_header_c@@QBEKXZ @ 34 NONAME ; unsigned long gsmsim_payload_AT_header_c::get_data_length(void) const - ?add_mac_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111PAPAE1@Z @ 35 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_mac_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, unsigned char * *, unsigned long *) - ?set_includes_unknown_attribute@gsmsim_payloads_c@@QAEXW4gsmsim_payload_AT_type_e@@@Z @ 36 NONAME ; void gsmsim_payloads_c::set_includes_unknown_attribute(enum gsmsim_payload_AT_type_e) - ?get_ANY_ID_REQ@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 37 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_ANY_ID_REQ(void) - ?configure@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@XZ @ 38 NONAME ; enum eap_status_e eap_type_gsmsim_c::configure(void) - ?add_padding_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111K@Z @ 39 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_padding_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, unsigned long) - ?get_CLIENT_ERROR_CODE@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 40 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_CLIENT_ERROR_CODE(void) - ?extra_message_authentication_code_bytes@eap_type_gsmsim_c@@QAE?AW4eap_status_e@@W4gsmsim_subtype_e@@W4eap_code_value_e@@PAVcrypto_hmac_c@@@Z @ 41 NONAME ; enum eap_status_e eap_type_gsmsim_c::extra_message_authentication_code_bytes(enum gsmsim_subtype_e, enum eap_code_value_e, class crypto_hmac_c *) - ?get_RESULT_IND@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 42 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_RESULT_IND(void) - ?check_payloads@gsmsim_payloads_c@@QAE_NW4eap_gsmsim_payload_status_e@1@0000000000000000000@Z @ 43 NONAME ; bool gsmsim_payloads_c::check_payloads(enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, enum gsmsim_payloads_c::eap_gsmsim_payload_status_e) - ?query_SIM_imsi@eap_am_type_gsmsim_symbian_c@@QAE?AW4eap_status_e@@PAEKPAK@Z @ 44 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::query_SIM_imsi(unsigned char *, unsigned long, unsigned long *) - ?create_message_authentication_code@eap_type_gsmsim_c@@QAE?AW4eap_status_e@@PAVeap_type_gsmsim_MAC_attributes_c@@W4gsmsim_subtype_e@@W4eap_code_value_e@@PBVeap_variable_data_c@@@Z @ 45 NONAME ; enum eap_status_e eap_type_gsmsim_c::create_message_authentication_code(class eap_type_gsmsim_MAC_attributes_c *, enum gsmsim_subtype_e, enum eap_code_value_e, class eap_variable_data_c const *) - ?cancel_imsi_from_username_query@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@XZ @ 46 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::cancel_imsi_from_username_query(void) - ?reset@gsmsim_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 47 NONAME ; enum eap_status_e gsmsim_variable_data_c::reset(void) - ?set_rand_is_used@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 48 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::set_rand_is_used(class eap_variable_data_c const *) - ?get_padding_payload@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 49 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_padding_payload(void) - ?get_counter_too_small@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 50 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_counter_too_small(void) - ?get_is_valid@eap_am_type_gsmsim_symbian_c@@QAE_NXZ @ 51 NONAME ; bool eap_am_type_gsmsim_symbian_c::get_is_valid(void) - ?get_FULLAUTH_ID_REQ@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 52 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_FULLAUTH_ID_REQ(void) - ?set_is_valid@eap_am_type_gsmsim_symbian_c@@QAEXXZ @ 53 NONAME ; void eap_am_type_gsmsim_symbian_c::set_is_valid(void) - ??0gsmsim_payloads_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 54 NONAME ; gsmsim_payloads_c::gsmsim_payloads_c(class abs_eap_am_tools_c *) - ?add_version_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111W4eap_gsmsim_version@@@Z @ 55 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_version_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum eap_gsmsim_version) - ?get_header_length@gsmsim_header_c@@QBEKXZ @ 56 NONAME ; unsigned long gsmsim_header_c::get_header_length(void) const - ?check_header@gsmsim_header_c@@UBE?AW4eap_status_e@@XZ @ 57 NONAME ; enum eap_status_e gsmsim_header_c::check_header(void) const - ?check_valid_types@eap_type_gsmsim_state_variable_parameters_c@@QBE_NW4gsmsim_subtype_e@@@Z @ 58 NONAME ; bool eap_type_gsmsim_state_variable_parameters_c::check_valid_types(enum gsmsim_subtype_e) const - ?get_payload_AT_string@gsmsim_payload_AT_header_c@@QBEPBDXZ @ 59 NONAME ; char const * gsmsim_payload_AT_header_c::get_payload_AT_string(void) const - ?configure@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@XZ @ 60 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::configure(void) - ?timer_expired@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@KPAX@Z @ 61 NONAME ; enum eap_status_e eap_type_gsmsim_c::timer_expired(unsigned long, void *) - ?get_MAC@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 62 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_MAC(void) - ?query_eap_identity@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@PBVeap_am_network_id_c@@E@Z @ 63 NONAME ; enum eap_status_e eap_type_gsmsim_c::query_eap_identity(bool, class eap_variable_data_c *, class eap_am_network_id_c const *, unsigned char) - ?handle_gsmsim_notification_request_message_full_authentication@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 64 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_gsmsim_notification_request_message_full_authentication(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *) - ?get_kc@eap_type_saesim_triplet_c@@QAEPAVeap_variable_data_c@@XZ @ 65 NONAME ; class eap_variable_data_c * eap_type_saesim_triplet_c::get_kc(void) - ?get_data_offset@gsmsim_header_c@@QBEPAEKK@Z @ 66 NONAME ; unsigned char * gsmsim_header_c::get_data_offset(unsigned long, unsigned long) const - ?query_SIM_kc_sres@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@1@Z @ 67 NONAME ; enum eap_status_e eap_type_gsmsim_c::query_SIM_kc_sres(class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *) - ?gsmsim_packet_process@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@K_N@Z @ 68 NONAME ; enum eap_status_e eap_type_gsmsim_c::gsmsim_packet_process(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, bool) - ?get_n_RANDs@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 69 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_n_RANDs(void) - ?get_NEXT_PSEUDONYM@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 70 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_NEXT_PSEUDONYM(void) - ?random_selection@eap_type_gsmsim_c@@AAE_NXZ @ 71 NONAME ; bool eap_type_gsmsim_c::random_selection(void) - ??1eap_type_saesim_triplet_c@@UAE@XZ @ 72 NONAME ; eap_type_saesim_triplet_c::~eap_type_saesim_triplet_c(void) - ??0gsmsim_header_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 73 NONAME ; gsmsim_header_c::gsmsim_header_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long) - ?add_notification_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111W4eap_gsmsim_notification_codes_e@@@Z @ 74 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_notification_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum eap_gsmsim_notification_codes_e) - ?add_version_list@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111PBW4eap_gsmsim_version@@KW4gsmsim_payload_AT_type_e@@@Z @ 75 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_version_list(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum eap_gsmsim_version const *, unsigned long, enum gsmsim_payload_AT_type_e) - ??0eap_type_gsmsim_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@W4eap_type_ietf_values_e@@KKE2@Z @ 76 NONAME ; eap_type_gsmsim_state_notification_c::eap_type_gsmsim_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, enum eap_type_ietf_values_e, unsigned long, unsigned long, unsigned char, bool) - ?init_state@eap_type_gsmsim_state_variable_parameters_c@@QAEX_N0W4gsmsim_subtype_e@@111@Z @ 77 NONAME ; void eap_type_gsmsim_state_variable_parameters_c::init_state(bool, bool, enum gsmsim_subtype_e, enum gsmsim_subtype_e, enum gsmsim_subtype_e, enum gsmsim_subtype_e) - ??1eap_type_gsmsim_state_variable_parameters_c@@UAE@XZ @ 78 NONAME ; eap_type_gsmsim_state_variable_parameters_c::~eap_type_gsmsim_state_variable_parameters_c(void) - ?get_data@gsmsim_header_c@@QBEPAEK@Z @ 79 NONAME ; unsigned char * gsmsim_header_c::get_data(unsigned long) const - ?send_start_response_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EW4eap_gsmsim_version@@W4gsmsim_payload_AT_type_e@@PBVeap_variable_data_c@@K@Z @ 80 NONAME ; enum eap_status_e eap_type_gsmsim_c::send_start_response_message(class eap_am_network_id_c const *, unsigned char, enum eap_gsmsim_version, enum gsmsim_payload_AT_type_e, class eap_variable_data_c const *, unsigned long) - ?get_payload_length@gsmsim_payload_AT_header_c@@QBEGXZ @ 81 NONAME ; unsigned short gsmsim_payload_AT_header_c::get_payload_length(void) const - ??1eap_type_gsmsim_state_notification_c@@UAE@XZ @ 82 NONAME ; eap_type_gsmsim_state_notification_c::~eap_type_gsmsim_state_notification_c(void) - ??0gsmsim_fixed_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 83 NONAME ; gsmsim_fixed_data_c::gsmsim_fixed_data_c(class abs_eap_am_tools_c *) - ?query_SIM_kc_sres@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@_NPBVeap_variable_data_c@@PAV3@2@Z @ 84 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::query_SIM_kc_sres(bool, class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *) - ?send_gsmsim_client_error_response@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 85 NONAME ; enum eap_status_e eap_type_gsmsim_c::send_gsmsim_client_error_response(void) - ?check_is_rand_unused@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 86 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::check_is_rand_unused(class eap_variable_data_c const *) - ?get_rand@eap_type_saesim_triplet_c@@QAEPAVeap_variable_data_c@@XZ @ 87 NONAME ; class eap_variable_data_c * eap_type_saesim_triplet_c::get_rand(void) - ?get_state_string@eap_type_gsmsim_c@@ABEPBDXZ @ 88 NONAME ; char const * eap_type_gsmsim_c::get_state_string(void) const - ?shutdown@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@XZ @ 89 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::shutdown(void) - ?get_sub_type_offset@gsmsim_header_c@@QBEKXZ @ 90 NONAME ; unsigned long gsmsim_header_c::get_sub_type_offset(void) const - ?set_reserved@gsmsim_header_c@@QAEXG@Z @ 91 NONAME ; void gsmsim_header_c::set_reserved(unsigned short) - ?get_NEXT_REAUTH_ID@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 92 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_NEXT_REAUTH_ID(void) - ?get_eap_type_string@gsmsim_header_c@@QBEPBDXZ @ 93 NONAME ; char const * gsmsim_header_c::get_eap_type_string(void) const - ?set_reserved@gsmsim_payload_AT_header_c@@QAEXG@Z @ 94 NONAME ; void gsmsim_payload_AT_header_c::set_reserved(unsigned short) - ?get_sres@eap_type_saesim_triplet_c@@QAEPAVeap_variable_data_c@@XZ @ 95 NONAME ; class eap_variable_data_c * eap_type_saesim_triplet_c::get_sres(void) - ?cancel_SIM_kc_sres_query@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@XZ @ 96 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_kc_sres_query(void) - ?initialize_state@eap_type_gsmsim_c@@AAEXW4eap_type_gsmsim_state_variable_e@@_N1W4gsmsim_subtype_e@@222@Z @ 97 NONAME ; void eap_type_gsmsim_c::initialize_state(enum eap_type_gsmsim_state_variable_e, bool, bool, enum gsmsim_subtype_e, enum gsmsim_subtype_e, enum gsmsim_subtype_e, enum gsmsim_subtype_e) - ?add_client_error_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111W4eap_gsmsim_client_error_code_e@@@Z @ 98 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_client_error_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum eap_gsmsim_client_error_code_e) - ?set_buffer@gsmsim_variable_data_c@@QAE?AW4eap_status_e@@PBVgsmsim_payload_AT_header_c@@PAEK_N2@Z @ 99 NONAME ; enum eap_status_e gsmsim_variable_data_c::set_buffer(class gsmsim_payload_AT_header_c const *, unsigned char *, unsigned long, bool, bool) - ?handle_start_request_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 100 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_start_request_message(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *) - ?type_configure_write@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 101 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::type_configure_write(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?write_configure@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 102 NONAME ; enum eap_status_e eap_type_gsmsim_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?send_reauthentication_response_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@0000GE_N@Z @ 103 NONAME ; enum eap_status_e eap_type_gsmsim_c::send_reauthentication_response_message(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned short, unsigned char, bool) - ?send_gsmsim_notification_response@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@W4eap_gsmsim_notification_codes_e@@_N@Z @ 104 NONAME ; enum eap_status_e eap_type_gsmsim_c::send_gsmsim_notification_response(enum eap_gsmsim_notification_codes_e, bool) - ?save_version@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBGKW4eap_gsmsim_version@@@Z @ 105 NONAME ; enum eap_status_e eap_type_gsmsim_c::save_version(unsigned short const *, unsigned long, enum eap_gsmsim_version) - ?get_next_header@gsmsim_payload_AT_header_c@@QBEPAEXZ @ 106 NONAME ; unsigned char * gsmsim_payload_AT_header_c::get_next_header(void) const - ?get_code_string@gsmsim_header_c@@QBEPBDXZ @ 107 NONAME ; char const * gsmsim_header_c::get_code_string(void) const - ??0gsmsim_payload_AT_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 108 NONAME ; gsmsim_payload_AT_header_c::gsmsim_payload_AT_header_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_query@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@XZ @ 109 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_query(void) - ?authentication_finished@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@_NW4eap_gsmsim_authentication_type_e@@W4eap_type_gsmsim_identity_type@@@Z @ 110 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::authentication_finished(bool, enum eap_gsmsim_authentication_type_e, enum eap_type_gsmsim_identity_type) - ?reset_header@gsmsim_payload_AT_header_c@@QAEXG@Z @ 111 NONAME ; void gsmsim_payload_AT_header_c::reset_header(unsigned short) - ??0eap_type_gsmsim_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_generic_e@@W4eap_protocol_layer_e@@KKKE2@Z @ 112 NONAME ; eap_type_gsmsim_state_notification_c::eap_type_gsmsim_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_generic_e, enum eap_protocol_layer_e, unsigned long, unsigned long, unsigned long, unsigned char, bool) - ?check_header@gsmsim_payload_AT_header_c@@UBE?AW4eap_status_e@@XZ @ 113 NONAME ; enum eap_status_e gsmsim_payload_AT_header_c::check_header(void) const - ?handle_DATA_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@W4gsmsim_subtype_e@@PAVgsmsim_payloads_c@@@Z @ 114 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_DATA_payload(enum gsmsim_subtype_e, class gsmsim_payloads_c *) - ?get_data@gsmsim_fixed_data_c@@QBEGPAVabs_eap_am_tools_c@@@Z @ 115 NONAME ; unsigned short gsmsim_fixed_data_c::get_data(class abs_eap_am_tools_c *) const - ?increase_reauth_counter@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@XZ @ 116 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::increase_reauth_counter(void) - ?shutdown@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@XZ @ 117 NONAME ; enum eap_status_e eap_type_gsmsim_c::shutdown(void) - ?get_subtype@gsmsim_header_c@@QBE?AW4gsmsim_subtype_e@@XZ @ 118 NONAME ; enum gsmsim_subtype_e gsmsim_header_c::get_subtype(void) const - ??1eap_am_type_gsmsim_symbian_c@@UAE@XZ @ 119 NONAME ; eap_am_type_gsmsim_symbian_c::~eap_am_type_gsmsim_symbian_c(void) - ??1gsmsim_payload_AT_header_c@@UAE@XZ @ 120 NONAME ; gsmsim_payload_AT_header_c::~gsmsim_payload_AT_header_c(void) - ??1eap_type_sim_triplet_array_c@@UAE@XZ @ 121 NONAME ; eap_type_sim_triplet_array_c::~eap_type_sim_triplet_array_c(void) - ?get_header_length@gsmsim_payload_AT_header_c@@SAGXZ @ 122 NONAME ; unsigned short gsmsim_payload_AT_header_c::get_header_length(void) - ?timer_delete_data@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@KPAX@Z @ 123 NONAME ; enum eap_status_e eap_type_gsmsim_c::timer_delete_data(unsigned long, void *) - ?handle_challenge_request_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 124 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_challenge_request_message(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *) - ?reset_header@gsmsim_header_c@@QAEXK_N@Z @ 125 NONAME ; void gsmsim_header_c::reset_header(unsigned long, bool) - ?set_data_length@gsmsim_payload_AT_header_c@@QAEXG@Z @ 126 NONAME ; void gsmsim_payload_AT_header_c::set_data_length(unsigned short) - ?set_notification_message_delay_timer@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 127 NONAME ; enum eap_status_e eap_type_gsmsim_c::set_notification_message_delay_timer(void) - ?handle_notification_packet@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 128 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_notification_packet(void) - ?get_triplet@eap_type_sim_triplet_array_c@@QAEPAVeap_type_saesim_triplet_c@@PAVabs_eap_am_tools_c@@K@Z @ 129 NONAME ; class eap_type_saesim_triplet_c * eap_type_sim_triplet_array_c::get_triplet(class abs_eap_am_tools_c *, unsigned long) - ?set_timer@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 130 NONAME ; enum eap_status_e eap_type_gsmsim_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ??1gsmsim_fixed_data_c@@UAE@XZ @ 131 NONAME ; gsmsim_fixed_data_c::~gsmsim_fixed_data_c(void) - ?cancel_error_message_delay_timer@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 132 NONAME ; enum eap_status_e eap_type_gsmsim_c::cancel_error_message_delay_timer(void) - ?set_error_message_delay_timer@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 133 NONAME ; enum eap_status_e eap_type_gsmsim_c::set_error_message_delay_timer(void) - ?generate_reauth_shared_secred_keys@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@KPBVeap_variable_data_c@@K00PAV3@@Z @ 134 NONAME ; enum eap_status_e eap_type_gsmsim_c::generate_reauth_shared_secred_keys(unsigned long, class eap_variable_data_c const *, unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?reset@eap_type_saesim_triplet_c@@QAEXXZ @ 135 NONAME ; void eap_type_saesim_triplet_c::reset(void) - ?query_SIM_kc_and_sres@eap_am_type_gsmsim_symbian_c@@QAE?AW4eap_status_e@@PBEPAE1@Z @ 136 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::query_SIM_kc_and_sres(unsigned char const *, unsigned char *, unsigned char *) - ?get_data_length@gsmsim_variable_data_c@@QBEKXZ @ 137 NONAME ; unsigned long gsmsim_variable_data_c::get_data_length(void) const - ?get_max_payload_data_length@gsmsim_payload_AT_header_c@@SAGXZ @ 138 NONAME ; unsigned short gsmsim_payload_AT_header_c::get_max_payload_data_length(void) - ?check_one_payload@gsmsim_payloads_c@@QAE_NW4eap_gsmsim_payload_status_e@1@PBVgsmsim_variable_data_c@@@Z @ 139 NONAME ; bool gsmsim_payloads_c::check_one_payload(enum gsmsim_payloads_c::eap_gsmsim_payload_status_e, class gsmsim_variable_data_c const *) - ?complete_SIM_IMSI_or_pseudonym_or_reauthentication_id_query@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@000KW4eap_type_gsmsim_complete_e@@EW42@@Z @ 140 NONAME ; enum eap_status_e eap_type_gsmsim_c::complete_SIM_IMSI_or_pseudonym_or_reauthentication_id_query(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long, enum eap_type_gsmsim_complete_e, unsigned char, enum eap_status_e) - ?get_includes_other_version_than_1@gsmsim_payloads_c@@QAE_NXZ @ 141 NONAME ; bool gsmsim_payloads_c::get_includes_other_version_than_1(void) - ?encrypt_DATA_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAEKPBVeap_variable_data_c@@1@Z @ 142 NONAME ; enum eap_status_e eap_type_gsmsim_c::encrypt_DATA_payload(unsigned char *, unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?get_saved_previous_state_string@eap_type_gsmsim_c@@ABEPBDXZ @ 143 NONAME ; char const * eap_type_gsmsim_c::get_saved_previous_state_string(void) const - ?add_triplet@eap_type_sim_triplet_array_c@@QAEPAVeap_type_saesim_triplet_c@@XZ @ 144 NONAME ; class eap_type_saesim_triplet_c * eap_type_sim_triplet_array_c::add_triplet(void) - ?copy@eap_type_sim_triplet_array_c@@QAEPAV1@XZ @ 145 NONAME ; class eap_type_sim_triplet_array_c * eap_type_sim_triplet_array_c::copy(void) - ?check_version_list@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVgsmsim_payload_AT_header_c@@GPAEPA_N@Z @ 146 NONAME ; enum eap_status_e eap_type_gsmsim_c::check_version_list(class gsmsim_payload_AT_header_c const *, unsigned short, unsigned char *, bool *) - ??1gsmsim_variable_data_c@@UAE@XZ @ 147 NONAME ; gsmsim_variable_data_c::~gsmsim_variable_data_c(void) - ?cancel_timer@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 148 NONAME ; enum eap_status_e eap_type_gsmsim_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ?send_final_notification@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 149 NONAME ; enum eap_status_e eap_type_gsmsim_c::send_final_notification(void) - ?copy@eap_type_saesim_triplet_c@@QAEPAV1@PAVabs_eap_am_tools_c@@@Z @ 150 NONAME ; class eap_type_saesim_triplet_c * eap_type_saesim_triplet_c::copy(class abs_eap_am_tools_c *) - ?set_is_valid@eap_type_gsmsim_c@@UAEXXZ @ 151 NONAME ; void eap_type_gsmsim_c::set_is_valid(void) - ?reset@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@XZ @ 152 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::reset(void) - ?add_simple_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111W4gsmsim_payload_AT_type_e@@@Z @ 153 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_simple_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, enum gsmsim_payload_AT_type_e) - ?get_data@gsmsim_payload_AT_header_c@@QBEPAEK@Z @ 154 NONAME ; unsigned char * gsmsim_payload_AT_header_c::get_data(unsigned long) const - ?handle_error_packet@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 155 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_error_packet(void) - ?get_COUNTER@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 156 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_COUNTER(void) - ?get_data@gsmsim_variable_data_c@@QBEPAEK@Z @ 157 NONAME ; unsigned char * gsmsim_variable_data_c::get_data(unsigned long) const - ?store_reauth_parameters@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@00K@Z @ 158 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::store_reauth_parameters(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long) - ?get_current_payload@gsmsim_payload_AT_header_c@@QBE?AW4gsmsim_payload_AT_type_e@@XZ @ 159 NONAME ; enum gsmsim_payload_AT_type_e gsmsim_payload_AT_header_c::get_current_payload(void) const - ?initialize_error_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@W42@@Z @ 160 NONAME ; enum eap_status_e eap_type_gsmsim_c::initialize_error_message(enum eap_status_e) - ?get_NOTIFICATION@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 161 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_NOTIFICATION(void) - ?handle_reauthentication_request_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 162 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_reauthentication_request_message(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *) - ?get_SELECTED_VERSION@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 163 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_SELECTED_VERSION(void) - ?set_subtype@gsmsim_header_c@@QAEXW4gsmsim_subtype_e@@@Z @ 164 NONAME ; void gsmsim_header_c::set_subtype(enum gsmsim_subtype_e) - ??1eap_type_gsmsim_c@@UAE@XZ @ 165 NONAME ; eap_type_gsmsim_c::~eap_type_gsmsim_c(void) - ?check_initiator@eap_type_gsmsim_state_variable_parameters_c@@QBE_N_N@Z @ 166 NONAME ; bool eap_type_gsmsim_state_variable_parameters_c::check_initiator(bool) const - ?check_valid_state@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@W4gsmsim_subtype_e@@@Z @ 167 NONAME ; enum eap_status_e eap_type_gsmsim_c::check_valid_state(enum gsmsim_subtype_e) - ?reset@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@XZ @ 168 NONAME ; enum eap_status_e eap_type_gsmsim_c::reset(void) - ?get_PERMANENT_ID_REQ@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 169 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_PERMANENT_ID_REQ(void) - ?cancel_notification_message_delay_timer@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@XZ @ 170 NONAME ; enum eap_status_e eap_type_gsmsim_c::cancel_notification_message_delay_timer(void) - ?reset@eap_type_sim_triplet_array_c@@QAEXXZ @ 171 NONAME ; void eap_type_sim_triplet_array_c::reset(void) - ??0eap_type_gsmsim_state_variable_parameters_c@@QAE@XZ @ 172 NONAME ; eap_type_gsmsim_state_variable_parameters_c::eap_type_gsmsim_state_variable_parameters_c(void) - ?set_data_length@gsmsim_header_c@@QAEXK_N@Z @ 173 NONAME ; void gsmsim_header_c::set_data_length(unsigned long, bool) - ?process_SIM_kc_sres@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 174 NONAME ; enum eap_status_e eap_type_gsmsim_c::process_SIM_kc_sres(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?packet_send@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 175 NONAME ; enum eap_status_e eap_type_gsmsim_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ?data_exp@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@KPAVeap_variable_data_c@@PBV3@1@Z @ 176 NONAME ; enum eap_status_e eap_type_gsmsim_c::data_exp(unsigned long, class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?generate_shared_secred_keys@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@KPBVeap_variable_data_c@@0PAV3@111@Z @ 177 NONAME ; enum eap_status_e eap_type_gsmsim_c::generate_shared_secred_keys(unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *) - ?eap_acknowledge@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 178 NONAME ; enum eap_status_e eap_type_gsmsim_c::eap_acknowledge(class eap_am_network_id_c const *) - ??0eap_type_saesim_triplet_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 179 NONAME ; eap_type_saesim_triplet_c::eap_type_saesim_triplet_c(class abs_eap_am_tools_c *) - ?get_is_valid@gsmsim_payloads_c@@QBE_NXZ @ 180 NONAME ; bool gsmsim_payloads_c::get_is_valid(void) const - ?set_is_valid@eap_type_saesim_triplet_c@@QAEXXZ @ 181 NONAME ; void eap_type_saesim_triplet_c::set_is_valid(void) - ?save_current_state@eap_type_gsmsim_c@@AAEXXZ @ 182 NONAME ; void eap_type_gsmsim_c::save_current_state(void) - ?parse_gsmsim_packet@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 183 NONAME ; enum eap_status_e eap_type_gsmsim_c::parse_gsmsim_packet(class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *) - ??0eap_type_sim_triplet_array_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 184 NONAME ; eap_type_sim_triplet_array_c::eap_type_sim_triplet_array_c(class abs_eap_am_tools_c *) - ?set_triplet_count@eap_type_sim_triplet_array_c@@QAE?AW4eap_status_e@@K@Z @ 185 NONAME ; enum eap_status_e eap_type_sim_triplet_array_c::set_triplet_count(unsigned long) - ?new_handler@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 186 NONAME ; enum eap_status_e eap_type_gsmsim_c::new_handler(class eap_am_network_id_c const *, bool) - ?analyse_gsmsim_packet@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 187 NONAME ; enum eap_status_e eap_type_gsmsim_c::analyse_gsmsim_packet(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *) - ?check_rands@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 188 NONAME ; enum eap_status_e eap_type_gsmsim_c::check_rands(class eap_variable_data_c const *) - ?get_includes_unknown_attribute@gsmsim_payloads_c@@QAE?AW4gsmsim_payload_AT_type_e@@XZ @ 189 NONAME ; enum gsmsim_payload_AT_type_e gsmsim_payloads_c::get_includes_unknown_attribute(void) - ?add_counter_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111G@Z @ 190 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_counter_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, unsigned short) - ?get_nai_realm@eap_type_gsmsim_c@@AAEPAVeap_variable_data_c@@XZ @ 191 NONAME ; class eap_variable_data_c * eap_type_gsmsim_c::get_nai_realm(void) - ?set_includes_other_version_than_1@gsmsim_payloads_c@@QAEX_N@Z @ 192 NONAME ; void gsmsim_payloads_c::set_includes_other_version_than_1(bool) - ?get_original_header@gsmsim_variable_data_c@@QBEPBVgsmsim_payload_AT_header_c@@XZ @ 193 NONAME ; class gsmsim_payload_AT_header_c const * gsmsim_variable_data_c::get_original_header(void) const - ?set_triplet@eap_type_saesim_triplet_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@00@Z @ 194 NONAME ; enum eap_status_e eap_type_saesim_triplet_c::set_triplet(class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *) - ??1gsmsim_header_c@@UAE@XZ @ 195 NONAME ; gsmsim_header_c::~gsmsim_header_c(void) - ?select_version@eap_type_gsmsim_c@@AAE?AW4eap_gsmsim_version@@PBVgsmsim_variable_data_c@@PA_N@Z @ 196 NONAME ; enum eap_gsmsim_version eap_type_gsmsim_c::select_version(class gsmsim_variable_data_c const *, bool *) - ?update_payload_indexes@eap_type_gsmsim_c@@AAEXKKKPAK000@Z @ 197 NONAME ; void eap_type_gsmsim_c::update_payload_indexes(unsigned long, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *) - ?set_current_payload@gsmsim_payload_AT_header_c@@QAEXW4gsmsim_payload_AT_type_e@@@Z @ 198 NONAME ; void gsmsim_payload_AT_header_c::set_current_payload(enum gsmsim_payload_AT_type_e) - ?handle_eap_identity_query@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_variable_data_c@@EPBV4@222K_N@Z @ 199 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_eap_identity_query(class eap_am_network_id_c const *, class eap_variable_data_c *, unsigned char, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long, bool) - ?generate_nai@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@_NPBV3@2122K@Z @ 200 NONAME ; enum eap_status_e eap_type_gsmsim_c::generate_nai(class eap_variable_data_c *, bool, class eap_variable_data_c const *, class eap_variable_data_c const *, bool, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned long) - ?get_is_valid@eap_type_saesim_triplet_c@@QAE_NXZ @ 201 NONAME ; bool eap_type_saesim_triplet_c::get_is_valid(void) - ?handle_gsmsim_notification@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@W4eap_gsmsim_notification_codes_e@@@Z @ 202 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::handle_gsmsim_notification(enum eap_gsmsim_notification_codes_e) - ?store_identity@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_N@Z @ 203 NONAME ; enum eap_status_e eap_type_gsmsim_c::store_identity(class eap_variable_data_c const *, bool) - ??0eap_type_gsmsim_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@Veap_expanded_type_c@@KKE2@Z @ 204 NONAME ; eap_type_gsmsim_state_notification_c::eap_type_gsmsim_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, class eap_expanded_type_c, unsigned long, unsigned long, unsigned char, bool) - ?store_reauthentication_id@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@@Z @ 205 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::store_reauthentication_id(class eap_am_network_id_c const *, class eap_variable_data_c const *) - ?read_configure@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 206 NONAME ; enum eap_status_e eap_type_gsmsim_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?get_is_valid@eap_type_gsmsim_c@@UAE_NXZ @ 207 NONAME ; bool eap_type_gsmsim_c::get_is_valid(void) - ?handle_gsmsim_notification_request_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVgsmsim_header_c@@KPAVgsmsim_payloads_c@@@Z @ 208 NONAME ; enum eap_status_e eap_type_gsmsim_c::handle_gsmsim_notification_request_message(class eap_am_network_id_c const *, class gsmsim_header_c *, unsigned long, class gsmsim_payloads_c *) - ?get_reserved@gsmsim_payload_AT_header_c@@QBEGXZ @ 209 NONAME ; unsigned short gsmsim_payload_AT_header_c::get_reserved(void) const - ?complete_SIM_kc_sres@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@00W42@@Z @ 210 NONAME ; enum eap_status_e eap_type_gsmsim_c::complete_SIM_kc_sres(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_status_e) - ?generate_encryption_IV@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 211 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::generate_encryption_IV(class eap_variable_data_c *, unsigned long) - ?generate_nonce@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@KPAVeap_variable_data_c@@@Z @ 212 NONAME ; enum eap_status_e eap_type_gsmsim_c::generate_nonce(unsigned long, class eap_variable_data_c *) - ?update_buffer_indexes@eap_type_gsmsim_c@@AAEXKKPAK0@Z @ 213 NONAME ; void eap_type_gsmsim_c::update_buffer_indexes(unsigned long, unsigned long, unsigned long *, unsigned long *) - ?parse_generic_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@W4gsmsim_payload_AT_type_e@@PBVgsmsim_payload_AT_header_c@@PAVgsmsim_payloads_c@@W4gsmsim_subtype_e@@@Z @ 214 NONAME ; enum eap_status_e eap_type_gsmsim_c::parse_generic_payload(enum gsmsim_payload_AT_type_e, class gsmsim_payload_AT_header_c const *, class gsmsim_payloads_c *, enum gsmsim_subtype_e) - ?add_pseudonym_or_imsi_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111PBVeap_variable_data_c@@W4gsmsim_payload_AT_type_e@@@Z @ 215 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_pseudonym_or_imsi_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, class eap_variable_data_c const *, enum gsmsim_payload_AT_type_e) - ?get_is_valid@gsmsim_fixed_data_c@@QBE_NXZ @ 216 NONAME ; bool gsmsim_fixed_data_c::get_is_valid(void) const - ?get_triplet_count@eap_type_sim_triplet_array_c@@QAEKXZ @ 217 NONAME ; unsigned long eap_type_sim_triplet_array_c::get_triplet_count(void) - ?decrypt_DATA_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_payloads_c@@PBVeap_variable_data_c@@@Z @ 218 NONAME ; enum eap_status_e eap_type_gsmsim_c::decrypt_DATA_payload(class gsmsim_payloads_c *, class eap_variable_data_c const *) - ?get_IV@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 219 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_IV(void) - ?get_NONCE_S@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 220 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_NONCE_S(void) - ?type_configure_read@eap_am_type_gsmsim_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 221 NONAME ; enum eap_status_e eap_am_type_gsmsim_symbian_c::type_configure_read(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?parse_gsmsim_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PBVgsmsim_payload_AT_header_c@@PAKPAVgsmsim_payloads_c@@W4gsmsim_subtype_e@@@Z @ 222 NONAME ; enum eap_status_e eap_type_gsmsim_c::parse_gsmsim_payload(class gsmsim_payload_AT_header_c const *, unsigned long *, class gsmsim_payloads_c *, enum gsmsim_subtype_e) - ?get_subtype_string@gsmsim_header_c@@QBEPBDXZ @ 223 NONAME ; char const * gsmsim_header_c::get_subtype_string(void) const - ?add_variable_payload@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVgsmsim_header_c@@KKPAK111PBVeap_variable_data_c@@W4gsmsim_payload_AT_type_e@@@Z @ 224 NONAME ; enum eap_status_e eap_type_gsmsim_c::add_variable_payload(class gsmsim_header_c *, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *, class eap_variable_data_c const *, enum gsmsim_payload_AT_type_e) - ?packet_process@eap_type_gsmsim_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 225 NONAME ; enum eap_status_e eap_type_gsmsim_c::packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) - ?get_NONCE_MT@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 226 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_NONCE_MT(void) - ?get_IDENTITY_payload@gsmsim_payloads_c@@QAEPAVgsmsim_variable_data_c@@XZ @ 227 NONAME ; class gsmsim_variable_data_c * gsmsim_payloads_c::get_IDENTITY_payload(void) - ?get_type@gsmsim_fixed_data_c@@QBEGPAVabs_eap_am_tools_c@@@Z @ 228 NONAME ; unsigned short gsmsim_fixed_data_c::get_type(class abs_eap_am_tools_c *) const - ?send_challenge_response_message@eap_type_gsmsim_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 229 NONAME ; enum eap_status_e eap_type_gsmsim_c::send_challenge_response_message(class eap_variable_data_c *) - ?get_state_variable@eap_type_gsmsim_c@@AAEPBVeap_type_gsmsim_state_variable_parameters_c@@XZ @ 230 NONAME ; class eap_type_gsmsim_state_variable_parameters_c const * eap_type_gsmsim_c::get_state_variable(void) - ?packet_trace@eap_type_gsmsim_c@@AAEXPBDPBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 231 NONAME ; void eap_type_gsmsim_c::packet_trace(char const *, class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/eaptlspeapu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eaptlspeapu.def Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eaptlspeapu.def Wed Sep 01 12:23:57 2010 +0100 @@ -1,741 +1,3 @@ EXPORTS ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) - ?complete_query_ttls_pap_username_and_password@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0W42@@Z @ 2 NONAME ; enum eap_status_e tls_application_eap_core_c::complete_query_ttls_pap_username_and_password(class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_status_e) - ??0tls_handshake_message_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_tls_message_hash_c@@_N@Z @ 3 NONAME ; tls_handshake_message_c::tls_handshake_message_c(class abs_eap_am_tools_c *, class abs_tls_message_hash_c *, bool) - ?get_eap_type_list@dummy_eap_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 4 NONAME ; enum eap_status_e dummy_eap_core_c::get_eap_type_list(class eap_array_c *) - ?complete_query_dh_parameters@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0W42@@Z @ 5 NONAME ; enum eap_status_e tls_record_c::complete_query_dh_parameters(class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_status_e) - ?set_peap_version@eap_am_type_tls_peap_symbian_c@@UAEXW4peap_version_e@@_N1@Z @ 6 NONAME ; void eap_am_type_tls_peap_symbian_c::set_peap_version(enum peap_version_e, bool, bool) - ?add_payload@eap_diameter_payloads_c@@QAE?AW4eap_status_e@@Veap_diameter_avp_code_c@@_NPBEK111@Z @ 7 NONAME ; enum eap_status_e eap_diameter_payloads_c::add_payload(class eap_diameter_avp_code_c, bool, unsigned char const *, unsigned long, bool, bool, bool) - ?completion_action_add@tls_record_c@@AAE?AW4eap_status_e@@W4tls_completion_action_e@@@Z @ 8 NONAME ; enum eap_status_e tls_record_c::completion_action_add(enum tls_completion_action_e) - ?query_dh_parameters@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@W4tls_cipher_suites_e@@@Z @ 9 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::query_dh_parameters(class eap_array_c const *, enum tls_cipher_suites_e) - ?get_tls_am_partner@eap_am_type_tls_peap_symbian_c@@EAEPAVabs_tls_am_services_c@@XZ @ 10 NONAME ; class abs_tls_am_services_c * eap_am_type_tls_peap_symbian_c::get_tls_am_partner(void) - ?get_cipher_suite_applied@tls_record_message_c@@QBE_NXZ @ 11 NONAME ; bool tls_record_message_c::get_cipher_suite_applied(void) const - ?set_certificate_types@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@E@@@Z @ 12 NONAME ; enum eap_status_e tls_handshake_message_c::set_certificate_types(class eap_array_c const *) - ?ignore_notifications@dummy_eap_core_c@@QAEXXZ @ 13 NONAME ; void dummy_eap_core_c::ignore_notifications(void) - ?get_nt_response@mschapv2_response_c@@QBEPBEXZ @ 14 NONAME ; unsigned char const * mschapv2_response_c::get_nt_response(void) const - ?get_eap_code@eap_tls_peap_header_c@@QBE?AW4eap_code_value_e@@XZ @ 15 NONAME ; enum eap_code_value_e eap_tls_peap_header_c::get_eap_code(void) const - ?new_record_message@tls_record_c@@AAE?AW4eap_status_e@@PAPAVtls_record_message_c@@W4tls_record_protocol_e@@@Z @ 16 NONAME ; enum eap_status_e tls_record_c::new_record_message(class tls_record_message_c * *, enum tls_record_protocol_e) - ?create_ttls_diameter_avp@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@Veap_diameter_avp_code_c@@_N@Z @ 17 NONAME ; enum eap_status_e tls_application_eap_core_c::create_ttls_diameter_avp(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_diameter_avp_code_c, bool) - ?complete_create_handshake_type_server_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 18 NONAME ; enum eap_status_e tls_record_c::complete_create_handshake_type_server_key_exchange(void) - ?get_change_cipher_spec@tls_record_message_c@@QBEPBVtls_change_cipher_spec_message_c@@K@Z @ 19 NONAME ; class tls_change_cipher_spec_message_c const * tls_record_message_c::get_change_cipher_spec(unsigned long) const - ?cancel_verify_certificate_chain@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 20 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_verify_certificate_chain(void) - ?add_message_data@tls_record_message_c@@QAE?AW4eap_status_e@@XZ @ 21 NONAME ; enum eap_status_e tls_record_message_c::add_message_data(void) - ?finish_handshake@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 22 NONAME ; enum eap_status_e tls_record_c::finish_handshake(void) - ?complete_query_certificate_authorities_and_types@tls_record_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@PBV?$eap_array_c@E@@W42@@Z @ 23 NONAME ; enum eap_status_e tls_record_c::complete_query_certificate_authorities_and_types(class eap_array_c const *, class eap_array_c const *, enum eap_status_e) - ?verify_tunneled_acknowledge_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 24 NONAME ; enum eap_status_e tls_application_eap_core_c::verify_tunneled_acknowledge_peap_v2(void) - ?get_next_tls_handshake_message_type@tls_record_c@@EAE?AW4tls_handshake_type_e@@XZ @ 25 NONAME ; enum tls_handshake_type_e tls_record_c::get_next_tls_handshake_message_type(void) - ?get_record_message_data@tls_record_message_c@@QAEPAVeap_variable_data_c@@XZ @ 26 NONAME ; class eap_variable_data_c * tls_record_message_c::get_record_message_data(void) - ?get_tls_session_type@eap_type_tls_peap_c@@AAE?AW4tls_session_type_e@@XZ @ 27 NONAME ; enum tls_session_type_e eap_type_tls_peap_c::get_tls_session_type(void) - ?configure@tls_application_eap_core_c@@UAE?AW4eap_status_e@@XZ @ 28 NONAME ; enum eap_status_e tls_application_eap_core_c::configure(void) - ?asynchronous_init_remove_eap_session@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 29 NONAME ; enum eap_status_e tls_application_eap_core_c::asynchronous_init_remove_eap_session(class eap_am_network_id_c const *) - ?message_hash_update@tls_record_c@@EAE?AW4eap_status_e@@_NW4tls_handshake_type_e@@PAEK@Z @ 30 NONAME ; enum eap_status_e tls_record_c::message_hash_update(bool, enum tls_handshake_type_e, unsigned char *, unsigned long) - ?generate_master_secret@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 31 NONAME ; enum eap_status_e tls_record_c::generate_master_secret(void) - ?get_selected_cipher_suite@tls_handshake_message_c@@QBE?AW4tls_cipher_suites_e@@XZ @ 32 NONAME ; enum tls_cipher_suites_e tls_handshake_message_c::get_selected_cipher_suite(void) const - ?get_reassembly_state@eap_type_tls_peap_c@@ABE?AW4eap_type_tls_peap_reassembly_state_e@@XZ @ 33 NONAME ; enum eap_type_tls_peap_reassembly_state_e eap_type_tls_peap_c::get_reassembly_state(void) const - ?analyse_handshake_type_client_hello@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 34 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_client_hello(class tls_handshake_message_c const *) - ?get_ms_length@mschapv2_header_c@@QBEGXZ @ 35 NONAME ; unsigned short mschapv2_header_c::get_ms_length(void) const - ?check_is_valid_eap_type@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 36 NONAME ; enum eap_status_e eap_type_tls_peap_c::check_is_valid_eap_type(class eap_expanded_type_c) - ?cancel_timer@tls_record_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 37 NONAME ; enum eap_status_e tls_record_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ?set_flag_version@eap_tls_peap_header_c@@QAEXE@Z @ 38 NONAME ; void eap_tls_peap_header_c::set_flag_version(unsigned char) - ?set_payload_code@eap_diameter_variable_data_c@@QAEXVeap_diameter_avp_code_c@@@Z @ 39 NONAME ; void eap_diameter_variable_data_c::set_payload_code(class eap_diameter_avp_code_c) - ??1tls_record_message_c@@UAE@XZ @ 40 NONAME ; tls_record_message_c::~tls_record_message_c(void) - ?set_flag_tls_length_included@eap_tls_peap_header_c@@QAEX_N@Z @ 41 NONAME ; void eap_tls_peap_header_c::set_flag_tls_length_included(bool) - ??1peap_tlv_variable_data_c@@UAE@XZ @ 42 NONAME ; peap_tlv_variable_data_c::~peap_tlv_variable_data_c(void) - ?set_finished_data@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 43 NONAME ; enum eap_status_e tls_handshake_message_c::set_finished_data(class eap_variable_data_c const *) - ?get_code@eap_static_diameter_vendor_code_c@@QBEABVeap_diameter_avp_code_c@@XZ @ 44 NONAME ; class eap_diameter_avp_code_c const & eap_static_diameter_vendor_code_c::get_code(void) const - ?create_eap_success_failure_in_forward_to_tunnel@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eap_code_value_e@@E@Z @ 45 NONAME ; enum eap_status_e tls_application_eap_core_c::create_eap_success_failure_in_forward_to_tunnel(class eap_am_network_id_c const *, enum eap_code_value_e, unsigned char) - ?set_is_valid@eap_type_tls_peap_c@@UAEXXZ @ 46 NONAME ; void eap_type_tls_peap_c::set_is_valid(void) - ?query_cipher_suites_and_previous_session@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 47 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::query_cipher_suites_and_previous_session(void) - ?apply_receive_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 48 NONAME ; enum eap_status_e tls_record_c::apply_receive_cipher_suite(class eap_variable_data_c *) - ?cancel_eap_failure_timeout@dummy_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 49 NONAME ; enum eap_status_e dummy_eap_core_c::cancel_eap_failure_timeout(void) - ?set_is_valid@tls_change_cipher_spec_message_c@@AAEXXZ @ 50 NONAME ; void tls_change_cipher_spec_message_c::set_is_valid(void) - ??1tls_completion_c@@UAE@XZ @ 51 NONAME ; tls_completion_c::~tls_completion_c(void) - ?cancel_timer@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 52 NONAME ; enum eap_status_e eap_type_tls_peap_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ?set_eap_type@eap_tls_peap_header_c@@QAEXVeap_expanded_type_c@@_N@Z @ 53 NONAME ; void eap_tls_peap_header_c::set_eap_type(class eap_expanded_type_c, bool) - ?get_header_minimum_size@mschapv2_challenge_c@@SAKXZ @ 54 NONAME ; unsigned long mschapv2_challenge_c::get_header_minimum_size(void) - ?ttls_tunneled_message_state_process_error_request@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 55 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_process_error_request(class eap_header_wr_c *) - ??1tls_application_data_message_c@@UAE@XZ @ 56 NONAME ; tls_application_data_message_c::~tls_application_data_message_c(void) - ?get_last_record_message@tls_message_c@@QBEPAVtls_record_message_c@@XZ @ 57 NONAME ; class tls_record_message_c * tls_message_c::get_last_record_message(void) const - ?message_hash_create@tls_record_c@@AAE?AW4eap_status_e@@_NW4tls_handshake_type_e@@PAVeap_variable_data_c@@0@Z @ 58 NONAME ; enum eap_status_e tls_record_c::message_hash_create(bool, enum tls_handshake_type_e, class eap_variable_data_c *, bool) - ??0eap_diameter_payloads_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 59 NONAME ; eap_diameter_payloads_c::eap_diameter_payloads_c(class abs_eap_am_tools_c *) - ?get_marked_removed@dummy_eap_core_c@@QAE_NXZ @ 60 NONAME ; bool dummy_eap_core_c::get_marked_removed(void) - ?create_change_cipher_spec_type_change_cipher_spec@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 61 NONAME ; enum eap_status_e tls_record_c::create_change_cipher_spec_type_change_cipher_spec(void) - ?send_tls_peap_start_message@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@EPBVeap_variable_data_c@@@Z @ 62 NONAME ; enum eap_status_e eap_type_tls_peap_c::send_tls_peap_start_message(unsigned char, class eap_variable_data_c const *) - ?get_record_message@tls_message_c@@QBEPAVtls_record_message_c@@K@Z @ 63 NONAME ; class tls_record_message_c * tls_message_c::get_record_message(unsigned long) const - ?check_payloads@peap_tlv_payloads_c@@QAE_NW4peap_tlv_payload_status_e@1@0000@Z @ 64 NONAME ; bool peap_tlv_payloads_c::check_payloads(enum peap_tlv_payloads_c::peap_tlv_payload_status_e, enum peap_tlv_payloads_c::peap_tlv_payload_status_e, enum peap_tlv_payloads_c::peap_tlv_payload_status_e, enum peap_tlv_payloads_c::peap_tlv_payload_status_e, enum peap_tlv_payloads_c::peap_tlv_payload_status_e) - ?check_header@mschapv2_response_c@@UBE?AW4eap_status_e@@XZ @ 65 NONAME ; enum eap_status_e mschapv2_response_c::check_header(void) const - ?analyse_handshake_type_server_hello_done@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 66 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_server_hello_done(class tls_handshake_message_c const *) - ?add_handshake_message@tls_record_message_c@@QAE?AW4eap_status_e@@PAVtls_handshake_message_c@@_N@Z @ 67 NONAME ; enum eap_status_e tls_record_message_c::add_handshake_message(class tls_handshake_message_c *, bool) - ?configure@tls_record_c@@UAE?AW4eap_status_e@@XZ @ 68 NONAME ; enum eap_status_e tls_record_c::configure(void) - ?set_public_dhe_key@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 69 NONAME ; enum eap_status_e tls_handshake_message_c::set_public_dhe_key(class eap_variable_data_c const *) - ?get_type_partner@tls_base_record_c@@QAEPAVabs_tls_base_record_c@@XZ @ 70 NONAME ; class abs_tls_base_record_c * tls_base_record_c::get_type_partner(void) - ?create_handshake_type_finished@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 71 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_finished(void) - ?cipher_suite_is_TLS_DHE_RSA@tls_record_c@@ABE_NXZ @ 72 NONAME ; bool tls_record_c::cipher_suite_is_TLS_DHE_RSA(void) const - ?get_ttls_implicit_challenge@tls_record_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 73 NONAME ; enum eap_status_e tls_record_c::get_ttls_implicit_challenge(class eap_variable_data_c *, unsigned long) - ?get_is_valid@tls_change_cipher_spec_message_c@@QAE_NXZ @ 74 NONAME ; bool tls_change_cipher_spec_message_c::get_is_valid(void) - ?get_eap_type_list@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 75 NONAME ; enum eap_status_e eap_type_tls_peap_c::get_eap_type_list(class eap_array_c *) - ?parse_handshake_type_server_hello_done@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 76 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_server_hello_done(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long) - ?get_alert_level_string@eap_tls_trace_string_c@@SAPBDW4tls_alert_level_e@@@Z @ 77 NONAME ; char const * eap_tls_trace_string_c::get_alert_level_string(enum tls_alert_level_e) - ?check_sent_tls_message@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 78 NONAME ; enum eap_status_e tls_record_c::check_sent_tls_message(void) - ??0tls_base_record_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 79 NONAME ; tls_base_record_c::tls_base_record_c(class abs_eap_am_tools_c *) - ?check_ttls_plain_pap_payloads@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@PAW4eap_ttls_tunneled_message_type_e@@@Z @ 80 NONAME ; enum eap_status_e tls_application_eap_core_c::check_ttls_plain_pap_payloads(class eap_diameter_payloads_c *, enum eap_ttls_tunneled_message_type_e *) - ?get_protocol@tls_record_message_c@@QBE?AW4tls_record_protocol_e@@XZ @ 81 NONAME ; enum tls_record_protocol_e tls_record_message_c::get_protocol(void) const - ??1tls_record_c@@UAE@XZ @ 82 NONAME ; tls_record_c::~tls_record_c(void) - ?restore_saved_reassembly_state@eap_type_tls_peap_c@@AAEXXZ @ 83 NONAME ; void eap_type_tls_peap_c::restore_saved_reassembly_state(void) - ?create_crypto_binding_compound_mac@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVtls_peap_tlv_header_c@@PAV3@@Z @ 84 NONAME ; enum eap_status_e tls_application_eap_core_c::create_crypto_binding_compound_mac(class eap_variable_data_c const *, class tls_peap_tlv_header_c const *, class eap_variable_data_c *) - ?analyse_tls_protocol_alert@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_record_message_c@@@Z @ 85 NONAME ; enum eap_status_e tls_record_c::analyse_tls_protocol_alert(class tls_record_message_c const *) - ?create_handshake_type_server_hello@tls_record_c@@AAE?AW4eap_status_e@@GE@Z @ 86 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_server_hello(unsigned short, unsigned char) - ?add_message_data@tls_change_cipher_spec_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 87 NONAME ; enum eap_status_e tls_change_cipher_spec_message_c::add_message_data(class eap_variable_data_c *) - ?authentication_finished@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@_NW4tls_session_type_e@@@Z @ 88 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::authentication_finished(bool, enum tls_session_type_e) - ?restart_authentication@dummy_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 89 NONAME ; enum eap_status_e dummy_eap_core_c::restart_authentication(class eap_am_network_id_c const *, bool) - ?set_tls_session_type@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@W4tls_session_type_e@@@Z @ 90 NONAME ; enum eap_status_e eap_type_tls_peap_c::set_tls_session_type(enum tls_session_type_e) - ?set_tls_message_data@tls_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 91 NONAME ; enum eap_status_e tls_message_c::set_tls_message_data(class eap_variable_data_c *, unsigned char) - ?complete_create_handshake_type_client_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 92 NONAME ; enum eap_status_e tls_record_c::complete_create_handshake_type_client_key_exchange(void) - ?add_rogue_ap@tls_application_eap_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 93 NONAME ; enum eap_status_e tls_application_eap_core_c::add_rogue_ap(class eap_array_c &) - ?get_crypto_binding_tlv@peap_tlv_payloads_c@@QAEPAVpeap_tlv_variable_data_c@@XZ @ 94 NONAME ; class peap_tlv_variable_data_c * peap_tlv_payloads_c::get_crypto_binding_tlv(void) - ?parse_tls_protocol_alert@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVeap_variable_data_c@@@Z @ 95 NONAME ; enum eap_status_e tls_record_c::parse_tls_protocol_alert(class tls_record_message_c *, class eap_variable_data_c *) - ?rsa_encrypt_with_public_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 96 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::rsa_encrypt_with_public_key(class eap_variable_data_c const *) - ?verify_state@tls_record_c@@AAE_NW4tls_peap_state_e@@@Z @ 97 NONAME ; bool tls_record_c::verify_state(enum tls_peap_state_e) - ?get_peap_version_string@eap_tls_trace_string_c@@SAPBDW4peap_version_e@@@Z @ 98 NONAME ; char const * eap_tls_trace_string_c::get_peap_version_string(enum peap_version_e) - ?packet_send@tls_record_c@@UAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KKK@Z @ 99 NONAME ; enum eap_status_e tls_record_c::packet_send(class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ??1mschapv2_response_c@@UAE@XZ @ 100 NONAME ; mschapv2_response_c::~mschapv2_response_c(void) - ?get_is_analysed@tls_handshake_message_c@@QAE_NXZ @ 101 NONAME ; bool tls_handshake_message_c::get_is_analysed(void) - ?packet_process_xp_peap_v0@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@EPAK@Z @ 102 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_process_xp_peap_v0(class eap_variable_data_c *, unsigned char, unsigned long *) - ?parse_tls_protocol_change_cipher_spec@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVeap_variable_data_c@@@Z @ 103 NONAME ; enum eap_status_e tls_record_c::parse_tls_protocol_change_cipher_spec(class tls_record_message_c *, class eap_variable_data_c *) - ?write_configure@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 104 NONAME ; enum eap_status_e tls_record_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?unload_module@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 105 NONAME ; enum eap_status_e eap_type_tls_peap_c::unload_module(class eap_expanded_type_c) - ?get_tls_record_header_is_included@tls_record_message_c@@QBE_NXZ @ 106 NONAME ; bool tls_record_message_c::get_tls_record_header_is_included(void) const - ?plain_eap_success_failure_packet_received@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eap_code_value_e@@E@Z @ 107 NONAME ; enum eap_status_e tls_application_eap_core_c::plain_eap_success_failure_packet_received(class eap_am_network_id_c const *, enum eap_code_value_e, unsigned char) - ?analyse_handshake_type_server_hello@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 108 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_server_hello(class tls_handshake_message_c const *) - ??0mschapv2_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 109 NONAME ; mschapv2_header_c::mschapv2_header_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?cancel_identity_query@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 110 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_identity_query(void) - ?remove_record_message@tls_message_c@@QAE?AW4eap_status_e@@K@Z @ 111 NONAME ; enum eap_status_e tls_message_c::remove_record_message(unsigned long) - ?packet_process_type@dummy_eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 112 NONAME ; enum eap_status_e dummy_eap_core_c::packet_process_type(class eap_expanded_type_c, class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) - ?get_vendor_id@eap_diameter_avp_code_c@@QBE?AW4eap_diameter_vendor_id_e@@XZ @ 113 NONAME ; enum eap_diameter_vendor_id_e eap_diameter_avp_code_c::get_vendor_id(void) const - ?get_encrypted_pw_block@mschapv2_change_password_c@@QBEPBEXZ @ 114 NONAME ; unsigned char const * mschapv2_change_password_c::get_encrypted_pw_block(void) const - ?get_application_data_count@tls_record_message_c@@QBEKXZ @ 115 NONAME ; unsigned long tls_record_message_c::get_application_data_count(void) const - ?check_one_payload@peap_tlv_payloads_c@@QAE_NW4peap_tlv_payload_status_e@1@PBVpeap_tlv_variable_data_c@@@Z @ 116 NONAME ; bool peap_tlv_payloads_c::check_one_payload(enum peap_tlv_payloads_c::peap_tlv_payload_status_e, class peap_tlv_variable_data_c const *) - ?set_authentication_role@dummy_eap_core_c@@UAE?AW4eap_status_e@@_N@Z @ 117 NONAME ; enum eap_status_e dummy_eap_core_c::set_authentication_role(bool) - ?cancel_query_dsa_parameters@eap_am_type_tls_peap_symbian_c@@QAE?AW4eap_status_e@@XZ @ 118 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_query_dsa_parameters(void) - ?load_module@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 119 NONAME ; enum eap_status_e eap_type_tls_peap_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) - ?timer_expired@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@KPAX@Z @ 120 NONAME ; enum eap_status_e eap_type_tls_peap_c::timer_expired(unsigned long, void *) - ?get_header_minimum_size@mschapv2_change_password_c@@SAKXZ @ 121 NONAME ; unsigned long mschapv2_change_password_c::get_header_minimum_size(void) - ?asynchronous_init_remove_eap_session@dummy_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 122 NONAME ; enum eap_status_e dummy_eap_core_c::asynchronous_init_remove_eap_session(void) - ?u16_t_to_network_order@tls_record_c@@CA?AW4eap_status_e@@PAGPAVabs_eap_am_tools_c@@@Z @ 123 NONAME ; enum eap_status_e tls_record_c::u16_t_to_network_order(unsigned short *, class abs_eap_am_tools_c *) - ?shutdown_operation@dummy_eap_core_c@@CA?AW4eap_status_e@@PAVeap_base_type_c@@PAVabs_eap_am_tools_c@@@Z @ 124 NONAME ; enum eap_status_e dummy_eap_core_c::shutdown_operation(class eap_base_type_c *, class abs_eap_am_tools_c *) - ?create_handshake_type_certificate@tls_record_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 125 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_certificate(class eap_array_c const *) - ?complete_select_cipher_suite_and_check_session_id@tls_record_c@@UAE?AW4eap_status_e@@W4tls_session_type_e@@GPBVeap_variable_data_c@@1W42@@Z @ 126 NONAME ; enum eap_status_e tls_record_c::complete_select_cipher_suite_and_check_session_id(enum tls_session_type_e, unsigned short, class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_status_e) - ?set_receive_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@W4tls_cipher_suites_e@@@Z @ 127 NONAME ; enum eap_status_e tls_record_c::set_receive_cipher_suite(enum tls_cipher_suites_e) - ?set_peap_version@tls_record_c@@UAEXW4peap_version_e@@_N1@Z @ 128 NONAME ; void tls_record_c::set_peap_version(enum peap_version_e, bool, bool) - ??0eap_type_tls_peap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@Veap_expanded_type_c@@KKE2@Z @ 129 NONAME ; eap_type_tls_peap_state_notification_c::eap_type_tls_peap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, class eap_expanded_type_c, unsigned long, unsigned long, unsigned char, bool) - ?get_state_string@eap_type_tls_peap_c@@ABEPBDXZ @ 130 NONAME ; char const * eap_type_tls_peap_c::get_state_string(void) const - ?get_tls_identity_privacy_handshake_state_string@eap_tls_trace_string_c@@SAPBDW4tls_identity_privacy_handshake_state_e@@@Z @ 131 NONAME ; char const * eap_tls_trace_string_c::get_tls_identity_privacy_handshake_state_string(enum tls_identity_privacy_handshake_state_e) - ??1tls_alert_message_c@@UAE@XZ @ 132 NONAME ; tls_alert_message_c::~tls_alert_message_c(void) - ?cipher_suite_initialization_hmac@tls_record_c@@AAE?AW4eap_status_e@@PAVabs_crypto_hmac_algorithm_c@@PBVeap_variable_data_c@@@Z @ 133 NONAME ; enum eap_status_e tls_record_c::cipher_suite_initialization_hmac(class abs_crypto_hmac_algorithm_c *, class eap_variable_data_c const *) - ?analyse_handshake_type_finished@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@E@Z @ 134 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_finished(class tls_handshake_message_c const *, unsigned char) - ?update_payload_indexes@eap_type_tls_peap_c@@AAEXKKKPAK000@Z @ 135 NONAME ; void eap_type_tls_peap_c::update_payload_indexes(unsigned long, unsigned long, unsigned long, unsigned long *, unsigned long *, unsigned long *, unsigned long *) - ?add_record_message@tls_message_c@@QAE?AW4eap_status_e@@PAVtls_record_message_c@@_N1@Z @ 136 NONAME ; enum eap_status_e tls_message_c::add_record_message(class tls_record_message_c *, bool, bool) - ?set_application_data@tls_application_data_message_c@@QAE?AW4eap_status_e@@PBEK@Z @ 137 NONAME ; enum eap_status_e tls_application_data_message_c::set_application_data(unsigned char const *, unsigned long) - ?get_data_length@tls_record_message_c@@QBEKXZ @ 138 NONAME ; unsigned long tls_record_message_c::get_data_length(void) const - ?configure@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 139 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::configure(void) - ?send_eap_identity_request@dummy_eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 140 NONAME ; enum eap_status_e dummy_eap_core_c::send_eap_identity_request(class eap_am_network_id_c const *) - ??1tls_change_cipher_spec_message_c@@UAE@XZ @ 141 NONAME ; tls_change_cipher_spec_message_c::~tls_change_cipher_spec_message_c(void) - ?cancel_query_certificate_authorities_and_types@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 142 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_query_certificate_authorities_and_types(void) - ??9eap_diameter_avp_code_c@@QBE_NW4eap_diameter_avp_code_of_ietf_e@@@Z @ 143 NONAME ; bool eap_diameter_avp_code_c::operator!=(enum eap_diameter_avp_code_of_ietf_e) const - ?ttls_server_handles_pap_reply_message@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@E@Z @ 144 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_server_handles_pap_reply_message(class eap_diameter_payloads_c *, unsigned char) - ?parse_identity@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBEK@Z @ 145 NONAME ; enum eap_status_e eap_type_tls_peap_c::parse_identity(unsigned char const *, unsigned long) - ?parse_diameter_payloads@eap_diameter_payloads_c@@QAE?AW4eap_status_e@@PBVeap_diameter_avp_header_c@@PAK@Z @ 146 NONAME ; enum eap_status_e eap_diameter_payloads_c::parse_diameter_payloads(class eap_diameter_avp_header_c const *, unsigned long *) - ?save_tls_session@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0W4tls_cipher_suites_e@@@Z @ 147 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::save_tls_session(class eap_variable_data_c const *, class eap_variable_data_c const *, enum tls_cipher_suites_e) - ?cancel_asynchronous_init_remove_eap_session@dummy_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 148 NONAME ; enum eap_status_e dummy_eap_core_c::cancel_asynchronous_init_remove_eap_session(void) - ?set_eap_identifier@eap_tls_peap_header_c@@QAEXE@Z @ 149 NONAME ; void eap_tls_peap_header_c::set_eap_identifier(unsigned char) - ?shutdown@tls_record_c@@UAE?AW4eap_status_e@@XZ @ 150 NONAME ; enum eap_status_e tls_record_c::shutdown(void) - ??0mschapv2_response_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 151 NONAME ; mschapv2_response_c::mschapv2_response_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?message_hash_final@tls_record_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@0@Z @ 152 NONAME ; enum eap_status_e tls_record_c::message_hash_final(class eap_variable_data_c *, class eap_variable_data_c *) - ?completion_action_clenup@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 153 NONAME ; enum eap_status_e tls_record_c::completion_action_clenup(void) - ?set_eap_length@eap_tls_peap_header_c@@QAEXG_N@Z @ 154 NONAME ; void eap_tls_peap_header_c::set_eap_length(unsigned short, bool) - ?cipher_suite_is_TLS_DHE_DSS@tls_record_c@@ABE_NXZ @ 155 NONAME ; bool tls_record_c::cipher_suite_is_TLS_DHE_DSS(void) const - ?get_certificate_type_string@eap_tls_trace_string_c@@SAPBDW4tls_certificate_type_e@@@Z @ 156 NONAME ; char const * eap_tls_trace_string_c::get_certificate_type_string(enum tls_certificate_type_e) - ?handle_identity_response_message@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PAVeap_header_rd_c@@K@Z @ 157 NONAME ; enum eap_status_e eap_type_tls_peap_c::handle_identity_response_message(class eap_header_rd_c *, unsigned long) - ?DlgComplete@eap_am_type_tls_peap_symbian_c@@UAEXH@Z @ 158 NONAME ; void eap_am_type_tls_peap_symbian_c::DlgComplete(int) - ?set_compression_methods@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@E@@@Z @ 159 NONAME ; enum eap_status_e tls_handshake_message_c::set_compression_methods(class eap_array_c const *) - ?packet_process_ttls@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@EPAK@Z @ 160 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_process_ttls(class eap_variable_data_c *, unsigned char, unsigned long *) - ?apply_receive_stream_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAVabs_crypto_stream_algorithm_c@@PAVabs_crypto_hmac_algorithm_c@@@Z @ 161 NONAME ; enum eap_status_e tls_record_c::apply_receive_stream_cipher_suite(class eap_variable_data_c *, class abs_crypto_stream_algorithm_c *, class abs_crypto_hmac_algorithm_c *) - ?set_eap_code@eap_tls_peap_header_c@@QAEXW4eap_code_value_e@@@Z @ 162 NONAME ; void eap_tls_peap_header_c::set_eap_code(enum eap_code_value_e) - ?get_payload@eap_diameter_payloads_c@@QAEPAVeap_diameter_variable_data_c@@Veap_diameter_avp_code_c@@@Z @ 163 NONAME ; class eap_diameter_variable_data_c * eap_diameter_payloads_c::get_payload(class eap_diameter_avp_code_c) - ?get_name_length@mschapv2_challenge_c@@QBEKXZ @ 164 NONAME ; unsigned long mschapv2_challenge_c::get_name_length(void) const - ?finish_successfull_authentication_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@E@Z @ 165 NONAME ; enum eap_status_e tls_application_eap_core_c::finish_successfull_authentication_peap_v2(unsigned char) - ?set_cipher_suites@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@G@@@Z @ 166 NONAME ; enum eap_status_e tls_handshake_message_c::set_cipher_suites(class eap_array_c const *) - ?complete_verify_with_public_key@tls_record_c@@UAE?AW4eap_status_e@@W42@@Z @ 167 NONAME ; enum eap_status_e tls_record_c::complete_verify_with_public_key(enum eap_status_e) - ?send_eap_notification_response@dummy_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 168 NONAME ; enum eap_status_e dummy_eap_core_c::send_eap_notification_response(class eap_am_network_id_c const *, unsigned char) - ?get_tls_message_data@tls_message_c@@QAEPAVeap_variable_data_c@@XZ @ 169 NONAME ; class eap_variable_data_c * tls_message_c::get_tls_message_data(void) - ?create_nonce@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 170 NONAME ; enum eap_status_e tls_application_eap_core_c::create_nonce(class eap_variable_data_c *) - ??1eap_tls_peap_header_c@@UAE@XZ @ 171 NONAME ; eap_tls_peap_header_c::~eap_tls_peap_header_c(void) - ?create_result_tlv_message@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@W4eap_code_value_e@@EW4tls_peap_tlv_type_e@@@Z @ 172 NONAME ; enum eap_status_e tls_application_eap_core_c::create_result_tlv_message(class eap_buf_chain_wr_c *, enum eap_code_value_e, unsigned char, enum tls_peap_tlv_type_e) - ?shutdown@tls_application_eap_core_c@@UAE?AW4eap_status_e@@XZ @ 173 NONAME ; enum eap_status_e tls_application_eap_core_c::shutdown(void) - ?complete_eap_identity_query@dummy_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@E@Z @ 174 NONAME ; enum eap_status_e dummy_eap_core_c::complete_eap_identity_query(class eap_am_network_id_c const *, class eap_variable_data_c const *, unsigned char) - ??4eap_diameter_avp_code_c@@QAEAAV0@W4eap_diameter_avp_code_of_ietf_e@@@Z @ 175 NONAME ; class eap_diameter_avp_code_c & eap_diameter_avp_code_c::operator=(enum eap_diameter_avp_code_of_ietf_e) - ??4eap_diameter_avp_code_c@@QAEAAV0@ABV0@@Z @ 176 NONAME ; class eap_diameter_avp_code_c & eap_diameter_avp_code_c::operator=(class eap_diameter_avp_code_c const &) - ?set_state@eap_type_tls_peap_c@@AAEXW4eap_type_tls_peap_state_variable_e@@@Z @ 177 NONAME ; void eap_type_tls_peap_c::set_state(enum eap_type_tls_peap_state_variable_e) - ?set_send_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@W4tls_cipher_suites_e@@@Z @ 178 NONAME ; enum eap_status_e tls_record_c::set_send_cipher_suite(enum tls_cipher_suites_e) - ?packet_process@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 179 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_process(class eap_variable_data_c *, unsigned char) - ?get_nai_realm@eap_type_tls_peap_c@@AAEPAVeap_variable_data_c@@XZ @ 180 NONAME ; class eap_variable_data_c * eap_type_tls_peap_c::get_nai_realm(void) - ??0mschapv2_change_password_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 181 NONAME ; mschapv2_change_password_c::mschapv2_change_password_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?load_type@dummy_eap_core_c@@QAEPAVeap_base_type_c@@Veap_expanded_type_c@@0PBVeap_am_network_id_c@@@Z @ 182 NONAME ; class eap_base_type_c * dummy_eap_core_c::load_type(class eap_expanded_type_c, class eap_expanded_type_c, class eap_am_network_id_c const *) - ?add_rogue_ap@tls_record_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 183 NONAME ; enum eap_status_e tls_record_c::add_rogue_ap(class eap_array_c &) - ?set_flag_more_fragments@eap_tls_peap_header_c@@QAEX_N@Z @ 184 NONAME ; void eap_tls_peap_header_c::set_flag_more_fragments(bool) - ?timer_expired@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@KPAX@Z @ 185 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::timer_expired(unsigned long, void *) - ?set_flag_start@eap_tls_peap_header_c@@QAEX_N@Z @ 186 NONAME ; void eap_tls_peap_header_c::set_flag_start(bool) - ?set_tls_flag_bit@eap_tls_peap_header_c@@QBEX_NK@Z @ 187 NONAME ; void eap_tls_peap_header_c::set_tls_flag_bit(bool, unsigned long) const - ?check_NAI@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBEK0@Z @ 188 NONAME ; enum eap_status_e eap_type_tls_peap_c::check_NAI(unsigned char const *, unsigned long, unsigned char const *) - ?send_ttls_ms_chapv2_packet@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 189 NONAME ; enum eap_status_e tls_application_eap_core_c::send_ttls_ms_chapv2_packet(class eap_header_wr_c *) - ?check_selected_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@W4tls_cipher_suites_e@@@Z @ 190 NONAME ; enum eap_status_e tls_record_c::check_selected_cipher_suite(enum tls_cipher_suites_e) - ?packet_send@eap_type_tls_peap_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 191 NONAME ; enum eap_status_e eap_type_tls_peap_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ?set_dhe_prime@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 192 NONAME ; enum eap_status_e tls_handshake_message_c::set_dhe_prime(class eap_variable_data_c const *) - ?send_tunneled_acknowledge_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@W4eap_code_value_e@@E@Z @ 193 NONAME ; enum eap_status_e tls_application_eap_core_c::send_tunneled_acknowledge_peap_v2(enum eap_code_value_e, unsigned char) - ?get_alert@tls_record_message_c@@QBEPBVtls_alert_message_c@@K@Z @ 194 NONAME ; class tls_alert_message_c const * tls_record_message_c::get_alert(unsigned long) const - ?shutdown@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 195 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::shutdown(void) - ?get_is_valid@tls_record_message_c@@QAE_NXZ @ 196 NONAME ; bool tls_record_message_c::get_is_valid(void) - ?set_peer_challenge@mschapv2_response_c@@QAEXPBE@Z @ 197 NONAME ; void mschapv2_response_c::set_peer_challenge(unsigned char const *) - ?set_buffer@peap_tlv_variable_data_c@@QAE?AW4eap_status_e@@PBVtls_peap_tlv_header_c@@PAEK_N2@Z @ 198 NONAME ; enum eap_status_e peap_tlv_variable_data_c::set_buffer(class tls_peap_tlv_header_c const *, unsigned char *, unsigned long, bool, bool) - ?get_peer_challenge@mschapv2_response_c@@QBEPBEXZ @ 199 NONAME ; unsigned char const * mschapv2_response_c::get_peer_challenge(void) const - ??0peap_tlv_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 200 NONAME ; peap_tlv_variable_data_c::peap_tlv_variable_data_c(class abs_eap_am_tools_c *) - ?cancel_query_realm@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 201 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_query_realm(void) - ?packet_data_crypto_keys@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 202 NONAME ; enum eap_status_e tls_record_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *) - ?type_configure_write@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 203 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::type_configure_write(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?create_handshake_type_hello_request@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 204 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_hello_request(void) - ?get_start_offset_of_data@eap_tls_peap_header_c@@QBEKXZ @ 205 NONAME ; unsigned long eap_tls_peap_header_c::get_start_offset_of_data(void) const - ?parse_handshake_type_certificate@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 206 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_certificate(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long) - ?parse_generic_payload@tls_application_eap_core_c@@AAE?AW4eap_status_e@@W4tls_peap_tlv_type_e@@PBVtls_peap_tlv_header_c@@PAVpeap_tlv_payloads_c@@@Z @ 207 NONAME ; enum eap_status_e tls_application_eap_core_c::parse_generic_payload(enum tls_peap_tlv_type_e, class tls_peap_tlv_header_c const *, class peap_tlv_payloads_c *) - ?add_message_data@tls_handshake_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 208 NONAME ; enum eap_status_e tls_handshake_message_c::add_message_data(class eap_variable_data_c *) - ?get_tls_min_header_length@eap_tls_peap_header_c@@QBEKXZ @ 209 NONAME ; unsigned long eap_tls_peap_header_c::get_tls_min_header_length(void) const - ?verify_certificate_chain@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@W4tls_cipher_suites_e@@@Z @ 210 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::verify_certificate_chain(class eap_array_c const *, enum tls_cipher_suites_e) - ?get_flag_more_fragments@eap_tls_peap_header_c@@QBE_NXZ @ 211 NONAME ; bool eap_tls_peap_header_c::get_flag_more_fragments(void) const - ?select_cipher_suite_and_check_session_id@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@G@@PBVeap_variable_data_c@@@Z @ 212 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::select_cipher_suite_and_check_session_id(class eap_array_c const *, class eap_variable_data_c const *) - ?packet_send@dummy_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 213 NONAME ; enum eap_status_e dummy_eap_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ?ttls_tunneled_message_state_process_identity_request@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 214 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_process_identity_request(class eap_header_wr_c *) - ?analyse_tls_protocol_application_data@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_record_message_c@@E@Z @ 215 NONAME ; enum eap_status_e tls_record_c::analyse_tls_protocol_application_data(class tls_record_message_c const *, unsigned char) - ?packet_process_peap_v1@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@EPAK@Z @ 216 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_process_peap_v1(class eap_variable_data_c *, unsigned char, unsigned long *) - ?set_reassembly_state@eap_type_tls_peap_c@@AAEXW4eap_type_tls_peap_reassembly_state_e@@@Z @ 217 NONAME ; void eap_type_tls_peap_c::set_reassembly_state(enum eap_type_tls_peap_reassembly_state_e) - ?get_eap_type_list@eap_am_type_tls_peap_symbian_c@@EAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 218 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::get_eap_type_list(class eap_array_c *) - ??1eap_type_tls_peap_c@@UAE@XZ @ 219 NONAME ; eap_type_tls_peap_c::~eap_type_tls_peap_c(void) - ?ttls_server_handles_ms_chapv2_change_password@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@E@Z @ 220 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_server_handles_ms_chapv2_change_password(class eap_diameter_payloads_c *, unsigned char) - ??1peap_tlv_payloads_c@@UAE@XZ @ 221 NONAME ; peap_tlv_payloads_c::~peap_tlv_payloads_c(void) - ?shutdown@dummy_eap_core_c@@UAE?AW4eap_status_e@@XZ @ 222 NONAME ; enum eap_status_e dummy_eap_core_c::shutdown(void) - ?add_rogue_ap@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 223 NONAME ; enum eap_status_e eap_type_tls_peap_c::add_rogue_ap(class eap_array_c &) - ?set_tls_am_partner@eap_am_type_tls_peap_symbian_c@@UAEXPAVabs_tls_am_services_c@@@Z @ 224 NONAME ; void eap_am_type_tls_peap_symbian_c::set_tls_am_partner(class abs_tls_am_services_c *) - ??0tls_completion_c@@QAE@PAVabs_eap_am_tools_c@@W4tls_completion_action_e@@@Z @ 225 NONAME ; tls_completion_c::tls_completion_c(class abs_eap_am_tools_c *, enum tls_completion_action_e) - ?set_peap_version@tls_application_eap_core_c@@UAEXW4peap_version_e@@_N1@Z @ 226 NONAME ; void tls_application_eap_core_c::set_peap_version(enum peap_version_e, bool, bool) - ?get_send_network_id@eap_type_tls_peap_c@@AAEPAVeap_am_network_id_c@@XZ @ 227 NONAME ; class eap_am_network_id_c * eap_type_tls_peap_c::get_send_network_id(void) - ?restart_authentication@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 228 NONAME ; enum eap_status_e tls_record_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool) - ?packet_send@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 229 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ?get_last_eap_identifier@eap_type_tls_peap_c@@ABEEXZ @ 230 NONAME ; unsigned char eap_type_tls_peap_c::get_last_eap_identifier(void) const - ?cancel_select_cipher_suite_and_check_session_id@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 231 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_select_cipher_suite_and_check_session_id(void) - ?read_authority_identity@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 232 NONAME ; enum eap_status_e tls_application_eap_core_c::read_authority_identity(class eap_variable_data_c *) - ??Ieap_diameter_avp_code_c@@QBEPBV0@XZ @ 233 NONAME ; class eap_diameter_avp_code_c const * eap_diameter_avp_code_c::operator&(void) const - ?create_eap_identity_response@dummy_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@PBVeap_variable_data_c@@E@Z @ 234 NONAME ; enum eap_status_e dummy_eap_core_c::create_eap_identity_response(class eap_buf_chain_wr_c *, class eap_variable_data_c const *, unsigned char) - ??1eap_diameter_avp_code_c@@QAE@XZ @ 235 NONAME ; eap_diameter_avp_code_c::~eap_diameter_avp_code_c(void) - ?select_peap_version@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@K@Z @ 236 NONAME ; enum eap_status_e eap_type_tls_peap_c::select_peap_version(unsigned long) - ?get_parsed_record@tls_record_message_c@@QBE_NXZ @ 237 NONAME ; bool tls_record_message_c::get_parsed_record(void) const - ?create_handshake_type_certificate_verify@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 238 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_certificate_verify(void) - ?analyse_tls_protocol_handshake@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@E@Z @ 239 NONAME ; enum eap_status_e tls_record_c::analyse_tls_protocol_handshake(class tls_record_message_c *, unsigned char) - ?write_configure@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 240 NONAME ; enum eap_status_e tls_application_eap_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?set_encrypted_pw_block@mschapv2_change_password_c@@QAEXPBE@Z @ 241 NONAME ; void mschapv2_change_password_c::set_encrypted_pw_block(unsigned char const *) - ?get_version@tls_record_message_c@@QBE?AW4tls_version_e@@XZ @ 242 NONAME ; enum tls_version_e tls_record_message_c::get_version(void) const - ??0eap_type_tls_peap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_generic_e@@W4eap_protocol_layer_e@@KKKE2@Z @ 243 NONAME ; eap_type_tls_peap_state_notification_c::eap_type_tls_peap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_generic_e, enum eap_protocol_layer_e, unsigned long, unsigned long, unsigned long, unsigned char, bool) - ?set_encrypted_hash@mschapv2_change_password_c@@QAEXPBE@Z @ 244 NONAME ; void mschapv2_change_password_c::set_encrypted_hash(unsigned char const *) - ?get_flag_start@eap_tls_peap_header_c@@QBE_NXZ @ 245 NONAME ; bool eap_tls_peap_header_c::get_flag_start(void) const - ?get_encrypted_hash@mschapv2_change_password_c@@QBEPBEXZ @ 246 NONAME ; unsigned char const * mschapv2_change_password_c::get_encrypted_hash(void) const - ?set_nai_realm@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 247 NONAME ; enum eap_status_e tls_record_c::set_nai_realm(class eap_variable_data_c const *) - ?unload_module@tls_application_eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 248 NONAME ; enum eap_status_e tls_application_eap_core_c::unload_module(class eap_expanded_type_c) - ?tls_peap_packet_process@eap_type_tls_peap_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_tls_peap_header_c@@K@Z @ 249 NONAME ; enum eap_status_e eap_type_tls_peap_c::tls_peap_packet_process(class eap_am_network_id_c const *, class eap_tls_peap_header_c *, unsigned long) - ?add_alert_message@tls_record_message_c@@QAE?AW4eap_status_e@@PAVtls_alert_message_c@@_N@Z @ 250 NONAME ; enum eap_status_e tls_record_message_c::add_alert_message(class tls_alert_message_c *, bool) - ?save_user_authorization_pac_opaque@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVtls_extension_c@@@Z @ 251 NONAME ; enum eap_status_e tls_application_eap_core_c::save_user_authorization_pac_opaque(class tls_extension_c const *) - ?get_handshake_count@tls_record_message_c@@QBEKXZ @ 252 NONAME ; unsigned long tls_record_message_c::get_handshake_count(void) const - ?get_eap_type_list@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 253 NONAME ; enum eap_status_e tls_application_eap_core_c::get_eap_type_list(class eap_array_c *) - ?get_code_data@eap_diameter_avp_code_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAW4eap_diameter_avp_code_of_ietf_e@@@Z @ 254 NONAME ; enum eap_status_e eap_diameter_avp_code_c::get_code_data(class abs_eap_am_tools_c *, enum eap_diameter_avp_code_of_ietf_e *) - ?get_alert_description_string@eap_tls_trace_string_c@@SAPBDW4tls_alert_description_e@@@Z @ 255 NONAME ; char const * eap_tls_trace_string_c::get_alert_description_string(enum tls_alert_description_e) - ?get_is_valid@tls_application_eap_core_c@@UAE_NXZ @ 256 NONAME ; bool tls_application_eap_core_c::get_is_valid(void) - ?get_dhe_prime@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 257 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_dhe_prime(void) const - ?check_header@eap_tls_peap_header_c@@QBE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@Veap_expanded_type_c@@_NW4peap_version_e@@2@Z @ 258 NONAME ; enum eap_status_e eap_tls_peap_header_c::check_header(class abs_eap_am_tools_c *, class eap_expanded_type_c, bool, enum peap_version_e, bool) const - ?ttls_server_handles_pap_response@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@E@Z @ 259 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_server_handles_pap_response(class eap_diameter_payloads_c *, unsigned char) - ?trace_eap_packet@dummy_eap_core_c@@QAEXPBDPBVeap_header_wr_c@@@Z @ 260 NONAME ; void dummy_eap_core_c::trace_eap_packet(char const *, class eap_header_wr_c const *) - ?send_eap_nak_response@dummy_eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EPBV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 261 NONAME ; enum eap_status_e dummy_eap_core_c::send_eap_nak_response(class eap_am_network_id_c const *, unsigned char, class eap_array_c const *) - ?state_notification@eap_type_tls_peap_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 262 NONAME ; void eap_type_tls_peap_c::state_notification(class abs_eap_state_notification_c const *) - ??1eap_tls_trace_string_c@@UAE@XZ @ 263 NONAME ; eap_tls_trace_string_c::~eap_tls_trace_string_c(void) - ?query_certificate_chain@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@PBV?$eap_array_c@E@@W4tls_cipher_suites_e@@@Z @ 264 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::query_certificate_chain(class eap_array_c const *, class eap_array_c const *, enum tls_cipher_suites_e) - ?start_peap_tunneled_authentication@tls_record_c@@EAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EW4tls_session_type_e@@@Z @ 265 NONAME ; enum eap_status_e tls_record_c::start_peap_tunneled_authentication(class eap_am_network_id_c const *, unsigned char, enum tls_session_type_e) - ?get_completion_action@tls_completion_c@@QBE?AW4tls_completion_action_e@@XZ @ 266 NONAME ; enum tls_completion_action_e tls_completion_c::get_completion_action(void) const - ?add_record_message@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_application_data_message_c@@@Z @ 267 NONAME ; enum eap_status_e tls_record_c::add_record_message(class tls_application_data_message_c *) - ?get_is_tunneled_eap@dummy_eap_core_c@@UBE_NXZ @ 268 NONAME ; bool dummy_eap_core_c::get_is_tunneled_eap(void) const - ?set_nt_response@mschapv2_response_c@@QAEXPBE@Z @ 269 NONAME ; void mschapv2_response_c::set_nt_response(unsigned char const *) - ?start_ttls_tunneled_authentication@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 270 NONAME ; enum eap_status_e tls_application_eap_core_c::start_ttls_tunneled_authentication(class eap_am_network_id_c const *, unsigned char) - ?object_increase_reference_count@dummy_eap_core_c@@QAEXXZ @ 271 NONAME ; void dummy_eap_core_c::object_increase_reference_count(void) - ?state_notification@dummy_eap_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 272 NONAME ; void dummy_eap_core_c::state_notification(class abs_eap_state_notification_c const *) - ?load_module@tls_application_eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 273 NONAME ; enum eap_status_e tls_application_eap_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) - ?set_certificate_chain@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 274 NONAME ; enum eap_status_e tls_handshake_message_c::set_certificate_chain(class eap_array_c const *) - ?ttls_tunneled_message_state_process_change_password_response@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 275 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_process_change_password_response(class eap_header_wr_c *) - ?get_original_header@peap_tlv_variable_data_c@@QBEPBVtls_peap_tlv_header_c@@XZ @ 276 NONAME ; class tls_peap_tlv_header_c const * peap_tlv_variable_data_c::get_original_header(void) const - ?get_alert_count@tls_record_message_c@@QBEKXZ @ 277 NONAME ; unsigned long tls_record_message_c::get_alert_count(void) const - ?set_parsed_record@tls_record_message_c@@QAEXXZ @ 278 NONAME ; void tls_record_message_c::set_parsed_record(void) - ?get_saved_previous_state_string@eap_type_tls_peap_c@@ABEPBDXZ @ 279 NONAME ; char const * eap_type_tls_peap_c::get_saved_previous_state_string(void) const - ?unload_module@tls_record_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 280 NONAME ; enum eap_status_e tls_record_c::unload_module(class eap_expanded_type_c) - ?get_handshake_type@tls_handshake_message_c@@QBE?AW4tls_handshake_type_e@@XZ @ 281 NONAME ; enum tls_handshake_type_e tls_handshake_message_c::get_handshake_type(void) const - ?set_state@tls_record_c@@AAEXW4tls_peap_state_e@@@Z @ 282 NONAME ; void tls_record_c::set_state(enum tls_peap_state_e) - ?get_flag_version@eap_tls_peap_header_c@@QBEEXZ @ 283 NONAME ; unsigned char eap_tls_peap_header_c::get_flag_version(void) const - ?get_challenge@mschapv2_challenge_c@@QBEPBEXZ @ 284 NONAME ; unsigned char const * mschapv2_challenge_c::get_challenge(void) const - ?message_hash_save_finished@tls_record_c@@EAE?AW4eap_status_e@@_N@Z @ 285 NONAME ; enum eap_status_e tls_record_c::message_hash_save_finished(bool) - ?ttls_client_handles_ms_chapv2_error@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@E@Z @ 286 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_client_handles_ms_chapv2_error(class eap_diameter_payloads_c *, unsigned char) - ?query_tunnel_PAC@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_fast_variable_data_c@@@Z @ 287 NONAME ; enum eap_status_e tls_application_eap_core_c::query_tunnel_PAC(class eap_fast_variable_data_c const *) - ?send_eap_identity_response@dummy_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@E@Z @ 288 NONAME ; enum eap_status_e dummy_eap_core_c::send_eap_identity_response(class eap_am_network_id_c const *, class eap_variable_data_c const *, unsigned char) - ?set_selected_cipher_suite@tls_handshake_message_c@@QAE?AW4eap_status_e@@W4tls_cipher_suites_e@@@Z @ 289 NONAME ; enum eap_status_e tls_handshake_message_c::set_selected_cipher_suite(enum tls_cipher_suites_e) - ??1tls_base_application_c@@UAE@XZ @ 290 NONAME ; tls_base_application_c::~tls_base_application_c(void) - ?is_ttls_pap_session_valid@eap_am_type_tls_peap_symbian_c@@UAE_NXZ @ 291 NONAME ; bool eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid(void) - ?get_analyse_index@tls_message_c@@QBEKXZ @ 292 NONAME ; unsigned long tls_message_c::get_analyse_index(void) const - ?set_alert_description@tls_alert_message_c@@QAE?AW4eap_status_e@@W4tls_alert_description_e@@@Z @ 293 NONAME ; enum eap_status_e tls_alert_message_c::set_alert_description(enum tls_alert_description_e) - ?message_hash_create_finished@tls_record_c@@EAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@@Z @ 294 NONAME ; enum eap_status_e tls_record_c::message_hash_create_finished(bool, class eap_variable_data_c *) - ?packet_process@dummy_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 295 NONAME ; enum eap_status_e dummy_eap_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) - ?set_name@mschapv2_response_c@@QAEXPBE@Z @ 296 NONAME ; void mschapv2_response_c::set_name(unsigned char const *) - ?get_is_valid@tls_record_c@@UAE_NXZ @ 297 NONAME ; bool tls_record_c::get_is_valid(void) - ?get_tls_flags_offset@eap_tls_peap_header_c@@QBEKXZ @ 298 NONAME ; unsigned long eap_tls_peap_header_c::get_tls_flags_offset(void) const - ?set_session_timeout@dummy_eap_core_c@@UAE?AW4eap_status_e@@K@Z @ 299 NONAME ; enum eap_status_e dummy_eap_core_c::set_session_timeout(unsigned long) - ?reset@peap_tlv_payloads_c@@QAEXXZ @ 300 NONAME ; void peap_tlv_payloads_c::reset(void) - ?reset@tls_record_c@@UAE?AW4eap_status_e@@XZ @ 301 NONAME ; enum eap_status_e tls_record_c::reset(void) - ?set_opcode@mschapv2_header_c@@QAEXW4mschapv2_opcode_e@@@Z @ 302 NONAME ; void mschapv2_header_c::set_opcode(enum mschapv2_opcode_e) - ?cancel_rsa_encrypt_with_public_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 303 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_rsa_encrypt_with_public_key(void) - ?set_is_valid@tls_alert_message_c@@AAEXXZ @ 304 NONAME ; void tls_alert_message_c::set_is_valid(void) - ?get_cipher_suites@tls_handshake_message_c@@QBEPBV?$eap_array_c@G@@XZ @ 305 NONAME ; class eap_array_c const * tls_handshake_message_c::get_cipher_suites(void) const - ?handle_eap_identity_request@dummy_eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@EPBVeap_am_network_id_c@@@Z @ 306 NONAME ; enum eap_status_e dummy_eap_core_c::handle_eap_identity_request(class eap_expanded_type_c, unsigned char, class eap_am_network_id_c const *) - ?query_eap_identity@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBVeap_am_network_id_c@@EPA_N020@Z @ 307 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::query_eap_identity(class eap_variable_data_c *, class eap_am_network_id_c const *, unsigned char, bool *, class eap_variable_data_c *, bool *, class eap_variable_data_c *) - ?get_intermediate_result_tlv@peap_tlv_payloads_c@@QAEPAVpeap_tlv_variable_data_c@@XZ @ 308 NONAME ; class peap_tlv_variable_data_c * peap_tlv_payloads_c::get_intermediate_result_tlv(void) - ?check_ttls_eap_payloads@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@PAW4eap_ttls_tunneled_message_type_e@@@Z @ 309 NONAME ; enum eap_status_e tls_application_eap_core_c::check_ttls_eap_payloads(class eap_diameter_payloads_c *, enum eap_ttls_tunneled_message_type_e *) - ?complete_verify_ttls_pap_username_and_password@tls_application_eap_core_c@@UAE?AW4eap_status_e@@W42@PBVeap_variable_data_c@@@Z @ 310 NONAME ; enum eap_status_e tls_application_eap_core_c::complete_verify_ttls_pap_username_and_password(enum eap_status_e, class eap_variable_data_c const *) - ?handle_eap_identity_response@dummy_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_base_type_c@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 311 NONAME ; enum eap_status_e dummy_eap_core_c::handle_eap_identity_response(class eap_base_type_c *, class eap_expanded_type_c, class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) - ?get_certificate_authorities@tls_handshake_message_c@@QBEPBV?$eap_array_c@Veap_variable_data_c@@@@XZ @ 312 NONAME ; class eap_array_c const * tls_handshake_message_c::get_certificate_authorities(void) const - ?analyse_tls_peap_packet@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_tls_peap_header_c@@K@Z @ 313 NONAME ; enum eap_status_e eap_type_tls_peap_c::analyse_tls_peap_packet(class eap_am_network_id_c const *, class eap_tls_peap_header_c *, unsigned long) - ?get_is_valid@dummy_eap_core_c@@UAE_NXZ @ 314 NONAME ; bool dummy_eap_core_c::get_is_valid(void) - ?check_header@mschapv2_header_c@@UBE?AW4eap_status_e@@XZ @ 315 NONAME ; enum eap_status_e mschapv2_header_c::check_header(void) const - ?parse_handshake_type_certificate_verify@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 316 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_certificate_verify(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long) - ?get_change_cipher_spec_count@tls_record_message_c@@QBEKXZ @ 317 NONAME ; unsigned long tls_record_message_c::get_change_cipher_spec_count(void) const - ?empty_ack_packet_received@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 318 NONAME ; enum eap_status_e tls_record_c::empty_ack_packet_received(class eap_am_network_id_c const *, unsigned char) - ?parse_tls_peap_payload@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PAK@Z @ 319 NONAME ; enum eap_status_e eap_type_tls_peap_c::parse_tls_peap_payload(unsigned long *) - ?create_eap_fast_mac_identity@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_variable_data_c@@@Z @ 320 NONAME ; enum eap_status_e eap_type_tls_peap_c::create_eap_fast_mac_identity(class eap_am_network_id_c const *, class eap_variable_data_c *) - ?object_decrease_reference_count@dummy_eap_core_c@@QAEKXZ @ 321 NONAME ; unsigned long dummy_eap_core_c::object_decrease_reference_count(void) - ?set_is_valid@tls_handshake_message_c@@AAEXXZ @ 322 NONAME ; void tls_handshake_message_c::set_is_valid(void) - ?get_vendor_code@eap_diameter_avp_code_c@@QBEKXZ @ 323 NONAME ; unsigned long eap_diameter_avp_code_c::get_vendor_code(void) const - ?get_state_string@eap_type_tls_peap_c@@SAPBDW4eap_type_tls_peap_state_variable_e@@@Z @ 324 NONAME ; char const * eap_type_tls_peap_c::get_state_string(enum eap_type_tls_peap_state_variable_e) - ?set_protocol@tls_record_message_c@@QAE?AW4eap_status_e@@W4tls_record_protocol_e@@@Z @ 325 NONAME ; enum eap_status_e tls_record_message_c::set_protocol(enum tls_record_protocol_e) - ?get_is_valid@peap_tlv_payloads_c@@QBE_NXZ @ 326 NONAME ; bool peap_tlv_payloads_c::get_is_valid(void) const - ?send_eap_failure@dummy_eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 327 NONAME ; enum eap_status_e dummy_eap_core_c::send_eap_failure(class eap_am_network_id_c const *, unsigned char) - ?parse_peap_tlv_payload@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAEPAKPAVpeap_tlv_payloads_c@@@Z @ 328 NONAME ; enum eap_status_e tls_application_eap_core_c::parse_peap_tlv_payload(unsigned char *, unsigned long *, class peap_tlv_payloads_c *) - ?get_encrypted_premaster_secret@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 329 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_encrypted_premaster_secret(void) const - ??0tls_record_c@@QAE@PAVabs_eap_am_tools_c@@PAVtls_am_services_c@@_NPAVtls_base_application_c@@22Veap_expanded_type_c@@PBVeap_am_network_id_c@@@Z @ 330 NONAME ; tls_record_c::tls_record_c(class abs_eap_am_tools_c *, class tls_am_services_c *, bool, class tls_base_application_c *, bool, bool, class eap_expanded_type_c, class eap_am_network_id_c const *) - ?get_is_valid@tls_application_data_message_c@@QAE_NXZ @ 331 NONAME ; bool tls_application_data_message_c::get_is_valid(void) - ?get_data@eap_diameter_variable_data_c@@QBEPAEK@Z @ 332 NONAME ; unsigned char * eap_diameter_variable_data_c::get_data(unsigned long) const - ?check_header@mschapv2_challenge_c@@UBE?AW4eap_status_e@@XZ @ 333 NONAME ; enum eap_status_e mschapv2_challenge_c::check_header(void) const - ?get_peer_challenge@mschapv2_change_password_c@@QBEPBEXZ @ 334 NONAME ; unsigned char const * mschapv2_change_password_c::get_peer_challenge(void) const - ?query_realm@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 335 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::query_realm(class eap_array_c const *) - ?set_tls_identity_privacy_handshake_state@tls_record_c@@AAEXW4tls_identity_privacy_handshake_state_e@@@Z @ 336 NONAME ; void tls_record_c::set_tls_identity_privacy_handshake_state(enum tls_identity_privacy_handshake_state_e) - ?get_cipher_suite_string@eap_tls_trace_string_c@@SAPBDW4tls_cipher_suites_e@@@Z @ 337 NONAME ; char const * eap_tls_trace_string_c::get_cipher_suite_string(enum tls_cipher_suites_e) - ?set_is_analysed@tls_application_data_message_c@@QAEXXZ @ 338 NONAME ; void tls_application_data_message_c::set_is_analysed(void) - ?packet_process@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 339 NONAME ; enum eap_status_e eap_type_tls_peap_c::packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) - ?set_timer@dummy_eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 340 NONAME ; enum eap_status_e dummy_eap_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ?get_header_offset@tls_record_c@@UAEKPAK0@Z @ 341 NONAME ; unsigned long tls_record_c::get_header_offset(unsigned long *, unsigned long *) - ?send_error_notification@tls_record_c@@AAEXW4eap_status_e@@@Z @ 342 NONAME ; void tls_record_c::send_error_notification(enum eap_status_e) - ?get_reassembly_state_string@eap_type_tls_peap_c@@ABEPBDXZ @ 343 NONAME ; char const * eap_type_tls_peap_c::get_reassembly_state_string(void) const - ?set_change_cipher_spec_type@tls_change_cipher_spec_message_c@@QAE?AW4eap_status_e@@W4tls_change_cipher_spec_type_e@@@Z @ 344 NONAME ; enum eap_status_e tls_change_cipher_spec_message_c::set_change_cipher_spec_type(enum tls_change_cipher_spec_type_e) - ?complete_rsa_encrypt_with_public_key@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@W42@@Z @ 345 NONAME ; enum eap_status_e tls_record_c::complete_rsa_encrypt_with_public_key(class eap_variable_data_c const *, enum eap_status_e) - ?set_timer@tls_record_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 346 NONAME ; enum eap_status_e tls_record_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ?reset_stream_ciphers@tls_record_c@@AAEX_N@Z @ 347 NONAME ; void tls_record_c::reset_stream_ciphers(bool) - ?trace_tunneled_packet@tls_application_eap_core_c@@AAEXPBDPBVeap_header_wr_c@@@Z @ 348 NONAME ; void tls_application_eap_core_c::trace_tunneled_packet(char const *, class eap_header_wr_c const *) - ?get_tls_max_header_length@eap_tls_peap_header_c@@SAKXZ @ 349 NONAME ; unsigned long eap_tls_peap_header_c::get_tls_max_header_length(void) - ?create_handshake_type_server_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 350 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_server_key_exchange(void) - ?finish_successful_authentication@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@_N00@Z @ 351 NONAME ; enum eap_status_e eap_type_tls_peap_c::finish_successful_authentication(bool, bool, bool) - ?handle_ttls_plain_mschapv2_payloads@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@W4eap_ttls_tunneled_message_type_e@@E@Z @ 352 NONAME ; enum eap_status_e tls_application_eap_core_c::handle_ttls_plain_mschapv2_payloads(class eap_diameter_payloads_c *, enum eap_ttls_tunneled_message_type_e, unsigned char) - ?get_analyse_index@tls_record_message_c@@QBEKXZ @ 353 NONAME ; unsigned long tls_record_message_c::get_analyse_index(void) const - ?get_is_valid@eap_type_tls_peap_c@@UAE_NXZ @ 354 NONAME ; bool eap_type_tls_peap_c::get_is_valid(void) - ?get_nt_response@mschapv2_change_password_c@@QBEPBEXZ @ 355 NONAME ; unsigned char const * mschapv2_change_password_c::get_nt_response(void) const - ??0eap_diameter_avp_code_c@@QAE@W4eap_diameter_avp_code_of_ietf_e@@@Z @ 356 NONAME ; eap_diameter_avp_code_c::eap_diameter_avp_code_c(enum eap_diameter_avp_code_of_ietf_e) - ??0peap_tlv_payloads_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 357 NONAME ; peap_tlv_payloads_c::peap_tlv_payloads_c(class abs_eap_am_tools_c *) - ?set_challenge@mschapv2_challenge_c@@QAEXPBE@Z @ 358 NONAME ; void mschapv2_challenge_c::set_challenge(unsigned char const *) - ?analyse_handshake_type_certificate_request@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 359 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_certificate_request(class tls_handshake_message_c const *) - ?get_result_tlv@peap_tlv_payloads_c@@QAEPAVpeap_tlv_variable_data_c@@XZ @ 360 NONAME ; class peap_tlv_variable_data_c * peap_tlv_payloads_c::get_result_tlv(void) - ?get_compression_method_string@eap_tls_trace_string_c@@SAPBDW4tls_compression_method_e@@@Z @ 361 NONAME ; char const * eap_tls_trace_string_c::get_compression_method_string(enum tls_compression_method_e) - ?add_record_message@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_alert_message_c@@@Z @ 362 NONAME ; enum eap_status_e tls_record_c::add_record_message(class tls_alert_message_c *) - ?get_certificate_types@tls_handshake_message_c@@QBEPBV?$eap_array_c@E@@XZ @ 363 NONAME ; class eap_array_c const * tls_handshake_message_c::get_certificate_types(void) const - ?get_is_analysed@tls_application_data_message_c@@QAE_NXZ @ 364 NONAME ; bool tls_application_data_message_c::get_is_analysed(void) - ?cancel_sign_with_private_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 365 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_sign_with_private_key(void) - ?eap_acknowledge@dummy_eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 366 NONAME ; enum eap_status_e dummy_eap_core_c::eap_acknowledge(class eap_am_network_id_c const *) - ?get_eap_payload_tlv@peap_tlv_payloads_c@@QAEPAVpeap_tlv_variable_data_c@@XZ @ 367 NONAME ; class peap_tlv_variable_data_c * peap_tlv_payloads_c::get_eap_payload_tlv(void) - ?set_failure_message_received@eap_type_tls_peap_c@@AAEXXZ @ 368 NONAME ; void eap_type_tls_peap_c::set_failure_message_received(void) - ??0eap_diameter_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 369 NONAME ; eap_diameter_variable_data_c::eap_diameter_variable_data_c(class abs_eap_am_tools_c *) - ?cancel_query_dh_parameters@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 370 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_query_dh_parameters(void) - ?notify_configuration_error@eap_am_type_tls_peap_symbian_c@@QAEXW4eap_status_e@@@Z @ 371 NONAME ; void eap_am_type_tls_peap_symbian_c::notify_configuration_error(enum eap_status_e) - ?create_handshake_type_server_hello_done@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 372 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_server_hello_done(void) - ??0tls_message_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_tls_message_hash_c@@PAVabs_tls_apply_cipher_spec_c@@PAVabs_tls_change_cipher_spec_c@@_N@Z @ 373 NONAME ; tls_message_c::tls_message_c(class abs_eap_am_tools_c *, class abs_tls_message_hash_c *, class abs_tls_apply_cipher_spec_c *, class abs_tls_change_cipher_spec_c *, bool) - ?check_is_valid_eap_type@dummy_eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 374 NONAME ; enum eap_status_e dummy_eap_core_c::check_is_valid_eap_type(class eap_expanded_type_c) - ?get_is_valid@eap_am_type_tls_peap_symbian_c@@UAE_NXZ @ 375 NONAME ; bool eap_am_type_tls_peap_symbian_c::get_is_valid(void) - ?cipher_suite_is_3DES_EDE_CBC_SHA@tls_record_c@@ABE_NW4tls_cipher_suites_e@@@Z @ 376 NONAME ; bool tls_record_c::cipher_suite_is_3DES_EDE_CBC_SHA(enum tls_cipher_suites_e) const - ?get_compression_methods@tls_handshake_message_c@@QBEPBV?$eap_array_c@E@@XZ @ 377 NONAME ; class eap_array_c const * tls_handshake_message_c::get_compression_methods(void) const - ?check_is_valid_eap_type@tls_record_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 378 NONAME ; enum eap_status_e tls_record_c::check_is_valid_eap_type(class eap_expanded_type_c) - ?get_failure_message_received@eap_type_tls_peap_c@@ABE_NXZ @ 379 NONAME ; bool eap_type_tls_peap_c::get_failure_message_received(void) const - ?set_is_valid@tls_application_data_message_c@@AAEXXZ @ 380 NONAME ; void tls_application_data_message_c::set_is_valid(void) - ??0eap_tls_peap_header_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 381 NONAME ; eap_tls_peap_header_c::eap_tls_peap_header_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long) - ?check_payloads_existense@eap_diameter_payloads_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_diameter_avp_code_c@@@@@Z @ 382 NONAME ; enum eap_status_e eap_diameter_payloads_c::check_payloads_existense(class eap_array_c const *) - ?set_completion_action@tls_completion_c@@QAEXW4tls_completion_action_e@@@Z @ 383 NONAME ; void tls_completion_c::set_completion_action(enum tls_completion_action_e) - ?get_key_expansion_size@tls_record_c@@QAEKPAK0000@Z @ 384 NONAME ; unsigned long tls_record_c::get_key_expansion_size(unsigned long *, unsigned long *, unsigned long *, unsigned long *, unsigned long *) - ?reset_header@eap_tls_peap_header_c@@QAEXPAVabs_eap_am_tools_c@@Veap_expanded_type_c@@KW4peap_version_e@@_N@Z @ 385 NONAME ; void eap_tls_peap_header_c::reset_header(class abs_eap_am_tools_c *, class eap_expanded_type_c, unsigned long, enum peap_version_e, bool) - ??1eap_diameter_payloads_c@@UAE@XZ @ 386 NONAME ; eap_diameter_payloads_c::~eap_diameter_payloads_c(void) - ?parse_tls_peap_packet@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PAVeap_tls_peap_header_c@@K@Z @ 387 NONAME ; enum eap_status_e eap_type_tls_peap_c::parse_tls_peap_packet(class eap_tls_peap_header_c *, unsigned long) - ?read_configure@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 388 NONAME ; enum eap_status_e eap_type_tls_peap_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?send_tunneled_acknowledge_xp_peap_v0@tls_application_eap_core_c@@AAE?AW4eap_status_e@@W4eap_code_value_e@@E@Z @ 389 NONAME ; enum eap_status_e tls_application_eap_core_c::send_tunneled_acknowledge_xp_peap_v0(enum eap_code_value_e, unsigned char) - ?set_tls_record_header_is_included@tls_record_message_c@@QAEX_N@Z @ 390 NONAME ; void tls_record_message_c::set_tls_record_header_is_included(bool) - ?cancel_verify_with_public_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 391 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_verify_with_public_key(void) - ?add_message_data@tls_alert_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 392 NONAME ; enum eap_status_e tls_alert_message_c::add_message_data(class eap_variable_data_c *) - ?set_encrypted_premaster_secret@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 393 NONAME ; enum eap_status_e tls_handshake_message_c::set_encrypted_premaster_secret(class eap_variable_data_c const *) - ?check_header@mschapv2_change_password_c@@UBE?AW4eap_status_e@@XZ @ 394 NONAME ; enum eap_status_e mschapv2_change_password_c::check_header(void) const - ?create_crypto_binding_tlv_message@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@W4eap_code_value_e@@EPBVeap_variable_data_c@@E@Z @ 395 NONAME ; enum eap_status_e tls_application_eap_core_c::create_crypto_binding_tlv_message(class eap_buf_chain_wr_c *, enum eap_code_value_e, unsigned char, class eap_variable_data_c const *, unsigned char) - ?create_handshake_type_certificate_request@tls_record_c@@AAE?AW4eap_status_e@@PBV?$eap_array_c@E@@PBV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 396 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_certificate_request(class eap_array_c const *, class eap_array_c const *) - ?get_selected_compression_method@tls_handshake_message_c@@QBE?AW4tls_compression_method_e@@XZ @ 397 NONAME ; enum tls_compression_method_e tls_handshake_message_c::get_selected_compression_method(void) const - ?write_configure@dummy_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 398 NONAME ; enum eap_status_e dummy_eap_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?ttls_tunneled_message_state_process_identity_response@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 399 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_process_identity_response(class eap_header_wr_c *) - ?init_retransmission@dummy_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKW4eap_code_value_e@@EVeap_expanded_type_c@@@Z @ 400 NONAME ; enum eap_status_e dummy_eap_core_c::init_retransmission(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, enum eap_code_value_e, unsigned char, class eap_expanded_type_c) - ?write_configure@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 401 NONAME ; enum eap_status_e eap_type_tls_peap_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?set_mschapv2_id@mschapv2_header_c@@QAEXE@Z @ 402 NONAME ; void mschapv2_header_c::set_mschapv2_id(unsigned char) - ??1eap_type_tls_peap_state_notification_c@@UAE@XZ @ 403 NONAME ; eap_type_tls_peap_state_notification_c::~eap_type_tls_peap_state_notification_c(void) - ?create_tls_protocol_alert@tls_record_c@@AAE?AW4eap_status_e@@W4tls_alert_description_e@@W4tls_alert_level_e@@W42@@Z @ 404 NONAME ; enum eap_status_e tls_record_c::create_tls_protocol_alert(enum tls_alert_description_e, enum tls_alert_level_e, enum eap_status_e) - ?load_module@dummy_eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 405 NONAME ; enum eap_status_e dummy_eap_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) - ?query_certificate_authorities_and_types@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 406 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::query_certificate_authorities_and_types(void) - ?complete_eap_identity_query@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVeap_am_network_id_c@@EW42@_N030@Z @ 407 NONAME ; enum eap_status_e eap_type_tls_peap_c::complete_eap_identity_query(class eap_variable_data_c const *, class eap_am_network_id_c const *, unsigned char, enum eap_status_e, bool, class eap_variable_data_c const *, bool, class eap_variable_data_c const *) - ?create_intermediate_result_tlv_message@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@W4eap_code_value_e@@E@Z @ 408 NONAME ; enum eap_status_e tls_application_eap_core_c::create_intermediate_result_tlv_message(class eap_buf_chain_wr_c *, enum eap_code_value_e, unsigned char) - ?get_data_offset@eap_tls_peap_header_c@@QBEPAEPAVabs_eap_am_tools_c@@KK@Z @ 409 NONAME ; unsigned char * eap_tls_peap_header_c::get_data_offset(class abs_eap_am_tools_c *, unsigned long, unsigned long) const - ?reassemble_tls_records@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_record_header_c@@@Z @ 410 NONAME ; enum eap_status_e tls_record_c::reassemble_tls_records(class tls_record_message_c *, class tls_record_header_c *) - ??1mschapv2_challenge_c@@UAE@XZ @ 411 NONAME ; mschapv2_challenge_c::~mschapv2_challenge_c(void) - ?add_record_message@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_change_cipher_spec_message_c@@@Z @ 412 NONAME ; enum eap_status_e tls_record_c::add_record_message(class tls_change_cipher_spec_message_c *) - ?cancel_query_cipher_suites_and_previous_session@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 413 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_query_cipher_suites_and_previous_session(void) - ?generate_premaster_secret@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 414 NONAME ; enum eap_status_e tls_record_c::generate_premaster_secret(void) - ?apply_send_cipher_suite@tls_record_c@@EAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 415 NONAME ; enum eap_status_e tls_record_c::apply_send_cipher_suite(class eap_variable_data_c *) - ?verify_ttls_pap_username_and_password@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0@Z @ 416 NONAME ; enum eap_status_e tls_record_c::verify_ttls_pap_username_and_password(class eap_variable_data_c const *, class eap_variable_data_c const *) - ?empty_ack_packet_received@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 417 NONAME ; enum eap_status_e tls_application_eap_core_c::empty_ack_packet_received(class eap_am_network_id_c const *, unsigned char) - ?parse_handshake_type_finished@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 418 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_finished(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long) - ?set_is_valid@tls_application_eap_core_c@@EAEXXZ @ 419 NONAME ; void tls_application_eap_core_c::set_is_valid(void) - ?get_ttls_state_string@eap_tls_trace_string_c@@SAPBDW4eap_ttls_tunneled_message_state_e@@@Z @ 420 NONAME ; char const * eap_tls_trace_string_c::get_ttls_state_string(enum eap_ttls_tunneled_message_state_e) - ?set_certificate_authorities@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 421 NONAME ; enum eap_status_e tls_handshake_message_c::set_certificate_authorities(class eap_array_c const *) - ?parse_handshake_type_hello_request@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 422 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_hello_request(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long) - ?tls_message_process@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_tls_peap_header_c@@K@Z @ 423 NONAME ; enum eap_status_e eap_type_tls_peap_c::tls_message_process(class eap_am_network_id_c const *, class eap_tls_peap_header_c *, unsigned long) - ?set_flag_reserved@eap_tls_peap_header_c@@QAEXE@Z @ 424 NONAME ; void eap_tls_peap_header_c::set_flag_reserved(unsigned char) - ?complete_create_handshake_type_certificate_verify@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 425 NONAME ; enum eap_status_e tls_record_c::complete_create_handshake_type_certificate_verify(void) - ?get_eap_type_list@tls_record_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 426 NONAME ; enum eap_status_e tls_record_c::get_eap_type_list(class eap_array_c *) - ?eap_status_return_and_create_tls_protocol_alert@tls_record_c@@AAE?AW4eap_status_e@@W42@@Z @ 427 NONAME ; enum eap_status_e tls_record_c::eap_status_return_and_create_tls_protocol_alert(enum eap_status_e) - ?get_eap_tls_master_session_key@tls_record_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@0@Z @ 428 NONAME ; enum eap_status_e tls_record_c::get_eap_tls_master_session_key(class eap_variable_data_c *, class eap_variable_data_c *) - ?get_payload_buffer@eap_diameter_variable_data_c@@QAEPAVeap_variable_data_c@@XZ @ 429 NONAME ; class eap_variable_data_c * eap_diameter_variable_data_c::get_payload_buffer(void) - ?ttls_server_handles_ms_chapv2_response@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@E@Z @ 430 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_server_handles_ms_chapv2_response(class eap_diameter_payloads_c *, unsigned char) - ?message_hash_init@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 431 NONAME ; enum eap_status_e tls_record_c::message_hash_init(void) - ?timer_delete_data@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@KPAX@Z @ 432 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::timer_delete_data(unsigned long, void *) - ?analyse_handshake_type_certificate_verify@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 433 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_certificate_verify(class tls_handshake_message_c const *) - ?set_handshake_header_copy@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVtls_handshake_header_c@@@Z @ 434 NONAME ; enum eap_status_e tls_handshake_message_c::set_handshake_header_copy(class tls_handshake_header_c const *) - ?get_data_length@eap_diameter_variable_data_c@@QBEKXZ @ 435 NONAME ; unsigned long eap_diameter_variable_data_c::get_data_length(void) const - ??0tls_alert_message_c@@QAE@PAVabs_eap_am_tools_c@@_N@Z @ 436 NONAME ; tls_alert_message_c::tls_alert_message_c(class abs_eap_am_tools_c *, bool) - ?eap_identity_response_packet_process@eap_type_tls_peap_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 437 NONAME ; enum eap_status_e eap_type_tls_peap_c::eap_identity_response_packet_process(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) - ?get_flag_reserved@eap_tls_peap_header_c@@QBEEXZ @ 438 NONAME ; unsigned char eap_tls_peap_header_c::get_flag_reserved(void) const - ?u16_t_to_network_order@tls_handshake_message_c@@CA?AW4eap_status_e@@PAGPAVabs_eap_am_tools_c@@@Z @ 439 NONAME ; enum eap_status_e tls_handshake_message_c::u16_t_to_network_order(unsigned short *, class abs_eap_am_tools_c *) - ?process_tls_records@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 440 NONAME ; enum eap_status_e tls_record_c::process_tls_records(void) - ?configure@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@XZ @ 441 NONAME ; enum eap_status_e eap_type_tls_peap_c::configure(void) - ?ttls_tunneled_message_state_complete_success_request@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 442 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_complete_success_request(class eap_header_wr_c *) - ?set_value_size@mschapv2_challenge_c@@QAEXXZ @ 443 NONAME ; void mschapv2_challenge_c::set_value_size(void) - ?get_is_tunneled_tls@tls_record_c@@QAE_NXZ @ 444 NONAME ; bool tls_record_c::get_is_tunneled_tls(void) - ?set_application_partner@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PAVabs_tls_base_application_c@@@Z @ 445 NONAME ; enum eap_status_e tls_application_eap_core_c::set_application_partner(class abs_tls_base_application_c *) - ?completion_action_check@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 446 NONAME ; enum eap_status_e tls_record_c::completion_action_check(void) - ?get_completion_action_string@tls_completion_c@@QBEPBDXZ @ 447 NONAME ; char const * tls_completion_c::get_completion_action_string(void) const - ?get_state@eap_type_tls_peap_c@@ABE?AW4eap_type_tls_peap_state_variable_e@@XZ @ 448 NONAME ; enum eap_type_tls_peap_state_variable_e eap_type_tls_peap_c::get_state(void) const - ?complete_query_cipher_suites_and_previous_session@tls_record_c@@UAE?AW4eap_status_e@@W4tls_session_type_e@@PBV?$eap_array_c@G@@PBV?$eap_array_c@E@@PBVeap_variable_data_c@@3W4tls_cipher_suites_e@@W42@@Z @ 449 NONAME ; enum eap_status_e tls_record_c::complete_query_cipher_suites_and_previous_session(enum tls_session_type_e, class eap_array_c const *, class eap_array_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, enum tls_cipher_suites_e, enum eap_status_e) - ?get_name@mschapv2_challenge_c@@QBEPBEXZ @ 450 NONAME ; unsigned char const * mschapv2_challenge_c::get_name(void) const - ?get_tls_flags@eap_tls_peap_header_c@@QBEPAEXZ @ 451 NONAME ; unsigned char * eap_tls_peap_header_c::get_tls_flags(void) const - ?alert_received@tls_application_eap_core_c@@UAE?AW4eap_status_e@@W4tls_alert_level_e@@W4tls_alert_description_e@@@Z @ 452 NONAME ; enum eap_status_e tls_application_eap_core_c::alert_received(enum tls_alert_level_e, enum tls_alert_description_e) - ??1eap_diameter_variable_data_c@@UAE@XZ @ 453 NONAME ; eap_diameter_variable_data_c::~eap_diameter_variable_data_c(void) - ?parse_handshake_type_certificate_request@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 454 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_certificate_request(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long) - ?check_version_list@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@GPAE@Z @ 455 NONAME ; enum eap_status_e eap_type_tls_peap_c::check_version_list(unsigned short, unsigned char *) - ?create_handshake_type_client_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 456 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_client_key_exchange(void) - ?packet_data_crypto_keys@dummy_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 457 NONAME ; enum eap_status_e dummy_eap_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *) - ?get_extra_padding_length@tls_record_c@@AAEEEK@Z @ 458 NONAME ; unsigned char tls_record_c::get_extra_padding_length(unsigned char, unsigned long) - ?get_is_mandatory@eap_diameter_variable_data_c@@QBE_NXZ @ 459 NONAME ; bool eap_diameter_variable_data_c::get_is_mandatory(void) const - ?packet_process_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@EPAK@Z @ 460 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_process_peap_v2(class eap_variable_data_c *, unsigned char, unsigned long *) - ?client_proposes_eap_types@dummy_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 461 NONAME ; enum eap_status_e dummy_eap_core_c::client_proposes_eap_types(class eap_am_network_id_c const *, unsigned char) - ?get_payload_code@eap_diameter_variable_data_c@@QBE?AVeap_diameter_avp_code_c@@XZ @ 462 NONAME ; class eap_diameter_avp_code_c eap_diameter_variable_data_c::get_payload_code(void) const - ?get_received_eap_identifier@tls_message_c@@QAEEXZ @ 463 NONAME ; unsigned char tls_message_c::get_received_eap_identifier(void) - ?parse_handshake_type_server_hello@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 464 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_server_hello(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long) - ?restore_saved_previous_state@eap_type_tls_peap_c@@AAEXXZ @ 465 NONAME ; void eap_type_tls_peap_c::restore_saved_previous_state(void) - ?complete_sign_with_private_key@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@W42@@Z @ 466 NONAME ; enum eap_status_e tls_record_c::complete_sign_with_private_key(class eap_variable_data_c const *, enum eap_status_e) - ?get_reassembly_state_string@eap_type_tls_peap_c@@SAPBDW4eap_type_tls_peap_reassembly_state_e@@@Z @ 467 NONAME ; char const * eap_type_tls_peap_c::get_reassembly_state_string(enum eap_type_tls_peap_reassembly_state_e) - ?reset@eap_diameter_payloads_c@@QAE?AW4eap_status_e@@XZ @ 468 NONAME ; enum eap_status_e eap_diameter_payloads_c::reset(void) - ?get_public_dhe_key@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 469 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_public_dhe_key(void) const - ?set_last_eap_identifier@eap_type_tls_peap_c@@AAEXE@Z @ 470 NONAME ; void eap_type_tls_peap_c::set_last_eap_identifier(unsigned char) - ?copy@eap_diameter_variable_data_c@@QBEPAV1@XZ @ 471 NONAME ; class eap_diameter_variable_data_c * eap_diameter_variable_data_c::copy(void) const - ?initialize_asynchronous_init_remove_eap_session@dummy_eap_core_c@@AAE?AW4eap_status_e@@K@Z @ 472 NONAME ; enum eap_status_e dummy_eap_core_c::initialize_asynchronous_init_remove_eap_session(unsigned long) - ?get_handshake@tls_record_message_c@@QBEPAVtls_handshake_message_c@@K@Z @ 473 NONAME ; class tls_handshake_message_c * tls_record_message_c::get_handshake(unsigned long) const - ?reset_operation@dummy_eap_core_c@@CA?AW4eap_status_e@@PAVeap_base_type_c@@PAVabs_eap_am_tools_c@@@Z @ 474 NONAME ; enum eap_status_e dummy_eap_core_c::reset_operation(class eap_base_type_c *, class abs_eap_am_tools_c *) - ?handle_eap_identity_query@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVeap_am_network_id_c@@E_N020@Z @ 475 NONAME ; enum eap_status_e eap_type_tls_peap_c::handle_eap_identity_query(class eap_variable_data_c const *, class eap_am_network_id_c const *, unsigned char, bool, class eap_variable_data_c const *, bool, class eap_variable_data_c const *) - ?get_tls_flag_value@eap_tls_peap_header_c@@QBEEKK@Z @ 476 NONAME ; unsigned char eap_tls_peap_header_c::get_tls_flag_value(unsigned long, unsigned long) const - ?query_ttls_pap_username_and_password@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 477 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::query_ttls_pap_username_and_password(class eap_variable_data_c const *) - ?reset@dummy_eap_core_c@@QAE?AW4eap_status_e@@XZ @ 478 NONAME ; enum eap_status_e dummy_eap_core_c::reset(void) - ?get_data_length@eap_tls_peap_header_c@@QBEGXZ @ 479 NONAME ; unsigned short eap_tls_peap_header_c::get_data_length(void) const - ?packet_data_crypto_keys@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 480 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *) - ??0tls_application_data_message_c@@QAE@PAVabs_eap_am_tools_c@@_N@Z @ 481 NONAME ; tls_application_data_message_c::tls_application_data_message_c(class abs_eap_am_tools_c *, bool) - ?send_tls_message@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 482 NONAME ; enum eap_status_e tls_record_c::send_tls_message(void) - ?cancel_timer@dummy_eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 483 NONAME ; enum eap_status_e dummy_eap_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ?get_is_valid@tls_completion_c@@QAE_NXZ @ 484 NONAME ; bool tls_completion_c::get_is_valid(void) - ?cipher_suite_is_RC4_128_SHA@tls_record_c@@ABE_NW4tls_cipher_suites_e@@@Z @ 485 NONAME ; bool tls_record_c::cipher_suite_is_RC4_128_SHA(enum tls_cipher_suites_e) const - ?set_session_timeout@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@K@Z @ 486 NONAME ; enum eap_status_e eap_type_tls_peap_c::set_session_timeout(unsigned long) - ?allocate_handshake_message@tls_record_c@@AAE?AW4eap_status_e@@PAPAVtls_handshake_message_c@@PAV?$eap_automatic_variable_c@Vtls_handshake_message_c@@@@W4tls_handshake_type_e@@@Z @ 487 NONAME ; enum eap_status_e tls_record_c::allocate_handshake_message(class tls_handshake_message_c * *, class eap_automatic_variable_c *, enum tls_handshake_type_e) - ?get_data@mschapv2_header_c@@QBEPAEXZ @ 488 NONAME ; unsigned char * mschapv2_header_c::get_data(void) const - ?get_next_tls_record_message_protocol@tls_record_c@@EAE?AW4tls_record_protocol_e@@XZ @ 489 NONAME ; enum tls_record_protocol_e tls_record_c::get_next_tls_record_message_protocol(void) - ?query_eap_identity@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@_NPAVeap_variable_data_c@@PBVeap_am_network_id_c@@E@Z @ 490 NONAME ; enum eap_status_e eap_type_tls_peap_c::query_eap_identity(bool, class eap_variable_data_c *, class eap_am_network_id_c const *, unsigned char) - ??0tls_change_cipher_spec_message_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_tls_change_cipher_spec_c@@_N@Z @ 491 NONAME ; tls_change_cipher_spec_message_c::tls_change_cipher_spec_message_c(class abs_eap_am_tools_c *, class abs_tls_change_cipher_spec_c *, bool) - ?cipher_suite_is_AES_128_CBC_SHA@tls_record_c@@ABE_NW4tls_cipher_suites_e@@@Z @ 492 NONAME ; bool tls_record_c::cipher_suite_is_AES_128_CBC_SHA(enum tls_cipher_suites_e) const - ?get_mschapv2_id@mschapv2_header_c@@QBEEXZ @ 493 NONAME ; unsigned char mschapv2_header_c::get_mschapv2_id(void) const - ?check_is_valid_eap_type@tls_application_eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 494 NONAME ; enum eap_status_e tls_application_eap_core_c::check_is_valid_eap_type(class eap_expanded_type_c) - ?get_tls_flag_bit@eap_tls_peap_header_c@@QBE_NK@Z @ 495 NONAME ; bool eap_tls_peap_header_c::get_tls_flag_bit(unsigned long) const - ??0eap_type_tls_peap_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@PAVeap_am_type_tls_peap_c@@_NPAVtls_base_record_c@@33Veap_expanded_type_c@@PBVeap_am_network_id_c@@@Z @ 496 NONAME ; eap_type_tls_peap_c::eap_type_tls_peap_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *, class eap_am_type_tls_peap_c *, bool, class tls_base_record_c *, bool, bool, class eap_expanded_type_c, class eap_am_network_id_c const *) - ??0eap_type_tls_peap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@W4eap_type_ietf_values_e@@KKE2@Z @ 497 NONAME ; eap_type_tls_peap_state_notification_c::eap_type_tls_peap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, enum eap_type_ietf_values_e, unsigned long, unsigned long, unsigned char, bool) - ?get_eap_type_string@eap_tls_peap_header_c@@QBEPBDXZ @ 498 NONAME ; char const * eap_tls_peap_header_c::get_eap_type_string(void) const - ?set_handshake_type@tls_handshake_message_c@@QAE?AW4eap_status_e@@W4tls_handshake_type_e@@@Z @ 499 NONAME ; enum eap_status_e tls_handshake_message_c::set_handshake_type(enum tls_handshake_type_e) - ?ttls_tunneled_message_state_complete_error_request@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 500 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_complete_error_request(class eap_header_wr_c *) - ?add_change_cipher_spec_message@tls_record_message_c@@QAE?AW4eap_status_e@@PAVtls_change_cipher_spec_message_c@@_N@Z @ 501 NONAME ; enum eap_status_e tls_record_message_c::add_change_cipher_spec_message(class tls_change_cipher_spec_message_c *, bool) - ?handle_tls_peap_packet@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_tls_peap_header_c@@K@Z @ 502 NONAME ; enum eap_status_e eap_type_tls_peap_c::handle_tls_peap_packet(class eap_am_network_id_c const *, class eap_tls_peap_header_c *, unsigned long) - ?send_empty_eap_ack@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@XZ @ 503 NONAME ; enum eap_status_e eap_type_tls_peap_c::send_empty_eap_ack(void) - ?get_is_valid@eap_diameter_payloads_c@@QBE_NXZ @ 504 NONAME ; bool eap_diameter_payloads_c::get_is_valid(void) const - ?set_tls_session_type@tls_record_c@@AAE?AW4eap_status_e@@W4tls_session_type_e@@@Z @ 505 NONAME ; enum eap_status_e tls_record_c::set_tls_session_type(enum tls_session_type_e) - ?ttls_client_handles_ms_chapv2_success@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@E@Z @ 506 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_client_handles_ms_chapv2_success(class eap_diameter_payloads_c *, unsigned char) - ?get_tls_prf_data@tls_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@000PAV3@K@Z @ 507 NONAME ; enum eap_status_e tls_record_c::get_tls_prf_data(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long) - ?get_is_valid@tls_alert_message_c@@QAE_NXZ @ 508 NONAME ; bool tls_alert_message_c::get_is_valid(void) - ?set_ms_length@mschapv2_header_c@@QAEXG@Z @ 509 NONAME ; void mschapv2_header_c::set_ms_length(unsigned short) - ??1dummy_eap_core_c@@UAE@XZ @ 510 NONAME ; dummy_eap_core_c::~dummy_eap_core_c(void) - ?timer_expired@dummy_eap_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 511 NONAME ; enum eap_status_e dummy_eap_core_c::timer_expired(unsigned long, void *) - ??1tls_base_record_c@@UAE@XZ @ 512 NONAME ; tls_base_record_c::~tls_base_record_c(void) - ?reset@tls_application_eap_core_c@@UAE?AW4eap_status_e@@XZ @ 513 NONAME ; enum eap_status_e tls_application_eap_core_c::reset(void) - ?analyse_tls_protocol_change_cipher_spec@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_record_message_c@@@Z @ 514 NONAME ; enum eap_status_e tls_record_c::analyse_tls_protocol_change_cipher_spec(class tls_record_message_c const *) - ?get_state@tls_record_c@@ABE?AW4tls_peap_state_e@@XZ @ 515 NONAME ; enum tls_peap_state_e tls_record_c::get_state(void) const - ?rsa_decrypt_with_private_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 516 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::rsa_decrypt_with_private_key(class eap_variable_data_c const *) - ?check_ttls_plain_mschapv2_payloads@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@PAW4eap_ttls_tunneled_message_type_e@@@Z @ 517 NONAME ; enum eap_status_e tls_application_eap_core_c::check_ttls_plain_mschapv2_payloads(class eap_diameter_payloads_c *, enum eap_ttls_tunneled_message_type_e *) - ?set_buffer@eap_diameter_variable_data_c@@QAE?AW4eap_status_e@@Veap_diameter_avp_code_c@@_NPBEK11@Z @ 518 NONAME ; enum eap_status_e eap_diameter_variable_data_c::set_buffer(class eap_diameter_avp_code_c, bool, unsigned char const *, unsigned long, bool, bool) - ?set_alert_level@tls_alert_message_c@@QAE?AW4eap_status_e@@W4tls_alert_level_e@@@Z @ 519 NONAME ; enum eap_status_e tls_alert_message_c::set_alert_level(enum tls_alert_level_e) - ?set_timer@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 520 NONAME ; enum eap_status_e tls_application_eap_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ?start_tls_peap_authentication@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 521 NONAME ; enum eap_status_e eap_type_tls_peap_c::start_tls_peap_authentication(class eap_variable_data_c const *) - ?set_nt_response@mschapv2_change_password_c@@QAEXPBE@Z @ 522 NONAME ; void mschapv2_change_password_c::set_nt_response(unsigned char const *) - ?analyse_handshake_type_hello_request@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 523 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_hello_request(class tls_handshake_message_c const *) - ??Ieap_diameter_avp_code_c@@QAEPAV0@XZ @ 524 NONAME ; class eap_diameter_avp_code_c * eap_diameter_avp_code_c::operator&(void) - ?query_ttls_pap_username_and_password@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 525 NONAME ; enum eap_status_e tls_record_c::query_ttls_pap_username_and_password(class eap_variable_data_c const *) - ?change_cipher_spec@tls_record_c@@UAE?AW4eap_status_e@@_N@Z @ 526 NONAME ; enum eap_status_e tls_record_c::change_cipher_spec(bool) - ?create_compound_session_key_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 527 NONAME ; enum eap_status_e tls_application_eap_core_c::create_compound_session_key_peap_v2(void) - ?get_partner@dummy_eap_core_c@@QAEPAVabs_eap_core_c@@XZ @ 528 NONAME ; class abs_eap_core_c * dummy_eap_core_c::get_partner(void) - ?set_constants@mschapv2_change_password_c@@QAE?AW4eap_status_e@@XZ @ 529 NONAME ; enum eap_status_e mschapv2_change_password_c::set_constants(void) - ?are_pending_queries_completed@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 530 NONAME ; enum eap_status_e tls_record_c::are_pending_queries_completed(void) - ?plain_eap_success_failure_packet_received@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eap_code_value_e@@E@Z @ 531 NONAME ; enum eap_status_e tls_record_c::plain_eap_success_failure_packet_received(class eap_am_network_id_c const *, enum eap_code_value_e, unsigned char) - ?generate_key_material@tls_record_c@@QAE?AW4eap_status_e@@XZ @ 532 NONAME ; enum eap_status_e tls_record_c::generate_key_material(void) - ?peap_tunnel_ready@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@XZ @ 533 NONAME ; enum eap_status_e eap_type_tls_peap_c::peap_tunnel_ready(void) - ?set_record_header_copy@tls_record_message_c@@QAE?AW4eap_status_e@@PBVtls_record_header_c@@@Z @ 534 NONAME ; enum eap_status_e tls_record_message_c::set_record_header_copy(class tls_record_header_c const *) - ?read_configure@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 535 NONAME ; enum eap_status_e tls_record_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?get_code_string@eap_tls_peap_header_c@@QBEPBDXZ @ 536 NONAME ; char const * eap_tls_peap_header_c::get_code_string(void) const - ?state_notification@tls_application_eap_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 537 NONAME ; void tls_application_eap_core_c::state_notification(class abs_eap_state_notification_c const *) - ?set_version@tls_record_message_c@@QAE?AW4eap_status_e@@W4tls_version_e@@@Z @ 538 NONAME ; enum eap_status_e tls_record_message_c::set_version(enum tls_version_e) - ?get_signed_message_hash@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 539 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_signed_message_hash(void) const - ?read_authority_identity@tls_record_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 540 NONAME ; enum eap_status_e tls_record_c::read_authority_identity(class eap_variable_data_c *) - ?get_change_cipher_spec_type@tls_change_cipher_spec_message_c@@QBE?AW4tls_change_cipher_spec_type_e@@XZ @ 541 NONAME ; enum tls_change_cipher_spec_type_e tls_change_cipher_spec_message_c::get_change_cipher_spec_type(void) const - ?create_server_key_exchange_md5_hash@tls_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@00PAV3@@Z @ 542 NONAME ; enum eap_status_e tls_record_c::create_server_key_exchange_md5_hash(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?get_certificate_chain@tls_handshake_message_c@@QBEPBV?$eap_array_c@Veap_variable_data_c@@@@XZ @ 543 NONAME ; class eap_array_c const * tls_handshake_message_c::get_certificate_chain(void) const - ?get_code_data@eap_diameter_avp_code_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAV1@@Z @ 544 NONAME ; enum eap_status_e eap_diameter_avp_code_c::get_code_data(class abs_eap_am_tools_c *, class eap_diameter_avp_code_c *) - ?get_tls_length_offset@eap_tls_peap_header_c@@QBEKXZ @ 545 NONAME ; unsigned long eap_tls_peap_header_c::get_tls_length_offset(void) const - ??0tls_record_message_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_tls_message_hash_c@@_N@Z @ 546 NONAME ; tls_record_message_c::tls_record_message_c(class abs_eap_am_tools_c *, class abs_tls_message_hash_c *, bool) - ??1tls_application_eap_core_c@@UAE@XZ @ 547 NONAME ; tls_application_eap_core_c::~tls_application_eap_core_c(void) - ?get_record_message_count@tls_message_c@@QBEKXZ @ 548 NONAME ; unsigned long tls_message_c::get_record_message_count(void) const - ?get_session_id@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 549 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_session_id(void) const - ?apply_receive_block_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAVabs_crypto_cbc_block_algorithm_c@@PAVabs_crypto_hmac_algorithm_c@@@Z @ 550 NONAME ; enum eap_status_e tls_record_c::apply_receive_block_cipher_suite(class eap_variable_data_c *, class abs_crypto_cbc_block_algorithm_c *, class abs_crypto_hmac_algorithm_c *) - ?alert_received@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@W4tls_alert_level_e@@W4tls_alert_description_e@@@Z @ 551 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::alert_received(enum tls_alert_level_e, enum tls_alert_description_e) - ?set_is_valid@tls_record_c@@EAEXXZ @ 552 NONAME ; void tls_record_c::set_is_valid(void) - ?get_application_data@tls_record_message_c@@QBEPAVtls_application_data_message_c@@K@Z @ 553 NONAME ; class tls_application_data_message_c * tls_record_message_c::get_application_data(unsigned long) const - ?u16_t_to_host_order@tls_record_c@@CA?AW4eap_status_e@@PAGPAVabs_eap_am_tools_c@@@Z @ 554 NONAME ; enum eap_status_e tls_record_c::u16_t_to_host_order(unsigned short *, class abs_eap_am_tools_c *) - ?send_eap_success@dummy_eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 555 NONAME ; enum eap_status_e dummy_eap_core_c::send_eap_success(class eap_am_network_id_c const *, unsigned char) - ?reset@tls_message_c@@QAE?AW4eap_status_e@@XZ @ 556 NONAME ; enum eap_status_e tls_message_c::reset(void) - ?complete_query_certificate_chain@tls_record_c@@UAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_variable_data_c@@@@W42@@Z @ 557 NONAME ; enum eap_status_e tls_record_c::complete_query_certificate_chain(class eap_array_c const *, enum eap_status_e) - ?parse_tls_protocol_application_data@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVeap_variable_data_c@@@Z @ 558 NONAME ; enum eap_status_e tls_record_c::parse_tls_protocol_application_data(class tls_record_message_c *, class eap_variable_data_c *) - ?set_cipher_suite_applied@tls_record_message_c@@QAEXXZ @ 559 NONAME ; void tls_record_message_c::set_cipher_suite_applied(void) - ?read_configure@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 560 NONAME ; enum eap_status_e tls_application_eap_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?set_dhe_group_generator@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 561 NONAME ; enum eap_status_e tls_handshake_message_c::set_dhe_group_generator(class eap_variable_data_c const *) - ?set_tls_master_secret@tls_record_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 562 NONAME ; enum eap_status_e tls_record_c::set_tls_master_secret(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?set_peer_challenge@mschapv2_change_password_c@@QAEXPBE@Z @ 563 NONAME ; void mschapv2_change_password_c::set_peer_challenge(unsigned char const *) - ?cipher_suite_initialization_stream@tls_record_c@@AAE?AW4eap_status_e@@PAVabs_crypto_stream_algorithm_c@@PBVeap_variable_data_c@@_N@Z @ 564 NONAME ; enum eap_status_e tls_record_c::cipher_suite_initialization_stream(class abs_crypto_stream_algorithm_c *, class eap_variable_data_c const *, bool) - ?unset_marked_removed@dummy_eap_core_c@@QAEXXZ @ 565 NONAME ; void dummy_eap_core_c::unset_marked_removed(void) - ?complete_rsa_decrypt_with_private_key@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@W42@@Z @ 566 NONAME ; enum eap_status_e tls_record_c::complete_rsa_decrypt_with_private_key(class eap_variable_data_c const *, enum eap_status_e) - ?set_copy_of_buffer@peap_tlv_variable_data_c@@QAE?AW4eap_status_e@@PBVtls_peap_tlv_header_c@@@Z @ 567 NONAME ; enum eap_status_e peap_tlv_variable_data_c::set_copy_of_buffer(class tls_peap_tlv_header_c const *) - ?is_ietf_code@eap_diameter_avp_code_c@@SA_NV1@@Z @ 568 NONAME ; bool eap_diameter_avp_code_c::is_ietf_code(class eap_diameter_avp_code_c) - ?parse_handshake_type_server_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 569 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_server_key_exchange(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long) - ?get_state_string@eap_tls_trace_string_c@@SAPBDW4tls_peap_state_e@@@Z @ 570 NONAME ; char const * eap_tls_trace_string_c::get_state_string(enum tls_peap_state_e) - ?analyse_handshake_type_certificate@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 571 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_certificate(class tls_handshake_message_c const *) - ?add_data_length@tls_record_message_c@@QAE?AW4eap_status_e@@K@Z @ 572 NONAME ; enum eap_status_e tls_record_message_c::add_data_length(unsigned long) - ?set_record_message_data@tls_record_message_c@@QAE?AW4eap_status_e@@PAXK@Z @ 573 NONAME ; enum eap_status_e tls_record_message_c::set_record_message_data(void *, unsigned long) - ?analyse_handshake_type_client_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 574 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_client_key_exchange(class tls_handshake_message_c const *) - ?create_message_data@tls_handshake_message_c@@QAE?AW4eap_status_e@@XZ @ 575 NONAME ; enum eap_status_e tls_handshake_message_c::create_message_data(void) - ??8eap_diameter_avp_code_c@@QBE_NABV0@@Z @ 576 NONAME ; bool eap_diameter_avp_code_c::operator==(class eap_diameter_avp_code_c const &) const - ?add_data@eap_diameter_variable_data_c@@QAE?AW4eap_status_e@@PBEK@Z @ 577 NONAME ; enum eap_status_e eap_diameter_variable_data_c::add_data(unsigned char const *, unsigned long) - ?convert_eap_diameter_avp_code_to_u32_t@@YAKVeap_diameter_avp_code_c@@@Z @ 578 NONAME ; unsigned long convert_eap_diameter_avp_code_to_u32_t(class eap_diameter_avp_code_c) - ??0eap_diameter_avp_code_c@@QAE@W4eap_diameter_vendor_id_e@@K@Z @ 579 NONAME ; eap_diameter_avp_code_c::eap_diameter_avp_code_c(enum eap_diameter_vendor_id_e, unsigned long) - ?get_dhe_group_generator@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 580 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_dhe_group_generator(void) const - ?parse_tls_protocol_handshake@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVeap_variable_data_c@@@Z @ 581 NONAME ; enum eap_status_e tls_record_c::parse_tls_protocol_handshake(class tls_record_message_c *, class eap_variable_data_c *) - ?cipher_suite_initialization@tls_record_c@@AAE?AW4eap_status_e@@_N@Z @ 582 NONAME ; enum eap_status_e tls_record_c::cipher_suite_initialization(bool) - ??9eap_diameter_avp_code_c@@QBE_NABV0@@Z @ 583 NONAME ; bool eap_diameter_avp_code_c::operator!=(class eap_diameter_avp_code_c const &) const - ?eap_tls_peap_fragment_send@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@XZ @ 584 NONAME ; enum eap_status_e eap_type_tls_peap_c::eap_tls_peap_fragment_send(void) - ?save_analyse_index@tls_record_message_c@@QAEXK@Z @ 585 NONAME ; void tls_record_message_c::save_analyse_index(unsigned long) - ?complete_query_ttls_pap_username_and_password@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0W42@@Z @ 586 NONAME ; enum eap_status_e tls_record_c::complete_query_ttls_pap_username_and_password(class eap_variable_data_c const *, class eap_variable_data_c const *, enum eap_status_e) - ?packet_process@tls_record_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 587 NONAME ; enum eap_status_e tls_record_c::packet_process(class eap_variable_data_c *, unsigned char) - ?set_eap_failure_timeout@dummy_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 588 NONAME ; enum eap_status_e dummy_eap_core_c::set_eap_failure_timeout(void) - ??1mschapv2_header_c@@UAE@XZ @ 589 NONAME ; mschapv2_header_c::~mschapv2_header_c(void) - ?get_header_offset@dummy_eap_core_c@@UAEKPAK0@Z @ 590 NONAME ; unsigned long dummy_eap_core_c::get_header_offset(unsigned long *, unsigned long *) - ?get_tls_message_length@eap_tls_peap_header_c@@QBE?AW4eap_status_e@@PAK@Z @ 591 NONAME ; enum eap_status_e eap_tls_peap_header_c::get_tls_message_length(unsigned long *) const - ?allocate_handshake_message_copy@tls_record_c@@AAE?AW4eap_status_e@@PAPAVtls_handshake_message_c@@PAV?$eap_automatic_variable_c@Vtls_handshake_message_c@@@@PAVtls_handshake_header_c@@@Z @ 592 NONAME ; enum eap_status_e tls_record_c::allocate_handshake_message_copy(class tls_handshake_message_c * *, class eap_automatic_variable_c *, class tls_handshake_header_c *) - ?cancel_session_timeout@dummy_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 593 NONAME ; enum eap_status_e dummy_eap_core_c::cancel_session_timeout(void) - ?apply_send_stream_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAVabs_crypto_stream_algorithm_c@@PAVabs_crypto_hmac_algorithm_c@@@Z @ 594 NONAME ; enum eap_status_e tls_record_c::apply_send_stream_cipher_suite(class eap_variable_data_c *, class abs_crypto_stream_algorithm_c *, class abs_crypto_hmac_algorithm_c *) - ?add_record_message@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_handshake_message_c@@@Z @ 595 NONAME ; enum eap_status_e tls_record_c::add_record_message(class tls_handshake_message_c *) - ??0eap_diameter_avp_code_c@@QAE@XZ @ 596 NONAME ; eap_diameter_avp_code_c::eap_diameter_avp_code_c(void) - ?get_tls_session_type_string@eap_tls_trace_string_c@@SAPBDW4tls_session_type_e@@@Z @ 597 NONAME ; char const * eap_tls_trace_string_c::get_tls_session_type_string(enum tls_session_type_e) - ?set_selected_compression_method@tls_handshake_message_c@@QAE?AW4eap_status_e@@W4tls_compression_method_e@@@Z @ 598 NONAME ; enum eap_status_e tls_handshake_message_c::set_selected_compression_method(enum tls_compression_method_e) - ?complete_verify_certificate_chain@tls_record_c@@UAE?AW4eap_status_e@@W42@@Z @ 599 NONAME ; enum eap_status_e tls_record_c::complete_verify_certificate_chain(enum eap_status_e) - ?add_message_data@tls_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@PA_N@Z @ 600 NONAME ; enum eap_status_e tls_message_c::add_message_data(class eap_variable_data_c *, bool *) - ?complete_verify_ttls_pap_username_and_password@tls_record_c@@UAE?AW4eap_status_e@@W42@PBVeap_variable_data_c@@@Z @ 601 NONAME ; enum eap_status_e tls_record_c::complete_verify_ttls_pap_username_and_password(enum eap_status_e, class eap_variable_data_c const *) - ?unload_module@dummy_eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 602 NONAME ; enum eap_status_e dummy_eap_core_c::unload_module(class eap_expanded_type_c) - ?get_nak_tlv@peap_tlv_payloads_c@@QAEPAVpeap_tlv_variable_data_c@@XZ @ 603 NONAME ; class peap_tlv_variable_data_c * peap_tlv_payloads_c::get_nak_tlv(void) - ?set_session_id@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 604 NONAME ; enum eap_status_e tls_handshake_message_c::set_session_id(class eap_variable_data_c const *) - ?get_data@eap_tls_peap_header_c@@QBEPAEPAVabs_eap_am_tools_c@@K@Z @ 605 NONAME ; unsigned char * eap_tls_peap_header_c::get_data(class abs_eap_am_tools_c *, unsigned long) const - ?set_code_values@eap_diameter_avp_code_c@@QAEXW4eap_diameter_vendor_id_e@@K@Z @ 606 NONAME ; void eap_diameter_avp_code_c::set_code_values(enum eap_diameter_vendor_id_e, unsigned long) - ??1mschapv2_change_password_c@@UAE@XZ @ 607 NONAME ; mschapv2_change_password_c::~mschapv2_change_password_c(void) - ?set_session_timeout@tls_application_eap_core_c@@UAE?AW4eap_status_e@@K@Z @ 608 NONAME ; enum eap_status_e tls_application_eap_core_c::set_session_timeout(unsigned long) - ?create_server_key_exchange_sha1_hash@tls_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@00PAV3@@Z @ 609 NONAME ; enum eap_status_e tls_record_c::create_server_key_exchange_sha1_hash(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?analyse_handshake_type_server_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@PBVtls_handshake_message_c@@@Z @ 610 NONAME ; enum eap_status_e tls_record_c::analyse_handshake_type_server_key_exchange(class tls_handshake_message_c const *) - ??1tls_message_c@@UAE@XZ @ 611 NONAME ; tls_message_c::~tls_message_c(void) - ?ttls_tunneled_message_state_process_success_request@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 612 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_process_success_request(class eap_header_wr_c *) - ?reset_hmac_algorithms@tls_record_c@@AAEX_N@Z @ 613 NONAME ; void tls_record_c::reset_hmac_algorithms(bool) - ?get_eap_length@eap_tls_peap_header_c@@QBEGXZ @ 614 NONAME ; unsigned short eap_tls_peap_header_c::get_eap_length(void) const - ?convert_eap_diameter_avp_code_to_u64_t@@YA_KVeap_diameter_avp_code_c@@@Z @ 615 NONAME ; unsigned long long convert_eap_diameter_avp_code_to_u64_t(class eap_diameter_avp_code_c) - ?set_is_valid@tls_record_message_c@@AAEXXZ @ 616 NONAME ; void tls_record_message_c::set_is_valid(void) - ?get_header_length@eap_tls_peap_header_c@@QBEKXZ @ 617 NONAME ; unsigned long eap_tls_peap_header_c::get_header_length(void) const - ?set_is_valid@tls_completion_c@@AAEXXZ @ 618 NONAME ; void tls_completion_c::set_is_valid(void) - ?generate_nai@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@1@Z @ 619 NONAME ; enum eap_status_e eap_type_tls_peap_c::generate_nai(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?add_rogue_ap@dummy_eap_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 620 NONAME ; enum eap_status_e dummy_eap_core_c::add_rogue_ap(class eap_array_c &) - ?reset@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 621 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::reset(void) - ?restart_with_new_type@dummy_eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@E@Z @ 622 NONAME ; enum eap_status_e dummy_eap_core_c::restart_with_new_type(class eap_expanded_type_c, class eap_am_network_id_c const *, unsigned char) - ?indicate_state_to_lower_layer@tls_record_c@@AAE?AW4eap_status_e@@W4tls_peap_state_e@@@Z @ 623 NONAME ; enum eap_status_e tls_record_c::indicate_state_to_lower_layer(enum tls_peap_state_e) - ?start_peap_tunneled_authentication@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_NEW4tls_session_type_e@@1@Z @ 624 NONAME ; enum eap_status_e tls_application_eap_core_c::start_peap_tunneled_authentication(class eap_am_network_id_c const *, bool, unsigned char, enum tls_session_type_e, bool) - ?get_application_partner@tls_application_eap_core_c@@UAEPAVabs_tls_base_application_c@@XZ @ 625 NONAME ; class abs_tls_base_application_c * tls_application_eap_core_c::get_application_partner(void) - ?get_saved_eap_identity@dummy_eap_core_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 626 NONAME ; enum eap_status_e dummy_eap_core_c::get_saved_eap_identity(class eap_variable_data_c *) - ?set_data_length@eap_tls_peap_header_c@@QAEXK_N@Z @ 627 NONAME ; void eap_tls_peap_header_c::set_data_length(unsigned long, bool) - ?generate_dhe_keys@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 628 NONAME ; enum eap_status_e tls_record_c::generate_dhe_keys(void) - ?cancel_query_tunnel_PAC@tls_application_eap_core_c@@UAE?AW4eap_status_e@@XZ @ 629 NONAME ; enum eap_status_e tls_application_eap_core_c::cancel_query_tunnel_PAC(void) - ?configure@dummy_eap_core_c@@UAE?AW4eap_status_e@@XZ @ 630 NONAME ; enum eap_status_e dummy_eap_core_c::configure(void) - ?create_tls_application_data@tls_record_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@K@Z @ 631 NONAME ; enum eap_status_e tls_record_c::create_tls_application_data(class eap_buf_chain_wr_c *, unsigned long) - ?tls_peap_packet_send@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@KKK_N@Z @ 632 NONAME ; enum eap_status_e eap_type_tls_peap_c::tls_peap_packet_send(class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long, bool) - ?unset_failure_message_received@eap_type_tls_peap_c@@AAEXXZ @ 633 NONAME ; void eap_type_tls_peap_c::unset_failure_message_received(void) - ?set_tls_message_length@eap_tls_peap_header_c@@QAEXK@Z @ 634 NONAME ; void eap_tls_peap_header_c::set_tls_message_length(unsigned long) - ?cancel_timer@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 635 NONAME ; enum eap_status_e tls_application_eap_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ?eap_acknowledge@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 636 NONAME ; enum eap_status_e eap_type_tls_peap_c::eap_acknowledge(class eap_am_network_id_c const *) - ?create_nonce_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@_N@Z @ 637 NONAME ; enum eap_status_e tls_application_eap_core_c::create_nonce_peap_v2(bool) - ?store_nonce_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@_NPAVpeap_tlv_payloads_c@@@Z @ 638 NONAME ; enum eap_status_e tls_application_eap_core_c::store_nonce_peap_v2(bool, class peap_tlv_payloads_c *) - ?sign_with_private_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 639 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::sign_with_private_key(class eap_variable_data_c const *) - ?create_eap_payload_tlv_message@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@PBVeap_header_wr_c@@E@Z @ 640 NONAME ; enum eap_status_e tls_application_eap_core_c::create_eap_payload_tlv_message(class eap_buf_chain_wr_c *, class eap_header_wr_c const *, unsigned char) - ?set_tunneled_state@tls_application_eap_core_c@@UAEXW4tls_session_type_e@@@Z @ 641 NONAME ; void tls_application_eap_core_c::set_tunneled_state(enum tls_session_type_e) - ?reset@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@XZ @ 642 NONAME ; enum eap_status_e eap_type_tls_peap_c::reset(void) - ?get_alert_description@tls_alert_message_c@@QBE?AW4tls_alert_description_e@@XZ @ 643 NONAME ; enum tls_alert_description_e tls_alert_message_c::get_alert_description(void) const - ?set_signed_message_hash@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 644 NONAME ; enum eap_status_e tls_handshake_message_c::set_signed_message_hash(class eap_variable_data_c const *) - ?save_current_state@eap_type_tls_peap_c@@AAEXXZ @ 645 NONAME ; void eap_type_tls_peap_c::save_current_state(void) - ?object_increase_reference_count@eap_diameter_variable_data_c@@QAEXXZ @ 646 NONAME ; void eap_diameter_variable_data_c::object_increase_reference_count(void) - ?get_name_length@mschapv2_response_c@@QBEKXZ @ 647 NONAME ; unsigned long mschapv2_response_c::get_name_length(void) const - ?get_opcode@mschapv2_header_c@@QBE?AW4mschapv2_opcode_e@@XZ @ 648 NONAME ; enum mschapv2_opcode_e mschapv2_header_c::get_opcode(void) const - ?set_selected_cipher_suite@tls_record_c@@AAEXW4tls_cipher_suites_e@@@Z @ 649 NONAME ; void tls_record_c::set_selected_cipher_suite(enum tls_cipher_suites_e) - ?get_eap_type@eap_tls_peap_header_c@@QBE?AVeap_expanded_type_c@@XZ @ 650 NONAME ; class eap_expanded_type_c eap_tls_peap_header_c::get_eap_type(void) const - ?cancel_retransmission@dummy_eap_core_c@@AAE?AW4eap_status_e@@XZ @ 651 NONAME ; enum eap_status_e dummy_eap_core_c::cancel_retransmission(void) - ?get_eap_identifier@eap_tls_peap_header_c@@QBEEXZ @ 652 NONAME ; unsigned char eap_tls_peap_header_c::get_eap_identifier(void) const - ??1eap_am_type_tls_peap_symbian_c@@UAE@XZ @ 653 NONAME ; eap_am_type_tls_peap_symbian_c::~eap_am_type_tls_peap_symbian_c(void) - ?send_final_notification@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@XZ @ 654 NONAME ; enum eap_status_e eap_type_tls_peap_c::send_final_notification(void) - ?set_is_analysed@tls_handshake_message_c@@QAEXXZ @ 655 NONAME ; void tls_handshake_message_c::set_is_analysed(void) - ?add_message_data@tls_application_data_message_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 656 NONAME ; enum eap_status_e tls_application_data_message_c::add_message_data(class eap_variable_data_c *) - ?get_header_minimum_size@mschapv2_response_c@@SAKXZ @ 657 NONAME ; unsigned long mschapv2_response_c::get_header_minimum_size(void) - ?packet_trace@eap_type_tls_peap_c@@AAEXPBDPBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 658 NONAME ; void eap_type_tls_peap_c::packet_trace(char const *, class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) - ?shutdown@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@XZ @ 659 NONAME ; enum eap_status_e eap_type_tls_peap_c::shutdown(void) - ?get_tls_session_type@tls_record_c@@AAE?AW4tls_session_type_e@@XZ @ 660 NONAME ; enum tls_session_type_e tls_record_c::get_tls_session_type(void) - ?get_alert_level@tls_alert_message_c@@QBE?AW4tls_alert_level_e@@XZ @ 661 NONAME ; enum tls_alert_level_e tls_alert_message_c::get_alert_level(void) const - ?process_tls_message@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 662 NONAME ; enum eap_status_e tls_record_c::process_tls_message(void) - ?cancel_rsa_decrypt_with_private_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 663 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_rsa_decrypt_with_private_key(void) - ?timer_delete_data@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@KPAX@Z @ 664 NONAME ; enum eap_status_e eap_type_tls_peap_c::timer_delete_data(unsigned long, void *) - ?get_finished_data@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 665 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_finished_data(void) const - ?peap_tunnel_ready@tls_application_eap_core_c@@UAE?AW4eap_status_e@@XZ @ 666 NONAME ; enum eap_status_e tls_application_eap_core_c::peap_tunnel_ready(void) - ?set_initial_eap_identifier@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 667 NONAME ; enum eap_status_e eap_type_tls_peap_c::set_initial_eap_identifier(class eap_am_network_id_c const *, unsigned char) - ?check_mandatory_payloads@eap_diameter_payloads_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_diameter_avp_code_c@@@@@Z @ 668 NONAME ; enum eap_status_e eap_diameter_payloads_c::check_mandatory_payloads(class eap_array_c const *) - ?set_name@mschapv2_challenge_c@@QAEXPBE@Z @ 669 NONAME ; void mschapv2_challenge_c::set_name(unsigned char const *) - ?create_compound_mac_key_peap_v2@tls_application_eap_core_c@@AAE?AW4eap_status_e@@_N@Z @ 670 NONAME ; enum eap_status_e tls_application_eap_core_c::create_compound_mac_key_peap_v2(bool) - ?cipher_suite_initialization_cbc@tls_record_c@@AAE?AW4eap_status_e@@PAPAVabs_crypto_cbc_block_algorithm_c@@PAVabs_crypto_block_algorithm_c@@PBVeap_variable_data_c@@2_N@Z @ 671 NONAME ; enum eap_status_e tls_record_c::cipher_suite_initialization_cbc(class abs_crypto_cbc_block_algorithm_c * *, class abs_crypto_block_algorithm_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, bool) - ?parse_handshake_type_client_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 672 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_client_key_exchange(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long) - ??0tls_application_eap_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVeap_core_c@@_N2Veap_expanded_type_c@@PBVeap_am_network_id_c@@@Z @ 673 NONAME ; tls_application_eap_core_c::tls_application_eap_core_c(class abs_eap_am_tools_c *, class eap_core_c *, bool, bool, class eap_expanded_type_c, class eap_am_network_id_c const *) - ?restart_authentication@tls_application_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 674 NONAME ; enum eap_status_e tls_application_eap_core_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool) - ?handle_ttls_plain_pap_payloads@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_diameter_payloads_c@@W4eap_ttls_tunneled_message_type_e@@E@Z @ 675 NONAME ; enum eap_status_e tls_application_eap_core_c::handle_ttls_plain_pap_payloads(class eap_diameter_payloads_c *, enum eap_ttls_tunneled_message_type_e, unsigned char) - ?cipher_suite_is_TLS_RSA@tls_record_c@@ABE_NXZ @ 676 NONAME ; bool tls_record_c::cipher_suite_is_TLS_RSA(void) const - ?cipher_suite_initialization_hmac_sha1@tls_record_c@@AAE?AW4eap_status_e@@_N@Z @ 677 NONAME ; enum eap_status_e tls_record_c::cipher_suite_initialization_hmac_sha1(bool) - ?set_partner@dummy_eap_core_c@@QAEXPAVabs_eap_core_c@@@Z @ 678 NONAME ; void dummy_eap_core_c::set_partner(class abs_eap_core_c *) - ?packet_data_crypto_keys@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 679 NONAME ; enum eap_status_e eap_type_tls_peap_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *) - ?save_analyse_index@tls_message_c@@QAEXK@Z @ 680 NONAME ; void tls_message_c::save_analyse_index(unsigned long) - ?get_is_client@eap_type_tls_peap_c@@UAE_NXZ @ 681 NONAME ; bool eap_type_tls_peap_c::get_is_client(void) - ?cipher_suite_is_RC4_128_MD5@tls_record_c@@ABE_NW4tls_cipher_suites_e@@@Z @ 682 NONAME ; bool tls_record_c::cipher_suite_is_RC4_128_MD5(enum tls_cipher_suites_e) const - ?packet_forward_to_tunnel@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 683 NONAME ; enum eap_status_e tls_application_eap_core_c::packet_forward_to_tunnel(class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) - ?create_random_eap_identity@eap_type_tls_peap_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 684 NONAME ; enum eap_status_e eap_type_tls_peap_c::create_random_eap_identity(class eap_variable_data_c *) - ??0eap_tls_trace_string_c@@QAE@XZ @ 685 NONAME ; eap_tls_trace_string_c::eap_tls_trace_string_c(void) - ?read_configure@dummy_eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 686 NONAME ; enum eap_status_e dummy_eap_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?cipher_suite_initialization_hmac_md5@tls_record_c@@AAE?AW4eap_status_e@@_N@Z @ 687 NONAME ; enum eap_status_e tls_record_c::cipher_suite_initialization_hmac_md5(bool) - ?parse_handshake_type_client_hello@tls_record_c@@AAE?AW4eap_status_e@@PAVtls_record_message_c@@PAVtls_handshake_header_c@@K@Z @ 688 NONAME ; enum eap_status_e tls_record_c::parse_handshake_type_client_hello(class tls_record_message_c *, class tls_handshake_header_c *, unsigned long) - ?fragment_tls_records@tls_message_c@@QAE?AW4eap_status_e@@PAVtls_record_message_c@@PAV?$eap_array_c@Vtls_record_message_c@@@@@Z @ 689 NONAME ; enum eap_status_e tls_message_c::fragment_tls_records(class tls_record_message_c *, class eap_array_c *) - ?apply_send_block_cipher_suite@tls_record_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAVabs_crypto_cbc_block_algorithm_c@@PAVabs_crypto_hmac_algorithm_c@@@Z @ 690 NONAME ; enum eap_status_e tls_record_c::apply_send_block_cipher_suite(class eap_variable_data_c *, class abs_crypto_cbc_block_algorithm_c *, class abs_crypto_hmac_algorithm_c *) - ?get_name@mschapv2_response_c@@QBEPBEXZ @ 691 NONAME ; unsigned char const * mschapv2_response_c::get_name(void) const - ?create_message_data@tls_alert_message_c@@QAE?AW4eap_status_e@@XZ @ 692 NONAME ; enum eap_status_e tls_alert_message_c::create_message_data(void) - ?state_notification@tls_record_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 693 NONAME ; void tls_record_c::state_notification(class abs_eap_state_notification_c const *) - ?start_tls_peap_authentication@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 694 NONAME ; enum eap_status_e tls_record_c::start_tls_peap_authentication(class eap_variable_data_c const *) - ?get_data_length@mschapv2_header_c@@QBEKXZ @ 695 NONAME ; unsigned long mschapv2_header_c::get_data_length(void) const - ?update_buffer_indexes@eap_type_tls_peap_c@@AAEXKKPAK0@Z @ 696 NONAME ; void eap_type_tls_peap_c::update_buffer_indexes(unsigned long, unsigned long, unsigned long *, unsigned long *) - ?initialize_session_timeout@dummy_eap_core_c@@AAE?AW4eap_status_e@@K@Z @ 697 NONAME ; enum eap_status_e dummy_eap_core_c::initialize_session_timeout(unsigned long) - ?set_type_partner@tls_base_record_c@@QAEXPAVabs_tls_base_record_c@@@Z @ 698 NONAME ; void tls_base_record_c::set_type_partner(class abs_tls_base_record_c *) - ??0dummy_eap_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_core_c@@_NPBVeap_am_network_id_c@@2@Z @ 699 NONAME ; dummy_eap_core_c::dummy_eap_core_c(class abs_eap_am_tools_c *, class abs_eap_core_c *, bool, class eap_am_network_id_c const *, bool) - ?restart_authentication@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 700 NONAME ; enum eap_status_e eap_type_tls_peap_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool) - ?add_application_data_message@tls_record_message_c@@QAE?AW4eap_status_e@@PAVtls_application_data_message_c@@_N@Z @ 701 NONAME ; enum eap_status_e tls_record_message_c::add_application_data_message(class tls_application_data_message_c *, bool) - ?verify_signature_of_server_key_exchange@tls_record_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 702 NONAME ; enum eap_status_e tls_record_c::verify_signature_of_server_key_exchange(class eap_variable_data_c const *) - ?set_random_value@tls_handshake_message_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 703 NONAME ; enum eap_status_e tls_handshake_message_c::set_random_value(class eap_variable_data_c const *) - ?set_is_valid@eap_am_type_tls_peap_symbian_c@@QAEXXZ @ 704 NONAME ; void eap_am_type_tls_peap_symbian_c::set_is_valid(void) - ?message_hash_save_certificate_verify@tls_record_c@@EAE?AW4eap_status_e@@XZ @ 705 NONAME ; enum eap_status_e tls_record_c::message_hash_save_certificate_verify(void) - ??1tls_handshake_message_c@@UAE@XZ @ 706 NONAME ; tls_handshake_message_c::~tls_handshake_message_c(void) - ?set_tls_flag_value@eap_tls_peap_header_c@@QBEXEKK@Z @ 707 NONAME ; void eap_tls_peap_header_c::set_tls_flag_value(unsigned char, unsigned long, unsigned long) const - ?get_NAI@eap_type_tls_peap_c@@AAEPAVeap_variable_data_c@@XZ @ 708 NONAME ; class eap_variable_data_c * eap_type_tls_peap_c::get_NAI(void) - ?create_message_data@tls_change_cipher_spec_message_c@@QAE?AW4eap_status_e@@XZ @ 709 NONAME ; enum eap_status_e tls_change_cipher_spec_message_c::create_message_data(void) - ?indicate_messages_processed@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 710 NONAME ; enum eap_status_e tls_record_c::indicate_messages_processed(void) - ?ttls_tunneled_message_state_process_challenge_request@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 711 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_process_challenge_request(class eap_header_wr_c *) - ?create_handshake_type_client_hello@tls_record_c@@AAE?AW4eap_status_e@@XZ @ 712 NONAME ; enum eap_status_e tls_record_c::create_handshake_type_client_hello(void) - ??8eap_diameter_avp_code_c@@QBE_NW4eap_diameter_avp_code_of_ietf_e@@@Z @ 713 NONAME ; bool eap_diameter_avp_code_c::operator==(enum eap_diameter_avp_code_of_ietf_e) const - ?get_application_data@tls_application_data_message_c@@QAEPAVeap_variable_data_c@@XZ @ 714 NONAME ; class eap_variable_data_c * tls_application_data_message_c::get_application_data(void) - ?save_current_reassembly_state@eap_type_tls_peap_c@@AAEXXZ @ 715 NONAME ; void eap_type_tls_peap_c::save_current_reassembly_state(void) - ?parse_generic_payload@eap_diameter_payloads_c@@QAE?AW4eap_status_e@@Veap_diameter_avp_code_c@@PBVeap_diameter_avp_header_c@@@Z @ 716 NONAME ; enum eap_status_e eap_diameter_payloads_c::parse_generic_payload(class eap_diameter_avp_code_c, class eap_diameter_avp_header_c const *) - ?set_constants@mschapv2_response_c@@QAE?AW4eap_status_e@@XZ @ 717 NONAME ; enum eap_status_e mschapv2_response_c::set_constants(void) - ?ttls_tunneled_message_state_process_response@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_header_wr_c@@@Z @ 718 NONAME ; enum eap_status_e tls_application_eap_core_c::ttls_tunneled_message_state_process_response(class eap_header_wr_c *) - ?set_session_timeout@tls_record_c@@UAE?AW4eap_status_e@@K@Z @ 719 NONAME ; enum eap_status_e tls_record_c::set_session_timeout(unsigned long) - ?get_flag_tls_length_included@eap_tls_peap_header_c@@QBE_NXZ @ 720 NONAME ; bool eap_tls_peap_header_c::get_flag_tls_length_included(void) const - ?set_is_valid@dummy_eap_core_c@@UAEXXZ @ 721 NONAME ; void dummy_eap_core_c::set_is_valid(void) - ?cancel_query_certificate_chain@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@XZ @ 722 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::cancel_query_certificate_chain(void) - ?reset_block_ciphers@tls_record_c@@AAEX_N@Z @ 723 NONAME ; void tls_record_c::reset_block_ciphers(bool) - ?create_eap_diameter_avp_message@tls_application_eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@PBVeap_header_wr_c@@E@Z @ 724 NONAME ; enum eap_status_e tls_application_eap_core_c::create_eap_diameter_avp_message(class eap_buf_chain_wr_c *, class eap_header_wr_c const *, unsigned char) - ?get_random_value@tls_handshake_message_c@@QBEPBVeap_variable_data_c@@XZ @ 725 NONAME ; class eap_variable_data_c const * tls_handshake_message_c::get_random_value(void) const - ?set_tls_master_secret@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 726 NONAME ; enum eap_status_e eap_type_tls_peap_c::set_tls_master_secret(class eap_variable_data_c const *) - ?load_module@tls_record_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 727 NONAME ; enum eap_status_e tls_record_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) - ?timer_delete_data@dummy_eap_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 728 NONAME ; enum eap_status_e dummy_eap_core_c::timer_delete_data(unsigned long, void *) - ?complete_query_realm@tls_record_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@W42@@Z @ 729 NONAME ; enum eap_status_e tls_record_c::complete_query_realm(class eap_variable_data_c const *, enum eap_status_e) - ??0mschapv2_challenge_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 730 NONAME ; mschapv2_challenge_c::mschapv2_challenge_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?set_timer@eap_type_tls_peap_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 731 NONAME ; enum eap_status_e eap_type_tls_peap_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ?verify_with_public_key@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0@Z @ 732 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::verify_with_public_key(class eap_variable_data_c const *, class eap_variable_data_c const *) - ?type_configure_read@eap_am_type_tls_peap_symbian_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 733 NONAME ; enum eap_status_e eap_am_type_tls_peap_symbian_c::type_configure_read(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?get_header_offset@eap_type_tls_peap_c@@UAEKPAK0@Z @ 734 NONAME ; unsigned long eap_type_tls_peap_c::get_header_offset(unsigned long *, unsigned long *) - ?check_selected_compression_method@tls_record_c@@AAE?AW4eap_status_e@@W4tls_compression_method_e@@@Z @ 735 NONAME ; enum eap_status_e tls_record_c::check_selected_compression_method(enum tls_compression_method_e) - ?get_is_valid@tls_handshake_message_c@@QAE_NXZ @ 736 NONAME ; bool tls_handshake_message_c::get_is_valid(void) - ?get_header_offset@tls_application_eap_core_c@@UAEKPAK0@Z @ 737 NONAME ; unsigned long tls_application_eap_core_c::get_header_offset(unsigned long *, unsigned long *) - ?resend_packet@dummy_eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKKK@Z @ 738 NONAME ; enum eap_status_e dummy_eap_core_c::resend_packet(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long, unsigned long) - ?set_marked_removed@dummy_eap_core_c@@QAEXXZ @ 739 NONAME ; void dummy_eap_core_c::set_marked_removed(void) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/eapvpnifu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapvpnifu.def Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapvpnifu.def Wed Sep 01 12:23:57 2010 +0100 @@ -1,30 +1,3 @@ EXPORTS ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) - ?configure@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 2 NONAME ; enum eap_status_e eap_core_client_message_if_c::configure(void) - ?process_message@eap_core_client_message_if_c@@AAE?AW4eap_status_e@@PAVeap_process_tlv_message_data_c@@@Z @ 3 NONAME ; enum eap_status_e eap_core_client_message_if_c::process_message(class eap_process_tlv_message_data_c *) - ?timer_expired@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 4 NONAME ; enum eap_status_e eap_core_client_message_if_c::timer_expired(unsigned long, void *) - ?new_eap_am_client_message_if_c@@YAPAVeap_am_message_if_c@@PAVabs_eap_am_tools_c@@_NK@Z @ 5 NONAME ; class eap_am_message_if_c * new_eap_am_client_message_if_c(class abs_eap_am_tools_c *, bool, unsigned long) - ?eap_acknowledge@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 6 NONAME ; enum eap_status_e eap_core_client_message_if_c::eap_acknowledge(class eap_am_network_id_c const *) - ?SendData@CEapCoreInterface@@UAEHPBXH@Z @ 7 NONAME ; int CEapCoreInterface::SendData(void const *, int) - ?send_data@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBXK@Z @ 8 NONAME ; enum eap_status_e eap_core_client_message_if_c::send_data(void const *, unsigned long) - ??1eap_core_client_message_if_c@@UAE@XZ @ 9 NONAME ; eap_core_client_message_if_c::~eap_core_client_message_if_c(void) - ?reset@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 10 NONAME ; enum eap_status_e eap_core_client_message_if_c::reset(void) - ?send_eap_identity_request@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 11 NONAME ; enum eap_status_e eap_core_client_message_if_c::send_eap_identity_request(class eap_am_network_id_c const *) - ?remove_eap_session@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 12 NONAME ; enum eap_status_e eap_core_client_message_if_c::remove_eap_session(bool, class eap_am_network_id_c const *) - ?create_eap_session@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 13 NONAME ; enum eap_status_e eap_core_client_message_if_c::create_eap_session(class eap_am_network_id_c const *) - ?get_802_11_authentication_mode@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2@Z @ 14 NONAME ; enum eap_status_e eap_core_client_message_if_c::get_802_11_authentication_mode(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?packet_process@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 15 NONAME ; enum eap_status_e eap_core_client_message_if_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) - ?timer_delete_data@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@KPAX@Z @ 16 NONAME ; enum eap_status_e eap_core_client_message_if_c::timer_delete_data(unsigned long, void *) - ?process_data@CEapCoreInterface@@UAE?AW4eap_status_e@@PBXK@Z @ 17 NONAME ; enum eap_status_e CEapCoreInterface::process_data(void const *, unsigned long) - ?configure@CEapCoreInterface@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 18 NONAME ; enum eap_status_e CEapCoreInterface::configure(class eap_variable_data_c const *) - ?get_is_valid@CEapCoreInterface@@UAE_NXZ @ 19 NONAME ; bool CEapCoreInterface::get_is_valid(void) - ?set_is_valid@eap_core_client_message_if_c@@EAEXXZ @ 20 NONAME ; void eap_core_client_message_if_c::set_is_valid(void) - ?set_eap_database_reference_values@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 21 NONAME ; enum eap_status_e eap_core_client_message_if_c::set_eap_database_reference_values(class eap_variable_data_c const *) - ?ConstrucL@CEapCoreInterface@@QAEPAVCEapProcessInterface@@PAVabs_eap_am_tools_c@@@Z @ 22 NONAME ; class CEapProcessInterface * CEapCoreInterface::ConstrucL(class abs_eap_am_tools_c *) - ??0eap_core_client_message_if_c@@QAE@PAVabs_eap_am_tools_c@@PAVeap_am_message_if_c@@PAVabs_eap_session_core_c@@_N@Z @ 23 NONAME ; eap_core_client_message_if_c::eap_core_client_message_if_c(class abs_eap_am_tools_c *, class eap_am_message_if_c *, class abs_eap_session_core_c *, bool) - ?set_partner@CEapCoreInterface@@UAEXPAVabs_eap_am_message_if_c@@@Z @ 24 NONAME ; void CEapCoreInterface::set_partner(class abs_eap_am_message_if_c *) - ?shutdown@CEapCoreInterface@@UAE?AW4eap_status_e@@XZ @ 25 NONAME ; enum eap_status_e CEapCoreInterface::shutdown(void) - ?cancel_all_eap_sessions@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 26 NONAME ; enum eap_status_e eap_core_client_message_if_c::cancel_all_eap_sessions(void) - ?shutdown@eap_core_client_message_if_c@@UAE?AW4eap_status_e@@XZ @ 27 NONAME ; enum eap_status_e eap_core_client_message_if_c::shutdown(void) - ?get_is_valid@eap_core_client_message_if_c@@UAE_NXZ @ 28 NONAME ; bool eap_core_client_message_if_c::get_is_valid(void) diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/bwins/wlaneapolifu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/bwins/wlaneapolifu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,3 @@ +EXPORTS + ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) + diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/EAPOLPROTECTEDu.DEF --- a/eapol/eapol_framework/eapol_symbian/eabi/EAPOLPROTECTEDu.DEF Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/EAPOLPROTECTEDu.DEF Wed Sep 01 12:23:57 2010 +0100 @@ -1,604 +1,2043 @@ EXPORTS - _ZN12eapol_core_c11associationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_S6_ @ 1 NONAME - _ZN12eapol_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 2 NONAME - _ZN12eapol_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 3 NONAME - _ZN12eapol_core_c11send_logoffEPK19eap_am_network_id_c @ 4 NONAME - _ZN12eapol_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 5 NONAME - _ZN12eapol_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 6 NONAME - _ZN12eapol_core_c12create_stateEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 7 NONAME - _ZN12eapol_core_c12get_is_validEv @ 8 NONAME - _ZN12eapol_core_c12set_is_validEv @ 9 NONAME - _ZN12eapol_core_c13timer_expiredEmPv @ 10 NONAME - _ZN12eapol_core_c13unload_moduleE19eap_expanded_type_c @ 11 NONAME - _ZN12eapol_core_c14disassociationEbPK19eap_am_network_id_c @ 12 NONAME - _ZN12eapol_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 13 NONAME - _ZN12eapol_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 14 NONAME - _ZN12eapol_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 15 NONAME - _ZN12eapol_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 16 NONAME - _ZN12eapol_core_c16tkip_mic_failureEPK19eap_am_network_id_cbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 17 NONAME - _ZN12eapol_core_c17check_pmksa_cacheEP11eap_array_cI19eap_am_network_id_cE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES6_ @ 18 NONAME - _ZN12eapol_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 19 NONAME - _ZN12eapol_core_c17get_header_offsetEPmS0_ @ 20 NONAME - _ZN12eapol_core_c17timer_delete_dataEmPv @ 21 NONAME - _ZN12eapol_core_c18shutdown_operationEP17eapol_key_state_cP18abs_eap_am_tools_c @ 22 NONAME - _ZN12eapol_core_c18state_notificationEPK28abs_eap_state_notification_c @ 23 NONAME - _ZN12eapol_core_c19set_session_timeoutEm @ 24 NONAME - _ZN12eapol_core_c19start_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 25 NONAME - _ZN12eapol_core_c22remove_eapol_key_stateEPK19eap_am_network_id_cb @ 26 NONAME - _ZN12eapol_core_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 27 NONAME - _ZN12eapol_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 28 NONAME - _ZN12eapol_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 29 NONAME - _ZN12eapol_core_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 30 NONAME - _ZN12eapol_core_c23remove_pmksa_from_cacheEPK19eap_am_network_id_c @ 31 NONAME - _ZN12eapol_core_c23start_preauthenticationEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 32 NONAME - _ZN12eapol_core_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 33 NONAME - _ZN12eapol_core_c27complete_remove_eap_sessionEbPK19eap_am_network_id_c @ 34 NONAME - _ZN12eapol_core_c29cancel_authentication_sessionEP17eapol_key_state_cP18abs_eap_am_tools_c @ 35 NONAME - _ZN12eapol_core_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 36 NONAME - _ZN12eapol_core_c33asynchronous_start_authenticationEPK19eap_am_network_id_cb @ 37 NONAME - _ZN12eapol_core_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 38 NONAME - _ZN12eapol_core_c34cancel_all_authentication_sessionsEv @ 39 NONAME - _ZN12eapol_core_c36asynchronous_init_remove_eap_sessionEPK19eap_am_network_id_c @ 40 NONAME - _ZN12eapol_core_c36get_and_increment_global_key_counterEP19eap_variable_data_c @ 41 NONAME - _ZN12eapol_core_c36init_eapol_key_pmksa_caching_timeoutEPK19eap_am_network_id_c @ 42 NONAME - _ZN12eapol_core_c39complete_get_802_11_authentication_modeE12eap_status_ePK19eap_am_network_id_c38eapol_key_802_11_authentication_mode_e @ 43 NONAME - _ZN12eapol_core_c51indicate_eapol_key_state_started_eap_authenticationEPK19eap_am_network_id_c @ 44 NONAME - _ZN12eapol_core_c8shutdownEv @ 45 NONAME - _ZN12eapol_core_c9configureEv @ 46 NONAME - _ZN12eapol_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 47 NONAME - _ZN12eapol_core_cC1EP18abs_eap_am_tools_cP16abs_eapol_core_cb @ 48 NONAME - _ZN12eapol_core_cC2EP18abs_eap_am_tools_cP16abs_eapol_core_cb @ 49 NONAME - _ZN12eapol_core_cD0Ev @ 50 NONAME - _ZN12eapol_core_cD1Ev @ 51 NONAME - _ZN12eapol_core_cD2Ev @ 52 NONAME - _ZN15ethernet_core_c11associationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_S6_ @ 53 NONAME - _ZN15ethernet_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 54 NONAME - _ZN15ethernet_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 55 NONAME - _ZN15ethernet_core_c11send_logoffEPK19eap_am_network_id_c @ 56 NONAME - _ZN15ethernet_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 57 NONAME - _ZN15ethernet_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 58 NONAME - _ZN15ethernet_core_c12create_stateEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 59 NONAME - _ZN15ethernet_core_c12get_is_validEv @ 60 NONAME - _ZN15ethernet_core_c12set_is_validEv @ 61 NONAME - _ZN15ethernet_core_c13unload_moduleE19eap_expanded_type_c @ 62 NONAME - _ZN15ethernet_core_c14disassociationEbPK19eap_am_network_id_c @ 63 NONAME - _ZN15ethernet_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 64 NONAME - _ZN15ethernet_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 65 NONAME - _ZN15ethernet_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 66 NONAME - _ZN15ethernet_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 67 NONAME - _ZN15ethernet_core_c16tkip_mic_failureEPK19eap_am_network_id_cbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 68 NONAME - _ZN15ethernet_core_c17cancel_all_timersEv @ 69 NONAME - _ZN15ethernet_core_c17check_pmksa_cacheEP11eap_array_cI19eap_am_network_id_cE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES6_ @ 70 NONAME - _ZN15ethernet_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 71 NONAME - _ZN15ethernet_core_c17get_header_offsetEPmS0_ @ 72 NONAME - _ZN15ethernet_core_c18state_notificationEPK28abs_eap_state_notification_c @ 73 NONAME - _ZN15ethernet_core_c19start_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 74 NONAME - _ZN15ethernet_core_c20start_authenticationEPK19eap_am_network_id_cb @ 75 NONAME - _ZN15ethernet_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 76 NONAME - _ZN15ethernet_core_c23complete_disassociationEbPK19eap_am_network_id_c @ 77 NONAME - _ZN15ethernet_core_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 78 NONAME - _ZN15ethernet_core_c23remove_pmksa_from_cacheEPK19eap_am_network_id_c @ 79 NONAME - _ZN15ethernet_core_c23start_preauthenticationEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 80 NONAME - _ZN15ethernet_core_c24start_WPXM_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_eP19eap_variable_data_c @ 81 NONAME - _ZN15ethernet_core_c26complete_check_pmksa_cacheEPK11eap_array_cI19eap_am_network_id_cE @ 82 NONAME - _ZN15ethernet_core_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 83 NONAME - _ZN15ethernet_core_c27complete_WPXM_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 84 NONAME - _ZN15ethernet_core_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 85 NONAME - _ZN15ethernet_core_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 86 NONAME - _ZN15ethernet_core_c34cancel_all_authentication_sessionsEv @ 87 NONAME - _ZN15ethernet_core_c39complete_get_802_11_authentication_modeE12eap_status_ePK19eap_am_network_id_c38eapol_key_802_11_authentication_mode_e @ 88 NONAME - _ZN15ethernet_core_c8shutdownEv @ 89 NONAME - _ZN15ethernet_core_c9configureEv @ 90 NONAME - _ZN15ethernet_core_c9load_typeE19eap_expanded_type_c @ 91 NONAME - _ZN15ethernet_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 92 NONAME - _ZN15ethernet_core_cC1EP18abs_eap_am_tools_cP19abs_ethernet_core_cb @ 93 NONAME - _ZN15ethernet_core_cC2EP18abs_eap_am_tools_cP19abs_ethernet_core_cb @ 94 NONAME - _ZN15ethernet_core_cD0Ev @ 95 NONAME - _ZN15ethernet_core_cD1Ev @ 96 NONAME - _ZN15ethernet_core_cD2Ev @ 97 NONAME - _ZN17eapol_key_state_c10get_ANonceEv @ 98 NONAME - _ZN17eapol_key_state_c10get_SNonceEv @ 99 NONAME - _ZN17eapol_key_state_c10get_is_WPAEv @ 100 NONAME - _ZN17eapol_key_state_c10initializeEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 101 NONAME - _ZN17eapol_key_state_c10initializeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_S6_ @ 102 NONAME - _ZN17eapol_key_state_c11get_is_RSNAEv @ 103 NONAME - _ZN17eapol_key_state_c11get_is_WPXMEv @ 104 NONAME - _ZN17eapol_key_state_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 105 NONAME - _ZN17eapol_key_state_c11set_s_nonceEPK19eap_variable_data_c @ 106 NONAME - _ZN17eapol_key_state_c12get_is_validEv @ 107 NONAME - _ZN17eapol_key_state_c12set_is_validEv @ 108 NONAME - _ZN17eapol_key_state_c13check_paddingEPKhm @ 109 NONAME - _ZN17eapol_key_state_c13resend_packetEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 110 NONAME - _ZN17eapol_key_state_c13timer_expiredEmPv @ 111 NONAME - _ZN17eapol_key_state_c15save_parametersE31eapol_key_authentication_type_ePK19eap_variable_data_cS3_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES5_ @ 112 NONAME - _ZN17eapol_key_state_c16set_pairwise_PMKEPK19eap_variable_data_cPK19eap_am_network_id_c @ 113 NONAME - _ZN17eapol_key_state_c16tkip_mic_failureEbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 114 NONAME - _ZN17eapol_key_state_c17check_pmksa_cacheE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES2_ @ 115 NONAME - _ZN17eapol_key_state_c17get_is_associatedEv @ 116 NONAME - _ZN17eapol_key_state_c17timer_delete_dataEmPv @ 117 NONAME - _ZN17eapol_key_state_c18add_RSN_IE_payloadEPK23eapol_RSNA_key_header_cP19eap_variable_data_cPm @ 118 NONAME - _ZN17eapol_key_state_c18get_encryption_KEKEv @ 119 NONAME - _ZN17eapol_key_state_c18get_marked_removedEv @ 120 NONAME - _ZN17eapol_key_state_c18get_received_PMKIDEv @ 121 NONAME - _ZN17eapol_key_state_c18reset_cached_pmksaEv @ 122 NONAME - _ZN17eapol_key_state_c18set_marked_removedEv @ 123 NONAME - _ZN17eapol_key_state_c19add_RSN_GTK_payloadEPK23eapol_RSNA_key_header_cP19eap_variable_data_cPm @ 124 NONAME - _ZN17eapol_key_state_c19init_retransmissionEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmm16eap_code_value_eh19eap_expanded_type_c @ 125 NONAME - _ZN17eapol_key_state_c19set_WPXM_parametersEPK19eap_am_network_id_c @ 126 NONAME - _ZN17eapol_key_state_c19set_eapol_key_stateE17eapol_key_state_e @ 127 NONAME - _ZN17eapol_key_state_c20get_confirmation_KCKEv @ 128 NONAME - _ZN17eapol_key_state_c20get_is_encryption_onEv @ 129 NONAME - _ZN17eapol_key_state_c20unset_marked_removedEv @ 130 NONAME - _ZN17eapol_key_state_c20verify_field_is_zeroEPKhm @ 131 NONAME - _ZN17eapol_key_state_c21cancel_retransmissionEv @ 132 NONAME - _ZN17eapol_key_state_c21get_key_reply_counterEv @ 133 NONAME - _ZN17eapol_key_state_c21set_key_reply_counterEy @ 134 NONAME - _ZN17eapol_key_state_c22get_supplicant_RSNA_IEEv @ 135 NONAME - _ZN17eapol_key_state_c22init_handshake_timeoutEm @ 136 NONAME - _ZN17eapol_key_state_c23process_eapol_key_frameEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 137 NONAME - _ZN17eapol_key_state_c23trace_eapol_key_messageEPKcP23eapol_RSNA_key_header_c @ 138 NONAME - _ZN17eapol_key_state_c24cancel_handshake_timeoutEv @ 139 NONAME - _ZN17eapol_key_state_c24start_WPXM_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_eP19eap_variable_data_c @ 140 NONAME - _ZN17eapol_key_state_c25get_authenticator_RSNA_IEEv @ 141 NONAME - _ZN17eapol_key_state_c26get_supplicant_MAC_addressEv @ 142 NONAME - _ZN17eapol_key_state_c26increase_key_reply_counterEv @ 143 NONAME - _ZN17eapol_key_state_c26init_pmksa_caching_timeoutEv @ 144 NONAME - _ZN17eapol_key_state_c26started_eap_authenticationEv @ 145 NONAME - _ZN17eapol_key_state_c27complete_WPXM_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 146 NONAME - _ZN17eapol_key_state_c28cancel_pmksa_caching_timeoutEv @ 147 NONAME - _ZN17eapol_key_state_c28initialize_preauthenticationEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 148 NONAME - _ZN17eapol_key_state_c29cancel_authentication_sessionEv @ 149 NONAME - _ZN17eapol_key_state_c29get_authenticator_MAC_addressEv @ 150 NONAME - _ZN17eapol_key_state_c29init_group_key_update_timeoutEm @ 151 NONAME - _ZN17eapol_key_state_c29read_reassociation_parametersEPK19eap_am_network_id_c31eapol_key_authentication_type_eP19eap_variable_data_cPKS4_S7_ @ 152 NONAME - _ZN17eapol_key_state_c31cancel_group_key_update_timeoutEv @ 153 NONAME - _ZN17eapol_key_state_c31object_decrease_reference_countEv @ 154 NONAME - _ZN17eapol_key_state_c31object_increase_reference_countEv @ 155 NONAME - _ZN17eapol_key_state_c32get_unicast_cipher_suite_RSNA_IEEv @ 156 NONAME - _ZN17eapol_key_state_c33get_client_send_key_reply_counterEv @ 157 NONAME - _ZN17eapol_key_state_c33set_client_send_key_reply_counterEy @ 158 NONAME - _ZN17eapol_key_state_c38increase_client_send_key_reply_counterEv @ 159 NONAME - _ZN17eapol_key_state_c40asynchronous_init_remove_eapol_key_stateEv @ 160 NONAME - _ZN17eapol_key_state_c4copyEPK19eap_am_network_id_c @ 161 NONAME - _ZN17eapol_key_state_c5resetEv @ 162 NONAME - _ZN17eapol_key_state_c8shutdownEv @ 163 NONAME - _ZN17eapol_key_state_c9configureEv @ 164 NONAME - _ZN17eapol_key_state_cC1EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 165 NONAME - _ZN17eapol_key_state_cC1EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cSC_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eESE_SC_ @ 166 NONAME - _ZN17eapol_key_state_cC2EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 167 NONAME - _ZN17eapol_key_state_cC2EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cSC_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eESE_SC_ @ 168 NONAME - _ZN17eapol_key_state_cD0Ev @ 169 NONAME - _ZN17eapol_key_state_cD1Ev @ 170 NONAME - _ZN17eapol_key_state_cD2Ev @ 171 NONAME - _ZN22eapol_RC4_key_header_c10get_key_IVEv @ 172 NONAME - _ZN22eapol_RC4_key_header_c12set_key_flagE21eapol_RC4_key_flags_e @ 173 NONAME - _ZN22eapol_RC4_key_header_c13set_key_indexEh @ 174 NONAME - _ZN22eapol_RC4_key_header_c14set_key_lengthEt @ 175 NONAME - _ZN22eapol_RC4_key_header_c17get_header_lengthEv @ 176 NONAME - _ZN22eapol_RC4_key_header_c18get_replay_counterEv @ 177 NONAME - _ZN22eapol_RC4_key_header_c18zero_key_signatureEP18abs_eap_am_tools_c @ 178 NONAME - _ZN22eapol_RC4_key_header_c21set_eapol_packet_typeE19eapol_packet_type_e @ 179 NONAME - _ZN22eapol_RC4_key_header_c23set_key_descriptor_typeE27eapol_key_descriptor_type_e @ 180 NONAME - _ZN22eapol_RC4_key_header_c26set_eapol_protocol_versionE24eapol_protocol_version_e @ 181 NONAME - _ZN22eapol_RC4_key_header_c28set_eapol_packet_body_lengthEt @ 182 NONAME - _ZN22eapol_RC4_key_header_cC1EP18abs_eap_am_tools_cPvm @ 183 NONAME - _ZN22eapol_RC4_key_header_cC2EP18abs_eap_am_tools_cPvm @ 184 NONAME - _ZN22eapol_RC4_key_header_cD0Ev @ 185 NONAME - _ZN22eapol_RC4_key_header_cD1Ev @ 186 NONAME - _ZN22eapol_RC4_key_header_cD2Ev @ 187 NONAME - _ZN23eapol_RSNA_key_header_c11set_bits_onEttmm @ 188 NONAME - _ZN23eapol_RSNA_key_header_c12reset_headerEh31eapol_key_authentication_type_eNS_19eapol_RSNA_cipher_eEybbbbbbbbb24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 189 NONAME - _ZN23eapol_RSNA_key_header_c12zero_key_MICEP18abs_eap_am_tools_c @ 190 NONAME - _ZN23eapol_RSNA_key_header_c12zero_key_RSCEP18abs_eap_am_tools_c @ 191 NONAME - _ZN23eapol_RSNA_key_header_c14set_key_lengthEt @ 192 NONAME - _ZN23eapol_RSNA_key_header_c14zero_key_NONCEEP18abs_eap_am_tools_c @ 193 NONAME - _ZN23eapol_RSNA_key_header_c17get_header_lengthEv @ 194 NONAME - _ZN23eapol_RSNA_key_header_c17zero_EAPOL_key_IVEP18abs_eap_am_tools_c @ 195 NONAME - _ZN23eapol_RSNA_key_header_c17zero_key_reservedEP18abs_eap_am_tools_c @ 196 NONAME - _ZN23eapol_RSNA_key_header_c19set_key_data_lengthEt @ 197 NONAME - _ZN23eapol_RSNA_key_header_c19set_key_informationEt @ 198 NONAME - _ZN23eapol_RSNA_key_header_c21set_eapol_packet_typeE19eapol_packet_type_e @ 199 NONAME - _ZN23eapol_RSNA_key_header_c22set_key_replay_counterEy @ 200 NONAME - _ZN23eapol_RSNA_key_header_c23set_key_descriptor_typeE27eapol_key_descriptor_type_e @ 201 NONAME - _ZN23eapol_RSNA_key_header_c24zero_key_STA_MAC_addressEP18abs_eap_am_tools_c @ 202 NONAME - _ZN23eapol_RSNA_key_header_c25set_key_information_errorEb @ 203 NONAME - _ZN23eapol_RSNA_key_header_c26set_eapol_protocol_versionE24eapol_protocol_version_e @ 204 NONAME - _ZN23eapol_RSNA_key_header_c26set_key_information_secureEb @ 205 NONAME - _ZN23eapol_RSNA_key_header_c27set_key_information_installEb @ 206 NONAME - _ZN23eapol_RSNA_key_header_c27set_key_information_key_MICEb @ 207 NONAME - _ZN23eapol_RSNA_key_header_c27set_key_information_key_ackEb @ 208 NONAME - _ZN23eapol_RSNA_key_header_c27set_key_information_requestEb @ 209 NONAME - _ZN23eapol_RSNA_key_header_c28set_eapol_packet_body_lengthEm @ 210 NONAME - _ZN23eapol_RSNA_key_header_c28set_key_information_key_typeEb @ 211 NONAME - _ZN23eapol_RSNA_key_header_c29set_key_information_key_indexEh @ 212 NONAME - _ZN23eapol_RSNA_key_header_c36zero_EAPOL_header_and_Key_descriptorEP18abs_eap_am_tools_c @ 213 NONAME - _ZN23eapol_RSNA_key_header_c38set_key_information_encrypted_key_dataEb @ 214 NONAME - _ZN23eapol_RSNA_key_header_c42set_key_information_key_descriptor_versionEh @ 215 NONAME - _ZN23eapol_RSNA_key_header_cC1EP18abs_eap_am_tools_cbbPvm @ 216 NONAME - _ZN23eapol_RSNA_key_header_cC2EP18abs_eap_am_tools_cbbPvm @ 217 NONAME - _ZN23eapol_RSNA_key_header_cD0Ev @ 218 NONAME - _ZN23eapol_RSNA_key_header_cD1Ev @ 219 NONAME - _ZN23eapol_RSNA_key_header_cD2Ev @ 220 NONAME - _ZN24eapol_key_state_string_c26get_eapol_key_state_stringE17eapol_key_state_e @ 221 NONAME - _ZN24eapol_key_state_string_c35get_eapol_key_handshake_type_stringE26eapol_key_handshake_type_e @ 222 NONAME - _ZN24eapol_key_state_string_c36get_eapol_key_descriptor_type_stringE27eapol_key_descriptor_type_e @ 223 NONAME - _ZN24eapol_key_state_string_c40get_eapol_key_authentication_type_stringE31eapol_key_authentication_type_e @ 224 NONAME - _ZN24eapol_key_state_string_cC1Ev @ 225 NONAME - _ZN24eapol_key_state_string_cC2Ev @ 226 NONAME - _ZN24eapol_key_state_string_cD0Ev @ 227 NONAME - _ZN24eapol_key_state_string_cD1Ev @ 228 NONAME - _ZN24eapol_key_state_string_cD2Ev @ 229 NONAME - _ZN26eapol_rsna_variable_data_c10set_bufferEPK28eapol_rsna_key_data_header_cPhmbb @ 230 NONAME - _ZN26eapol_rsna_variable_data_cC1EP18abs_eap_am_tools_cbb @ 231 NONAME - _ZN26eapol_rsna_variable_data_cC2EP18abs_eap_am_tools_cbb @ 232 NONAME - _ZN26eapol_rsna_variable_data_cD0Ev @ 233 NONAME - _ZN26eapol_rsna_variable_data_cD1Ev @ 234 NONAME - _ZN26eapol_rsna_variable_data_cD2Ev @ 235 NONAME - _ZN27eapol_wlan_authentication_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 236 NONAME - _ZN27eapol_wlan_authentication_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 237 NONAME - _ZN27eapol_wlan_authentication_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 238 NONAME - _ZN27eapol_wlan_authentication_c12cancel_timerEP20abs_eap_base_timer_cm @ 239 NONAME - _ZN27eapol_wlan_authentication_c12get_is_validEv @ 240 NONAME - _ZN27eapol_wlan_authentication_c12set_is_validEv @ 241 NONAME - _ZN27eapol_wlan_authentication_c13get_is_clientEv @ 242 NONAME - _ZN27eapol_wlan_authentication_c13timer_expiredEmPv @ 243 NONAME - _ZN27eapol_wlan_authentication_c13unload_moduleE19eap_expanded_type_c @ 244 NONAME - _ZN27eapol_wlan_authentication_c14disassociationEPK19eap_am_network_id_c @ 245 NONAME - _ZN27eapol_wlan_authentication_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 246 NONAME - _ZN27eapol_wlan_authentication_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 247 NONAME - _ZN27eapol_wlan_authentication_c15eap_acknowledgeEPK19eap_am_network_id_c @ 248 NONAME - _ZN27eapol_wlan_authentication_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 249 NONAME - _ZN27eapol_wlan_authentication_c16tkip_mic_failureEPK19eap_am_network_id_cbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 250 NONAME - _ZN27eapol_wlan_authentication_c17cancel_all_timersEv @ 251 NONAME - _ZN27eapol_wlan_authentication_c17check_pmksa_cacheEP11eap_array_cI19eap_am_network_id_cE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES6_ @ 252 NONAME - _ZN27eapol_wlan_authentication_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 253 NONAME - _ZN27eapol_wlan_authentication_c17get_header_offsetEPmS0_ @ 254 NONAME - _ZN27eapol_wlan_authentication_c17timer_delete_dataEmPv @ 255 NONAME - _ZN27eapol_wlan_authentication_c18state_notificationEPK28abs_eap_state_notification_c @ 256 NONAME - _ZN27eapol_wlan_authentication_c19start_reassociationEPK19eap_am_network_id_cS2_31eapol_key_authentication_type_e @ 257 NONAME - _ZN27eapol_wlan_authentication_c20complete_associationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_cPK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_ @ 258 NONAME - _ZN27eapol_wlan_authentication_c20start_authenticationEPK19eap_variable_data_c31eapol_key_authentication_type_eS2_bPK19eap_am_network_id_c @ 259 NONAME - _ZN27eapol_wlan_authentication_c21get_current_eap_indexEv @ 260 NONAME - _ZN27eapol_wlan_authentication_c21set_current_eap_indexEm @ 261 NONAME - _ZN27eapol_wlan_authentication_c22complete_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_cPK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_ @ 262 NONAME - _ZN27eapol_wlan_authentication_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 263 NONAME - _ZN27eapol_wlan_authentication_c23complete_disassociationEbPK19eap_am_network_id_c @ 264 NONAME - _ZN27eapol_wlan_authentication_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 265 NONAME - _ZN27eapol_wlan_authentication_c23start_preauthenticationEPK19eap_am_network_id_c @ 266 NONAME - _ZN27eapol_wlan_authentication_c24start_WPXM_reassociationEPK19eap_am_network_id_cS2_P19eap_variable_data_cPKS3_S6_ @ 267 NONAME - _ZN27eapol_wlan_authentication_c26get_authentication_counterEv @ 268 NONAME - _ZN27eapol_wlan_authentication_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 269 NONAME - _ZN27eapol_wlan_authentication_c27complete_WPXM_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_cPK19eap_variable_data_c @ 270 NONAME - _ZN27eapol_wlan_authentication_c29new_eapol_wlan_authenticationEP18abs_eap_am_tools_cP31abs_eapol_wlan_authentication_cb @ 271 NONAME - _ZN27eapol_wlan_authentication_c32increment_authentication_counterEv @ 272 NONAME - _ZN27eapol_wlan_authentication_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 273 NONAME - _ZN27eapol_wlan_authentication_c39complete_get_802_11_authentication_modeE12eap_status_ePK19eap_am_network_id_c38eapol_key_802_11_authentication_mode_e @ 274 NONAME - _ZN27eapol_wlan_authentication_c8shutdownEv @ 275 NONAME - _ZN27eapol_wlan_authentication_c9configureEv @ 276 NONAME - _ZN27eapol_wlan_authentication_c9set_timerEP20abs_eap_base_timer_cmPvm @ 277 NONAME - _ZN27eapol_wlan_authentication_cC1EP18abs_eap_am_tools_cP31abs_eapol_wlan_authentication_cP30eapol_am_wlan_authentication_cb @ 278 NONAME - _ZN27eapol_wlan_authentication_cC2EP18abs_eap_am_tools_cP31abs_eapol_wlan_authentication_cP30eapol_am_wlan_authentication_cb @ 279 NONAME - _ZN27eapol_wlan_authentication_cD0Ev @ 280 NONAME - _ZN27eapol_wlan_authentication_cD1Ev @ 281 NONAME - _ZN27eapol_wlan_authentication_cD2Ev @ 282 NONAME - _ZN28eap_core_client_message_if_c12get_is_validEv @ 283 NONAME - _ZN28eap_core_client_message_if_c12set_is_validEv @ 284 NONAME - _ZN28eap_core_client_message_if_c13timer_expiredEmPv @ 285 NONAME - _ZN28eap_core_client_message_if_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 286 NONAME - _ZN28eap_core_client_message_if_c15eap_acknowledgeEPK19eap_am_network_id_c @ 287 NONAME - _ZN28eap_core_client_message_if_c15process_messageEP30eap_process_tlv_message_data_c @ 288 NONAME - _ZN28eap_core_client_message_if_c17timer_delete_dataEmPv @ 289 NONAME - _ZN28eap_core_client_message_if_c18create_eap_sessionEPK19eap_am_network_id_c @ 290 NONAME - _ZN28eap_core_client_message_if_c18remove_eap_sessionEbPK19eap_am_network_id_c @ 291 NONAME - _ZN28eap_core_client_message_if_c23cancel_all_eap_sessionsEv @ 292 NONAME - _ZN28eap_core_client_message_if_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 293 NONAME - _ZN28eap_core_client_message_if_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 294 NONAME - _ZN28eap_core_client_message_if_c5resetEv @ 295 NONAME - _ZN28eap_core_client_message_if_c8shutdownEv @ 296 NONAME - _ZN28eap_core_client_message_if_c9configureEv @ 297 NONAME - _ZN28eap_core_client_message_if_c9send_dataEPKvm @ 298 NONAME - _ZN28eap_core_client_message_if_cC1EP18abs_eap_am_tools_cP19eap_am_message_if_cP22abs_eap_session_core_cb @ 299 NONAME - _ZN28eap_core_client_message_if_cC2EP18abs_eap_am_tools_cP19eap_am_message_if_cP22abs_eap_session_core_cb @ 300 NONAME - _ZN28eap_core_client_message_if_cD0Ev @ 301 NONAME - _ZN28eap_core_client_message_if_cD1Ev @ 302 NONAME - _ZN28eap_core_client_message_if_cD2Ev @ 303 NONAME - _ZN30eapol_am_wlan_authentication_c32new_eapol_am_wlan_authenticationEP18abs_eap_am_tools_cb @ 304 NONAME - _ZN30eapol_rsna_key_data_payloads_c14check_payloadsENS_36eapol_rsna_key_data_payload_status_eES0_S0_S0_ @ 305 NONAME - _ZN30eapol_rsna_key_data_payloads_c17check_one_payloadENS_36eapol_rsna_key_data_payload_status_eEPK11eap_array_cI19eap_variable_data_cE @ 306 NONAME - _ZN30eapol_rsna_key_data_payloads_c17check_one_payloadENS_36eapol_rsna_key_data_payload_status_eEPK26eapol_rsna_variable_data_c @ 307 NONAME - _ZN30eapol_rsna_key_data_payloads_cC1EP18abs_eap_am_tools_cbb @ 308 NONAME - _ZN30eapol_rsna_key_data_payloads_cC2EP18abs_eap_am_tools_cbb @ 309 NONAME - _ZN30eapol_rsna_key_data_payloads_cD0Ev @ 310 NONAME - _ZN30eapol_rsna_key_data_payloads_cD1Ev @ 311 NONAME - _ZN30eapol_rsna_key_data_payloads_cD2Ev @ 312 NONAME - _ZN31eapol_handle_tlv_message_data_c12get_is_validEv @ 313 NONAME - _ZN31eapol_handle_tlv_message_data_cC1EP18abs_eap_am_tools_c @ 314 NONAME - _ZN31eapol_handle_tlv_message_data_cC2EP18abs_eap_am_tools_c @ 315 NONAME - _ZN31eapol_handle_tlv_message_data_cD0Ev @ 316 NONAME - _ZN31eapol_handle_tlv_message_data_cD1Ev @ 317 NONAME - _ZN31eapol_handle_tlv_message_data_cD2Ev @ 318 NONAME - _ZN35eapol_message_wlan_authentication_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 319 NONAME - _ZN35eapol_message_wlan_authentication_c11reassociateEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 320 NONAME - _ZN35eapol_message_wlan_authentication_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 321 NONAME - _ZN35eapol_message_wlan_authentication_c12disassociateEPK19eap_am_network_id_cb @ 322 NONAME - _ZN35eapol_message_wlan_authentication_c12get_is_validEv @ 323 NONAME - _ZN35eapol_message_wlan_authentication_c12process_dataEPKvm @ 324 NONAME - _ZN35eapol_message_wlan_authentication_c12send_messageEP31eapol_handle_tlv_message_data_c @ 325 NONAME - _ZN35eapol_message_wlan_authentication_c13timer_expiredEmPv @ 326 NONAME - _ZN35eapol_message_wlan_authentication_c14disassociationEPK11eap_array_cI16eap_tlv_header_cE @ 327 NONAME - _ZN35eapol_message_wlan_authentication_c14packet_processEPK11eap_array_cI16eap_tlv_header_cE @ 328 NONAME - _ZN35eapol_message_wlan_authentication_c15eap_acknowledgeEPK11eap_array_cI16eap_tlv_header_cE @ 329 NONAME - _ZN35eapol_message_wlan_authentication_c15process_messageEP31eapol_handle_tlv_message_data_c @ 330 NONAME - _ZN35eapol_message_wlan_authentication_c16tkip_mic_failureEPK11eap_array_cI16eap_tlv_header_cE @ 331 NONAME - _ZN35eapol_message_wlan_authentication_c17check_pmksa_cacheEPK11eap_array_cI16eap_tlv_header_cE @ 332 NONAME - _ZN35eapol_message_wlan_authentication_c17get_header_offsetEPmS0_ @ 333 NONAME - _ZN35eapol_message_wlan_authentication_c17timer_delete_dataEmPv @ 334 NONAME - _ZN35eapol_message_wlan_authentication_c18send_error_messageE12eap_status_e31eap_tlv_message_type_function_e @ 335 NONAME - _ZN35eapol_message_wlan_authentication_c18state_notificationEPK28abs_eap_state_notification_c @ 336 NONAME - _ZN35eapol_message_wlan_authentication_c19start_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 337 NONAME - _ZN35eapol_message_wlan_authentication_c20complete_associationEPK11eap_array_cI16eap_tlv_header_cE @ 338 NONAME - _ZN35eapol_message_wlan_authentication_c20start_authenticationEPK11eap_array_cI16eap_tlv_header_cE @ 339 NONAME - _ZN35eapol_message_wlan_authentication_c20update_header_offsetEPK11eap_array_cI16eap_tlv_header_cE @ 340 NONAME - _ZN35eapol_message_wlan_authentication_c22complete_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 341 NONAME - _ZN35eapol_message_wlan_authentication_c23complete_disassociationEPK19eap_am_network_id_c @ 342 NONAME - _ZN35eapol_message_wlan_authentication_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 343 NONAME - _ZN35eapol_message_wlan_authentication_c23start_preauthenticationEPK11eap_array_cI16eap_tlv_header_cE @ 344 NONAME - _ZN35eapol_message_wlan_authentication_c24start_WPXM_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 345 NONAME - _ZN35eapol_message_wlan_authentication_c26complete_check_pmksa_cacheEPK11eap_array_cI19eap_am_network_id_cE @ 346 NONAME - _ZN35eapol_message_wlan_authentication_c26process_message_type_errorEPK11eap_array_cI16eap_tlv_header_cE @ 347 NONAME - _ZN35eapol_message_wlan_authentication_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 348 NONAME - _ZN35eapol_message_wlan_authentication_c27complete_WPXM_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 349 NONAME - _ZN35eapol_message_wlan_authentication_c37update_wlan_database_reference_valuesEPK11eap_array_cI16eap_tlv_header_cE @ 350 NONAME - _ZN35eapol_message_wlan_authentication_c8shutdownEv @ 351 NONAME - _ZN35eapol_message_wlan_authentication_c9associateE38eapol_key_802_11_authentication_mode_e @ 352 NONAME - _ZN35eapol_message_wlan_authentication_c9configureEmmm @ 353 NONAME - _ZN35eapol_message_wlan_authentication_cC1EP18abs_eap_am_tools_cP39abs_eapol_message_wlan_authentication_c @ 354 NONAME - _ZN35eapol_message_wlan_authentication_cC2EP18abs_eap_am_tools_cP39abs_eapol_message_wlan_authentication_c @ 355 NONAME - _ZN35eapol_message_wlan_authentication_cD0Ev @ 356 NONAME - _ZN35eapol_message_wlan_authentication_cD1Ev @ 357 NONAME - _ZN35eapol_message_wlan_authentication_cD2Ev @ 358 NONAME - _ZN36wlan_eap_if_send_status_conversion_c7convertE12eap_status_e @ 359 NONAME - _ZN36wlan_eap_if_send_status_conversion_c7convertE25wlan_eap_if_send_status_e @ 360 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c11associationEPK19eap_am_network_id_c @ 361 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c12cancel_timerEP20abs_eap_base_timer_cm @ 362 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c12get_is_validEv @ 363 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c14disassociationEPK19eap_am_network_id_c @ 364 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 365 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c14set_am_partnerEP34abs_eapol_am_wlan_authentication_cP26abs_eap_configuration_if_c @ 366 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 367 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c17cancel_all_timersEv @ 368 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c19set_wlan_parametersEPK19eap_variable_data_cbS2_31eapol_key_authentication_type_e @ 369 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c22get_wlan_configurationEP19eap_variable_data_c @ 370 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c23authentication_finishedEb19eap_expanded_type_c31eapol_key_authentication_type_e @ 371 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c23reset_wpa_configurationEv @ 372 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 373 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 374 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c8shutdownEv @ 375 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c9configureEv @ 376 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c9set_timerEP20abs_eap_base_timer_cmPvm @ 377 NONAME - _ZN38eapol_am_wlan_authentication_symbian_cC1EP18abs_eap_am_tools_cb @ 378 NONAME - _ZN38eapol_am_wlan_authentication_symbian_cC2EP18abs_eap_am_tools_cb @ 379 NONAME - _ZN38eapol_am_wlan_authentication_symbian_cD0Ev @ 380 NONAME - _ZN38eapol_am_wlan_authentication_symbian_cD1Ev @ 381 NONAME - _ZN38eapol_am_wlan_authentication_symbian_cD2Ev @ 382 NONAME - _ZNK17eapol_key_state_c19get_eapol_key_stateEv @ 383 NONAME - _ZNK22eapol_RC4_key_header_c12check_headerEv @ 384 NONAME - _ZNK22eapol_RC4_key_header_c12get_key_flagEv @ 385 NONAME - _ZNK22eapol_RC4_key_header_c13get_key_indexEv @ 386 NONAME - _ZNK22eapol_RC4_key_header_c14get_key_lengthEv @ 387 NONAME - _ZNK22eapol_RC4_key_header_c17get_key_signatureEv @ 388 NONAME - _ZNK22eapol_RC4_key_header_c21get_eapol_packet_typeEv @ 389 NONAME - _ZNK22eapol_RC4_key_header_c23get_key_descriptor_typeEv @ 390 NONAME - _ZNK22eapol_RC4_key_header_c26get_eapol_protocol_versionEv @ 391 NONAME - _ZNK22eapol_RC4_key_header_c28get_eapol_packet_body_lengthEv @ 392 NONAME - _ZNK22eapol_RC4_key_header_c7get_keyEv @ 393 NONAME - _ZNK23eapol_RSNA_key_header_c11get_key_MICEv @ 394 NONAME - _ZNK23eapol_RSNA_key_header_c11get_key_RSCEv @ 395 NONAME - _ZNK23eapol_RSNA_key_header_c12check_headerEv @ 396 NONAME - _ZNK23eapol_RSNA_key_header_c12get_key_dataEm @ 397 NONAME - _ZNK23eapol_RSNA_key_header_c13get_key_NONCEEv @ 398 NONAME - _ZNK23eapol_RSNA_key_header_c14get_key_lengthEv @ 399 NONAME - _ZNK23eapol_RSNA_key_header_c16get_EAPOL_key_IVEv @ 400 NONAME - _ZNK23eapol_RSNA_key_header_c16get_key_reservedEv @ 401 NONAME - _ZNK23eapol_RSNA_key_header_c19get_key_data_lengthEv @ 402 NONAME - _ZNK23eapol_RSNA_key_header_c19get_key_data_offsetEmm @ 403 NONAME - _ZNK23eapol_RSNA_key_header_c19get_key_informationEv @ 404 NONAME - _ZNK23eapol_RSNA_key_header_c21get_eapol_packet_typeEv @ 405 NONAME - _ZNK23eapol_RSNA_key_header_c22get_key_replay_counterEv @ 406 NONAME - _ZNK23eapol_RSNA_key_header_c23get_eapol_packet_lengthEv @ 407 NONAME - _ZNK23eapol_RSNA_key_header_c23get_key_STA_MAC_addressEv @ 408 NONAME - _ZNK23eapol_RSNA_key_header_c23get_key_descriptor_typeEv @ 409 NONAME - _ZNK23eapol_RSNA_key_header_c25get_key_information_errorEv @ 410 NONAME - _ZNK23eapol_RSNA_key_header_c26get_eapol_protocol_versionEv @ 411 NONAME - _ZNK23eapol_RSNA_key_header_c26get_key_information_secureEv @ 412 NONAME - _ZNK23eapol_RSNA_key_header_c27get_key_information_installEv @ 413 NONAME - _ZNK23eapol_RSNA_key_header_c27get_key_information_key_MICEv @ 414 NONAME - _ZNK23eapol_RSNA_key_header_c27get_key_information_key_ackEv @ 415 NONAME - _ZNK23eapol_RSNA_key_header_c27get_key_information_requestEv @ 416 NONAME - _ZNK23eapol_RSNA_key_header_c28get_eapol_packet_body_lengthEv @ 417 NONAME - _ZNK23eapol_RSNA_key_header_c28get_key_information_key_typeEv @ 418 NONAME - _ZNK23eapol_RSNA_key_header_c29get_key_information_key_indexEv @ 419 NONAME - _ZNK23eapol_RSNA_key_header_c30get_key_information_reserved_aEv @ 420 NONAME - _ZNK23eapol_RSNA_key_header_c30get_key_information_reserved_bEv @ 421 NONAME - _ZNK23eapol_RSNA_key_header_c38get_key_information_encrypted_key_dataEv @ 422 NONAME - _ZNK23eapol_RSNA_key_header_c42get_key_information_key_descriptor_versionEv @ 423 NONAME - _ZNK26eapol_rsna_variable_data_c19get_original_headerEv @ 424 NONAME - _ZTI12eapol_core_c @ 425 NONAME - _ZTI15ethernet_core_c @ 426 NONAME - _ZTI17eapol_key_state_c @ 427 NONAME - _ZTI22eapol_RC4_key_header_c @ 428 NONAME - _ZTI23eapol_RSNA_key_header_c @ 429 NONAME - _ZTI24eapol_key_state_string_c @ 430 NONAME - _ZTI26eapol_rsna_variable_data_c @ 431 NONAME - _ZTI27eapol_wlan_authentication_c @ 432 NONAME - _ZTI28eap_core_client_message_if_c @ 433 NONAME - _ZTI28eapol_rsna_key_data_header_c @ 434 NONAME - _ZTI30eapol_am_wlan_authentication_c @ 435 NONAME - _ZTI30eapol_rsna_key_data_payloads_c @ 436 NONAME - _ZTI31eapol_handle_tlv_message_data_c @ 437 NONAME - _ZTI32eapol_rsna_key_data_gtk_header_c @ 438 NONAME - _ZTI35eapol_message_wlan_authentication_c @ 439 NONAME - _ZTI38eapol_am_wlan_authentication_symbian_c @ 440 NONAME - _ZTV12eapol_core_c @ 441 NONAME - _ZTV15ethernet_core_c @ 442 NONAME - _ZTV17eapol_key_state_c @ 443 NONAME - _ZTV22eapol_RC4_key_header_c @ 444 NONAME - _ZTV23eapol_RSNA_key_header_c @ 445 NONAME - _ZTV24eapol_key_state_string_c @ 446 NONAME - _ZTV26eapol_rsna_variable_data_c @ 447 NONAME - _ZTV27eapol_wlan_authentication_c @ 448 NONAME - _ZTV28eap_core_client_message_if_c @ 449 NONAME - _ZTV28eapol_rsna_key_data_header_c @ 450 NONAME - _ZTV30eapol_am_wlan_authentication_c @ 451 NONAME - _ZTV30eapol_rsna_key_data_payloads_c @ 452 NONAME - _ZTV31eapol_handle_tlv_message_data_c @ 453 NONAME - _ZTV32eapol_rsna_key_data_gtk_header_c @ 454 NONAME - _ZTV35eapol_message_wlan_authentication_c @ 455 NONAME - _ZTV38eapol_am_wlan_authentication_symbian_c @ 456 NONAME - _ZThn12_N12eapol_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 457 NONAME - _ZThn12_N12eapol_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 458 NONAME - _ZThn12_N12eapol_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 459 NONAME - _ZThn12_N12eapol_core_c18state_notificationEPK28abs_eap_state_notification_c @ 460 NONAME - _ZThn12_N12eapol_core_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 461 NONAME - _ZThn12_N12eapol_core_c36get_and_increment_global_key_counterEP19eap_variable_data_c @ 462 NONAME - _ZThn12_N12eapol_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 463 NONAME - _ZThn12_N12eapol_core_cD0Ev @ 464 NONAME - _ZThn12_N12eapol_core_cD1Ev @ 465 NONAME - _ZThn12_N27eapol_wlan_authentication_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 466 NONAME - _ZThn12_N27eapol_wlan_authentication_cD1Ev @ 467 NONAME - _ZThn12_N28eap_core_client_message_if_c12get_is_validEv @ 468 NONAME - _ZThn12_N28eap_core_client_message_if_c12set_is_validEv @ 469 NONAME - _ZThn12_N28eap_core_client_message_if_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 470 NONAME - _ZThn12_N28eap_core_client_message_if_c8shutdownEv @ 471 NONAME - _ZThn12_N28eap_core_client_message_if_c9configureEv @ 472 NONAME - _ZThn12_N28eap_core_client_message_if_cD0Ev @ 473 NONAME - _ZThn12_N28eap_core_client_message_if_cD1Ev @ 474 NONAME - _ZThn16_N12eapol_core_cD0Ev @ 475 NONAME - _ZThn16_N12eapol_core_cD1Ev @ 476 NONAME - _ZThn16_N27eapol_wlan_authentication_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 477 NONAME - _ZThn16_N27eapol_wlan_authentication_cD1Ev @ 478 NONAME - _ZThn20_N12eapol_core_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 479 NONAME - _ZThn20_N12eapol_core_cD0Ev @ 480 NONAME - _ZThn20_N12eapol_core_cD1Ev @ 481 NONAME - _ZThn4_N12eapol_core_c13timer_expiredEmPv @ 482 NONAME - _ZThn4_N12eapol_core_c17timer_delete_dataEmPv @ 483 NONAME - _ZThn4_N12eapol_core_cD0Ev @ 484 NONAME - _ZThn4_N12eapol_core_cD1Ev @ 485 NONAME - _ZThn4_N15ethernet_core_c12get_is_validEv @ 486 NONAME - _ZThn4_N15ethernet_core_c12set_is_validEv @ 487 NONAME - _ZThn4_N15ethernet_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 488 NONAME - _ZThn4_N15ethernet_core_c8shutdownEv @ 489 NONAME - _ZThn4_N15ethernet_core_c9configureEv @ 490 NONAME - _ZThn4_N15ethernet_core_cD0Ev @ 491 NONAME - _ZThn4_N15ethernet_core_cD1Ev @ 492 NONAME - _ZThn4_N27eapol_wlan_authentication_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 493 NONAME - _ZThn4_N27eapol_wlan_authentication_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 494 NONAME - _ZThn4_N27eapol_wlan_authentication_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 495 NONAME - _ZThn4_N27eapol_wlan_authentication_c12cancel_timerEP20abs_eap_base_timer_cm @ 496 NONAME - _ZThn4_N27eapol_wlan_authentication_c13get_is_clientEv @ 497 NONAME - _ZThn4_N27eapol_wlan_authentication_c13unload_moduleE19eap_expanded_type_c @ 498 NONAME - _ZThn4_N27eapol_wlan_authentication_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 499 NONAME - _ZThn4_N27eapol_wlan_authentication_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 500 NONAME - _ZThn4_N27eapol_wlan_authentication_c17cancel_all_timersEv @ 501 NONAME - _ZThn4_N27eapol_wlan_authentication_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 502 NONAME - _ZThn4_N27eapol_wlan_authentication_c17get_header_offsetEPmS0_ @ 503 NONAME - _ZThn4_N27eapol_wlan_authentication_c18state_notificationEPK28abs_eap_state_notification_c @ 504 NONAME - _ZThn4_N27eapol_wlan_authentication_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 505 NONAME - _ZThn4_N27eapol_wlan_authentication_c23complete_disassociationEbPK19eap_am_network_id_c @ 506 NONAME - _ZThn4_N27eapol_wlan_authentication_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 507 NONAME - _ZThn4_N27eapol_wlan_authentication_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 508 NONAME - _ZThn4_N27eapol_wlan_authentication_c39complete_get_802_11_authentication_modeE12eap_status_ePK19eap_am_network_id_c38eapol_key_802_11_authentication_mode_e @ 509 NONAME - _ZThn4_N27eapol_wlan_authentication_c9set_timerEP20abs_eap_base_timer_cmPvm @ 510 NONAME - _ZThn4_N27eapol_wlan_authentication_cD1Ev @ 511 NONAME - _ZThn4_N28eap_core_client_message_if_c12get_is_validEv @ 512 NONAME - _ZThn4_N28eap_core_client_message_if_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 513 NONAME - _ZThn4_N28eap_core_client_message_if_c15eap_acknowledgeEPK19eap_am_network_id_c @ 514 NONAME - _ZThn4_N28eap_core_client_message_if_c18create_eap_sessionEPK19eap_am_network_id_c @ 515 NONAME - _ZThn4_N28eap_core_client_message_if_c18remove_eap_sessionEbPK19eap_am_network_id_c @ 516 NONAME - _ZThn4_N28eap_core_client_message_if_c23cancel_all_eap_sessionsEv @ 517 NONAME - _ZThn4_N28eap_core_client_message_if_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 518 NONAME - _ZThn4_N28eap_core_client_message_if_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 519 NONAME - _ZThn4_N28eap_core_client_message_if_c5resetEv @ 520 NONAME - _ZThn4_N28eap_core_client_message_if_c8shutdownEv @ 521 NONAME - _ZThn4_N28eap_core_client_message_if_c9configureEv @ 522 NONAME - _ZThn4_N28eap_core_client_message_if_cD0Ev @ 523 NONAME - _ZThn4_N28eap_core_client_message_if_cD1Ev @ 524 NONAME - _ZThn4_N35eapol_message_wlan_authentication_c13timer_expiredEmPv @ 525 NONAME - _ZThn4_N35eapol_message_wlan_authentication_c17timer_delete_dataEmPv @ 526 NONAME - _ZThn4_N35eapol_message_wlan_authentication_cD0Ev @ 527 NONAME - _ZThn4_N35eapol_message_wlan_authentication_cD1Ev @ 528 NONAME - _ZThn4_N38eapol_am_wlan_authentication_symbian_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 529 NONAME - _ZThn4_N38eapol_am_wlan_authentication_symbian_cD0Ev @ 530 NONAME - _ZThn4_N38eapol_am_wlan_authentication_symbian_cD1Ev @ 531 NONAME - _ZThn8_N12eapol_core_c12get_is_validEv @ 532 NONAME - _ZThn8_N12eapol_core_c12set_is_validEv @ 533 NONAME - _ZThn8_N12eapol_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 534 NONAME - _ZThn8_N12eapol_core_c8shutdownEv @ 535 NONAME - _ZThn8_N12eapol_core_c9configureEv @ 536 NONAME - _ZThn8_N12eapol_core_cD0Ev @ 537 NONAME - _ZThn8_N12eapol_core_cD1Ev @ 538 NONAME - _ZThn8_N15ethernet_core_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 539 NONAME - _ZThn8_N15ethernet_core_cD0Ev @ 540 NONAME - _ZThn8_N15ethernet_core_cD1Ev @ 541 NONAME - _ZThn8_N27eapol_wlan_authentication_c13timer_expiredEmPv @ 542 NONAME - _ZThn8_N27eapol_wlan_authentication_c17timer_delete_dataEmPv @ 543 NONAME - _ZThn8_N27eapol_wlan_authentication_cD1Ev @ 544 NONAME - _ZThn8_N28eap_core_client_message_if_c13timer_expiredEmPv @ 545 NONAME - _ZThn8_N28eap_core_client_message_if_c17timer_delete_dataEmPv @ 546 NONAME - _ZThn8_N28eap_core_client_message_if_cD0Ev @ 547 NONAME - _ZThn8_N28eap_core_client_message_if_cD1Ev @ 548 NONAME - _ZN12eapol_core_c22complete_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS7_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES9_ @ 549 NONAME - _ZN12eapol_core_c29read_reassociation_parametersEPK19eap_am_network_id_cS2_31eapol_key_authentication_type_eP19eap_variable_data_cPKS4_S7_ @ 550 NONAME - _ZN12eapol_core_c40asynchronous_init_remove_eapol_key_stateEPK19eap_am_network_id_c @ 551 NONAME - _ZN15ethernet_core_c22complete_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS7_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES9_ @ 552 NONAME - _ZN15ethernet_core_c29read_reassociation_parametersEPK19eap_am_network_id_cS2_31eapol_key_authentication_type_eP19eap_variable_data_cPKS4_S7_ @ 553 NONAME - _ZN17eapol_key_state_c10derive_PTKEv @ 554 NONAME - _ZN17eapol_key_state_c12create_PMKIDEv @ 555 NONAME - _ZN17eapol_key_state_c12create_nonceEP19eap_variable_data_cm @ 556 NONAME - _ZN17eapol_key_state_c14create_key_micEP23eapol_RSNA_key_header_cPK19eap_variable_data_c @ 557 NONAME - _ZN17eapol_key_state_c14get_key_lengthEN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eEPt @ 558 NONAME - _ZN17eapol_key_state_c14parse_key_dataE27eapol_key_descriptor_type_ePK28eapol_rsna_key_data_header_cPmP30eapol_rsna_key_data_payloads_c17eapol_key_state_eN23eapol_RSNA_key_header_c24key_descriptor_version_eE @ 559 NONAME - _ZN17eapol_key_state_c14select_minimumEPK19eap_variable_data_cS2_PS2_S3_ @ 560 NONAME - _ZN17eapol_key_state_c14verify_key_micEP23eapol_RSNA_key_header_cPK19eap_variable_data_c @ 561 NONAME - _ZN17eapol_key_state_c16decrypt_key_dataEP23eapol_RSNA_key_header_c @ 562 NONAME - _ZN17eapol_key_state_c16encrypt_key_dataEP23eapol_RSNA_key_header_c @ 563 NONAME - _ZN17eapol_key_state_c21allow_4_way_handshakeEv @ 564 NONAME - _ZN17eapol_key_state_c21start_4_way_handshakeEPK19eap_am_network_id_c @ 565 NONAME - _ZN17eapol_key_state_c22complete_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS7_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES9_ @ 566 NONAME - _ZN17eapol_key_state_c25start_group_key_handshakeEPK19eap_am_network_id_c24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 567 NONAME - _ZN17eapol_key_state_c26initialize_4_way_handshakeEPK19eap_am_network_id_c24eapol_protocol_version_e @ 568 NONAME - _ZN17eapol_key_state_c26process_RC4_key_descriptorEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 569 NONAME - _ZN17eapol_key_state_c27process_RSNA_key_descriptorEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 570 NONAME - _ZN17eapol_key_state_c27send_RC4_eapol_key_messagesEv @ 571 NONAME - _ZN17eapol_key_state_c29check_is_aes_key_wrap_paddingE32eapol_RSNA_key_descriptor_type_eP28eapol_rsna_key_data_header_cm @ 572 NONAME - _ZN17eapol_key_state_c30parse_generic_key_data_payloadE27eapol_key_descriptor_type_e32eapol_RSNA_key_descriptor_type_eP28eapol_rsna_key_data_header_cPmP30eapol_rsna_key_data_payloads_c17eapol_key_state_e @ 573 NONAME - _ZN17eapol_key_state_c31create_tkip_mic_failure_messageEP18eap_buf_chain_wr_cmPmS2_N23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE24eapol_protocol_version_e @ 574 NONAME - _ZN17eapol_key_state_c31process_4_way_handshake_messageEPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 575 NONAME - _ZN17eapol_key_state_c32create_4_way_handshake_message_1EP18eap_buf_chain_wr_cmPmS2_24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 576 NONAME - _ZN17eapol_key_state_c32create_4_way_handshake_message_2EP18eap_buf_chain_wr_cmPmS2_y24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 577 NONAME - _ZN17eapol_key_state_c32create_4_way_handshake_message_3EP18eap_buf_chain_wr_cmPmS2_24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 578 NONAME - _ZN17eapol_key_state_c32create_4_way_handshake_message_4EP18eap_buf_chain_wr_cmPmS2_yb24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 579 NONAME - _ZN17eapol_key_state_c33process_4_way_handshake_message_0EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 580 NONAME - _ZN17eapol_key_state_c33process_4_way_handshake_message_1EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 581 NONAME - _ZN17eapol_key_state_c33process_4_way_handshake_message_2EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 582 NONAME - _ZN17eapol_key_state_c33process_4_way_handshake_message_3EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 583 NONAME - _ZN17eapol_key_state_c33process_4_way_handshake_message_4EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 584 NONAME - _ZN17eapol_key_state_c35process_group_key_handshake_messageEPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 585 NONAME - _ZN17eapol_key_state_c36create_eapol_key_handshake_message_0EbP18eap_buf_chain_wr_cmPmS2_y24eapol_protocol_version_e @ 586 NONAME - _ZN17eapol_key_state_c36create_group_key_handshake_message_1EP18eap_buf_chain_wr_cmPmS2_24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 587 NONAME - _ZN17eapol_key_state_c36create_group_key_handshake_message_2EP18eap_buf_chain_wr_cmPmS2_y24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 588 NONAME - _ZN17eapol_key_state_c37process_group_key_handshake_message_0EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 589 NONAME - _ZN17eapol_key_state_c37process_group_key_handshake_message_1EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 590 NONAME - _ZN17eapol_key_state_c37process_group_key_handshake_message_2EPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 591 NONAME - _ZN17eapol_key_state_c42process_4_way_handshake_message_2_payloadsEPK19eap_am_network_id_cP23eapol_RSNA_key_header_cm @ 592 NONAME - _ZN17eapol_key_state_c44process_4_way_handshake_message_3_payloads_aEPK19eap_am_network_id_cP23eapol_RSNA_key_header_cmPb @ 593 NONAME - _ZN17eapol_key_state_c44process_4_way_handshake_message_3_payloads_bEPK19eap_am_network_id_cP23eapol_RSNA_key_header_cmb @ 594 NONAME - _ZN17eapol_key_state_c8rsna_prfEPK19eap_variable_data_cS2_S2_mPS0_ @ 595 NONAME - _ZN28eap_core_client_message_if_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 596 NONAME - _ZN30eapol_am_wlan_authentication_cD0Ev @ 597 NONAME - _ZN30eapol_am_wlan_authentication_cD1Ev @ 598 NONAME - _ZN30eapol_am_wlan_authentication_cD2Ev @ 599 NONAME - _ZN38eapol_am_wlan_authentication_symbian_c18state_notificationEPK28abs_eap_state_notification_c @ 600 NONAME - _ZThn12_N12eapol_core_c40asynchronous_init_remove_eapol_key_stateEPK19eap_am_network_id_c @ 601 NONAME - _ZThn4_N28eap_core_client_message_if_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 602 NONAME + _Z10eap_htonlly @ 1 NONAME + _Z21eap_shift_left_64_bitym @ 2 NONAME + _Z22eap_shift_right_64_bitym @ 3 NONAME + _Z25convert_eap_type_to_u32_t19eap_expanded_type_c @ 4 NONAME + _Z25convert_eap_type_to_u64_t19eap_expanded_type_c @ 5 NONAME + _Z28eap_read_u16_t_network_orderPKvm @ 6 NONAME + _Z28eap_read_u24_t_network_orderPKvm @ 7 NONAME + _Z28eap_read_u32_t_network_orderPKvm @ 8 NONAME + _Z28eap_read_u64_t_network_orderPKvm @ 9 NONAME + _Z29eap_write_u16_t_network_orderPvmt @ 10 NONAME + _Z29eap_write_u24_t_network_orderPvmm @ 11 NONAME + _Z29eap_write_u32_t_network_orderPvmm @ 12 NONAME + _Z29eap_write_u64_t_network_orderPvmy @ 13 NONAME + _Z30eap_host_to_little_endian_longm @ 14 NONAME + _Z31eap_host_to_little_endian_shortt @ 15 NONAME + _Z34eap_read_u16_t_little_endian_orderPKvm @ 16 NONAME + _Z34eap_read_u32_t_little_endian_orderPKvm @ 17 NONAME + _Z34eap_read_u64_t_little_endian_orderPKvm @ 18 NONAME + _Z35eap_host_to_little_endian_long_longy @ 19 NONAME + _Z35eap_write_u16_t_little_endian_orderPvmt @ 20 NONAME + _Z35eap_write_u32_t_little_endian_orderPvmm @ 21 NONAME + _Z35eap_write_u64_t_little_endian_orderPvmy @ 22 NONAME + _Z9eap_htonlm @ 23 NONAME + _Z9eap_htonst @ 24 NONAME + _ZN10eap_core_c11get_partnerEv @ 25 NONAME + _ZN10eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 26 NONAME + _ZN10eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 27 NONAME + _ZN10eap_core_c11set_partnerEP14abs_eap_core_c @ 28 NONAME + _ZN10eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 29 NONAME + _ZN10eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 30 NONAME + _ZN10eap_core_c12get_is_validEv @ 31 NONAME + _ZN10eap_core_c12set_is_validEv @ 32 NONAME + _ZN10eap_core_c13resend_packetEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmmm @ 33 NONAME + _ZN10eap_core_c13timer_expiredEmPv @ 34 NONAME + _ZN10eap_core_c13unload_moduleE19eap_expanded_type_c @ 35 NONAME + _ZN10eap_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 36 NONAME + _ZN10eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 37 NONAME + _ZN10eap_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 38 NONAME + _ZN10eap_core_c15reset_operationEP15eap_base_type_cP18abs_eap_am_tools_c @ 39 NONAME + _ZN10eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 40 NONAME + _ZN10eap_core_c16send_eap_failureEPK19eap_am_network_id_ch @ 41 NONAME + _ZN10eap_core_c16send_eap_successEPK19eap_am_network_id_ch @ 42 NONAME + _ZN10eap_core_c16trace_eap_packetEPKcPK15eap_header_wr_c @ 43 NONAME + _ZN10eap_core_c17cancel_all_timersEv @ 44 NONAME + _ZN10eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 45 NONAME + _ZN10eap_core_c17get_header_offsetEPmS0_ @ 46 NONAME + _ZN10eap_core_c17timer_delete_dataEmPv @ 47 NONAME + _ZN10eap_core_c18get_marked_removedEv @ 48 NONAME + _ZN10eap_core_c18set_marked_removedEv @ 49 NONAME + _ZN10eap_core_c18shutdown_operationEP15eap_base_type_cP18abs_eap_am_tools_c @ 50 NONAME + _ZN10eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 51 NONAME + _ZN10eap_core_c19init_retransmissionEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmm16eap_code_value_eh19eap_expanded_type_c @ 52 NONAME + _ZN10eap_core_c19packet_process_typeE19eap_expanded_type_cPK19eap_am_network_id_cP25eap_general_header_base_cm @ 53 NONAME + _ZN10eap_core_c19set_session_timeoutEm @ 54 NONAME + _ZN10eap_core_c20ignore_notificationsEv @ 55 NONAME + _ZN10eap_core_c20unset_marked_removedEv @ 56 NONAME + _ZN10eap_core_c21cancel_retransmissionEv @ 57 NONAME + _ZN10eap_core_c21restart_with_new_typeE19eap_expanded_type_cPK19eap_am_network_id_ch @ 58 NONAME + _ZN10eap_core_c21send_eap_nak_responseEPK19eap_am_network_id_chPK11eap_array_cI19eap_expanded_type_cE @ 59 NONAME + _ZN10eap_core_c22cancel_session_timeoutEv @ 60 NONAME + _ZN10eap_core_c22get_saved_eap_identityEP19eap_variable_data_c @ 61 NONAME + _ZN10eap_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 62 NONAME + _ZN10eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 63 NONAME + _ZN10eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 64 NONAME + _ZN10eap_core_c23set_authentication_roleEb @ 65 NONAME + _ZN10eap_core_c23set_eap_failure_timeoutEv @ 66 NONAME + _ZN10eap_core_c25client_proposes_eap_typesEPK19eap_am_network_id_ch @ 67 NONAME + _ZN10eap_core_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 68 NONAME + _ZN10eap_core_c26cancel_eap_failure_timeoutEv @ 69 NONAME + _ZN10eap_core_c26initialize_session_timeoutEm @ 70 NONAME + _ZN10eap_core_c26send_eap_identity_responseEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 71 NONAME + _ZN10eap_core_c27complete_eap_identity_queryEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 72 NONAME + _ZN10eap_core_c27handle_eap_identity_requestE19eap_expanded_type_chPK19eap_am_network_id_c @ 73 NONAME + _ZN10eap_core_c28create_eap_identity_responseEP18eap_buf_chain_wr_cPK19eap_variable_data_ch @ 74 NONAME + _ZN10eap_core_c28handle_eap_identity_responseEP15eap_base_type_c19eap_expanded_type_cPK19eap_am_network_id_cP15eap_header_wr_cm @ 75 NONAME + _ZN10eap_core_c30send_eap_notification_responseEPK19eap_am_network_id_ch @ 76 NONAME + _ZN10eap_core_c31object_decrease_reference_countEv @ 77 NONAME + _ZN10eap_core_c31object_increase_reference_countEv @ 78 NONAME + _ZN10eap_core_c5resetEv @ 79 NONAME + _ZN10eap_core_c8shutdownEv @ 80 NONAME + _ZN10eap_core_c9configureEv @ 81 NONAME + _ZN10eap_core_c9load_typeE19eap_expanded_type_cS0_PK19eap_am_network_id_c @ 82 NONAME + _ZN10eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 83 NONAME + _ZN10eap_core_cC1EP18abs_eap_am_tools_cP14abs_eap_core_cbPK19eap_am_network_id_cb @ 84 NONAME + _ZN10eap_core_cC2EP18abs_eap_am_tools_cP14abs_eap_core_cbPK19eap_am_network_id_cb @ 85 NONAME + _ZN10eap_core_cD0Ev @ 86 NONAME + _ZN10eap_core_cD1Ev @ 87 NONAME + _ZN10eap_core_cD2Ev @ 88 NONAME + _ZN12crypto_aes_c12get_encryptsEv @ 89 NONAME + _ZN12crypto_aes_c12get_is_validEv @ 90 NONAME + _ZN12crypto_aes_c12set_is_validEv @ 91 NONAME + _ZN12crypto_aes_c13decrypt_blockEPKvPvm @ 92 NONAME + _ZN12crypto_aes_c13encrypt_blockEPKvPvm @ 93 NONAME + _ZN12crypto_aes_c14get_block_sizeEv @ 94 NONAME + _ZN12crypto_aes_c14get_key_lengthEv @ 95 NONAME + _ZN12crypto_aes_c18set_decryption_keyEPKvm @ 96 NONAME + _ZN12crypto_aes_c18set_encryption_keyEPKvm @ 97 NONAME + _ZN12crypto_aes_cC1EP18abs_eap_am_tools_c @ 98 NONAME + _ZN12crypto_aes_cC2EP18abs_eap_am_tools_c @ 99 NONAME + _ZN12crypto_aes_cD0Ev @ 100 NONAME + _ZN12crypto_aes_cD1Ev @ 101 NONAME + _ZN12crypto_aes_cD2Ev @ 102 NONAME + _ZN12crypto_cbc_c10get_tmp_IVEv @ 103 NONAME + _ZN12crypto_cbc_c12decrypt_dataEPKvPvm @ 104 NONAME + _ZN12crypto_cbc_c12decrypt_dataEPvm @ 105 NONAME + _ZN12crypto_cbc_c12encrypt_dataEPKvPvm @ 106 NONAME + _ZN12crypto_cbc_c12encrypt_dataEPvm @ 107 NONAME + _ZN12crypto_cbc_c12get_encryptsEv @ 108 NONAME + _ZN12crypto_cbc_c12get_is_validEv @ 109 NONAME + _ZN12crypto_cbc_c12set_is_validEv @ 110 NONAME + _ZN12crypto_cbc_c13cbc_xor_blockEPKvPvmm @ 111 NONAME + _ZN12crypto_cbc_c14cbc_copy_blockEPvPKvmm @ 112 NONAME + _ZN12crypto_cbc_c14get_block_sizeEv @ 113 NONAME + _ZN12crypto_cbc_c14get_key_lengthEv @ 114 NONAME + _ZN12crypto_cbc_c17add_padding_bytesEPvmh @ 115 NONAME + _ZN12crypto_cbc_c18set_decryption_keyEPKvmS1_m @ 116 NONAME + _ZN12crypto_cbc_c18set_encryption_keyEPKvmS1_m @ 117 NONAME + _ZN12crypto_cbc_c18update_non_alignedEPKvPvm @ 118 NONAME + _ZN12crypto_cbc_c18update_non_alignedEPvm @ 119 NONAME + _ZN12crypto_cbc_c19aligned_data_lengthEm @ 120 NONAME + _ZN12crypto_cbc_c19check_padding_bytesEPKvmh @ 121 NONAME + _ZN12crypto_cbc_c20finalize_non_alignedEv @ 122 NONAME + _ZN12crypto_cbc_c21internal_decrypt_dataEPKvPvm @ 123 NONAME + _ZN12crypto_cbc_c21internal_encrypt_dataEPKvPvm @ 124 NONAME + _ZN12crypto_cbc_c5resetEv @ 125 NONAME + _ZN12crypto_cbc_cC1EP18abs_eap_am_tools_cP28abs_crypto_block_algorithm_cb @ 126 NONAME + _ZN12crypto_cbc_cC2EP18abs_eap_am_tools_cP28abs_crypto_block_algorithm_cb @ 127 NONAME + _ZN12crypto_cbc_cD0Ev @ 128 NONAME + _ZN12crypto_cbc_cD1Ev @ 129 NONAME + _ZN12crypto_cbc_cD2Ev @ 130 NONAME + _ZN12crypto_dsa_c12get_is_validEv @ 131 NONAME + _ZN12crypto_dsa_c12set_is_validEv @ 132 NONAME + _ZN12crypto_dsa_c14set_is_invalidEv @ 133 NONAME + _ZN12crypto_dsa_c4initEv @ 134 NONAME + _ZN12crypto_dsa_c4signEPK19eap_variable_data_cS2_PS0_ @ 135 NONAME + _ZN12crypto_dsa_c6verifyEPK19eap_variable_data_cS2_S2_S2_S2_S2_ @ 136 NONAME + _ZN12crypto_dsa_c7cleanupEv @ 137 NONAME + _ZN12crypto_dsa_cC1EP18abs_eap_am_tools_c @ 138 NONAME + _ZN12crypto_dsa_cC2EP18abs_eap_am_tools_c @ 139 NONAME + _ZN12crypto_dsa_cD0Ev @ 140 NONAME + _ZN12crypto_dsa_cD1Ev @ 141 NONAME + _ZN12crypto_dsa_cD2Ev @ 142 NONAME + _ZN12crypto_md4_c10hash_finalEPvPm @ 143 NONAME + _ZN12crypto_md4_c11hash_updateEPKvm @ 144 NONAME + _ZN12crypto_md4_c12copy_contextEPK19eap_variable_data_c @ 145 NONAME + _ZN12crypto_md4_c12get_is_validEv @ 146 NONAME + _ZN12crypto_md4_c12hash_cleanupEv @ 147 NONAME + _ZN12crypto_md4_c12set_is_validEv @ 148 NONAME + _ZN12crypto_md4_c14get_block_sizeEv @ 149 NONAME + _ZN12crypto_md4_c14set_is_invalidEv @ 150 NONAME + _ZN12crypto_md4_c17get_digest_lengthEv @ 151 NONAME + _ZN12crypto_md4_c4copyEv @ 152 NONAME + _ZN12crypto_md4_c9hash_initEv @ 153 NONAME + _ZN12crypto_md4_cC1EP18abs_eap_am_tools_c @ 154 NONAME + _ZN12crypto_md4_cC2EP18abs_eap_am_tools_c @ 155 NONAME + _ZN12crypto_md4_cD0Ev @ 156 NONAME + _ZN12crypto_md4_cD1Ev @ 157 NONAME + _ZN12crypto_md4_cD2Ev @ 158 NONAME + _ZN12crypto_md5_c10hash_finalEPvPm @ 159 NONAME + _ZN12crypto_md5_c11hash_updateEPKvm @ 160 NONAME + _ZN12crypto_md5_c12copy_contextEPK19eap_variable_data_c @ 161 NONAME + _ZN12crypto_md5_c12get_is_validEv @ 162 NONAME + _ZN12crypto_md5_c12hash_cleanupEv @ 163 NONAME + _ZN12crypto_md5_c12set_is_validEv @ 164 NONAME + _ZN12crypto_md5_c14get_block_sizeEv @ 165 NONAME + _ZN12crypto_md5_c14set_is_invalidEv @ 166 NONAME + _ZN12crypto_md5_c17get_digest_lengthEv @ 167 NONAME + _ZN12crypto_md5_c4copyEv @ 168 NONAME + _ZN12crypto_md5_c9hash_initEv @ 169 NONAME + _ZN12crypto_md5_cC1EP18abs_eap_am_tools_c @ 170 NONAME + _ZN12crypto_md5_cC2EP18abs_eap_am_tools_c @ 171 NONAME + _ZN12crypto_md5_cD0Ev @ 172 NONAME + _ZN12crypto_md5_cD1Ev @ 173 NONAME + _ZN12crypto_md5_cD2Ev @ 174 NONAME + _ZN12crypto_rc4_c12decrypt_dataEPKvPvm @ 175 NONAME + _ZN12crypto_rc4_c12decrypt_dataEPvm @ 176 NONAME + _ZN12crypto_rc4_c12encrypt_dataEPKvPvm @ 177 NONAME + _ZN12crypto_rc4_c12encrypt_dataEPvm @ 178 NONAME + _ZN12crypto_rc4_c12get_is_validEv @ 179 NONAME + _ZN12crypto_rc4_c12set_is_validEv @ 180 NONAME + _ZN12crypto_rc4_c14discard_streamEm @ 181 NONAME + _ZN12crypto_rc4_c14set_is_invalidEv @ 182 NONAME + _ZN12crypto_rc4_c7set_keyEPK19eap_variable_data_c @ 183 NONAME + _ZN12crypto_rc4_cC1EP18abs_eap_am_tools_c @ 184 NONAME + _ZN12crypto_rc4_cC2EP18abs_eap_am_tools_c @ 185 NONAME + _ZN12crypto_rc4_cD0Ev @ 186 NONAME + _ZN12crypto_rc4_cD1Ev @ 187 NONAME + _ZN12crypto_rc4_cD2Ev @ 188 NONAME + _ZN12crypto_rsa_c12get_is_validEv @ 189 NONAME + _ZN12crypto_rsa_c12set_is_validEv @ 190 NONAME + _ZN12crypto_rsa_c14set_is_invalidEv @ 191 NONAME + _ZN12crypto_rsa_c23decrypt_with_public_keyEPK19eap_variable_data_cS2_PS0_ @ 192 NONAME + _ZN12crypto_rsa_c23encrypt_with_public_keyEPK19eap_variable_data_cS2_PS0_ @ 193 NONAME + _ZN12crypto_rsa_c24decrypt_with_private_keyEPK19eap_variable_data_cS2_PS0_ @ 194 NONAME + _ZN12crypto_rsa_c24encrypt_with_private_keyEPK19eap_variable_data_cS2_PS0_ @ 195 NONAME + _ZN12crypto_rsa_c4initEv @ 196 NONAME + _ZN12crypto_rsa_c4signEPK19eap_variable_data_cS2_PS0_ @ 197 NONAME + _ZN12crypto_rsa_c6verifyEPK19eap_variable_data_cS2_S2_ @ 198 NONAME + _ZN12crypto_rsa_c7cleanupEv @ 199 NONAME + _ZN12crypto_rsa_cC1EP18abs_eap_am_tools_c @ 200 NONAME + _ZN12crypto_rsa_cC2EP18abs_eap_am_tools_c @ 201 NONAME + _ZN12crypto_rsa_cD0Ev @ 202 NONAME + _ZN12crypto_rsa_cD1Ev @ 203 NONAME + _ZN12crypto_rsa_cD2Ev @ 204 NONAME + _ZN12eapol_core_c11associationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_S6_ @ 205 NONAME + _ZN12eapol_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 206 NONAME + _ZN12eapol_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 207 NONAME + _ZN12eapol_core_c11send_logoffEPK19eap_am_network_id_c @ 208 NONAME + _ZN12eapol_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 209 NONAME + _ZN12eapol_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 210 NONAME + _ZN12eapol_core_c12create_stateEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 211 NONAME + _ZN12eapol_core_c12get_is_validEv @ 212 NONAME + _ZN12eapol_core_c12set_is_validEv @ 213 NONAME + _ZN12eapol_core_c13timer_expiredEmPv @ 214 NONAME + _ZN12eapol_core_c13unload_moduleE19eap_expanded_type_c @ 215 NONAME + _ZN12eapol_core_c14disassociationEPK19eap_am_network_id_c @ 216 NONAME + _ZN12eapol_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 217 NONAME + _ZN12eapol_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 218 NONAME + _ZN12eapol_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 219 NONAME + _ZN12eapol_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 220 NONAME + _ZN12eapol_core_c16tkip_mic_failureEPK19eap_am_network_id_cbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 221 NONAME + _ZN12eapol_core_c17cancel_all_timersEv @ 222 NONAME + _ZN12eapol_core_c17check_pmksa_cacheEP11eap_array_cI19eap_am_network_id_cE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES6_ @ 223 NONAME + _ZN12eapol_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 224 NONAME + _ZN12eapol_core_c17get_header_offsetEPmS0_ @ 225 NONAME + _ZN12eapol_core_c17timer_delete_dataEmPv @ 226 NONAME + _ZN12eapol_core_c18shutdown_operationEP17eapol_key_state_cP18abs_eap_am_tools_c @ 227 NONAME + _ZN12eapol_core_c18state_notificationEPK28abs_eap_state_notification_c @ 228 NONAME + _ZN12eapol_core_c19set_session_timeoutEm @ 229 NONAME + _ZN12eapol_core_c19start_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 230 NONAME + _ZN12eapol_core_c22remove_eapol_key_stateEPK19eap_am_network_id_c @ 231 NONAME + _ZN12eapol_core_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 232 NONAME + _ZN12eapol_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 233 NONAME + _ZN12eapol_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 234 NONAME + _ZN12eapol_core_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 235 NONAME + _ZN12eapol_core_c23remove_pmksa_from_cacheEPK19eap_am_network_id_c @ 236 NONAME + _ZN12eapol_core_c23start_preauthenticationEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 237 NONAME + _ZN12eapol_core_c24start_WPXM_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_eP19eap_variable_data_c @ 238 NONAME + _ZN12eapol_core_c27complete_WPXM_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 239 NONAME + _ZN12eapol_core_c29cancel_authentication_sessionEP17eapol_key_state_cP18abs_eap_am_tools_c @ 240 NONAME + _ZN12eapol_core_c33asynchronous_start_authenticationEPK19eap_am_network_id_cb @ 241 NONAME + _ZN12eapol_core_c34cancel_all_authentication_sessionsEv @ 242 NONAME + _ZN12eapol_core_c36asynchronous_init_remove_eap_sessionEPK19eap_am_network_id_c @ 243 NONAME + _ZN12eapol_core_c36get_and_increment_global_key_counterEP19eap_variable_data_c @ 244 NONAME + _ZN12eapol_core_c36init_eapol_key_pmksa_caching_timeoutEPK19eap_am_network_id_c @ 245 NONAME + _ZN12eapol_core_c51indicate_eapol_key_state_started_eap_authenticationEPK19eap_am_network_id_c @ 246 NONAME + _ZN12eapol_core_c8shutdownEv @ 247 NONAME + _ZN12eapol_core_c9configureEv @ 248 NONAME + _ZN12eapol_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 249 NONAME + _ZN12eapol_core_cC1EP18abs_eap_am_tools_cP16abs_eapol_core_cb @ 250 NONAME + _ZN12eapol_core_cC2EP18abs_eap_am_tools_cP16abs_eapol_core_cb @ 251 NONAME + _ZN12eapol_core_cD0Ev @ 252 NONAME + _ZN12eapol_core_cD1Ev @ 253 NONAME + _ZN12eapol_core_cD2Ev @ 254 NONAME + _ZN13crypto_hmac_c10hmac_finalEPvPm @ 255 NONAME + _ZN13crypto_hmac_c11hmac_updateEPKvm @ 256 NONAME + _ZN13crypto_hmac_c12get_is_validEv @ 257 NONAME + _ZN13crypto_hmac_c12hmac_cleanupEv @ 258 NONAME + _ZN13crypto_hmac_c12hmac_set_keyEPK19eap_variable_data_c @ 259 NONAME + _ZN13crypto_hmac_c12set_is_validEv @ 260 NONAME + _ZN13crypto_hmac_c14hmac_128_finalEPvPm @ 261 NONAME + _ZN13crypto_hmac_c14initialize_padEP19eap_variable_data_ch @ 262 NONAME + _ZN13crypto_hmac_c17get_digest_lengthEv @ 263 NONAME + _ZN13crypto_hmac_cC1EP18abs_eap_am_tools_cP27abs_crypto_hash_algorithm_cb @ 264 NONAME + _ZN13crypto_hmac_cC2EP18abs_eap_am_tools_cP27abs_crypto_hash_algorithm_cb @ 265 NONAME + _ZN13crypto_hmac_cD0Ev @ 266 NONAME + _ZN13crypto_hmac_cD1Ev @ 267 NONAME + _ZN13crypto_hmac_cD2Ev @ 268 NONAME + _ZN13crypto_sha1_c10hash_finalEPvPm @ 269 NONAME + _ZN13crypto_sha1_c11hash_updateEPKvm @ 270 NONAME + _ZN13crypto_sha1_c12copy_contextEPK19eap_variable_data_c @ 271 NONAME + _ZN13crypto_sha1_c12get_is_validEv @ 272 NONAME + _ZN13crypto_sha1_c12hash_cleanupEv @ 273 NONAME + _ZN13crypto_sha1_c12set_is_validEv @ 274 NONAME + _ZN13crypto_sha1_c14get_block_sizeEv @ 275 NONAME + _ZN13crypto_sha1_c14set_is_invalidEv @ 276 NONAME + _ZN13crypto_sha1_c17get_digest_lengthEv @ 277 NONAME + _ZN13crypto_sha1_c4copyEv @ 278 NONAME + _ZN13crypto_sha1_c9hash_initEv @ 279 NONAME + _ZN13crypto_sha1_cC1EP18abs_eap_am_tools_c @ 280 NONAME + _ZN13crypto_sha1_cC2EP18abs_eap_am_tools_c @ 281 NONAME + _ZN13crypto_sha1_cD0Ev @ 282 NONAME + _ZN13crypto_sha1_cD1Ev @ 283 NONAME + _ZN13crypto_sha1_cD2Ev @ 284 NONAME + _ZN14eap_am_tools_c10trace_dataEPKcPKvm @ 285 NONAME + _ZN14eap_am_tools_c11compare_u64Eyy @ 286 NONAME + _ZN14eap_am_tools_c12multiply_u64Eyy @ 287 NONAME + _ZN14eap_am_tools_c14ascii_to_octetEl @ 288 NONAME + _ZN14eap_am_tools_c14create_uuid_v5EPKvmS1_mP19eap_variable_data_c @ 289 NONAME + _ZN14eap_am_tools_c14octet_to_asciiEl @ 290 NONAME + _ZN14eap_am_tools_c14set_trace_maskEm @ 291 NONAME + _ZN14eap_am_tools_c17eap_status_returnEb12eap_status_ePKcl @ 292 NONAME + _ZN14eap_am_tools_c17shutdown_am_toolsEv @ 293 NONAME + _ZN14eap_am_tools_c18get_thread_stoppedEv @ 294 NONAME + _ZN14eap_am_tools_c19get_use_timer_queueEv @ 295 NONAME + _ZN14eap_am_tools_c19set_use_timer_queueEv @ 296 NONAME + _ZN14eap_am_tools_c19trace_configurationE12eap_status_ePK25eap_configuration_field_cPK19eap_variable_data_c @ 297 NONAME + _ZN14eap_am_tools_c20number_string_to_u32EPKhmPm @ 298 NONAME + _ZN14eap_am_tools_c20octet_to_ascii_armorEh @ 299 NONAME + _ZN14eap_am_tools_c21memory_store_add_dataEPK19eap_variable_data_cP22eap_tlv_message_data_cm @ 300 NONAME + _ZN14eap_am_tools_c21memory_store_get_dataEPK19eap_variable_data_cP22eap_tlv_message_data_c @ 301 NONAME + _ZN14eap_am_tools_c21timer_thread_functionEv @ 302 NONAME + _ZN14eap_am_tools_c22octet_from_ascii_armorEh @ 303 NONAME + _ZN14eap_am_tools_c24memory_store_remove_dataEPK19eap_variable_data_c @ 304 NONAME + _ZN14eap_am_tools_c26convert_ascii_to_uppercaseEPhm @ 305 NONAME + _ZN14eap_am_tools_c26convert_bytes_to_hex_asciiEPKhmPhPm @ 306 NONAME + _ZN14eap_am_tools_c26convert_bytes_to_hex_asciiEPKvmP19eap_variable_data_c @ 307 NONAME + _ZN14eap_am_tools_c26convert_hex_ascii_to_bytesEPKhmPhPm @ 308 NONAME + _ZN14eap_am_tools_c26convert_hex_ascii_to_bytesEPKvmP19eap_variable_data_c @ 309 NONAME + _ZN14eap_am_tools_c27set_activate_trace_on_errorEv @ 310 NONAME + _ZN14eap_am_tools_c28convert_bytes_to_ascii_armorEPKhmPhPm @ 311 NONAME + _ZN14eap_am_tools_c29check_activate_trace_on_errorEv @ 312 NONAME + _ZN14eap_am_tools_c29eap_status_return_file_numberEb12eap_status_emml @ 313 NONAME + _ZN14eap_am_tools_c30restore_bytes_from_ascii_armorEPKhmPhPm @ 314 NONAME + _ZN14eap_am_tools_c31create_uuid_v5_from_mac_addressEPKhmP19eap_variable_data_c @ 315 NONAME + _ZN14eap_am_tools_c31generic_convert_unicode_to_utf8ER19eap_variable_data_cRKS0_ @ 316 NONAME + _ZN14eap_am_tools_c31generic_convert_utf8_to_unicodeER19eap_variable_data_cRKS0_ @ 317 NONAME + _ZN14eap_am_tools_c35get_use_seconds_timestamp_in_tracesEv @ 318 NONAME + _ZN14eap_am_tools_c37convert_selected_bytes_to_ascii_armorEhPmPhS1_S0_b @ 319 NONAME + _ZN14eap_am_tools_c39restore_selected_bytes_from_ascii_armorEhPmPhS0_b @ 320 NONAME + _ZN14eap_am_tools_c7xor_u64Eyy @ 321 NONAME + _ZN14eap_am_tools_c9parse_naiEPK19eap_variable_data_cPS0_S3_ @ 322 NONAME + _ZN14eap_am_tools_cC2Ev @ 323 NONAME + _ZN14eap_am_tools_cD0Ev @ 324 NONAME + _ZN14eap_am_tools_cD1Ev @ 325 NONAME + _ZN14eap_am_tools_cD2Ev @ 326 NONAME + _ZN15crypto_random_c12get_is_validEv @ 327 NONAME + _ZN15crypto_random_c12set_is_validEv @ 328 NONAME + _ZN15crypto_random_c13add_rand_seedEPKvm @ 329 NONAME + _ZN15crypto_random_c14get_rand_bytesEP19eap_variable_data_cm @ 330 NONAME + _ZN15crypto_random_c14get_rand_bytesEPvm @ 331 NONAME + _ZN15crypto_random_c16get_rand_integerEmm @ 332 NONAME + _ZN15crypto_random_c22add_rand_seed_hw_ticksEv @ 333 NONAME + _ZN15crypto_random_cC1EP18abs_eap_am_tools_c @ 334 NONAME + _ZN15crypto_random_cC2EP18abs_eap_am_tools_c @ 335 NONAME + _ZN15crypto_random_cD0Ev @ 336 NONAME + _ZN15crypto_random_cD1Ev @ 337 NONAME + _ZN15crypto_random_cD2Ev @ 338 NONAME + _ZN15eap_base_type_c16get_type_partnerEv @ 339 NONAME + _ZN15eap_base_type_c31object_decrease_reference_countEv @ 340 NONAME + _ZN15eap_base_type_c31object_increase_reference_countEv @ 341 NONAME + _ZN15eap_base_type_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_c @ 342 NONAME + _ZN15eap_base_type_cD0Ev @ 343 NONAME + _ZN15eap_base_type_cD1Ev @ 344 NONAME + _ZN15eap_base_type_cD2Ev @ 345 NONAME + _ZN15eap_header_rd_cC1EP18abs_eap_am_tools_cPhm @ 346 NONAME + _ZN15eap_header_rd_cC2EP18abs_eap_am_tools_cPhm @ 347 NONAME + _ZN15eap_header_rd_cD0Ev @ 348 NONAME + _ZN15eap_header_rd_cD1Ev @ 349 NONAME + _ZN15eap_header_rd_cD2Ev @ 350 NONAME + _ZN15eap_header_wr_c12reset_headerEtb @ 351 NONAME + _ZN15eap_header_wr_cC1EP18abs_eap_am_tools_cPhm @ 352 NONAME + _ZN15eap_header_wr_cC2EP18abs_eap_am_tools_cPhm @ 353 NONAME + _ZN15eap_header_wr_cD0Ev @ 354 NONAME + _ZN15eap_header_wr_cD1Ev @ 355 NONAME + _ZN15eap_header_wr_cD2Ev @ 356 NONAME + _ZN15ethernet_core_c11associationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_S6_ @ 357 NONAME + _ZN15ethernet_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 358 NONAME + _ZN15ethernet_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 359 NONAME + _ZN15ethernet_core_c11send_logoffEPK19eap_am_network_id_c @ 360 NONAME + _ZN15ethernet_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 361 NONAME + _ZN15ethernet_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 362 NONAME + _ZN15ethernet_core_c12create_stateEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 363 NONAME + _ZN15ethernet_core_c12get_is_validEv @ 364 NONAME + _ZN15ethernet_core_c12set_is_validEv @ 365 NONAME + _ZN15ethernet_core_c13unload_moduleE19eap_expanded_type_c @ 366 NONAME + _ZN15ethernet_core_c14disassociationEPK19eap_am_network_id_c @ 367 NONAME + _ZN15ethernet_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 368 NONAME + _ZN15ethernet_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 369 NONAME + _ZN15ethernet_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 370 NONAME + _ZN15ethernet_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 371 NONAME + _ZN15ethernet_core_c16tkip_mic_failureEPK19eap_am_network_id_cbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 372 NONAME + _ZN15ethernet_core_c17cancel_all_timersEv @ 373 NONAME + _ZN15ethernet_core_c17check_pmksa_cacheEP11eap_array_cI19eap_am_network_id_cE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES6_ @ 374 NONAME + _ZN15ethernet_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 375 NONAME + _ZN15ethernet_core_c17get_header_offsetEPmS0_ @ 376 NONAME + _ZN15ethernet_core_c18state_notificationEPK28abs_eap_state_notification_c @ 377 NONAME + _ZN15ethernet_core_c19start_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 378 NONAME + _ZN15ethernet_core_c20start_authenticationEPK19eap_am_network_id_cb @ 379 NONAME + _ZN15ethernet_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 380 NONAME + _ZN15ethernet_core_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 381 NONAME + _ZN15ethernet_core_c23remove_pmksa_from_cacheEPK19eap_am_network_id_c @ 382 NONAME + _ZN15ethernet_core_c23start_preauthenticationEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 383 NONAME + _ZN15ethernet_core_c24start_WPXM_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_eP19eap_variable_data_c @ 384 NONAME + _ZN15ethernet_core_c27complete_WPXM_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 385 NONAME + _ZN15ethernet_core_c34cancel_all_authentication_sessionsEv @ 386 NONAME + _ZN15ethernet_core_c8shutdownEv @ 387 NONAME + _ZN15ethernet_core_c9configureEv @ 388 NONAME + _ZN15ethernet_core_c9load_typeE19eap_expanded_type_c @ 389 NONAME + _ZN15ethernet_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 390 NONAME + _ZN15ethernet_core_cC1EP18abs_eap_am_tools_cP19abs_ethernet_core_cb @ 391 NONAME + _ZN15ethernet_core_cC2EP18abs_eap_am_tools_cP19abs_ethernet_core_cb @ 392 NONAME + _ZN15ethernet_core_cD0Ev @ 393 NONAME + _ZN15ethernet_core_cD1Ev @ 394 NONAME + _ZN15ethernet_core_cD2Ev @ 395 NONAME + _ZN16crypto_nt_hash_c12get_is_validEv @ 396 NONAME + _ZN16crypto_nt_hash_c14get_master_keyEPK19eap_variable_data_cS2_PS0_m @ 397 NONAME + _ZN16crypto_nt_hash_c16nt_password_hashEPK19eap_variable_data_cPS0_m @ 398 NONAME + _ZN16crypto_nt_hash_c20get_new_key_from_shaEPK19eap_variable_data_cS2_PS0_m @ 399 NONAME + _ZN16crypto_nt_hash_c21hash_nt_password_hashEPK19eap_variable_data_cPS0_m @ 400 NONAME + _ZN16crypto_nt_hash_c24get_asymmetric_start_keyEPK19eap_variable_data_cPS0_mbb @ 401 NONAME + _ZN16crypto_nt_hash_cC1EP18abs_eap_am_tools_c @ 402 NONAME + _ZN16crypto_nt_hash_cC2EP18abs_eap_am_tools_c @ 403 NONAME + _ZN16crypto_nt_hash_cD0Ev @ 404 NONAME + _ZN16crypto_nt_hash_cD1Ev @ 405 NONAME + _ZN16crypto_nt_hash_cD2Ev @ 406 NONAME + _ZN16crypto_sha_256_c10hash_finalEPvPm @ 407 NONAME + _ZN16crypto_sha_256_c11hash_updateEPKvm @ 408 NONAME + _ZN16crypto_sha_256_c12copy_contextEPK19eap_variable_data_c @ 409 NONAME + _ZN16crypto_sha_256_c12get_is_validEv @ 410 NONAME + _ZN16crypto_sha_256_c12hash_cleanupEv @ 411 NONAME + _ZN16crypto_sha_256_c12set_is_validEv @ 412 NONAME + _ZN16crypto_sha_256_c14get_block_sizeEv @ 413 NONAME + _ZN16crypto_sha_256_c14set_is_invalidEv @ 414 NONAME + _ZN16crypto_sha_256_c17get_digest_lengthEv @ 415 NONAME + _ZN16crypto_sha_256_c4copyEv @ 416 NONAME + _ZN16crypto_sha_256_c9hash_initEv @ 417 NONAME + _ZN16crypto_sha_256_cC1EP18abs_eap_am_tools_c @ 418 NONAME + _ZN16crypto_sha_256_cC2EP18abs_eap_am_tools_c @ 419 NONAME + _ZN16crypto_sha_256_cD0Ev @ 420 NONAME + _ZN16crypto_sha_256_cD1Ev @ 421 NONAME + _ZN16crypto_sha_256_cD2Ev @ 422 NONAME + _ZN16crypto_tls_prf_c12get_is_validEv @ 423 NONAME + _ZN16crypto_tls_prf_c12set_is_validEv @ 424 NONAME + _ZN16crypto_tls_prf_c12tls_prf_initEPK19eap_variable_data_cS2_S2_ @ 425 NONAME + _ZN16crypto_tls_prf_c14set_is_invalidEv @ 426 NONAME + _ZN16crypto_tls_prf_c14tls_prf_outputEPvm @ 427 NONAME + _ZN16crypto_tls_prf_c15tls_prf_cleanupEv @ 428 NONAME + _ZN16crypto_tls_prf_cC1EP18abs_eap_am_tools_c @ 429 NONAME + _ZN16crypto_tls_prf_cC2EP18abs_eap_am_tools_c @ 430 NONAME + _ZN16crypto_tls_prf_cD0Ev @ 431 NONAME + _ZN16crypto_tls_prf_cD1Ev @ 432 NONAME + _ZN16crypto_tls_prf_cD2Ev @ 433 NONAME + _ZN16eap_tlv_header_c12reset_headerEmm @ 434 NONAME + _ZN16eap_tlv_header_c16set_value_lengthEm @ 435 NONAME + _ZN16eap_tlv_header_c17get_header_lengthEv @ 436 NONAME + _ZN16eap_tlv_header_c8set_typeEm @ 437 NONAME + _ZN16eap_tlv_header_cC1EP18abs_eap_am_tools_cPvm @ 438 NONAME + _ZN16eap_tlv_header_cC2EP18abs_eap_am_tools_cPvm @ 439 NONAME + _ZN16eap_tlv_header_cD0Ev @ 440 NONAME + _ZN16eap_tlv_header_cD1Ev @ 441 NONAME + _ZN16eap_tlv_header_cD2Ev @ 442 NONAME + _ZN17crypto_3des_ede_c12get_encryptsEv @ 443 NONAME + _ZN17crypto_3des_ede_c12get_is_validEv @ 444 NONAME + _ZN17crypto_3des_ede_c12set_is_validEv @ 445 NONAME + _ZN17crypto_3des_ede_c13decrypt_blockEPKvPvm @ 446 NONAME + _ZN17crypto_3des_ede_c13encrypt_blockEPKvPvm @ 447 NONAME + _ZN17crypto_3des_ede_c14get_block_sizeEv @ 448 NONAME + _ZN17crypto_3des_ede_c14get_key_lengthEv @ 449 NONAME + _ZN17crypto_3des_ede_c18set_decryption_keyEPKvm @ 450 NONAME + _ZN17crypto_3des_ede_c18set_encryption_keyEPKvm @ 451 NONAME + _ZN17crypto_3des_ede_cC1EP18abs_eap_am_tools_c @ 452 NONAME + _ZN17crypto_3des_ede_cC2EP18abs_eap_am_tools_c @ 453 NONAME + _ZN17crypto_3des_ede_cD0Ev @ 454 NONAME + _ZN17crypto_3des_ede_cD1Ev @ 455 NONAME + _ZN17crypto_3des_ede_cD2Ev @ 456 NONAME + _ZN17crypto_aes_wrap_c12get_encryptsEv @ 457 NONAME + _ZN17crypto_aes_wrap_c12get_is_validEv @ 458 NONAME + _ZN17crypto_aes_wrap_c12set_is_validEv @ 459 NONAME + _ZN17crypto_aes_wrap_c13decrypt_blockEPKvmPvm @ 460 NONAME + _ZN17crypto_aes_wrap_c13encrypt_blockEPKvmPvm @ 461 NONAME + _ZN17crypto_aes_wrap_c14get_block_sizeEv @ 462 NONAME + _ZN17crypto_aes_wrap_c14get_key_lengthEv @ 463 NONAME + _ZN17crypto_aes_wrap_c17add_padding_bytesEPvm @ 464 NONAME + _ZN17crypto_aes_wrap_c18set_decryption_keyEPKvm @ 465 NONAME + _ZN17crypto_aes_wrap_c18set_encryption_keyEPKvm @ 466 NONAME + _ZN17crypto_aes_wrap_cC1EP18abs_eap_am_tools_c @ 467 NONAME + _ZN17crypto_aes_wrap_cC2EP18abs_eap_am_tools_c @ 468 NONAME + _ZN17crypto_aes_wrap_cD0Ev @ 469 NONAME + _ZN17crypto_aes_wrap_cD1Ev @ 470 NONAME + _ZN17crypto_aes_wrap_cD2Ev @ 471 NONAME + _ZN17eap_file_config_c10read_u32_tEPhPKhPm @ 472 NONAME + _ZN17eap_file_config_c11get_subsectEP23abs_eap_am_file_input_cP19eap_variable_data_c @ 473 NONAME + _ZN17eap_file_config_c12read_sectionEP23abs_eap_am_file_input_cP14eap_core_map_cI18eap_config_value_c18abs_eap_core_map_c19eap_variable_data_cE @ 474 NONAME + _ZN17eap_file_config_c13convert_valueEP14eap_core_map_cI18eap_config_value_c18abs_eap_core_map_c19eap_variable_data_cEPKS3_20eap_configure_type_ePS3_ @ 475 NONAME + _ZN17eap_file_config_c13read_hex_byteEPhPKhS0_ @ 476 NONAME + _ZN17eap_file_config_c13remove_spacesEP19eap_variable_data_c @ 477 NONAME + _ZN17eap_file_config_c14cnf_get_stringEPK19eap_variable_data_cPS0_S3_P20eap_configure_type_e @ 478 NONAME + _ZN17eap_file_config_c14file_read_lineEP23abs_eap_am_file_input_cP19eap_variable_data_c @ 479 NONAME + _ZN17eap_file_config_c14read_configureEP14eap_core_map_cI18eap_config_value_c18abs_eap_core_map_c19eap_variable_data_cEPK25eap_configuration_field_cPS3_P20eap_configure_type_eb @ 480 NONAME + _ZN17eap_file_config_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 481 NONAME + _ZN17eap_file_config_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_cP14eap_core_map_cI18eap_config_value_c18abs_eap_core_map_cS3_Eb @ 482 NONAME + _ZN17eap_file_config_c15cnf_parse_valueEPK19eap_variable_data_cS2_P20eap_configure_type_ePS0_b @ 483 NONAME + _ZN17eap_file_config_c15store_configureEP23abs_eap_am_file_input_cPK19eap_variable_data_cP14eap_core_map_cI18eap_config_value_c18abs_eap_core_map_cS2_E @ 484 NONAME + _ZN17eap_file_config_c16read_subsectionsEP23abs_eap_am_file_input_cP14eap_core_map_cI18eap_config_value_c18abs_eap_core_map_c19eap_variable_data_cE @ 485 NONAME + _ZN17eap_file_config_c21remove_leading_spacesEP19eap_variable_data_c @ 486 NONAME + _ZN17eap_file_config_c28expand_environment_variablesEP14eap_core_map_cI18eap_config_value_c18abs_eap_core_map_c19eap_variable_data_cEPKS3_PS3_ @ 487 NONAME + _ZN17eap_file_config_c9configureEP23abs_eap_am_file_input_c @ 488 NONAME + _ZN17eap_file_config_cC1EP18abs_eap_am_tools_c @ 489 NONAME + _ZN17eap_file_config_cC2EP18abs_eap_am_tools_c @ 490 NONAME + _ZN17eap_file_config_cD0Ev @ 491 NONAME + _ZN17eap_file_config_cD1Ev @ 492 NONAME + _ZN17eap_file_config_cD2Ev @ 493 NONAME + _ZN17eap_header_base_c10set_lengthEtb @ 494 NONAME + _ZN17eap_header_base_c14set_identifierEh @ 495 NONAME + _ZN17eap_header_base_c17get_header_lengthEv @ 496 NONAME + _ZN17eap_header_base_c20set_type_data_lengthEtb @ 497 NONAME + _ZN17eap_header_base_c26get_ietf_type_field_lengthEv @ 498 NONAME + _ZN17eap_header_base_c26get_type_data_start_offsetEb @ 499 NONAME + _ZN17eap_header_base_c29get_expanded_ietf_type_offsetEv @ 500 NONAME + _ZN17eap_header_base_c29get_expanded_vendor_id_offsetEv @ 501 NONAME + _ZN17eap_header_base_c30get_expanded_type_field_lengthEv @ 502 NONAME + _ZN17eap_header_base_c31get_expanded_vendor_type_offsetEv @ 503 NONAME + _ZN17eap_header_base_c8set_codeE16eap_code_value_e @ 504 NONAME + _ZN17eap_header_base_c8set_typeE19eap_expanded_type_cb @ 505 NONAME + _ZN17eap_header_base_cC1EP18abs_eap_am_tools_cPvm @ 506 NONAME + _ZN17eap_header_base_cC2EP18abs_eap_am_tools_cPvm @ 507 NONAME + _ZN17eap_header_base_cD0Ev @ 508 NONAME + _ZN17eap_header_base_cD1Ev @ 509 NONAME + _ZN17eap_header_base_cD2Ev @ 510 NONAME + _ZN17eapol_header_rd_cC1EP18abs_eap_am_tools_cPhm @ 511 NONAME + _ZN17eapol_header_rd_cC2EP18abs_eap_am_tools_cPhm @ 512 NONAME + _ZN17eapol_header_rd_cD0Ev @ 513 NONAME + _ZN17eapol_header_rd_cD1Ev @ 514 NONAME + _ZN17eapol_header_rd_cD2Ev @ 515 NONAME + _ZN17eapol_header_wr_c12reset_headerEt @ 516 NONAME + _ZN17eapol_header_wr_c14get_eap_headerEv @ 517 NONAME + _ZN17eapol_header_wr_cC1EP18abs_eap_am_tools_cPhm @ 518 NONAME + _ZN17eapol_header_wr_cC2EP18abs_eap_am_tools_cPhm @ 519 NONAME + _ZN17eapol_header_wr_cD0Ev @ 520 NONAME + _ZN17eapol_header_wr_cD1Ev @ 521 NONAME + _ZN17eapol_header_wr_cD2Ev @ 522 NONAME + _ZN17eapol_key_state_c10get_ANonceEv @ 523 NONAME + _ZN17eapol_key_state_c10get_SNonceEv @ 524 NONAME + _ZN17eapol_key_state_c10get_is_WPAEv @ 525 NONAME + _ZN17eapol_key_state_c10initializeEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 526 NONAME + _ZN17eapol_key_state_c10initializeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_S6_ @ 527 NONAME + _ZN17eapol_key_state_c11get_is_RSNAEv @ 528 NONAME + _ZN17eapol_key_state_c11get_is_WPXMEv @ 529 NONAME + _ZN17eapol_key_state_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 530 NONAME + _ZN17eapol_key_state_c11set_s_nonceEPK19eap_variable_data_c @ 531 NONAME + _ZN17eapol_key_state_c12get_is_validEv @ 532 NONAME + _ZN17eapol_key_state_c12set_is_validEv @ 533 NONAME + _ZN17eapol_key_state_c13check_paddingEPKhm @ 534 NONAME + _ZN17eapol_key_state_c13resend_packetEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 535 NONAME + _ZN17eapol_key_state_c13timer_expiredEmPv @ 536 NONAME + _ZN17eapol_key_state_c15derive_WPXM_PTKEm @ 537 NONAME + _ZN17eapol_key_state_c15save_parametersE31eapol_key_authentication_type_ePK19eap_variable_data_cS3_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES5_ @ 538 NONAME + _ZN17eapol_key_state_c16set_pairwise_PMKEPK19eap_variable_data_cPK19eap_am_network_id_c @ 539 NONAME + _ZN17eapol_key_state_c16tkip_mic_failureEbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 540 NONAME + _ZN17eapol_key_state_c17check_pmksa_cacheE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES2_ @ 541 NONAME + _ZN17eapol_key_state_c17get_is_associatedEv @ 542 NONAME + _ZN17eapol_key_state_c17timer_delete_dataEmPv @ 543 NONAME + _ZN17eapol_key_state_c18add_RSN_IE_payloadEPK23eapol_RSNA_key_header_cP19eap_variable_data_cPm @ 544 NONAME + _ZN17eapol_key_state_c18get_encryption_KEKEv @ 545 NONAME + _ZN17eapol_key_state_c18get_marked_removedEv @ 546 NONAME + _ZN17eapol_key_state_c18get_received_PMKIDEv @ 547 NONAME + _ZN17eapol_key_state_c18reset_cached_pmksaEv @ 548 NONAME + _ZN17eapol_key_state_c18set_marked_removedEv @ 549 NONAME + _ZN17eapol_key_state_c19add_RSN_GTK_payloadEPK23eapol_RSNA_key_header_cP19eap_variable_data_cPm @ 550 NONAME + _ZN17eapol_key_state_c19init_retransmissionEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmm16eap_code_value_eh19eap_expanded_type_c @ 551 NONAME + _ZN17eapol_key_state_c19set_WPXM_parametersEPK19eap_am_network_id_c @ 552 NONAME + _ZN17eapol_key_state_c19set_eapol_key_stateE17eapol_key_state_e @ 553 NONAME + _ZN17eapol_key_state_c20get_confirmation_KCKEv @ 554 NONAME + _ZN17eapol_key_state_c20get_is_encryption_onEv @ 555 NONAME + _ZN17eapol_key_state_c20unset_marked_removedEv @ 556 NONAME + _ZN17eapol_key_state_c20verify_field_is_zeroEPKhm @ 557 NONAME + _ZN17eapol_key_state_c21cancel_retransmissionEv @ 558 NONAME + _ZN17eapol_key_state_c21get_key_reply_counterEv @ 559 NONAME + _ZN17eapol_key_state_c21set_key_reply_counterEy @ 560 NONAME + _ZN17eapol_key_state_c22get_supplicant_RSNA_IEEv @ 561 NONAME + _ZN17eapol_key_state_c22init_handshake_timeoutEm @ 562 NONAME + _ZN17eapol_key_state_c23derive_WPXM_WPXK1_WPXK2Ev @ 563 NONAME + _ZN17eapol_key_state_c23process_eapol_key_frameEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 564 NONAME + _ZN17eapol_key_state_c23trace_eapol_key_messageEPKcP23eapol_RSNA_key_header_c @ 565 NONAME + _ZN17eapol_key_state_c24cancel_handshake_timeoutEv @ 566 NONAME + _ZN17eapol_key_state_c24start_WPXM_reassociationEPK19eap_am_network_id_c31eapol_key_authentication_type_eP19eap_variable_data_c @ 567 NONAME + _ZN17eapol_key_state_c25get_authenticator_RSNA_IEEv @ 568 NONAME + _ZN17eapol_key_state_c26get_supplicant_MAC_addressEv @ 569 NONAME + _ZN17eapol_key_state_c26increase_key_reply_counterEv @ 570 NONAME + _ZN17eapol_key_state_c26init_pmksa_caching_timeoutEv @ 571 NONAME + _ZN17eapol_key_state_c26started_eap_authenticationEv @ 572 NONAME + _ZN17eapol_key_state_c27complete_WPXM_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 573 NONAME + _ZN17eapol_key_state_c28cancel_pmksa_caching_timeoutEv @ 574 NONAME + _ZN17eapol_key_state_c28initialize_preauthenticationEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 575 NONAME + _ZN17eapol_key_state_c29cancel_authentication_sessionEv @ 576 NONAME + _ZN17eapol_key_state_c29get_authenticator_MAC_addressEv @ 577 NONAME + _ZN17eapol_key_state_c29init_group_key_update_timeoutEm @ 578 NONAME + _ZN17eapol_key_state_c29read_reassociation_parametersEPK19eap_am_network_id_c31eapol_key_authentication_type_eP19eap_variable_data_cPKS4_S7_ @ 579 NONAME + _ZN17eapol_key_state_c31cancel_group_key_update_timeoutEv @ 580 NONAME + _ZN17eapol_key_state_c31object_decrease_reference_countEv @ 581 NONAME + _ZN17eapol_key_state_c31object_increase_reference_countEv @ 582 NONAME + _ZN17eapol_key_state_c32get_unicast_cipher_suite_RSNA_IEEv @ 583 NONAME + _ZN17eapol_key_state_c33get_client_send_key_reply_counterEv @ 584 NONAME + _ZN17eapol_key_state_c33set_client_send_key_reply_counterEy @ 585 NONAME + _ZN17eapol_key_state_c38increase_client_send_key_reply_counterEv @ 586 NONAME + _ZN17eapol_key_state_c40asynchronous_init_remove_eapol_key_stateEv @ 587 NONAME + _ZN17eapol_key_state_c4copyEPK19eap_am_network_id_c @ 588 NONAME + _ZN17eapol_key_state_c5resetEv @ 589 NONAME + _ZN17eapol_key_state_c8shutdownEv @ 590 NONAME + _ZN17eapol_key_state_c9configureEv @ 591 NONAME + _ZN17eapol_key_state_cC1EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 592 NONAME + _ZN17eapol_key_state_cC1EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cSC_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eESE_SC_ @ 593 NONAME + _ZN17eapol_key_state_cC2EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 594 NONAME + _ZN17eapol_key_state_cC2EP18abs_eap_am_tools_cP21abs_eapol_key_state_cP16abs_eapol_core_cbPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cSC_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eESE_SC_ @ 595 NONAME + _ZN17eapol_key_state_cD0Ev @ 596 NONAME + _ZN17eapol_key_state_cD1Ev @ 597 NONAME + _ZN17eapol_key_state_cD2Ev @ 598 NONAME + _ZN18abs_eap_am_mutex_cC2Ev @ 599 NONAME + _ZN18abs_eap_am_mutex_cD0Ev @ 600 NONAME + _ZN18abs_eap_am_mutex_cD1Ev @ 601 NONAME + _ZN18abs_eap_am_mutex_cD2Ev @ 602 NONAME + _ZN18abs_eap_am_tools_c22new_abs_eap_am_tools_cEv @ 603 NONAME + _ZN18abs_eap_am_tools_c25delete_abs_eap_am_tools_cEPS_ @ 604 NONAME + _ZN18eap_buf_chain_rd_c17force_inheritanceEv @ 605 NONAME + _ZN18eap_buf_chain_rd_cC1E17eap_read_buffer_eP18abs_eap_am_tools_cPKhmb @ 606 NONAME + _ZN18eap_buf_chain_rd_cC1E17eap_read_buffer_eP18abs_eap_am_tools_cm @ 607 NONAME + _ZN18eap_buf_chain_rd_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cPKhmb @ 608 NONAME + _ZN18eap_buf_chain_rd_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cm @ 609 NONAME + _ZN18eap_buf_chain_rd_cD0Ev @ 610 NONAME + _ZN18eap_buf_chain_rd_cD1Ev @ 611 NONAME + _ZN18eap_buf_chain_rd_cD2Ev @ 612 NONAME + _ZN18eap_buf_chain_wr_c17force_inheritanceEv @ 613 NONAME + _ZN18eap_buf_chain_wr_c19get_ethernet_headerEv @ 614 NONAME + _ZN18eap_buf_chain_wr_c4copyEv @ 615 NONAME + _ZN18eap_buf_chain_wr_cC1E18eap_write_buffer_eP18abs_eap_am_tools_c @ 616 NONAME + _ZN18eap_buf_chain_wr_cC1E18eap_write_buffer_eP18abs_eap_am_tools_cPhmbbm @ 617 NONAME + _ZN18eap_buf_chain_wr_cC1E18eap_write_buffer_eP18abs_eap_am_tools_cm @ 618 NONAME + _ZN18eap_buf_chain_wr_cC2E18eap_write_buffer_eP18abs_eap_am_tools_c @ 619 NONAME + _ZN18eap_buf_chain_wr_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cPhmbbm @ 620 NONAME + _ZN18eap_buf_chain_wr_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cm @ 621 NONAME + _ZN18eap_buf_chain_wr_cD0Ev @ 622 NONAME + _ZN18eap_buf_chain_wr_cD1Ev @ 623 NONAME + _ZN18eap_buf_chain_wr_cD2Ev @ 624 NONAME + _ZN18eap_session_core_c11get_partnerEv @ 625 NONAME + _ZN18eap_session_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 626 NONAME + _ZN18eap_session_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 627 NONAME + _ZN18eap_session_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 628 NONAME + _ZN18eap_session_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 629 NONAME + _ZN18eap_session_core_c12get_is_validEv @ 630 NONAME + _ZN18eap_session_core_c12set_is_validEv @ 631 NONAME + _ZN18eap_session_core_c13timer_expiredEmPv @ 632 NONAME + _ZN18eap_session_core_c13unload_moduleE19eap_expanded_type_c @ 633 NONAME + _ZN18eap_session_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 634 NONAME + _ZN18eap_session_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 635 NONAME + _ZN18eap_session_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 636 NONAME + _ZN18eap_session_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 637 NONAME + _ZN18eap_session_core_c17cancel_all_timersEv @ 638 NONAME + _ZN18eap_session_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 639 NONAME + _ZN18eap_session_core_c17get_header_offsetEPmS0_ @ 640 NONAME + _ZN18eap_session_core_c17timer_delete_dataEmPv @ 641 NONAME + _ZN18eap_session_core_c18create_new_sessionEPK19eap_am_network_id_c @ 642 NONAME + _ZN18eap_session_core_c18shutdown_operationEP10eap_core_cP18abs_eap_am_tools_c @ 643 NONAME + _ZN18eap_session_core_c18state_notificationEPK28abs_eap_state_notification_c @ 644 NONAME + _ZN18eap_session_core_c19set_session_timeoutEm @ 645 NONAME + _ZN18eap_session_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 646 NONAME + _ZN18eap_session_core_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 647 NONAME + _ZN18eap_session_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 648 NONAME + _ZN18eap_session_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 649 NONAME + _ZN18eap_session_core_c23reset_or_remove_sessionEPP10eap_core_cPK25eap_network_id_selector_cb @ 650 NONAME + _ZN18eap_session_core_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 651 NONAME + _ZN18eap_session_core_c30synchronous_create_eap_sessionEPK19eap_am_network_id_c @ 652 NONAME + _ZN18eap_session_core_c30synchronous_remove_eap_sessionEPK19eap_am_network_id_c @ 653 NONAME + _ZN18eap_session_core_c35synchronous_cancel_all_eap_sessionsEv @ 654 NONAME + _ZN18eap_session_core_c5resetEv @ 655 NONAME + _ZN18eap_session_core_c8shutdownEv @ 656 NONAME + _ZN18eap_session_core_c9configureEv @ 657 NONAME + _ZN18eap_session_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 658 NONAME + _ZN18eap_session_core_cC1EP18abs_eap_am_tools_cP14abs_eap_core_cb @ 659 NONAME + _ZN18eap_session_core_cC2EP18abs_eap_am_tools_cP14abs_eap_core_cb @ 660 NONAME + _ZN18eap_session_core_cD0Ev @ 661 NONAME + _ZN18eap_session_core_cD1Ev @ 662 NONAME + _ZN18eap_session_core_cD2Ev @ 663 NONAME + _ZN19eap_am_crypto_md4_c10hash_finalEPvPm @ 664 NONAME + _ZN19eap_am_crypto_md4_c11hash_updateEPKvm @ 665 NONAME + _ZN19eap_am_crypto_md4_c12copy_contextEPK19eap_variable_data_cyPKmS4_ @ 666 NONAME + _ZN19eap_am_crypto_md4_c12get_is_validEv @ 667 NONAME + _ZN19eap_am_crypto_md4_c12hash_cleanupEv @ 668 NONAME + _ZN19eap_am_crypto_md4_c12set_is_validEv @ 669 NONAME + _ZN19eap_am_crypto_md4_c14get_block_sizeEv @ 670 NONAME + _ZN19eap_am_crypto_md4_c14set_is_invalidEv @ 671 NONAME + _ZN19eap_am_crypto_md4_c17get_digest_lengthEv @ 672 NONAME + _ZN19eap_am_crypto_md4_c19copy_message_digestEPvPm @ 673 NONAME + _ZN19eap_am_crypto_md4_c20eap_md4_process_dataEPKmm @ 674 NONAME + _ZN19eap_am_crypto_md4_c28eap_md4_transform_host_orderEPKmm @ 675 NONAME + _ZN19eap_am_crypto_md4_c4copyEv @ 676 NONAME + _ZN19eap_am_crypto_md4_c9hash_initEv @ 677 NONAME + _ZN19eap_am_crypto_md4_cC1EP18abs_eap_am_tools_c @ 678 NONAME + _ZN19eap_am_crypto_md4_cC2EP18abs_eap_am_tools_c @ 679 NONAME + _ZN19eap_am_crypto_md4_cD0Ev @ 680 NONAME + _ZN19eap_am_crypto_md4_cD1Ev @ 681 NONAME + _ZN19eap_am_crypto_md4_cD2Ev @ 682 NONAME + _ZN19eap_am_crypto_rc4_c12decrypt_dataEPKvPvm @ 683 NONAME + _ZN19eap_am_crypto_rc4_c12encrypt_dataEPKvPvm @ 684 NONAME + _ZN19eap_am_crypto_rc4_c12get_is_validEv @ 685 NONAME + _ZN19eap_am_crypto_rc4_c12set_is_validEv @ 686 NONAME + _ZN19eap_am_crypto_rc4_c14set_is_invalidEv @ 687 NONAME + _ZN19eap_am_crypto_rc4_c4swapEPhS0_ @ 688 NONAME + _ZN19eap_am_crypto_rc4_c7cleanupEv @ 689 NONAME + _ZN19eap_am_crypto_rc4_c7set_keyEPK19eap_variable_data_c @ 690 NONAME + _ZN19eap_am_crypto_rc4_cC1EP18abs_eap_am_tools_c @ 691 NONAME + _ZN19eap_am_crypto_rc4_cC2EP18abs_eap_am_tools_c @ 692 NONAME + _ZN19eap_am_crypto_rc4_cD0Ev @ 693 NONAME + _ZN19eap_am_crypto_rc4_cD1Ev @ 694 NONAME + _ZN19eap_am_crypto_rc4_cD2Ev @ 695 NONAME + _ZN19eap_am_mutex_base_cC1EPKS_ @ 696 NONAME + _ZN19eap_am_mutex_base_cC1Ev @ 697 NONAME + _ZN19eap_am_mutex_base_cC2EPKS_ @ 698 NONAME + _ZN19eap_am_mutex_base_cC2Ev @ 699 NONAME + _ZN19eap_am_mutex_base_cD0Ev @ 700 NONAME + _ZN19eap_am_mutex_base_cD1Ev @ 701 NONAME + _ZN19eap_am_mutex_base_cD2Ev @ 702 NONAME + _ZN19eap_am_network_id_c12set_is_validEv @ 703 NONAME + _ZN19eap_am_network_id_c22set_copy_of_network_idEPKS_ @ 704 NONAME + _ZN19eap_am_network_id_c25set_copy_of_am_network_idEPKvmS1_mt @ 705 NONAME + _ZN19eap_am_network_id_c5resetEv @ 706 NONAME + _ZN19eap_am_network_id_c8set_typeEt @ 707 NONAME + _ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_c @ 708 NONAME + _ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_cPK19eap_variable_data_cS4_t @ 709 NONAME + _ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_cPKS_ @ 710 NONAME + _ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_cPKvmS3_mtbb @ 711 NONAME + _ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_c @ 712 NONAME + _ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_cPK19eap_variable_data_cS4_t @ 713 NONAME + _ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_cPKS_ @ 714 NONAME + _ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_cPKvmS3_mtbb @ 715 NONAME + _ZN19eap_am_network_id_cD0Ev @ 716 NONAME + _ZN19eap_am_network_id_cD1Ev @ 717 NONAME + _ZN19eap_am_network_id_cD2Ev @ 718 NONAME + _ZN19eap_core_nak_info_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_c19eap_expanded_type_ch @ 719 NONAME + _ZN19eap_core_nak_info_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_c19eap_expanded_type_ch @ 720 NONAME + _ZN19eap_core_nak_info_cD0Ev @ 721 NONAME + _ZN19eap_core_nak_info_cD1Ev @ 722 NONAME + _ZN19eap_core_nak_info_cD2Ev @ 723 NONAME + _ZN19eap_expanded_type_c10write_typeEP18abs_eap_am_tools_cmPvmbS_ @ 724 NONAME + _ZN19eap_expanded_type_c12is_ietf_typeES_ @ 725 NONAME + _ZN19eap_expanded_type_c13get_type_dataEP18abs_eap_am_tools_cP22eap_type_ietf_values_e @ 726 NONAME + _ZN19eap_expanded_type_c13get_type_dataEP18abs_eap_am_tools_cPS_ @ 727 NONAME + _ZN19eap_expanded_type_c16is_expanded_typeE22eap_type_ietf_values_e @ 728 NONAME + _ZN19eap_expanded_type_c19set_eap_type_valuesE20eap_type_vendor_id_em @ 729 NONAME + _ZN19eap_expanded_type_c22get_expanded_type_dataEP18abs_eap_am_tools_cP19eap_variable_data_c @ 730 NONAME + _ZN19eap_expanded_type_c22set_expanded_type_dataEP18abs_eap_am_tools_cPK19eap_variable_data_c @ 731 NONAME + _ZN19eap_expanded_type_c26get_eap_expanded_type_sizeEv @ 732 NONAME + _ZN19eap_expanded_type_c9read_typeEP18abs_eap_am_tools_cmPKvmPS_ @ 733 NONAME + _ZN19eap_expanded_type_cC1E20eap_type_vendor_id_em @ 734 NONAME + _ZN19eap_expanded_type_cC1E22eap_type_ietf_values_e @ 735 NONAME + _ZN19eap_expanded_type_cC1Ev @ 736 NONAME + _ZN19eap_expanded_type_cC2E20eap_type_vendor_id_em @ 737 NONAME + _ZN19eap_expanded_type_cC2E22eap_type_ietf_values_e @ 738 NONAME + _ZN19eap_expanded_type_cC2Ev @ 739 NONAME + _ZN19eap_expanded_type_cD1Ev @ 740 NONAME + _ZN19eap_expanded_type_cD2Ev @ 741 NONAME + _ZN19eap_expanded_type_caSE22eap_type_ietf_values_e @ 742 NONAME + _ZN19eap_expanded_type_caSERKS_ @ 743 NONAME + _ZN19eap_expanded_type_cadEv @ 744 NONAME + _ZN19eap_header_string_c19get_eap_code_stringE16eap_code_value_e @ 745 NONAME + _ZN19eap_header_string_c19get_eap_type_stringE19eap_expanded_type_c @ 746 NONAME + _ZN19eap_header_string_cC1Ev @ 747 NONAME + _ZN19eap_header_string_cC2Ev @ 748 NONAME + _ZN19eap_header_string_cD0Ev @ 749 NONAME + _ZN19eap_header_string_cD1Ev @ 750 NONAME + _ZN19eap_header_string_cD2Ev @ 751 NONAME + _ZN19eap_status_string_c17get_status_stringE12eap_status_e @ 752 NONAME + _ZN19eap_status_string_cC1Ev @ 753 NONAME + _ZN19eap_status_string_cC2Ev @ 754 NONAME + _ZN19eap_status_string_cD0Ev @ 755 NONAME + _ZN19eap_status_string_cD1Ev @ 756 NONAME + _ZN19eap_status_string_cD2Ev @ 757 NONAME + _ZN19eap_variable_data_c10set_bufferEPKS_ @ 758 NONAME + _ZN19eap_variable_data_c10set_bufferEPKvmbb @ 759 NONAME + _ZN19eap_variable_data_c10set_bufferEPvmbb @ 760 NONAME + _ZN19eap_variable_data_c12add_end_nullEv @ 761 NONAME + _ZN19eap_variable_data_c12set_is_validEv @ 762 NONAME + _ZN19eap_variable_data_c14set_is_invalidEv @ 763 NONAME + _ZN19eap_variable_data_c15allocate_bufferEm @ 764 NONAME + _ZN19eap_variable_data_c15set_data_lengthEm @ 765 NONAME + _ZN19eap_variable_data_c16set_start_offsetEm @ 766 NONAME + _ZN19eap_variable_data_c17set_buffer_lengthEm @ 767 NONAME + _ZN19eap_variable_data_c18add_data_to_offsetEmPKS_ @ 768 NONAME + _ZN19eap_variable_data_c18add_data_to_offsetEmPKvm @ 769 NONAME + _ZN19eap_variable_data_c18initialize_membersEv @ 770 NONAME + _ZN19eap_variable_data_c18set_copy_of_bufferEPKS_ @ 771 NONAME + _ZN19eap_variable_data_c18set_copy_of_bufferEPKvm @ 772 NONAME + _ZN19eap_variable_data_c34reset_start_offset_and_data_lengthEv @ 773 NONAME + _ZN19eap_variable_data_c4initEm @ 774 NONAME + _ZN19eap_variable_data_c5resetEv @ 775 NONAME + _ZN19eap_variable_data_c8add_dataEPKS_ @ 776 NONAME + _ZN19eap_variable_data_c8add_dataEPKvm @ 777 NONAME + _ZN19eap_variable_data_cC1EP18abs_eap_am_tools_c @ 778 NONAME + _ZN19eap_variable_data_cC1EP18abs_eap_am_tools_cPKvmbb @ 779 NONAME + _ZN19eap_variable_data_cC2EP18abs_eap_am_tools_c @ 780 NONAME + _ZN19eap_variable_data_cC2EP18abs_eap_am_tools_cPKvmbb @ 781 NONAME + _ZN19eap_variable_data_cD0Ev @ 782 NONAME + _ZN19eap_variable_data_cD1Ev @ 783 NONAME + _ZN19eap_variable_data_cD2Ev @ 784 NONAME + _ZN19eapol_header_base_c11set_versionE24eapol_protocol_version_e @ 785 NONAME + _ZN19eapol_header_base_c15set_data_lengthEt @ 786 NONAME + _ZN19eapol_header_base_c15set_packet_typeE19eapol_packet_type_e @ 787 NONAME + _ZN19eapol_header_base_c17get_header_lengthEv @ 788 NONAME + _ZN19eapol_header_base_cC1EP18abs_eap_am_tools_cPvm @ 789 NONAME + _ZN19eapol_header_base_cC2EP18abs_eap_am_tools_cPvm @ 790 NONAME + _ZN19eapol_header_base_cD0Ev @ 791 NONAME + _ZN19eapol_header_base_cD1Ev @ 792 NONAME + _ZN19eapol_header_base_cD2Ev @ 793 NONAME + _ZN19eapol_session_key_c12set_key_typeE16eapol_key_type_e @ 794 NONAME + _ZN19eapol_session_key_c13set_key_indexEm @ 795 NONAME + _ZN19eapol_session_key_c14set_key_tx_bitEb @ 796 NONAME + _ZN19eapol_session_key_c19set_sequence_numberEP19eap_variable_data_c @ 797 NONAME + _ZN19eapol_session_key_c25get_eapol_key_type_stringE16eapol_key_type_e @ 798 NONAME + _ZN19eapol_session_key_c7set_keyEPK19eap_variable_data_c @ 799 NONAME + _ZN19eapol_session_key_cC1EP18abs_eap_am_tools_c @ 800 NONAME + _ZN19eapol_session_key_cC1EP18abs_eap_am_tools_cP19eap_variable_data_c16eapol_key_type_embPKhm @ 801 NONAME + _ZN19eapol_session_key_cC2EP18abs_eap_am_tools_c @ 802 NONAME + _ZN19eapol_session_key_cC2EP18abs_eap_am_tools_cP19eap_variable_data_c16eapol_key_type_embPKhm @ 803 NONAME + _ZN19eapol_session_key_cD0Ev @ 804 NONAME + _ZN19eapol_session_key_cD1Ev @ 805 NONAME + _ZN19eapol_session_key_cD2Ev @ 806 NONAME + _ZN20crypto_tls_md5_prf_c12get_is_validEv @ 807 NONAME + _ZN20crypto_tls_md5_prf_c12set_is_validEv @ 808 NONAME + _ZN20crypto_tls_md5_prf_c12tls_prf_initEPK19eap_variable_data_cS2_S2_ @ 809 NONAME + _ZN20crypto_tls_md5_prf_c14set_is_invalidEv @ 810 NONAME + _ZN20crypto_tls_md5_prf_c14tls_prf_outputEPvm @ 811 NONAME + _ZN20crypto_tls_md5_prf_c15tls_prf_cleanupEv @ 812 NONAME + _ZN20crypto_tls_md5_prf_cC1EP18abs_eap_am_tools_c @ 813 NONAME + _ZN20crypto_tls_md5_prf_cC2EP18abs_eap_am_tools_c @ 814 NONAME + _ZN20crypto_tls_md5_prf_cD0Ev @ 815 NONAME + _ZN20crypto_tls_md5_prf_cD1Ev @ 816 NONAME + _ZN20crypto_tls_md5_prf_cD2Ev @ 817 NONAME + _ZN20eap_am_crypto_sha1_c10hash_finalEPvPm @ 818 NONAME + _ZN20eap_am_crypto_sha1_c11hash_updateEPKvm @ 819 NONAME + _ZN20eap_am_crypto_sha1_c12copy_contextEPK19eap_variable_data_cyPKmS4_S4_ @ 820 NONAME + _ZN20eap_am_crypto_sha1_c12get_is_validEv @ 821 NONAME + _ZN20eap_am_crypto_sha1_c12hash_cleanupEv @ 822 NONAME + _ZN20eap_am_crypto_sha1_c12set_is_validEv @ 823 NONAME + _ZN20eap_am_crypto_sha1_c14get_block_sizeEv @ 824 NONAME + _ZN20eap_am_crypto_sha1_c14set_is_invalidEv @ 825 NONAME + _ZN20eap_am_crypto_sha1_c17get_digest_lengthEv @ 826 NONAME + _ZN20eap_am_crypto_sha1_c19copy_message_digestEPvPm @ 827 NONAME + _ZN20eap_am_crypto_sha1_c23eap_sha1_dss_G_functionEPKvmPvPm @ 828 NONAME + _ZN20eap_am_crypto_sha1_c32eap_sha1_process_data_host_orderEPKmm @ 829 NONAME + _ZN20eap_am_crypto_sha1_c35eap_sha1_process_data_network_orderEPKmm @ 830 NONAME + _ZN20eap_am_crypto_sha1_c4copyEv @ 831 NONAME + _ZN20eap_am_crypto_sha1_c9hash_initEv @ 832 NONAME + _ZN20eap_am_crypto_sha1_cC1EP18abs_eap_am_tools_c @ 833 NONAME + _ZN20eap_am_crypto_sha1_cC2EP18abs_eap_am_tools_c @ 834 NONAME + _ZN20eap_am_crypto_sha1_cD0Ev @ 835 NONAME + _ZN20eap_am_crypto_sha1_cD1Ev @ 836 NONAME + _ZN20eap_am_crypto_sha1_cD2Ev @ 837 NONAME + _ZN20eap_buf_chain_base_c10initializeEm @ 838 NONAME + _ZN20eap_buf_chain_base_c11set_encryptEb @ 839 NONAME + _ZN20eap_buf_chain_base_c12get_am_toolsEv @ 840 NONAME + _ZN20eap_buf_chain_base_c13set_is_clientEb @ 841 NONAME + _ZN20eap_buf_chain_base_c15set_data_lengthEm @ 842 NONAME + _ZN20eap_buf_chain_base_c17reset_data_bufferEv @ 843 NONAME + _ZN20eap_buf_chain_base_c17set_buffer_lengthEm @ 844 NONAME + _ZN20eap_buf_chain_base_c17set_stack_addressEPKv @ 845 NONAME + _ZN20eap_buf_chain_base_c18add_data_to_offsetEmPK19eap_variable_data_c @ 846 NONAME + _ZN20eap_buf_chain_base_c18add_data_to_offsetEmPKvm @ 847 NONAME + _ZN20eap_buf_chain_base_c18get_is_manipulatedEv @ 848 NONAME + _ZN20eap_buf_chain_base_c18set_is_manipulatedEv @ 849 NONAME + _ZN20eap_buf_chain_base_c19set_mem_guard_bytesEv @ 850 NONAME + _ZN20eap_buf_chain_base_c20get_mem_guard_lengthEv @ 851 NONAME + _ZN20eap_buf_chain_base_c20set_do_length_checksEb @ 852 NONAME + _ZN20eap_buf_chain_base_c21get_random_error_typeEv @ 853 NONAME + _ZN20eap_buf_chain_base_c21get_send_packet_indexEv @ 854 NONAME + _ZN20eap_buf_chain_base_c21set_random_error_typeE21eap_random_error_type @ 855 NONAME + _ZN20eap_buf_chain_base_c21set_send_packet_indexEm @ 856 NONAME + _ZN20eap_buf_chain_base_c28get_do_packet_retransmissionEv @ 857 NONAME + _ZN20eap_buf_chain_base_c28set_do_packet_retransmissionEb @ 858 NONAME + _ZN20eap_buf_chain_base_c8add_dataEPK19eap_variable_data_c @ 859 NONAME + _ZN20eap_buf_chain_base_c8add_dataEPKvm @ 860 NONAME + _ZN20eap_buf_chain_base_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cPKhmb @ 861 NONAME + _ZN20eap_buf_chain_base_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cm @ 862 NONAME + _ZN20eap_buf_chain_base_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cPhmbbm @ 863 NONAME + _ZN20eap_buf_chain_base_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cm @ 864 NONAME + _ZN20eap_buf_chain_base_cD0Ev @ 865 NONAME + _ZN20eap_buf_chain_base_cD1Ev @ 866 NONAME + _ZN20eap_buf_chain_base_cD2Ev @ 867 NONAME + _ZN20eap_rogue_ap_entry_c15set_mac_addressEPKh @ 868 NONAME + _ZN20eap_rogue_ap_entry_c16set_rogue_reasonE21eap_rogue_ap_reason_e @ 869 NONAME + _ZN20eap_rogue_ap_entry_cC1EP18abs_eap_am_tools_c @ 870 NONAME + _ZN20eap_rogue_ap_entry_cC2EP18abs_eap_am_tools_c @ 871 NONAME + _ZN20eap_rogue_ap_entry_cD0Ev @ 872 NONAME + _ZN20eap_rogue_ap_entry_cD1Ev @ 873 NONAME + _ZN20eap_rogue_ap_entry_cD2Ev @ 874 NONAME + _ZN20eap_type_selection_cC1EP18abs_eap_am_tools_c19eap_expanded_type_cb @ 875 NONAME + _ZN20eap_type_selection_cC2EP18abs_eap_am_tools_c19eap_expanded_type_cb @ 876 NONAME + _ZN20eap_type_selection_cD0Ev @ 877 NONAME + _ZN20eap_type_selection_cD1Ev @ 878 NONAME + _ZN20eap_type_selection_cD2Ev @ 879 NONAME + _ZN21crypto_tls_base_prf_c12get_is_validEv @ 880 NONAME + _ZN21crypto_tls_base_prf_c12set_is_validEv @ 881 NONAME + _ZN21crypto_tls_base_prf_c14set_is_invalidEv @ 882 NONAME + _ZN21crypto_tls_base_prf_c15tls_prf_A_valueEP27abs_crypto_hmac_algorithm_cP19eap_variable_data_cS3_S3_ @ 883 NONAME + _ZN21crypto_tls_base_prf_c15tls_prf_cleanupEv @ 884 NONAME + _ZN21crypto_tls_base_prf_c17tls_prf_one_roundEP27abs_crypto_hmac_algorithm_cPK19eap_variable_data_cPS2_S5_Pvm @ 885 NONAME + _ZN21crypto_tls_base_prf_cC1EP18abs_eap_am_tools_c @ 886 NONAME + _ZN21crypto_tls_base_prf_cC2EP18abs_eap_am_tools_c @ 887 NONAME + _ZN21crypto_tls_base_prf_cD0Ev @ 888 NONAME + _ZN21crypto_tls_base_prf_cD1Ev @ 889 NONAME + _ZN21crypto_tls_base_prf_cD2Ev @ 890 NONAME + _ZN21crypto_tls_sha1_prf_c12get_is_validEv @ 891 NONAME + _ZN21crypto_tls_sha1_prf_c12set_is_validEv @ 892 NONAME + _ZN21crypto_tls_sha1_prf_c12tls_prf_initEPK19eap_variable_data_cS2_S2_ @ 893 NONAME + _ZN21crypto_tls_sha1_prf_c14set_is_invalidEv @ 894 NONAME + _ZN21crypto_tls_sha1_prf_c14tls_prf_outputEPvm @ 895 NONAME + _ZN21crypto_tls_sha1_prf_c15tls_prf_cleanupEv @ 896 NONAME + _ZN21crypto_tls_sha1_prf_cC1EP18abs_eap_am_tools_c @ 897 NONAME + _ZN21crypto_tls_sha1_prf_cC2EP18abs_eap_am_tools_c @ 898 NONAME + _ZN21crypto_tls_sha1_prf_cD0Ev @ 899 NONAME + _ZN21crypto_tls_sha1_prf_cD1Ev @ 900 NONAME + _ZN21crypto_tls_sha1_prf_cD2Ev @ 901 NONAME + _ZN21eap_am_memory_store_c11remove_dataEPK19eap_variable_data_c @ 902 NONAME + _ZN21eap_am_memory_store_c12get_is_validEv @ 903 NONAME + _ZN21eap_am_memory_store_c12set_is_validEv @ 904 NONAME + _ZN21eap_am_memory_store_c13timer_expiredEmPv @ 905 NONAME + _ZN21eap_am_memory_store_c17timer_delete_dataEmPv @ 906 NONAME + _ZN21eap_am_memory_store_c8add_dataEPK19eap_variable_data_cPK22eap_tlv_message_data_cm @ 907 NONAME + _ZN21eap_am_memory_store_c8get_dataEPK19eap_variable_data_cP22eap_tlv_message_data_c @ 908 NONAME + _ZN21eap_am_memory_store_c8shutdownEv @ 909 NONAME + _ZN21eap_am_memory_store_cC1EP18abs_eap_am_tools_c @ 910 NONAME + _ZN21eap_am_memory_store_cC2EP18abs_eap_am_tools_c @ 911 NONAME + _ZN21eap_am_memory_store_cD0Ev @ 912 NONAME + _ZN21eap_am_memory_store_cD1Ev @ 913 NONAME + _ZN21eap_am_memory_store_cD2Ev @ 914 NONAME + _ZN22eap_am_mutex_symbian_c11mutex_enterEv @ 915 NONAME + _ZN22eap_am_mutex_symbian_c11mutex_leaveEP18abs_eap_am_tools_c @ 916 NONAME + _ZN22eap_am_mutex_symbian_c15dublicate_mutexEv @ 917 NONAME + _ZN22eap_am_mutex_symbian_cC1EPKS_ @ 918 NONAME + _ZN22eap_am_mutex_symbian_cC1Ev @ 919 NONAME + _ZN22eap_am_mutex_symbian_cC2EPKS_ @ 920 NONAME + _ZN22eap_am_mutex_symbian_cC2Ev @ 921 NONAME + _ZN22eap_am_mutex_symbian_cD0Ev @ 922 NONAME + _ZN22eap_am_mutex_symbian_cD1Ev @ 923 NONAME + _ZN22eap_am_mutex_symbian_cD2Ev @ 924 NONAME + _ZN22eap_am_tools_symbian_c10get_cryptoEv @ 925 NONAME + _ZN22eap_am_tools_symbian_c11pulse_timerEm @ 926 NONAME + _ZN22eap_am_tools_symbian_c11timer_sleepEm @ 927 NONAME + _ZN22eap_am_tools_symbian_c12am_set_timerEP20abs_eap_base_timer_cmPvm @ 928 NONAME + _ZN22eap_am_tools_symbian_c13config_strlenEPKc @ 929 NONAME + _ZN22eap_am_tools_symbian_c15am_cancel_timerEP20abs_eap_base_timer_cm @ 930 NONAME + _ZN22eap_am_tools_symbian_c15begin_db_deleteER7RDbView @ 931 NONAME + _ZN22eap_am_tools_symbian_c15begin_db_updateER7RDbView @ 932 NONAME + _ZN22eap_am_tools_symbian_c15enter_crypto_csEv @ 933 NONAME + _ZN22eap_am_tools_symbian_c15formatted_printEPKcz @ 934 NONAME + _ZN22eap_am_tools_symbian_c15get_clock_ticksEv @ 935 NONAME + _ZN22eap_am_tools_symbian_c15get_trace_mutexEv @ 936 NONAME + _ZN22eap_am_tools_symbian_c15leave_crypto_csEv @ 937 NONAME + _ZN22eap_am_tools_symbian_c16get_global_mutexEv @ 938 NONAME + _ZN22eap_am_tools_symbian_c17enter_trace_mutexEv @ 939 NONAME + _ZN22eap_am_tools_symbian_c17get_gmt_unix_timeEv @ 940 NONAME + _ZN22eap_am_tools_symbian_c17leave_trace_mutexEv @ 941 NONAME + _ZN22eap_am_tools_symbian_c18enter_global_mutexEv @ 942 NONAME + _ZN22eap_am_tools_symbian_c18get_hardware_ticksEv @ 943 NONAME + _ZN22eap_am_tools_symbian_c18leave_global_mutexEv @ 944 NONAME + _ZN22eap_am_tools_symbian_c19set_trace_file_nameEPK19eap_variable_data_c @ 945 NONAME + _ZN22eap_am_tools_symbian_c19u64_struct_to_u64_tE10u64_struct @ 946 NONAME + _ZN22eap_am_tools_symbian_c19u64_t_to_u64_structEy @ 947 NONAME + _ZN22eap_am_tools_symbian_c20am_cancel_all_timersEv @ 948 NONAME + _ZN22eap_am_tools_symbian_c20begin_db_transactionER16RDbNamedDatabase @ 949 NONAME + _ZN22eap_am_tools_symbian_c23convert_unicode_to_utf8ER19eap_variable_data_cRKS0_ @ 950 NONAME + _ZN22eap_am_tools_symbian_c23convert_utf8_to_unicodeER19eap_variable_data_cRKS0_ @ 951 NONAME + _ZN22eap_am_tools_symbian_c23get_timer_resolution_msEv @ 952 NONAME + _ZN22eap_am_tools_symbian_c23re_activate_timer_queueEv @ 953 NONAME + _ZN22eap_am_tools_symbian_c23set_max_trace_file_sizeEm @ 954 NONAME + _ZN22eap_am_tools_symbian_c23set_timer_resolution_msEm @ 955 NONAME + _ZN22eap_am_tools_symbian_c24get_timer_queue_is_emptyEv @ 956 NONAME + _ZN22eap_am_tools_symbian_c25get_clock_ticks_of_secondEv @ 957 NONAME + _ZN22eap_am_tools_symbian_c26get_is_timer_thread_activeEv @ 958 NONAME + _ZN22eap_am_tools_symbian_c28get_hardware_ticks_of_secondEv @ 959 NONAME + _ZN22eap_am_tools_symbian_c30get_use_eap_milli_second_timerEv @ 960 NONAME + _ZN22eap_am_tools_symbian_c30set_use_eap_milli_second_timerEb @ 961 NONAME + _ZN22eap_am_tools_symbian_c31convert_am_error_to_eapol_errorEl @ 962 NONAME + _ZN22eap_am_tools_symbian_c31convert_eapol_error_to_am_errorE12eap_status_e @ 963 NONAME + _ZN22eap_am_tools_symbian_c5sleepEm @ 964 NONAME + _ZN22eap_am_tools_symbian_c6getenvEPK19eap_variable_data_cPS0_ @ 965 NONAME + _ZN22eap_am_tools_symbian_c6memchrEPKvhm @ 966 NONAME + _ZN22eap_am_tools_symbian_c6memcmpEPKvS1_m @ 967 NONAME + _ZN22eap_am_tools_symbian_c6memsetEPvlm @ 968 NONAME + _ZN22eap_am_tools_symbian_c6sprintER6TDes16PKcz @ 969 NONAME + _ZN22eap_am_tools_symbian_c6strlenEPKc @ 970 NONAME + _ZN22eap_am_tools_symbian_c7isspaceEh @ 971 NONAME + _ZN22eap_am_tools_symbian_c7memmoveEPvPKvm @ 972 NONAME + _ZN22eap_am_tools_symbian_c7memrchrEPKvhm @ 973 NONAME + _ZN22eap_am_tools_symbian_c8shutdownEv @ 974 NONAME + _ZN22eap_am_tools_symbian_c8snprintfEPhmPKcz @ 975 NONAME + _ZN22eap_am_tools_symbian_c9configureEv @ 976 NONAME + _ZN22eap_am_tools_symbian_cC1EPKc @ 977 NONAME + _ZN22eap_am_tools_symbian_cC2EPKc @ 978 NONAME + _ZN22eap_am_tools_symbian_cD0Ev @ 979 NONAME + _ZN22eap_am_tools_symbian_cD1Ev @ 980 NONAME + _ZN22eap_am_tools_symbian_cD2Ev @ 981 NONAME + _ZN22eap_tlv_message_data_c12get_is_validEv @ 982 NONAME + _ZN22eap_tlv_message_data_c16add_message_dataEmmPKv @ 983 NONAME + _ZN22eap_tlv_message_data_c16set_message_dataEmPKv @ 984 NONAME + _ZN22eap_tlv_message_data_c17copy_message_dataEmPKv @ 985 NONAME + _ZN22eap_tlv_message_data_c18add_message_headerEmm @ 986 NONAME + _ZN22eap_tlv_message_data_c18parse_message_dataEP11eap_array_cI16eap_tlv_header_cE @ 987 NONAME + _ZN22eap_tlv_message_data_c22add_message_data_arrayEmmP11eap_array_cI19eap_variable_data_cE @ 988 NONAME + _ZN22eap_tlv_message_data_c23allocate_message_bufferEmmPPv @ 989 NONAME + _ZN22eap_tlv_message_data_c28allocate_message_data_bufferEm @ 990 NONAME + _ZN22eap_tlv_message_data_c31object_decrease_reference_countEv @ 991 NONAME + _ZN22eap_tlv_message_data_c31object_increase_reference_countEv @ 992 NONAME + _ZN22eap_tlv_message_data_cC1EP18abs_eap_am_tools_c @ 993 NONAME + _ZN22eap_tlv_message_data_cC2EP18abs_eap_am_tools_c @ 994 NONAME + _ZN22eap_tlv_message_data_cD0Ev @ 995 NONAME + _ZN22eap_tlv_message_data_cD1Ev @ 996 NONAME + _ZN22eap_tlv_message_data_cD2Ev @ 997 NONAME + _ZN22eapol_RC4_key_header_c10get_key_IVEv @ 998 NONAME + _ZN22eapol_RC4_key_header_c12set_key_flagE21eapol_RC4_key_flags_e @ 999 NONAME + _ZN22eapol_RC4_key_header_c13set_key_indexEh @ 1000 NONAME + _ZN22eapol_RC4_key_header_c14set_key_lengthEt @ 1001 NONAME + _ZN22eapol_RC4_key_header_c17get_header_lengthEv @ 1002 NONAME + _ZN22eapol_RC4_key_header_c18get_replay_counterEv @ 1003 NONAME + _ZN22eapol_RC4_key_header_c18zero_key_signatureEP18abs_eap_am_tools_c @ 1004 NONAME + _ZN22eapol_RC4_key_header_c21set_eapol_packet_typeE19eapol_packet_type_e @ 1005 NONAME + _ZN22eapol_RC4_key_header_c23set_key_descriptor_typeE27eapol_key_descriptor_type_e @ 1006 NONAME + _ZN22eapol_RC4_key_header_c26set_eapol_protocol_versionE24eapol_protocol_version_e @ 1007 NONAME + _ZN22eapol_RC4_key_header_c28set_eapol_packet_body_lengthEt @ 1008 NONAME + _ZN22eapol_RC4_key_header_cC1EP18abs_eap_am_tools_cPvm @ 1009 NONAME + _ZN22eapol_RC4_key_header_cC2EP18abs_eap_am_tools_cPvm @ 1010 NONAME + _ZN22eapol_RC4_key_header_cD0Ev @ 1011 NONAME + _ZN22eapol_RC4_key_header_cD1Ev @ 1012 NONAME + _ZN22eapol_RC4_key_header_cD2Ev @ 1013 NONAME + _ZN23crypto_kd_hmac_sha256_c10expand_keyEP19eap_variable_data_cmPKS0_S3_ @ 1014 NONAME + _ZN23crypto_kd_hmac_sha256_c12get_is_validEv @ 1015 NONAME + _ZN23crypto_kd_hmac_sha256_cC1EP18abs_eap_am_tools_c @ 1016 NONAME + _ZN23crypto_kd_hmac_sha256_cC2EP18abs_eap_am_tools_c @ 1017 NONAME + _ZN23crypto_kd_hmac_sha256_cD0Ev @ 1018 NONAME + _ZN23crypto_kd_hmac_sha256_cD1Ev @ 1019 NONAME + _ZN23crypto_kd_hmac_sha256_cD2Ev @ 1020 NONAME + _ZN23eap_am_crypto_sha_256_c10hash_finalEPvPm @ 1021 NONAME + _ZN23eap_am_crypto_sha_256_c11hash_updateEPKvm @ 1022 NONAME + _ZN23eap_am_crypto_sha_256_c12copy_contextEPK19eap_variable_data_cyPKmS4_S4_ @ 1023 NONAME + _ZN23eap_am_crypto_sha_256_c12get_is_validEv @ 1024 NONAME + _ZN23eap_am_crypto_sha_256_c12hash_cleanupEv @ 1025 NONAME + _ZN23eap_am_crypto_sha_256_c12set_is_validEv @ 1026 NONAME + _ZN23eap_am_crypto_sha_256_c14get_block_sizeEv @ 1027 NONAME + _ZN23eap_am_crypto_sha_256_c14set_is_invalidEv @ 1028 NONAME + _ZN23eap_am_crypto_sha_256_c17get_digest_lengthEv @ 1029 NONAME + _ZN23eap_am_crypto_sha_256_c19copy_message_digestEPvPm @ 1030 NONAME + _ZN23eap_am_crypto_sha_256_c35eap_sha_256_process_data_host_orderEPKmm @ 1031 NONAME + _ZN23eap_am_crypto_sha_256_c38eap_sha_256_process_data_network_orderEPKmm @ 1032 NONAME + _ZN23eap_am_crypto_sha_256_c4copyEv @ 1033 NONAME + _ZN23eap_am_crypto_sha_256_c9hash_initEv @ 1034 NONAME + _ZN23eap_am_crypto_sha_256_cC1EP18abs_eap_am_tools_c @ 1035 NONAME + _ZN23eap_am_crypto_sha_256_cC2EP18abs_eap_am_tools_c @ 1036 NONAME + _ZN23eap_am_crypto_sha_256_cD0Ev @ 1037 NONAME + _ZN23eap_am_crypto_sha_256_cD1Ev @ 1038 NONAME + _ZN23eap_am_crypto_sha_256_cD2Ev @ 1039 NONAME + _ZN23eap_am_crypto_symbian_c10dh_cleanupEPK19eap_variable_data_c @ 1040 NONAME + _ZN23eap_am_crypto_symbian_c10dsa_verifyEP19eap_variable_data_cPKS0_S3_S3_S3_S3_S3_ @ 1041 NONAME + _ZN23eap_am_crypto_symbian_c10md4_updateEP19eap_variable_data_cPKhm @ 1042 NONAME + _ZN23eap_am_crypto_symbian_c10md5_updateEP19eap_variable_data_cPKhm @ 1043 NONAME + _ZN23eap_am_crypto_symbian_c10rsa_verifyEP19eap_variable_data_cPKS0_S3_S3_ @ 1044 NONAME + _ZN23eap_am_crypto_symbian_c10sha1_finalEP19eap_variable_data_cPhPm @ 1045 NONAME + _ZN23eap_am_crypto_symbian_c11aes_cleanupEP19eap_variable_data_c @ 1046 NONAME + _ZN23eap_am_crypto_symbian_c11dsa_cleanupEP19eap_variable_data_c @ 1047 NONAME + _ZN23eap_am_crypto_symbian_c11md4_cleanupEP19eap_variable_data_c @ 1048 NONAME + _ZN23eap_am_crypto_symbian_c11md5_cleanupEP19eap_variable_data_c @ 1049 NONAME + _ZN23eap_am_crypto_symbian_c11rc4_cleanupEP19eap_variable_data_c @ 1050 NONAME + _ZN23eap_am_crypto_symbian_c11rc4_decryptEPK19eap_variable_data_cPKvPvm @ 1051 NONAME + _ZN23eap_am_crypto_symbian_c11rc4_decryptEPK19eap_variable_data_cPvm @ 1052 NONAME + _ZN23eap_am_crypto_symbian_c11rc4_encryptEPK19eap_variable_data_cPKvPvm @ 1053 NONAME + _ZN23eap_am_crypto_symbian_c11rc4_encryptEPK19eap_variable_data_cPvm @ 1054 NONAME + _ZN23eap_am_crypto_symbian_c11rc4_set_keyEP19eap_variable_data_cPKS0_ @ 1055 NONAME + _ZN23eap_am_crypto_symbian_c11rsa_cleanupEP19eap_variable_data_c @ 1056 NONAME + _ZN23eap_am_crypto_symbian_c11sha1_updateEP19eap_variable_data_cPKhm @ 1057 NONAME + _ZN23eap_am_crypto_symbian_c12set_is_validEv @ 1058 NONAME + _ZN23eap_am_crypto_symbian_c12sha1_cleanupEP19eap_variable_data_c @ 1059 NONAME + _ZN23eap_am_crypto_symbian_c12sha_256_initEP19eap_variable_data_c @ 1060 NONAME + _ZN23eap_am_crypto_symbian_c13add_rand_seedEPKhm @ 1061 NONAME + _ZN23eap_am_crypto_symbian_c13sha_256_finalEP19eap_variable_data_cPhPm @ 1062 NONAME + _ZN23eap_am_crypto_symbian_c14aes_block_sizeEv @ 1063 NONAME + _ZN23eap_am_crypto_symbian_c14aes_key_lengthEv @ 1064 NONAME + _ZN23eap_am_crypto_symbian_c14get_rand_bytesEPhm @ 1065 NONAME + _ZN23eap_am_crypto_symbian_c14sha_256_updateEP19eap_variable_data_cPKhm @ 1066 NONAME + _ZN23eap_am_crypto_symbian_c15sha_256_cleanupEP19eap_variable_data_c @ 1067 NONAME + _ZN23eap_am_crypto_symbian_c15use_test_randomEPKhmb @ 1068 NONAME + _ZN23eap_am_crypto_symbian_c16cleanup_3des_edeEP19eap_variable_data_c @ 1069 NONAME + _ZN23eap_am_crypto_symbian_c16md4_copy_contextEP19eap_variable_data_cPKS0_ @ 1070 NONAME + _ZN23eap_am_crypto_symbian_c16md5_copy_contextEP19eap_variable_data_cPKS0_ @ 1071 NONAME + _ZN23eap_am_crypto_symbian_c17aes_decrypt_blockEP19eap_variable_data_cPKhPhm @ 1072 NONAME + _ZN23eap_am_crypto_symbian_c17aes_encrypt_blockEP19eap_variable_data_cPKhPhm @ 1073 NONAME + _ZN23eap_am_crypto_symbian_c17dss_pseudo_randomEPhmS0_m @ 1074 NONAME + _ZN23eap_am_crypto_symbian_c17sha1_copy_contextEP19eap_variable_data_cPKS0_ @ 1075 NONAME + _ZN23eap_am_crypto_symbian_c18get_md4_block_sizeEP19eap_variable_data_c @ 1076 NONAME + _ZN23eap_am_crypto_symbian_c18get_md5_block_sizeEP19eap_variable_data_c @ 1077 NONAME + _ZN23eap_am_crypto_symbian_c19block_size_3des_edeEv @ 1078 NONAME + _ZN23eap_am_crypto_symbian_c19get_sha1_block_sizeEP19eap_variable_data_c @ 1079 NONAME + _ZN23eap_am_crypto_symbian_c19key_length_3des_edeEv @ 1080 NONAME + _ZN23eap_am_crypto_symbian_c20sha_256_copy_contextEP19eap_variable_data_cPKS0_ @ 1081 NONAME + _ZN23eap_am_crypto_symbian_c21get_md4_digest_lengthEP19eap_variable_data_c @ 1082 NONAME + _ZN23eap_am_crypto_symbian_c21get_md5_digest_lengthEP19eap_variable_data_c @ 1083 NONAME + _ZN23eap_am_crypto_symbian_c22add_rand_seed_hw_ticksEv @ 1084 NONAME + _ZN23eap_am_crypto_symbian_c22aes_set_decryption_keyEP19eap_variable_data_cPKhm @ 1085 NONAME + _ZN23eap_am_crypto_symbian_c22aes_set_encryption_keyEP19eap_variable_data_cPKhm @ 1086 NONAME + _ZN23eap_am_crypto_symbian_c22decrypt_block_3des_edeEP19eap_variable_data_cPKhPhm @ 1087 NONAME + _ZN23eap_am_crypto_symbian_c22encrypt_block_3des_edeEP19eap_variable_data_cPKhPhm @ 1088 NONAME + _ZN23eap_am_crypto_symbian_c22generate_g_power_to_xyEPK19eap_variable_data_cS2_PS0_PKhmS5_m @ 1089 NONAME + _ZN23eap_am_crypto_symbian_c22get_sha1_digest_lengthEP19eap_variable_data_c @ 1090 NONAME + _ZN23eap_am_crypto_symbian_c22get_sha_256_block_sizeEP19eap_variable_data_c @ 1091 NONAME + _ZN23eap_am_crypto_symbian_c24open_crypto_memory_leaksEv @ 1092 NONAME + _ZN23eap_am_crypto_symbian_c25close_crypto_memory_leaksEv @ 1093 NONAME + _ZN23eap_am_crypto_symbian_c25get_sha_256_digest_lengthEP19eap_variable_data_c @ 1094 NONAME + _ZN23eap_am_crypto_symbian_c27rsa_decrypt_with_public_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1095 NONAME + _ZN23eap_am_crypto_symbian_c27rsa_encrypt_with_public_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1096 NONAME + _ZN23eap_am_crypto_symbian_c27set_decryption_key_3des_edeEP19eap_variable_data_cPKhm @ 1097 NONAME + _ZN23eap_am_crypto_symbian_c27set_encryption_key_3des_edeEP19eap_variable_data_cPKhm @ 1098 NONAME + _ZN23eap_am_crypto_symbian_c28generate_diffie_hellman_keysEP19eap_variable_data_cS1_PKhmS3_m @ 1099 NONAME + _ZN23eap_am_crypto_symbian_c28rsa_decrypt_with_private_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1100 NONAME + _ZN23eap_am_crypto_symbian_c28rsa_encrypt_with_private_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1101 NONAME + _ZN23eap_am_crypto_symbian_c8dsa_initEP19eap_variable_data_c @ 1102 NONAME + _ZN23eap_am_crypto_symbian_c8dsa_signEP19eap_variable_data_cPKS0_S3_S1_ @ 1103 NONAME + _ZN23eap_am_crypto_symbian_c8md4_initEP19eap_variable_data_c @ 1104 NONAME + _ZN23eap_am_crypto_symbian_c8md5_initEP19eap_variable_data_c @ 1105 NONAME + _ZN23eap_am_crypto_symbian_c8rsa_initEP19eap_variable_data_c @ 1106 NONAME + _ZN23eap_am_crypto_symbian_c8rsa_signEP19eap_variable_data_cPKS0_S3_S1_ @ 1107 NONAME + _ZN23eap_am_crypto_symbian_c9configureEv @ 1108 NONAME + _ZN23eap_am_crypto_symbian_c9md4_finalEP19eap_variable_data_cPhPm @ 1109 NONAME + _ZN23eap_am_crypto_symbian_c9md5_finalEP19eap_variable_data_cPhPm @ 1110 NONAME + _ZN23eap_am_crypto_symbian_c9sha1_initEP19eap_variable_data_c @ 1111 NONAME + _ZN23eap_am_crypto_symbian_cC1EP18abs_eap_am_tools_c @ 1112 NONAME + _ZN23eap_am_crypto_symbian_cC2EP18abs_eap_am_tools_c @ 1113 NONAME + _ZN23eap_am_crypto_symbian_cD0Ev @ 1114 NONAME + _ZN23eap_am_crypto_symbian_cD1Ev @ 1115 NONAME + _ZN23eap_am_crypto_symbian_cD2Ev @ 1116 NONAME + _ZN23eapol_RSNA_key_header_c11set_bits_onEttmm @ 1117 NONAME + _ZN23eapol_RSNA_key_header_c12reset_headerEh31eapol_key_authentication_type_eNS_19eapol_RSNA_cipher_eEybbbbbbbbb24eapol_protocol_version_e27eapol_key_descriptor_type_e @ 1118 NONAME + _ZN23eapol_RSNA_key_header_c12zero_key_MICEP18abs_eap_am_tools_c @ 1119 NONAME + _ZN23eapol_RSNA_key_header_c12zero_key_RSCEP18abs_eap_am_tools_c @ 1120 NONAME + _ZN23eapol_RSNA_key_header_c14set_key_lengthEt @ 1121 NONAME + _ZN23eapol_RSNA_key_header_c14zero_key_NONCEEP18abs_eap_am_tools_c @ 1122 NONAME + _ZN23eapol_RSNA_key_header_c17get_header_lengthEv @ 1123 NONAME + _ZN23eapol_RSNA_key_header_c17zero_EAPOL_key_IVEP18abs_eap_am_tools_c @ 1124 NONAME + _ZN23eapol_RSNA_key_header_c17zero_key_reservedEP18abs_eap_am_tools_c @ 1125 NONAME + _ZN23eapol_RSNA_key_header_c19set_key_data_lengthEt @ 1126 NONAME + _ZN23eapol_RSNA_key_header_c19set_key_informationEt @ 1127 NONAME + _ZN23eapol_RSNA_key_header_c21set_eapol_packet_typeE19eapol_packet_type_e @ 1128 NONAME + _ZN23eapol_RSNA_key_header_c22set_key_replay_counterEy @ 1129 NONAME + _ZN23eapol_RSNA_key_header_c23set_key_descriptor_typeE27eapol_key_descriptor_type_e @ 1130 NONAME + _ZN23eapol_RSNA_key_header_c24zero_key_STA_MAC_addressEP18abs_eap_am_tools_c @ 1131 NONAME + _ZN23eapol_RSNA_key_header_c25set_key_information_errorEb @ 1132 NONAME + _ZN23eapol_RSNA_key_header_c26set_eapol_protocol_versionE24eapol_protocol_version_e @ 1133 NONAME + _ZN23eapol_RSNA_key_header_c26set_key_information_secureEb @ 1134 NONAME + _ZN23eapol_RSNA_key_header_c27set_key_information_installEb @ 1135 NONAME + _ZN23eapol_RSNA_key_header_c27set_key_information_key_MICEb @ 1136 NONAME + _ZN23eapol_RSNA_key_header_c27set_key_information_key_ackEb @ 1137 NONAME + _ZN23eapol_RSNA_key_header_c27set_key_information_requestEb @ 1138 NONAME + _ZN23eapol_RSNA_key_header_c28set_eapol_packet_body_lengthEm @ 1139 NONAME + _ZN23eapol_RSNA_key_header_c28set_key_information_key_typeEb @ 1140 NONAME + _ZN23eapol_RSNA_key_header_c29set_key_information_key_indexEh @ 1141 NONAME + _ZN23eapol_RSNA_key_header_c36zero_EAPOL_header_and_Key_descriptorEP18abs_eap_am_tools_c @ 1142 NONAME + _ZN23eapol_RSNA_key_header_c38set_key_information_encrypted_key_dataEb @ 1143 NONAME + _ZN23eapol_RSNA_key_header_c42set_key_information_key_descriptor_versionEh @ 1144 NONAME + _ZN23eapol_RSNA_key_header_cC1EP18abs_eap_am_tools_cbbPvm @ 1145 NONAME + _ZN23eapol_RSNA_key_header_cC2EP18abs_eap_am_tools_cbbPvm @ 1146 NONAME + _ZN23eapol_RSNA_key_header_cD0Ev @ 1147 NONAME + _ZN23eapol_RSNA_key_header_cD1Ev @ 1148 NONAME + _ZN23eapol_RSNA_key_header_cD2Ev @ 1149 NONAME + _ZN23network_key_and_index_c12get_is_validEv @ 1150 NONAME + _ZN23network_key_and_index_c15get_network_keyEv @ 1151 NONAME + _ZN23network_key_and_index_c17get_is_valid_dataEv @ 1152 NONAME + _ZN23network_key_and_index_c21get_network_key_indexEv @ 1153 NONAME + _ZN23network_key_and_index_c21set_network_key_indexEh @ 1154 NONAME + _ZN23network_key_and_index_c4copyEv @ 1155 NONAME + _ZN23network_key_and_index_cC1EP18abs_eap_am_tools_c @ 1156 NONAME + _ZN23network_key_and_index_cC2EP18abs_eap_am_tools_c @ 1157 NONAME + _ZN23network_key_and_index_cD0Ev @ 1158 NONAME + _ZN23network_key_and_index_cD1Ev @ 1159 NONAME + _ZN23network_key_and_index_cD2Ev @ 1160 NONAME + _ZN24eap_am_mutex_reference_c13add_referenceEv @ 1161 NONAME + _ZN24eap_am_mutex_reference_c15get_is_reservedEv @ 1162 NONAME + _ZN24eap_am_mutex_reference_c15set_is_reservedEb @ 1163 NONAME + _ZN24eap_am_mutex_reference_c16remove_referenceEv @ 1164 NONAME + _ZN24eap_am_mutex_reference_c19get_reference_countEv @ 1165 NONAME + _ZN24eap_am_mutex_reference_cC1Ev @ 1166 NONAME + _ZN24eap_am_mutex_reference_cC2Ev @ 1167 NONAME + _ZN24eap_am_mutex_reference_cD0Ev @ 1168 NONAME + _ZN24eap_am_mutex_reference_cD1Ev @ 1169 NONAME + _ZN24eap_am_mutex_reference_cD2Ev @ 1170 NONAME + _ZN24eap_master_session_key_c12set_eap_typeE19eap_expanded_type_c @ 1171 NONAME + _ZN24eap_master_session_key_c18copy_leap_passwordEPK19eap_variable_data_c @ 1172 NONAME + _ZN24eap_master_session_key_c8set_copyEPKS_ @ 1173 NONAME + _ZN24eap_master_session_key_cC1EP18abs_eap_am_tools_c19eap_expanded_type_c @ 1174 NONAME + _ZN24eap_master_session_key_cC2EP18abs_eap_am_tools_c19eap_expanded_type_c @ 1175 NONAME + _ZN24eap_master_session_key_cD0Ev @ 1176 NONAME + _ZN24eap_master_session_key_cD1Ev @ 1177 NONAME + _ZN24eap_master_session_key_cD2Ev @ 1178 NONAME + _ZN24eap_state_notification_c16get_state_stringEmm @ 1179 NONAME + _ZN24eap_state_notification_c19get_protocol_stringEmm @ 1180 NONAME + _ZN24eap_state_notification_c23set_notification_stringEPK19eap_variable_data_cb @ 1181 NONAME + _ZN24eap_state_notification_c24set_authentication_errorE12eap_status_e @ 1182 NONAME + _ZN24eap_state_notification_c25get_protocol_layer_stringEm @ 1183 NONAME + _ZN24eap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 1184 NONAME + _ZN24eap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 1185 NONAME + _ZN24eap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 1186 NONAME + _ZN24eap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 1187 NONAME + _ZN24eap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 1188 NONAME + _ZN24eap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 1189 NONAME + _ZN24eap_state_notification_cD0Ev @ 1190 NONAME + _ZN24eap_state_notification_cD1Ev @ 1191 NONAME + _ZN24eap_state_notification_cD2Ev @ 1192 NONAME + _ZN24eapol_key_state_string_c26get_eapol_key_state_stringE17eapol_key_state_e @ 1193 NONAME + _ZN24eapol_key_state_string_c35get_eapol_key_handshake_type_stringE26eapol_key_handshake_type_e @ 1194 NONAME + _ZN24eapol_key_state_string_c40get_eapol_key_authentication_type_stringE31eapol_key_authentication_type_e @ 1195 NONAME + _ZN24eapol_key_state_string_cC1Ev @ 1196 NONAME + _ZN24eapol_key_state_string_cC2Ev @ 1197 NONAME + _ZN24eapol_key_state_string_cD0Ev @ 1198 NONAME + _ZN24eapol_key_state_string_cD1Ev @ 1199 NONAME + _ZN24eapol_key_state_string_cD2Ev @ 1200 NONAME + _ZN25eap_core_retransmission_c19get_send_network_idEv @ 1201 NONAME + _ZN25eap_core_retransmission_c28get_next_retransmission_timeEv @ 1202 NONAME + _ZN25eap_core_retransmission_c31get_next_retransmission_counterEv @ 1203 NONAME + _ZN25eap_core_retransmission_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmmm16eap_code_value_eh19eap_expanded_type_c @ 1204 NONAME + _ZN25eap_core_retransmission_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmmm16eap_code_value_eh19eap_expanded_type_c @ 1205 NONAME + _ZN25eap_core_retransmission_cD0Ev @ 1206 NONAME + _ZN25eap_core_retransmission_cD1Ev @ 1207 NONAME + _ZN25eap_core_retransmission_cD2Ev @ 1208 NONAME + _ZN25eap_general_header_base_c17set_header_bufferEPhm @ 1209 NONAME + _ZN25eap_general_header_base_cC2EP18abs_eap_am_tools_cPvm @ 1210 NONAME + _ZN25eap_general_header_base_cD0Ev @ 1211 NONAME + _ZN25eap_general_header_base_cD1Ev @ 1212 NONAME + _ZN25eap_general_header_base_cD2Ev @ 1213 NONAME + _ZN25eap_network_id_selector_c12set_selectorEPK19eap_am_network_id_c @ 1214 NONAME + _ZN25eap_network_id_selector_cC1EP18abs_eap_am_tools_c @ 1215 NONAME + _ZN25eap_network_id_selector_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_c @ 1216 NONAME + _ZN25eap_network_id_selector_cC1EP18abs_eap_am_tools_cPKS_ @ 1217 NONAME + _ZN25eap_network_id_selector_cC2EP18abs_eap_am_tools_c @ 1218 NONAME + _ZN25eap_network_id_selector_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_c @ 1219 NONAME + _ZN25eap_network_id_selector_cC2EP18abs_eap_am_tools_cPKS_ @ 1220 NONAME + _ZN25eap_network_id_selector_cD0Ev @ 1221 NONAME + _ZN25eap_network_id_selector_cD1Ev @ 1222 NONAME + _ZN25eap_network_id_selector_cD2Ev @ 1223 NONAME + _ZN26eapol_ethernet_header_rd_cC1EP18abs_eap_am_tools_cPKhm @ 1224 NONAME + _ZN26eapol_ethernet_header_rd_cC2EP18abs_eap_am_tools_cPKhm @ 1225 NONAME + _ZN26eapol_ethernet_header_rd_cD0Ev @ 1226 NONAME + _ZN26eapol_ethernet_header_rd_cD1Ev @ 1227 NONAME + _ZN26eapol_ethernet_header_rd_cD2Ev @ 1228 NONAME + _ZN26eapol_ethernet_header_wr_c10get_sourceEv @ 1229 NONAME + _ZN26eapol_ethernet_header_wr_c12reset_headerE21eapol_ethernet_type_et @ 1230 NONAME + _ZN26eapol_ethernet_header_wr_c15get_destinationEv @ 1231 NONAME + _ZN26eapol_ethernet_header_wr_cC1EP18abs_eap_am_tools_cPKhm @ 1232 NONAME + _ZN26eapol_ethernet_header_wr_cC2EP18abs_eap_am_tools_cPKhm @ 1233 NONAME + _ZN26eapol_ethernet_header_wr_cD0Ev @ 1234 NONAME + _ZN26eapol_ethernet_header_wr_cD1Ev @ 1235 NONAME + _ZN26eapol_ethernet_header_wr_cD2Ev @ 1236 NONAME + _ZN26eapol_rsna_variable_data_c10set_bufferEPK28eapol_rsna_key_data_header_cPhmbb @ 1237 NONAME + _ZN26eapol_rsna_variable_data_cC1EP18abs_eap_am_tools_cbb @ 1238 NONAME + _ZN26eapol_rsna_variable_data_cC2EP18abs_eap_am_tools_cbb @ 1239 NONAME + _ZN26eapol_rsna_variable_data_cD0Ev @ 1240 NONAME + _ZN26eapol_rsna_variable_data_cD1Ev @ 1241 NONAME + _ZN26eapol_rsna_variable_data_cD2Ev @ 1242 NONAME + _ZN26simple_config_credential_c12get_is_validEv @ 1243 NONAME + _ZN26simple_config_credential_c15get_MAC_addressEv @ 1244 NONAME + _ZN26simple_config_credential_c16get_network_keysEv @ 1245 NONAME + _ZN26simple_config_credential_c17get_network_indexEv @ 1246 NONAME + _ZN26simple_config_credential_c17set_network_indexEh @ 1247 NONAME + _ZN26simple_config_credential_c19get_Encryption_TypeEv @ 1248 NONAME + _ZN26simple_config_credential_c19set_Encryption_TypeE31simple_config_Encryption_Type_e @ 1249 NONAME + _ZN26simple_config_credential_c23get_Authentication_TypeEv @ 1250 NONAME + _ZN26simple_config_credential_c23set_Authentication_TypeE35simple_config_Authentication_Type_e @ 1251 NONAME + _ZN26simple_config_credential_c8get_SSIDEv @ 1252 NONAME + _ZN26simple_config_credential_cC1EP18abs_eap_am_tools_c @ 1253 NONAME + _ZN26simple_config_credential_cC2EP18abs_eap_am_tools_c @ 1254 NONAME + _ZN26simple_config_credential_cD0Ev @ 1255 NONAME + _ZN26simple_config_credential_cD1Ev @ 1256 NONAME + _ZN26simple_config_credential_cD2Ev @ 1257 NONAME + _ZN27abs_crypto_hash_algorithm_cD0Ev @ 1258 NONAME + _ZN27abs_crypto_hash_algorithm_cD1Ev @ 1259 NONAME + _ZN27abs_crypto_hash_algorithm_cD2Ev @ 1260 NONAME + _ZN27abs_crypto_hmac_algorithm_cD0Ev @ 1261 NONAME + _ZN27abs_crypto_hmac_algorithm_cD1Ev @ 1262 NONAME + _ZN27abs_crypto_hmac_algorithm_cD2Ev @ 1263 NONAME + _ZN27eap_am_file_input_symbian_c10file_closeEv @ 1264 NONAME + _ZN27eap_am_file_input_symbian_c10file_writeEPK19eap_variable_data_c @ 1265 NONAME + _ZN27eap_am_file_input_symbian_c11file_deleteEPK19eap_variable_data_c @ 1266 NONAME + _ZN27eap_am_file_input_symbian_c11file_existsEPK19eap_variable_data_c @ 1267 NONAME + _ZN27eap_am_file_input_symbian_c14file_read_lineEP19eap_variable_data_c @ 1268 NONAME + _ZN27eap_am_file_input_symbian_c9file_copyEPK19eap_variable_data_cS2_ @ 1269 NONAME + _ZN27eap_am_file_input_symbian_c9file_openEPK19eap_variable_data_c23eap_file_io_direction_e @ 1270 NONAME + _ZN27eap_am_file_input_symbian_c9file_readEP19eap_variable_data_c @ 1271 NONAME + _ZN27eap_am_file_input_symbian_c9file_sizeEv @ 1272 NONAME + _ZN27eap_am_file_input_symbian_cC1EP18abs_eap_am_tools_c @ 1273 NONAME + _ZN27eap_am_file_input_symbian_cC2EP18abs_eap_am_tools_c @ 1274 NONAME + _ZN27eap_am_file_input_symbian_cD0Ev @ 1275 NONAME + _ZN27eap_am_file_input_symbian_cD1Ev @ 1276 NONAME + _ZN27eap_am_file_input_symbian_cD2Ev @ 1277 NONAME + _ZN27eapol_wlan_authentication_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1278 NONAME + _ZN27eapol_wlan_authentication_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 1279 NONAME + _ZN27eapol_wlan_authentication_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 1280 NONAME + _ZN27eapol_wlan_authentication_c12cancel_timerEP20abs_eap_base_timer_cm @ 1281 NONAME + _ZN27eapol_wlan_authentication_c12get_is_validEv @ 1282 NONAME + _ZN27eapol_wlan_authentication_c12set_is_validEv @ 1283 NONAME + _ZN27eapol_wlan_authentication_c13get_is_clientEv @ 1284 NONAME + _ZN27eapol_wlan_authentication_c13timer_expiredEmPv @ 1285 NONAME + _ZN27eapol_wlan_authentication_c13unload_moduleE19eap_expanded_type_c @ 1286 NONAME + _ZN27eapol_wlan_authentication_c14disassociationEPK19eap_am_network_id_c @ 1287 NONAME + _ZN27eapol_wlan_authentication_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 1288 NONAME + _ZN27eapol_wlan_authentication_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1289 NONAME + _ZN27eapol_wlan_authentication_c15eap_acknowledgeEPK19eap_am_network_id_c @ 1290 NONAME + _ZN27eapol_wlan_authentication_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1291 NONAME + _ZN27eapol_wlan_authentication_c16eapol_indicationEPK19eap_am_network_id_c33eapol_wlan_authentication_state_e @ 1292 NONAME + _ZN27eapol_wlan_authentication_c16tkip_mic_failureEPK19eap_am_network_id_cbN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 1293 NONAME + _ZN27eapol_wlan_authentication_c17cancel_all_timersEv @ 1294 NONAME + _ZN27eapol_wlan_authentication_c17check_pmksa_cacheEP11eap_array_cI19eap_am_network_id_cE31eapol_key_authentication_type_eN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES6_ @ 1295 NONAME + _ZN27eapol_wlan_authentication_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 1296 NONAME + _ZN27eapol_wlan_authentication_c17get_header_offsetEPmS0_ @ 1297 NONAME + _ZN27eapol_wlan_authentication_c17timer_delete_dataEmPv @ 1298 NONAME + _ZN27eapol_wlan_authentication_c18create_upper_stackEv @ 1299 NONAME + _ZN27eapol_wlan_authentication_c18state_notificationEPK28abs_eap_state_notification_c @ 1300 NONAME + _ZN27eapol_wlan_authentication_c19start_reassociationEPK19eap_am_network_id_cS2_31eapol_key_authentication_type_e @ 1301 NONAME + _ZN27eapol_wlan_authentication_c20complete_associationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_cPK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_ @ 1302 NONAME + _ZN27eapol_wlan_authentication_c20start_authenticationEPK19eap_variable_data_c31eapol_key_authentication_type_eS2_bPK19eap_am_network_id_c @ 1303 NONAME + _ZN27eapol_wlan_authentication_c21get_current_eap_indexEv @ 1304 NONAME + _ZN27eapol_wlan_authentication_c21set_current_eap_indexEm @ 1305 NONAME + _ZN27eapol_wlan_authentication_c22complete_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_cPK19eap_variable_data_cS6_N23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eES8_ @ 1306 NONAME + _ZN27eapol_wlan_authentication_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 1307 NONAME + _ZN27eapol_wlan_authentication_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 1308 NONAME + _ZN27eapol_wlan_authentication_c23start_preauthenticationEPK19eap_am_network_id_c @ 1309 NONAME + _ZN27eapol_wlan_authentication_c24start_WPXM_reassociationEPK19eap_am_network_id_cS2_P19eap_variable_data_cPKS3_S6_ @ 1310 NONAME + _ZN27eapol_wlan_authentication_c26get_authentication_counterEv @ 1311 NONAME + _ZN27eapol_wlan_authentication_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 1312 NONAME + _ZN27eapol_wlan_authentication_c27complete_WPXM_reassociationE33eapol_wlan_authentication_state_ePK19eap_am_network_id_cPK19eap_variable_data_c @ 1313 NONAME + _ZN27eapol_wlan_authentication_c29new_eapol_wlan_authenticationEP18abs_eap_am_tools_cP31abs_eapol_wlan_authentication_cbPK38abs_eapol_wlan_database_reference_if_c @ 1314 NONAME + _ZN27eapol_wlan_authentication_c32increment_authentication_counterEv @ 1315 NONAME + _ZN27eapol_wlan_authentication_c8shutdownEv @ 1316 NONAME + _ZN27eapol_wlan_authentication_c9configureEv @ 1317 NONAME + _ZN27eapol_wlan_authentication_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1318 NONAME + _ZN27eapol_wlan_authentication_cC1EP18abs_eap_am_tools_cP31abs_eapol_wlan_authentication_cP30eapol_am_wlan_authentication_cb @ 1319 NONAME + _ZN27eapol_wlan_authentication_cC2EP18abs_eap_am_tools_cP31abs_eapol_wlan_authentication_cP30eapol_am_wlan_authentication_cb @ 1320 NONAME + _ZN27eapol_wlan_authentication_cD0Ev @ 1321 NONAME + _ZN27eapol_wlan_authentication_cD1Ev @ 1322 NONAME + _ZN27eapol_wlan_authentication_cD2Ev @ 1323 NONAME + _ZN28abs_crypto_block_algorithm_cD0Ev @ 1324 NONAME + _ZN28abs_crypto_block_algorithm_cD1Ev @ 1325 NONAME + _ZN28abs_crypto_block_algorithm_cD2Ev @ 1326 NONAME + _ZN28eapol_ethernet_header_base_c17get_header_lengthEv @ 1327 NONAME + _ZN28eapol_ethernet_header_base_c8set_typeE21eapol_ethernet_type_e @ 1328 NONAME + _ZN28eapol_ethernet_header_base_cC1EP18abs_eap_am_tools_cPvm @ 1329 NONAME + _ZN28eapol_ethernet_header_base_cC2EP18abs_eap_am_tools_cPvm @ 1330 NONAME + _ZN28eapol_ethernet_header_base_cD0Ev @ 1331 NONAME + _ZN28eapol_ethernet_header_base_cD1Ev @ 1332 NONAME + _ZN28eapol_ethernet_header_base_cD2Ev @ 1333 NONAME + _ZN29abs_crypto_stream_algorithm_cD0Ev @ 1334 NONAME + _ZN29abs_crypto_stream_algorithm_cD1Ev @ 1335 NONAME + _ZN29abs_crypto_stream_algorithm_cD2Ev @ 1336 NONAME + _ZN30abs_eap_am_memory_store_data_cC1Ev @ 1337 NONAME + _ZN30abs_eap_am_memory_store_data_cC2Ev @ 1338 NONAME + _ZN30abs_eap_am_memory_store_data_cD0Ev @ 1339 NONAME + _ZN30abs_eap_am_memory_store_data_cD1Ev @ 1340 NONAME + _ZN30abs_eap_am_memory_store_data_cD2Ev @ 1341 NONAME + _ZN30crypto_wpa_psk_password_hash_c12get_is_validEv @ 1342 NONAME + _ZN30crypto_wpa_psk_password_hash_c13password_hashEPK19eap_variable_data_cS2_PS0_PvPF12eap_status_eS4_mE @ 1343 NONAME + _ZN30crypto_wpa_psk_password_hash_cC1EP18abs_eap_am_tools_c @ 1344 NONAME + _ZN30crypto_wpa_psk_password_hash_cC2EP18abs_eap_am_tools_c @ 1345 NONAME + _ZN30crypto_wpa_psk_password_hash_cD0Ev @ 1346 NONAME + _ZN30crypto_wpa_psk_password_hash_cD1Ev @ 1347 NONAME + _ZN30crypto_wpa_psk_password_hash_cD2Ev @ 1348 NONAME + _ZN30eap_am_memory_store_tlv_data_c17copy_message_dataEPK22eap_tlv_message_data_cm @ 1349 NONAME + _ZN30eap_am_memory_store_tlv_data_c31object_decrease_reference_countEv @ 1350 NONAME + _ZN30eap_am_memory_store_tlv_data_c31object_increase_reference_countEv @ 1351 NONAME + _ZN30eap_am_memory_store_tlv_data_cC1EP18abs_eap_am_tools_c @ 1352 NONAME + _ZN30eap_am_memory_store_tlv_data_cC2EP18abs_eap_am_tools_c @ 1353 NONAME + _ZN30eap_am_memory_store_tlv_data_cD0Ev @ 1354 NONAME + _ZN30eap_am_memory_store_tlv_data_cD1Ev @ 1355 NONAME + _ZN30eap_am_memory_store_tlv_data_cD2Ev @ 1356 NONAME + _ZN30eapol_am_wlan_authentication_c32new_eapol_am_wlan_authenticationEP18abs_eap_am_tools_cbPK38abs_eapol_wlan_database_reference_if_c @ 1357 NONAME + _ZN30eapol_rsna_key_data_payloads_c14check_payloadsENS_36eapol_rsna_key_data_payload_status_eES0_S0_S0_ @ 1358 NONAME + _ZN30eapol_rsna_key_data_payloads_c17check_one_payloadENS_36eapol_rsna_key_data_payload_status_eEPK11eap_array_cI19eap_variable_data_cE @ 1359 NONAME + _ZN30eapol_rsna_key_data_payloads_c17check_one_payloadENS_36eapol_rsna_key_data_payload_status_eEPK26eapol_rsna_variable_data_c @ 1360 NONAME + _ZN30eapol_rsna_key_data_payloads_cC1EP18abs_eap_am_tools_cbb @ 1361 NONAME + _ZN30eapol_rsna_key_data_payloads_cC2EP18abs_eap_am_tools_cbb @ 1362 NONAME + _ZN30eapol_rsna_key_data_payloads_cD0Ev @ 1363 NONAME + _ZN30eapol_rsna_key_data_payloads_cD1Ev @ 1364 NONAME + _ZN30eapol_rsna_key_data_payloads_cD2Ev @ 1365 NONAME + _ZN31crypto_eap_fast_hmac_sha1_prf_c10t_prf_initEPK19eap_variable_data_cS2_S2_ @ 1366 NONAME + _ZN31crypto_eap_fast_hmac_sha1_prf_c12get_is_validEv @ 1367 NONAME + _ZN31crypto_eap_fast_hmac_sha1_prf_c12set_is_validEv @ 1368 NONAME + _ZN31crypto_eap_fast_hmac_sha1_prf_c12t_prf_outputEPvt @ 1369 NONAME + _ZN31crypto_eap_fast_hmac_sha1_prf_c13t_prf_cleanupEv @ 1370 NONAME + _ZN31crypto_eap_fast_hmac_sha1_prf_c14set_is_invalidEv @ 1371 NONAME + _ZN31crypto_eap_fast_hmac_sha1_prf_cC1EP18abs_eap_am_tools_c @ 1372 NONAME + _ZN31crypto_eap_fast_hmac_sha1_prf_cC2EP18abs_eap_am_tools_c @ 1373 NONAME + _ZN31crypto_eap_fast_hmac_sha1_prf_cD0Ev @ 1374 NONAME + _ZN31crypto_eap_fast_hmac_sha1_prf_cD1Ev @ 1375 NONAME + _ZN31crypto_eap_fast_hmac_sha1_prf_cD2Ev @ 1376 NONAME + _ZN31eapol_handle_tlv_message_data_c12get_is_validEv @ 1377 NONAME + _ZN31eapol_handle_tlv_message_data_c15get_type_stringE24eapol_tlv_message_type_e @ 1378 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataE12eap_status_e @ 1379 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataE19eap_expanded_type_c @ 1380 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataE24eapol_tlv_message_type_em @ 1381 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataE33eapol_tlv_message_type_function_e @ 1382 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEPK11eap_array_cI26simple_config_credential_cE @ 1383 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEPK18eap_buf_chain_wr_c @ 1384 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEPK19eap_am_network_id_c @ 1385 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEPK19eap_variable_data_c @ 1386 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEPK19eapol_session_key_c @ 1387 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEPK25eap_general_header_base_c @ 1388 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEPK28abs_eap_state_notification_c @ 1389 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEb @ 1390 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEh @ 1391 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEm @ 1392 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEt @ 1393 NONAME + _ZN31eapol_handle_tlv_message_data_c18add_parameter_dataEy @ 1394 NONAME + _ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP11eap_array_cI23network_key_and_index_cE @ 1395 NONAME + _ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP11eap_array_cI26simple_config_credential_cE @ 1396 NONAME + _ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eap_am_network_id_c @ 1397 NONAME + _ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eap_expanded_type_c @ 1398 NONAME + _ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eap_variable_data_c @ 1399 NONAME + _ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eapol_session_key_c @ 1400 NONAME + _ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP23network_key_and_index_c @ 1401 NONAME + _ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP26simple_config_credential_c @ 1402 NONAME + _ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP33eapol_tlv_message_type_function_e @ 1403 NONAME + _ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPP24eap_state_notification_c @ 1404 NONAME + _ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPh @ 1405 NONAME + _ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPm @ 1406 NONAME + _ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPt @ 1407 NONAME + _ZN31eapol_handle_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPy @ 1408 NONAME + _ZN31eapol_handle_tlv_message_data_c19get_function_stringE33eapol_tlv_message_type_function_e @ 1409 NONAME + _ZN31eapol_handle_tlv_message_data_c31add_structured_parameter_headerE24eapol_tlv_message_type_em @ 1410 NONAME + _ZN31eapol_handle_tlv_message_data_c31object_decrease_reference_countEv @ 1411 NONAME + _ZN31eapol_handle_tlv_message_data_c31object_increase_reference_countEv @ 1412 NONAME + _ZN31eapol_handle_tlv_message_data_cC1EP18abs_eap_am_tools_c @ 1413 NONAME + _ZN31eapol_handle_tlv_message_data_cC2EP18abs_eap_am_tools_c @ 1414 NONAME + _ZN31eapol_handle_tlv_message_data_cD0Ev @ 1415 NONAME + _ZN31eapol_handle_tlv_message_data_cD1Ev @ 1416 NONAME + _ZN31eapol_handle_tlv_message_data_cD2Ev @ 1417 NONAME + _ZN32abs_crypto_cbc_block_algorithm_cD0Ev @ 1418 NONAME + _ZN32abs_crypto_cbc_block_algorithm_cD1Ev @ 1419 NONAME + _ZN32abs_crypto_cbc_block_algorithm_cD2Ev @ 1420 NONAME + _ZN32eap_simple_config_trace_string_cC1Ev @ 1421 NONAME + _ZN32eap_simple_config_trace_string_cC2Ev @ 1422 NONAME + _ZN32eap_simple_config_trace_string_cD0Ev @ 1423 NONAME + _ZN32eap_simple_config_trace_string_cD1Ev @ 1424 NONAME + _ZN32eap_simple_config_trace_string_cD2Ev @ 1425 NONAME + _ZN33crypto_ephemeral_diffie_hellman_c10dh_cleanupEPK19eap_variable_data_c @ 1426 NONAME + _ZN33crypto_ephemeral_diffie_hellman_c12get_is_validEv @ 1427 NONAME + _ZN33crypto_ephemeral_diffie_hellman_c12set_is_validEv @ 1428 NONAME + _ZN33crypto_ephemeral_diffie_hellman_c22generate_g_power_to_xyEPK19eap_variable_data_cS2_PS0_PKvmS5_m @ 1429 NONAME + _ZN33crypto_ephemeral_diffie_hellman_c28generate_diffie_hellman_keysEP19eap_variable_data_cS1_PKvmS3_m @ 1430 NONAME + _ZN33crypto_ephemeral_diffie_hellman_cC1EP18abs_eap_am_tools_c @ 1431 NONAME + _ZN33crypto_ephemeral_diffie_hellman_cC2EP18abs_eap_am_tools_c @ 1432 NONAME + _ZN33crypto_ephemeral_diffie_hellman_cD0Ev @ 1433 NONAME + _ZN33crypto_ephemeral_diffie_hellman_cD1Ev @ 1434 NONAME + _ZN33crypto_ephemeral_diffie_hellman_cD2Ev @ 1435 NONAME + _ZN35eapol_message_wlan_authentication_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 1436 NONAME + _ZN35eapol_message_wlan_authentication_c11reassociateEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_c @ 1437 NONAME + _ZN35eapol_message_wlan_authentication_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 1438 NONAME + _ZN35eapol_message_wlan_authentication_c12disassociateEPK19eap_am_network_id_cb @ 1439 NONAME + _ZN35eapol_message_wlan_authentication_c12get_is_validEv @ 1440 NONAME + _ZN35eapol_message_wlan_authentication_c12process_dataEPKvm @ 1441 NONAME + _ZN35eapol_message_wlan_authentication_c12send_messageEP31eapol_handle_tlv_message_data_c @ 1442 NONAME + _ZN35eapol_message_wlan_authentication_c13timer_expiredEmPv @ 1443 NONAME + _ZN35eapol_message_wlan_authentication_c14disassociationEPK11eap_array_cI16eap_tlv_header_cE @ 1444 NONAME + _ZN35eapol_message_wlan_authentication_c14packet_processEPK11eap_array_cI16eap_tlv_header_cE @ 1445 NONAME + _ZN35eapol_message_wlan_authentication_c15eap_acknowledgeEPK11eap_array_cI16eap_tlv_header_cE @ 1446 NONAME + _ZN35eapol_message_wlan_authentication_c15process_messageEP31eapol_handle_tlv_message_data_c @ 1447 NONAME + _ZN35eapol_message_wlan_authentication_c16tkip_mic_failureEPK11eap_array_cI16eap_tlv_header_cE @ 1448 NONAME + _ZN35eapol_message_wlan_authentication_c17check_pmksa_cacheEPK11eap_array_cI16eap_tlv_header_cE @ 1449 NONAME + _ZN35eapol_message_wlan_authentication_c17get_header_offsetEPmS0_ @ 1450 NONAME + _ZN35eapol_message_wlan_authentication_c17timer_delete_dataEmPv @ 1451 NONAME + _ZN35eapol_message_wlan_authentication_c18send_error_messageE12eap_status_e33eapol_tlv_message_type_function_e @ 1452 NONAME + _ZN35eapol_message_wlan_authentication_c18state_notificationEPK28abs_eap_state_notification_c @ 1453 NONAME + _ZN35eapol_message_wlan_authentication_c19start_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 1454 NONAME + _ZN35eapol_message_wlan_authentication_c20complete_associationEPK11eap_array_cI16eap_tlv_header_cE @ 1455 NONAME + _ZN35eapol_message_wlan_authentication_c20start_authenticationEPK11eap_array_cI16eap_tlv_header_cE @ 1456 NONAME + _ZN35eapol_message_wlan_authentication_c20update_header_offsetEPK11eap_array_cI16eap_tlv_header_cE @ 1457 NONAME + _ZN35eapol_message_wlan_authentication_c22complete_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 1458 NONAME + _ZN35eapol_message_wlan_authentication_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 1459 NONAME + _ZN35eapol_message_wlan_authentication_c23start_preauthenticationEPK11eap_array_cI16eap_tlv_header_cE @ 1460 NONAME + _ZN35eapol_message_wlan_authentication_c24start_WPXM_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 1461 NONAME + _ZN35eapol_message_wlan_authentication_c26process_message_type_errorEPK11eap_array_cI16eap_tlv_header_cE @ 1462 NONAME + _ZN35eapol_message_wlan_authentication_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 1463 NONAME + _ZN35eapol_message_wlan_authentication_c27complete_WPXM_reassociationEPK11eap_array_cI16eap_tlv_header_cE @ 1464 NONAME + _ZN35eapol_message_wlan_authentication_c37update_wlan_database_reference_valuesEPK11eap_array_cI16eap_tlv_header_cE @ 1465 NONAME + _ZN35eapol_message_wlan_authentication_c8shutdownEv @ 1466 NONAME + _ZN35eapol_message_wlan_authentication_c9associateE38eapol_key_802_11_authentication_mode_e @ 1467 NONAME + _ZN35eapol_message_wlan_authentication_c9configureEmmm @ 1468 NONAME + _ZN35eapol_message_wlan_authentication_cC1EP18abs_eap_am_tools_cP39abs_eapol_message_wlan_authentication_c @ 1469 NONAME + _ZN35eapol_message_wlan_authentication_cC2EP18abs_eap_am_tools_cP39abs_eapol_message_wlan_authentication_c @ 1470 NONAME + _ZN35eapol_message_wlan_authentication_cD0Ev @ 1471 NONAME + _ZN35eapol_message_wlan_authentication_cD1Ev @ 1472 NONAME + _ZN35eapol_message_wlan_authentication_cD2Ev @ 1473 NONAME + _ZN36wlan_eap_if_send_status_conversion_c7convertE12eap_status_e @ 1474 NONAME + _ZN36wlan_eap_if_send_status_conversion_c7convertE25wlan_eap_if_send_status_e @ 1475 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c11associationEPK19eap_am_network_id_c @ 1476 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1477 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c12cancel_timerEP20abs_eap_base_timer_cm @ 1478 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c12get_is_validEv @ 1479 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c13unload_moduleE19eap_expanded_type_c @ 1480 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c14disassociationEPK19eap_am_network_id_c @ 1481 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1482 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c14set_am_partnerEP34abs_eapol_am_wlan_authentication_cP26abs_eap_configuration_if_c @ 1483 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1484 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c17cancel_all_timersEv @ 1485 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 1486 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c19set_wlan_parametersEPK19eap_variable_data_cbS2_31eapol_key_authentication_type_e @ 1487 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c22get_selected_eap_typesEP11eap_array_cI20eap_type_selection_cE @ 1488 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c22get_wlan_configurationEP19eap_variable_data_c @ 1489 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c23authentication_finishedEb19eap_expanded_type_c31eapol_key_authentication_type_e @ 1490 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 1491 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c23reset_eap_configurationEv @ 1492 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 1493 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c8shutdownEv @ 1494 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c9configureEv @ 1495 NONAME + _ZN38eapol_am_wlan_authentication_symbian_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1496 NONAME + _ZN38eapol_am_wlan_authentication_symbian_cC1EP18abs_eap_am_tools_cbPK38abs_eapol_wlan_database_reference_if_c @ 1497 NONAME + _ZN38eapol_am_wlan_authentication_symbian_cC2EP18abs_eap_am_tools_cbPK38abs_eapol_wlan_database_reference_if_c @ 1498 NONAME + _ZN38eapol_am_wlan_authentication_symbian_cD0Ev @ 1499 NONAME + _ZN38eapol_am_wlan_authentication_symbian_cD1Ev @ 1500 NONAME + _ZN38eapol_am_wlan_authentication_symbian_cD2Ev @ 1501 NONAME + _ZNK10eap_core_c19get_is_tunneled_eapEv @ 1502 NONAME + _ZNK14eap_am_tools_c14get_trace_maskEv @ 1503 NONAME + _ZNK15eap_header_wr_c13get_type_dataEm @ 1504 NONAME + _ZNK15eap_header_wr_c20get_type_data_offsetEmm @ 1505 NONAME + _ZNK16eap_tlv_header_c12check_headerEv @ 1506 NONAME + _ZNK16eap_tlv_header_c16get_value_lengthEv @ 1507 NONAME + _ZNK16eap_tlv_header_c16get_value_offsetEmm @ 1508 NONAME + _ZNK16eap_tlv_header_c8get_typeEv @ 1509 NONAME + _ZNK16eap_tlv_header_c9get_valueEm @ 1510 NONAME + _ZNK17eap_header_base_c10get_lengthEv @ 1511 NONAME + _ZNK17eap_header_base_c12check_headerEv @ 1512 NONAME + _ZNK17eap_header_base_c13get_ietf_typeEv @ 1513 NONAME + _ZNK17eap_header_base_c13get_type_dataEm @ 1514 NONAME + _ZNK17eap_header_base_c14get_identifierEv @ 1515 NONAME + _ZNK17eap_header_base_c15get_code_stringEv @ 1516 NONAME + _ZNK17eap_header_base_c15get_data_lengthEv @ 1517 NONAME + _ZNK17eap_header_base_c15get_data_offsetEmm @ 1518 NONAME + _ZNK17eap_header_base_c15get_type_stringEv @ 1519 NONAME + _ZNK17eap_header_base_c20get_type_data_lengthEv @ 1520 NONAME + _ZNK17eap_header_base_c20get_type_data_offsetEmm @ 1521 NONAME + _ZNK17eap_header_base_c21get_type_field_lengthEv @ 1522 NONAME + _ZNK17eap_header_base_c8get_codeEv @ 1523 NONAME + _ZNK17eap_header_base_c8get_dataEm @ 1524 NONAME + _ZNK17eap_header_base_c8get_typeEv @ 1525 NONAME + _ZNK17eapol_header_rd_c14get_eap_headerEv @ 1526 NONAME + _ZNK17eapol_key_state_c19get_eapol_key_stateEv @ 1527 NONAME + _ZNK18eap_buf_chain_rd_c15get_data_offsetEmm @ 1528 NONAME + _ZNK18eap_buf_chain_rd_c19get_ethernet_headerEv @ 1529 NONAME + _ZNK18eap_buf_chain_rd_c8get_dataEm @ 1530 NONAME + _ZNK19eap_am_mutex_base_c12get_is_validEv @ 1531 NONAME + _ZNK19eap_am_mutex_base_c13get_referenceEv @ 1532 NONAME + _ZNK19eap_am_mutex_base_c15get_is_reservedEv @ 1533 NONAME + _ZNK19eap_am_network_id_c10get_sourceEv @ 1534 NONAME + _ZNK19eap_am_network_id_c12get_is_validEv @ 1535 NONAME + _ZNK19eap_am_network_id_c13get_source_idEv @ 1536 NONAME + _ZNK19eap_am_network_id_c14get_network_idEv @ 1537 NONAME + _ZNK19eap_am_network_id_c15get_destinationEv @ 1538 NONAME + _ZNK19eap_am_network_id_c17get_is_valid_dataEv @ 1539 NONAME + _ZNK19eap_am_network_id_c17get_source_lengthEv @ 1540 NONAME + _ZNK19eap_am_network_id_c18compare_network_idEPKS_ @ 1541 NONAME + _ZNK19eap_am_network_id_c18get_destination_idEv @ 1542 NONAME + _ZNK19eap_am_network_id_c22get_destination_lengthEv @ 1543 NONAME + _ZNK19eap_am_network_id_c4copyEv @ 1544 NONAME + _ZNK19eap_am_network_id_c8get_typeEv @ 1545 NONAME + _ZNK19eap_core_nak_info_c18get_eap_identifierEv @ 1546 NONAME + _ZNK19eap_core_nak_info_c21get_proposed_eap_typeEv @ 1547 NONAME + _ZNK19eap_expanded_type_c13get_vendor_idEv @ 1548 NONAME + _ZNK19eap_expanded_type_c15get_vendor_typeEv @ 1549 NONAME + _ZNK19eap_expanded_type_c7compareEPKS_ @ 1550 NONAME + _ZNK19eap_expanded_type_cadEv @ 1551 NONAME + _ZNK19eap_expanded_type_ceqE22eap_type_ietf_values_e @ 1552 NONAME + _ZNK19eap_expanded_type_ceqERKS_ @ 1553 NONAME + _ZNK19eap_expanded_type_cneE22eap_type_ietf_values_e @ 1554 NONAME + _ZNK19eap_expanded_type_cneERKS_ @ 1555 NONAME + _ZNK19eap_variable_data_c10get_bufferEm @ 1556 NONAME + _ZNK19eap_variable_data_c12get_is_validEv @ 1557 NONAME + _ZNK19eap_variable_data_c14compare_lengthEPKS_m @ 1558 NONAME + _ZNK19eap_variable_data_c14compare_lengthEPKvmm @ 1559 NONAME + _ZNK19eap_variable_data_c15get_data_lengthEv @ 1560 NONAME + _ZNK19eap_variable_data_c15get_data_offsetEmm @ 1561 NONAME + _ZNK19eap_variable_data_c15get_is_writableEv @ 1562 NONAME + _ZNK19eap_variable_data_c17get_buffer_lengthEv @ 1563 NONAME + _ZNK19eap_variable_data_c17get_buffer_offsetEmm @ 1564 NONAME + _ZNK19eap_variable_data_c17get_is_valid_dataEv @ 1565 NONAME + _ZNK19eap_variable_data_c4copyEv @ 1566 NONAME + _ZNK19eap_variable_data_c4hashEm @ 1567 NONAME + _ZNK19eap_variable_data_c7compareEPKS_ @ 1568 NONAME + _ZNK19eap_variable_data_c7compareEPKvm @ 1569 NONAME + _ZNK19eap_variable_data_c8get_dataEm @ 1570 NONAME + _ZNK19eap_variable_data_c8get_dataEv @ 1571 NONAME + _ZNK19eapol_header_base_c11get_versionEv @ 1572 NONAME + _ZNK19eapol_header_base_c12check_headerEv @ 1573 NONAME + _ZNK19eapol_header_base_c15get_data_lengthEv @ 1574 NONAME + _ZNK19eapol_header_base_c15get_packet_typeEv @ 1575 NONAME + _ZNK19eapol_header_base_c15get_type_stringEv @ 1576 NONAME + _ZNK19eapol_header_base_c8get_dataEm @ 1577 NONAME + _ZNK19eapol_session_key_c12get_is_validEv @ 1578 NONAME + _ZNK19eapol_session_key_c12get_key_typeEv @ 1579 NONAME + _ZNK19eapol_session_key_c13get_key_indexEv @ 1580 NONAME + _ZNK19eapol_session_key_c14get_key_tx_bitEv @ 1581 NONAME + _ZNK19eapol_session_key_c19get_sequence_numberEv @ 1582 NONAME + _ZNK19eapol_session_key_c7get_keyEv @ 1583 NONAME + _ZNK20eap_buf_chain_base_c11get_encryptEv @ 1584 NONAME + _ZNK20eap_buf_chain_base_c12check_guardsEv @ 1585 NONAME + _ZNK20eap_buf_chain_base_c12get_is_validEv @ 1586 NONAME + _ZNK20eap_buf_chain_base_c13get_is_clientEv @ 1587 NONAME + _ZNK20eap_buf_chain_base_c15get_data_lengthEv @ 1588 NONAME + _ZNK20eap_buf_chain_base_c15get_data_offsetEmm @ 1589 NONAME + _ZNK20eap_buf_chain_base_c17check_guard_bytesEPKh @ 1590 NONAME + _ZNK20eap_buf_chain_base_c17get_buffer_lengthEv @ 1591 NONAME + _ZNK20eap_buf_chain_base_c17get_is_valid_dataEv @ 1592 NONAME + _ZNK20eap_buf_chain_base_c17get_stack_addressEv @ 1593 NONAME + _ZNK20eap_buf_chain_base_c20get_do_length_checksEv @ 1594 NONAME + _ZNK20eap_buf_chain_base_c8get_dataEm @ 1595 NONAME + _ZNK20eap_rogue_ap_entry_c15get_mac_addressEPh @ 1596 NONAME + _ZNK20eap_rogue_ap_entry_c15get_mac_addressEv @ 1597 NONAME + _ZNK20eap_rogue_ap_entry_c16get_rogue_reasonEv @ 1598 NONAME + _ZNK20eap_rogue_ap_entry_c4copyEv @ 1599 NONAME + _ZNK20eap_type_selection_c12get_is_validEv @ 1600 NONAME + _ZNK20eap_type_selection_c14get_is_enabledEv @ 1601 NONAME + _ZNK20eap_type_selection_c17get_is_valid_dataEv @ 1602 NONAME + _ZNK20eap_type_selection_c4copyEv @ 1603 NONAME + _ZNK20eap_type_selection_c8get_typeEv @ 1604 NONAME + _ZNK22eap_am_mutex_symbian_c12get_is_validEv @ 1605 NONAME + _ZNK22eap_am_mutex_symbian_c15get_is_reservedEv @ 1606 NONAME + _ZNK22eap_am_mutex_symbian_c16get_owner_threadEv @ 1607 NONAME + _ZNK22eap_am_mutex_symbian_c9get_mutexEv @ 1608 NONAME + _ZNK22eap_am_tools_symbian_c12get_is_validEv @ 1609 NONAME + _ZNK22eap_tlv_message_data_c16get_message_dataEv @ 1610 NONAME + _ZNK22eap_tlv_message_data_c23get_message_data_lengthEv @ 1611 NONAME + _ZNK22eapol_RC4_key_header_c12check_headerEv @ 1612 NONAME + _ZNK22eapol_RC4_key_header_c12get_key_flagEv @ 1613 NONAME + _ZNK22eapol_RC4_key_header_c13get_key_indexEv @ 1614 NONAME + _ZNK22eapol_RC4_key_header_c14get_key_lengthEv @ 1615 NONAME + _ZNK22eapol_RC4_key_header_c17get_key_signatureEv @ 1616 NONAME + _ZNK22eapol_RC4_key_header_c21get_eapol_packet_typeEv @ 1617 NONAME + _ZNK22eapol_RC4_key_header_c23get_key_descriptor_typeEv @ 1618 NONAME + _ZNK22eapol_RC4_key_header_c26get_eapol_protocol_versionEv @ 1619 NONAME + _ZNK22eapol_RC4_key_header_c28get_eapol_packet_body_lengthEv @ 1620 NONAME + _ZNK22eapol_RC4_key_header_c7get_keyEv @ 1621 NONAME + _ZNK23eap_am_crypto_symbian_c12get_is_validEv @ 1622 NONAME + _ZNK23eapol_RSNA_key_header_c11get_key_MICEv @ 1623 NONAME + _ZNK23eapol_RSNA_key_header_c11get_key_RSCEv @ 1624 NONAME + _ZNK23eapol_RSNA_key_header_c12check_headerEv @ 1625 NONAME + _ZNK23eapol_RSNA_key_header_c12get_key_dataEm @ 1626 NONAME + _ZNK23eapol_RSNA_key_header_c13get_key_NONCEEv @ 1627 NONAME + _ZNK23eapol_RSNA_key_header_c14get_key_lengthEv @ 1628 NONAME + _ZNK23eapol_RSNA_key_header_c16get_EAPOL_key_IVEv @ 1629 NONAME + _ZNK23eapol_RSNA_key_header_c16get_key_reservedEv @ 1630 NONAME + _ZNK23eapol_RSNA_key_header_c19get_key_data_lengthEv @ 1631 NONAME + _ZNK23eapol_RSNA_key_header_c19get_key_data_offsetEmm @ 1632 NONAME + _ZNK23eapol_RSNA_key_header_c19get_key_informationEv @ 1633 NONAME + _ZNK23eapol_RSNA_key_header_c21get_eapol_packet_typeEv @ 1634 NONAME + _ZNK23eapol_RSNA_key_header_c22get_key_replay_counterEv @ 1635 NONAME + _ZNK23eapol_RSNA_key_header_c23get_eapol_packet_lengthEv @ 1636 NONAME + _ZNK23eapol_RSNA_key_header_c23get_key_STA_MAC_addressEv @ 1637 NONAME + _ZNK23eapol_RSNA_key_header_c23get_key_descriptor_typeEv @ 1638 NONAME + _ZNK23eapol_RSNA_key_header_c25get_key_information_errorEv @ 1639 NONAME + _ZNK23eapol_RSNA_key_header_c26get_eapol_protocol_versionEv @ 1640 NONAME + _ZNK23eapol_RSNA_key_header_c26get_key_information_secureEv @ 1641 NONAME + _ZNK23eapol_RSNA_key_header_c27get_key_information_installEv @ 1642 NONAME + _ZNK23eapol_RSNA_key_header_c27get_key_information_key_MICEv @ 1643 NONAME + _ZNK23eapol_RSNA_key_header_c27get_key_information_key_ackEv @ 1644 NONAME + _ZNK23eapol_RSNA_key_header_c27get_key_information_requestEv @ 1645 NONAME + _ZNK23eapol_RSNA_key_header_c28get_eapol_packet_body_lengthEv @ 1646 NONAME + _ZNK23eapol_RSNA_key_header_c28get_key_information_key_typeEv @ 1647 NONAME + _ZNK23eapol_RSNA_key_header_c29get_key_information_key_indexEv @ 1648 NONAME + _ZNK23eapol_RSNA_key_header_c30get_key_information_reserved_aEv @ 1649 NONAME + _ZNK23eapol_RSNA_key_header_c30get_key_information_reserved_bEv @ 1650 NONAME + _ZNK23eapol_RSNA_key_header_c38get_key_information_encrypted_key_dataEv @ 1651 NONAME + _ZNK23eapol_RSNA_key_header_c42get_key_information_key_descriptor_versionEv @ 1652 NONAME + _ZNK24eap_master_session_key_c12get_eap_typeEv @ 1653 NONAME + _ZNK24eap_master_session_key_c17get_leap_passwordEv @ 1654 NONAME + _ZNK24eap_state_notification_c12get_eap_typeEv @ 1655 NONAME + _ZNK24eap_state_notification_c12get_protocolEv @ 1656 NONAME + _ZNK24eap_state_notification_c13get_is_clientEv @ 1657 NONAME + _ZNK24eap_state_notification_c17get_current_stateEv @ 1658 NONAME + _ZNK24eap_state_notification_c18get_eap_identifierEv @ 1659 NONAME + _ZNK24eap_state_notification_c18get_previous_stateEv @ 1660 NONAME + _ZNK24eap_state_notification_c18get_protocol_layerEv @ 1661 NONAME + _ZNK24eap_state_notification_c19get_protocol_stringEv @ 1662 NONAME + _ZNK24eap_state_notification_c19get_send_network_idEv @ 1663 NONAME + _ZNK24eap_state_notification_c23get_notification_stringEv @ 1664 NONAME + _ZNK24eap_state_notification_c24get_authentication_errorEv @ 1665 NONAME + _ZNK24eap_state_notification_c24get_current_state_stringEv @ 1666 NONAME + _ZNK24eap_state_notification_c25get_previous_state_stringEv @ 1667 NONAME + _ZNK24eap_state_notification_c25get_protocol_layer_stringEv @ 1668 NONAME + _ZNK24eap_state_notification_c26get_allow_send_eap_successEv @ 1669 NONAME + _ZNK24eap_state_notification_c32get_needs_confirmation_from_userEv @ 1670 NONAME + _ZNK25eap_core_retransmission_c12get_eap_codeEv @ 1671 NONAME + _ZNK25eap_core_retransmission_c12get_eap_typeEv @ 1672 NONAME + _ZNK25eap_core_retransmission_c12get_is_validEv @ 1673 NONAME + _ZNK25eap_core_retransmission_c15get_buffer_sizeEv @ 1674 NONAME + _ZNK25eap_core_retransmission_c15get_data_lengthEv @ 1675 NONAME + _ZNK25eap_core_retransmission_c15get_sent_packetEv @ 1676 NONAME + _ZNK25eap_core_retransmission_c17get_header_offsetEv @ 1677 NONAME + _ZNK25eap_core_retransmission_c18get_eap_identifierEv @ 1678 NONAME + _ZNK25eap_core_retransmission_c26get_retransmission_counterEv @ 1679 NONAME + _ZNK25eap_general_header_base_c12get_am_toolsEv @ 1680 NONAME + _ZNK25eap_general_header_base_c12get_is_validEv @ 1681 NONAME + _ZNK25eap_general_header_base_c17get_header_bufferEm @ 1682 NONAME + _ZNK25eap_general_header_base_c17get_header_offsetEmm @ 1683 NONAME + _ZNK25eap_general_header_base_c24get_header_buffer_lengthEv @ 1684 NONAME + _ZNK25eap_network_id_selector_c4copyEv @ 1685 NONAME + _ZNK26eap_static_expanded_type_c8get_typeEv @ 1686 NONAME + _ZNK26eapol_ethernet_header_rd_c16get_eapol_headerEv @ 1687 NONAME + _ZNK26eapol_ethernet_header_wr_c16get_eapol_headerEv @ 1688 NONAME + _ZNK26eapol_rsna_variable_data_c19get_original_headerEv @ 1689 NONAME + _ZNK28eapol_ethernet_header_base_c10get_sourceEv @ 1690 NONAME + _ZNK28eapol_ethernet_header_base_c12check_headerEv @ 1691 NONAME + _ZNK28eapol_ethernet_header_base_c15get_data_lengthEv @ 1692 NONAME + _ZNK28eapol_ethernet_header_base_c15get_destinationEv @ 1693 NONAME + _ZNK28eapol_ethernet_header_base_c17get_source_lengthEv @ 1694 NONAME + _ZNK28eapol_ethernet_header_base_c22get_destination_lengthEv @ 1695 NONAME + _ZNK28eapol_ethernet_header_base_c8get_dataEm @ 1696 NONAME + _ZNK28eapol_ethernet_header_base_c8get_typeEv @ 1697 NONAME + _ZNK30eap_am_memory_store_tlv_data_c12get_timer_idEv @ 1698 NONAME + _ZNK30eap_am_memory_store_tlv_data_c16get_message_dataEv @ 1699 NONAME + _ZNK30eap_am_memory_store_tlv_data_c23get_message_data_lengthEv @ 1700 NONAME + _ZNK31eapol_handle_tlv_message_data_c16get_payload_sizeEP23network_key_and_index_c @ 1701 NONAME + _ZNK31eapol_handle_tlv_message_data_c16get_payload_sizeEP26simple_config_credential_c @ 1702 NONAME + _ZNK31eapol_handle_tlv_message_data_c16get_payload_sizeEPK11eap_array_cI23network_key_and_index_cE @ 1703 NONAME + _ZNK31eapol_handle_tlv_message_data_c16get_payload_sizeEPK11eap_array_cI26simple_config_credential_cE @ 1704 NONAME + _ZNK31eapol_handle_tlv_message_data_c16get_payload_sizeEPK19eap_am_network_id_c @ 1705 NONAME + _ZNK31eapol_handle_tlv_message_data_c16get_payload_sizeEPK19eapol_session_key_c @ 1706 NONAME + _ZNK31eapol_handle_tlv_message_data_c16get_payload_sizeEPK28abs_eap_state_notification_c @ 1707 NONAME + _ZNK32eap_simple_config_trace_string_c16get_state_stringE21simple_config_state_e @ 1708 NONAME + _ZNK32eap_simple_config_trace_string_c23get_message_type_stringE28simple_config_Message_Type_e @ 1709 NONAME + _ZNK32eap_simple_config_trace_string_c25get_attribute_type_stringE30simple_config_Attribute_Type_e @ 1710 NONAME + _ZNK35eapol_message_wlan_authentication_c34get_wlan_database_reference_valuesEP19eap_variable_data_c @ 1711 NONAME + _ZTI10eap_core_c @ 1712 NONAME + _ZTI12crypto_aes_c @ 1713 NONAME + _ZTI12crypto_cbc_c @ 1714 NONAME + _ZTI12crypto_dsa_c @ 1715 NONAME + _ZTI12crypto_md4_c @ 1716 NONAME + _ZTI12crypto_md5_c @ 1717 NONAME + _ZTI12crypto_rc4_c @ 1718 NONAME + _ZTI12crypto_rsa_c @ 1719 NONAME + _ZTI12eapol_core_c @ 1720 NONAME + _ZTI13crypto_hmac_c @ 1721 NONAME + _ZTI13crypto_sha1_c @ 1722 NONAME + _ZTI14eap_am_tools_c @ 1723 NONAME + _ZTI15crypto_random_c @ 1724 NONAME + _ZTI15eap_base_type_c @ 1725 NONAME + _ZTI15eap_header_rd_c @ 1726 NONAME + _ZTI15eap_header_wr_c @ 1727 NONAME + _ZTI15ethernet_core_c @ 1728 NONAME + _ZTI16crypto_nt_hash_c @ 1729 NONAME + _ZTI16crypto_sha_256_c @ 1730 NONAME + _ZTI16crypto_tls_prf_c @ 1731 NONAME + _ZTI16eap_tlv_header_c @ 1732 NONAME + _ZTI17crypto_3des_ede_c @ 1733 NONAME + _ZTI17crypto_aes_wrap_c @ 1734 NONAME + _ZTI17eap_file_config_c @ 1735 NONAME + _ZTI17eap_header_base_c @ 1736 NONAME + _ZTI17eap_timer_queue_c @ 1737 NONAME + _ZTI17eapol_header_rd_c @ 1738 NONAME + _ZTI17eapol_header_wr_c @ 1739 NONAME + _ZTI17eapol_key_state_c @ 1740 NONAME + _ZTI18abs_eap_am_mutex_c @ 1741 NONAME + _ZTI18eap_buf_chain_rd_c @ 1742 NONAME + _ZTI18eap_buf_chain_wr_c @ 1743 NONAME + _ZTI18eap_config_value_c @ 1744 NONAME + _ZTI18eap_session_core_c @ 1745 NONAME + _ZTI19eap_am_crypto_md4_c @ 1746 NONAME + _ZTI19eap_am_crypto_rc4_c @ 1747 NONAME + _ZTI19eap_am_mutex_base_c @ 1748 NONAME + _ZTI19eap_am_network_id_c @ 1749 NONAME + _ZTI19eap_core_nak_info_c @ 1750 NONAME + _ZTI19eap_header_string_c @ 1751 NONAME + _ZTI19eap_status_string_c @ 1752 NONAME + _ZTI19eap_variable_data_c @ 1753 NONAME + _ZTI19eapol_header_base_c @ 1754 NONAME + _ZTI19eapol_session_key_c @ 1755 NONAME + _ZTI20crypto_tls_md5_prf_c @ 1756 NONAME + _ZTI20eap_am_crypto_sha1_c @ 1757 NONAME + _ZTI20eap_buf_chain_base_c @ 1758 NONAME + _ZTI20eap_rogue_ap_entry_c @ 1759 NONAME + _ZTI20eap_type_selection_c @ 1760 NONAME + _ZTI21crypto_tls_base_prf_c @ 1761 NONAME + _ZTI21crypto_tls_sha1_prf_c @ 1762 NONAME + _ZTI21eap_am_memory_store_c @ 1763 NONAME + _ZTI21tls_peap_tlv_header_c @ 1764 NONAME + _ZTI22eap_am_mutex_symbian_c @ 1765 NONAME + _ZTI22eap_am_tools_symbian_c @ 1766 NONAME + _ZTI22eap_timer_queue_hash_c @ 1767 NONAME + _ZTI22eap_tlv_message_data_c @ 1768 NONAME + _ZTI22eapol_RC4_key_header_c @ 1769 NONAME + _ZTI23crypto_kd_hmac_sha256_c @ 1770 NONAME + _ZTI23eap_am_crypto_sha_256_c @ 1771 NONAME + _ZTI23eap_am_crypto_symbian_c @ 1772 NONAME + _ZTI23eap_timer_queue_event_c @ 1773 NONAME + _ZTI23eapol_RSNA_key_header_c @ 1774 NONAME + _ZTI23network_key_and_index_c @ 1775 NONAME + _ZTI24eap_am_mutex_reference_c @ 1776 NONAME + _ZTI24eap_master_session_key_c @ 1777 NONAME + _ZTI24eap_state_notification_c @ 1778 NONAME + _ZTI24eapol_key_state_string_c @ 1779 NONAME + _ZTI25eap_core_retransmission_c @ 1780 NONAME + _ZTI25eap_general_header_base_c @ 1781 NONAME + _ZTI25eap_network_id_selector_c @ 1782 NONAME + _ZTI26eapol_ethernet_header_rd_c @ 1783 NONAME + _ZTI26eapol_ethernet_header_wr_c @ 1784 NONAME + _ZTI26eapol_rsna_variable_data_c @ 1785 NONAME + _ZTI26simple_config_credential_c @ 1786 NONAME + _ZTI27abs_crypto_hash_algorithm_c @ 1787 NONAME + _ZTI27abs_crypto_hmac_algorithm_c @ 1788 NONAME + _ZTI27eap_am_file_input_symbian_c @ 1789 NONAME + _ZTI27eapol_wlan_authentication_c @ 1790 NONAME + _ZTI28abs_crypto_block_algorithm_c @ 1791 NONAME + _ZTI28eapol_ethernet_header_base_c @ 1792 NONAME + _ZTI28eapol_rsna_key_data_header_c @ 1793 NONAME + _ZTI29abs_crypto_stream_algorithm_c @ 1794 NONAME + _ZTI30abs_eap_am_memory_store_data_c @ 1795 NONAME + _ZTI30crypto_wpa_psk_password_hash_c @ 1796 NONAME + _ZTI30eap_am_memory_store_tlv_data_c @ 1797 NONAME + _ZTI30eapol_am_wlan_authentication_c @ 1798 NONAME + _ZTI30eapol_rsna_key_data_payloads_c @ 1799 NONAME + _ZTI31crypto_eap_fast_hmac_sha1_prf_c @ 1800 NONAME + _ZTI31eapol_handle_tlv_message_data_c @ 1801 NONAME + _ZTI32abs_crypto_cbc_block_algorithm_c @ 1802 NONAME + _ZTI32eap_simple_config_trace_string_c @ 1803 NONAME + _ZTI32eapol_rsna_key_data_gtk_header_c @ 1804 NONAME + _ZTI33crypto_ephemeral_diffie_hellman_c @ 1805 NONAME + _ZTI35eapol_message_wlan_authentication_c @ 1806 NONAME + _ZTI38eapol_am_wlan_authentication_symbian_c @ 1807 NONAME + _ZTV10eap_core_c @ 1808 NONAME + _ZTV12crypto_aes_c @ 1809 NONAME + _ZTV12crypto_cbc_c @ 1810 NONAME + _ZTV12crypto_dsa_c @ 1811 NONAME + _ZTV12crypto_md4_c @ 1812 NONAME + _ZTV12crypto_md5_c @ 1813 NONAME + _ZTV12crypto_rc4_c @ 1814 NONAME + _ZTV12crypto_rsa_c @ 1815 NONAME + _ZTV12eapol_core_c @ 1816 NONAME + _ZTV13crypto_hmac_c @ 1817 NONAME + _ZTV13crypto_sha1_c @ 1818 NONAME + _ZTV14eap_am_tools_c @ 1819 NONAME + _ZTV15crypto_random_c @ 1820 NONAME + _ZTV15eap_base_type_c @ 1821 NONAME + _ZTV15eap_header_rd_c @ 1822 NONAME + _ZTV15eap_header_wr_c @ 1823 NONAME + _ZTV15ethernet_core_c @ 1824 NONAME + _ZTV16crypto_nt_hash_c @ 1825 NONAME + _ZTV16crypto_sha_256_c @ 1826 NONAME + _ZTV16crypto_tls_prf_c @ 1827 NONAME + _ZTV16eap_tlv_header_c @ 1828 NONAME + _ZTV17crypto_3des_ede_c @ 1829 NONAME + _ZTV17crypto_aes_wrap_c @ 1830 NONAME + _ZTV17eap_file_config_c @ 1831 NONAME + _ZTV17eap_header_base_c @ 1832 NONAME + _ZTV17eap_timer_queue_c @ 1833 NONAME + _ZTV17eapol_header_rd_c @ 1834 NONAME + _ZTV17eapol_header_wr_c @ 1835 NONAME + _ZTV17eapol_key_state_c @ 1836 NONAME + _ZTV18abs_eap_am_mutex_c @ 1837 NONAME + _ZTV18eap_buf_chain_rd_c @ 1838 NONAME + _ZTV18eap_buf_chain_wr_c @ 1839 NONAME + _ZTV18eap_config_value_c @ 1840 NONAME + _ZTV18eap_session_core_c @ 1841 NONAME + _ZTV19eap_am_crypto_md4_c @ 1842 NONAME + _ZTV19eap_am_crypto_rc4_c @ 1843 NONAME + _ZTV19eap_am_mutex_base_c @ 1844 NONAME + _ZTV19eap_am_network_id_c @ 1845 NONAME + _ZTV19eap_core_nak_info_c @ 1846 NONAME + _ZTV19eap_header_string_c @ 1847 NONAME + _ZTV19eap_status_string_c @ 1848 NONAME + _ZTV19eap_variable_data_c @ 1849 NONAME + _ZTV19eapol_header_base_c @ 1850 NONAME + _ZTV19eapol_session_key_c @ 1851 NONAME + _ZTV20crypto_tls_md5_prf_c @ 1852 NONAME + _ZTV20eap_am_crypto_sha1_c @ 1853 NONAME + _ZTV20eap_buf_chain_base_c @ 1854 NONAME + _ZTV20eap_rogue_ap_entry_c @ 1855 NONAME + _ZTV20eap_type_selection_c @ 1856 NONAME + _ZTV21crypto_tls_base_prf_c @ 1857 NONAME + _ZTV21crypto_tls_sha1_prf_c @ 1858 NONAME + _ZTV21eap_am_memory_store_c @ 1859 NONAME + _ZTV21tls_peap_tlv_header_c @ 1860 NONAME + _ZTV22eap_am_mutex_symbian_c @ 1861 NONAME + _ZTV22eap_am_tools_symbian_c @ 1862 NONAME + _ZTV22eap_timer_queue_hash_c @ 1863 NONAME + _ZTV22eap_tlv_message_data_c @ 1864 NONAME + _ZTV22eapol_RC4_key_header_c @ 1865 NONAME + _ZTV23crypto_kd_hmac_sha256_c @ 1866 NONAME + _ZTV23eap_am_crypto_sha_256_c @ 1867 NONAME + _ZTV23eap_am_crypto_symbian_c @ 1868 NONAME + _ZTV23eap_timer_queue_event_c @ 1869 NONAME + _ZTV23eapol_RSNA_key_header_c @ 1870 NONAME + _ZTV23network_key_and_index_c @ 1871 NONAME + _ZTV24eap_am_mutex_reference_c @ 1872 NONAME + _ZTV24eap_master_session_key_c @ 1873 NONAME + _ZTV24eap_state_notification_c @ 1874 NONAME + _ZTV24eapol_key_state_string_c @ 1875 NONAME + _ZTV25eap_core_retransmission_c @ 1876 NONAME + _ZTV25eap_general_header_base_c @ 1877 NONAME + _ZTV25eap_network_id_selector_c @ 1878 NONAME + _ZTV26eapol_ethernet_header_rd_c @ 1879 NONAME + _ZTV26eapol_ethernet_header_wr_c @ 1880 NONAME + _ZTV26eapol_rsna_variable_data_c @ 1881 NONAME + _ZTV26simple_config_credential_c @ 1882 NONAME + _ZTV27abs_crypto_hash_algorithm_c @ 1883 NONAME + _ZTV27abs_crypto_hmac_algorithm_c @ 1884 NONAME + _ZTV27eap_am_file_input_symbian_c @ 1885 NONAME + _ZTV27eapol_wlan_authentication_c @ 1886 NONAME + _ZTV28abs_crypto_block_algorithm_c @ 1887 NONAME + _ZTV28eapol_ethernet_header_base_c @ 1888 NONAME + _ZTV28eapol_rsna_key_data_header_c @ 1889 NONAME + _ZTV29abs_crypto_stream_algorithm_c @ 1890 NONAME + _ZTV30abs_eap_am_memory_store_data_c @ 1891 NONAME + _ZTV30crypto_wpa_psk_password_hash_c @ 1892 NONAME + _ZTV30eap_am_memory_store_tlv_data_c @ 1893 NONAME + _ZTV30eapol_am_wlan_authentication_c @ 1894 NONAME + _ZTV30eapol_rsna_key_data_payloads_c @ 1895 NONAME + _ZTV31crypto_eap_fast_hmac_sha1_prf_c @ 1896 NONAME + _ZTV31eapol_handle_tlv_message_data_c @ 1897 NONAME + _ZTV32abs_crypto_cbc_block_algorithm_c @ 1898 NONAME + _ZTV32eap_simple_config_trace_string_c @ 1899 NONAME + _ZTV32eapol_rsna_key_data_gtk_header_c @ 1900 NONAME + _ZTV33crypto_ephemeral_diffie_hellman_c @ 1901 NONAME + _ZTV35eapol_message_wlan_authentication_c @ 1902 NONAME + _ZTV38eapol_am_wlan_authentication_symbian_c @ 1903 NONAME + _ZThn12_N10eap_core_c12get_is_validEv @ 1904 NONAME + _ZThn12_N10eap_core_c12set_is_validEv @ 1905 NONAME + _ZThn12_N10eap_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 1906 NONAME + _ZThn12_N10eap_core_c8shutdownEv @ 1907 NONAME + _ZThn12_N10eap_core_c9configureEv @ 1908 NONAME + _ZThn12_N10eap_core_cD0Ev @ 1909 NONAME + _ZThn12_N10eap_core_cD1Ev @ 1910 NONAME + _ZThn12_N12eapol_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 1911 NONAME + _ZThn12_N12eapol_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1912 NONAME + _ZThn12_N12eapol_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1913 NONAME + _ZThn12_N12eapol_core_c17cancel_all_timersEv @ 1914 NONAME + _ZThn12_N12eapol_core_c18state_notificationEPK28abs_eap_state_notification_c @ 1915 NONAME + _ZThn12_N12eapol_core_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 1916 NONAME + _ZThn12_N12eapol_core_c36get_and_increment_global_key_counterEP19eap_variable_data_c @ 1917 NONAME + _ZThn12_N12eapol_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1918 NONAME + _ZThn12_N12eapol_core_cD0Ev @ 1919 NONAME + _ZThn12_N12eapol_core_cD1Ev @ 1920 NONAME + _ZThn12_N18eap_session_core_c12get_is_validEv @ 1921 NONAME + _ZThn12_N18eap_session_core_c12set_is_validEv @ 1922 NONAME + _ZThn12_N18eap_session_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 1923 NONAME + _ZThn12_N18eap_session_core_c8shutdownEv @ 1924 NONAME + _ZThn12_N18eap_session_core_c9configureEv @ 1925 NONAME + _ZThn12_N18eap_session_core_cD0Ev @ 1926 NONAME + _ZThn12_N18eap_session_core_cD1Ev @ 1927 NONAME + _ZThn12_N27eapol_wlan_authentication_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 1928 NONAME + _ZThn16_N12eapol_core_cD0Ev @ 1929 NONAME + _ZThn16_N12eapol_core_cD1Ev @ 1930 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c11associationEPK19eap_am_network_id_c @ 1931 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1932 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c12cancel_timerEP20abs_eap_base_timer_cm @ 1933 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c12get_is_validEv @ 1934 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c13unload_moduleE19eap_expanded_type_c @ 1935 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c14disassociationEPK19eap_am_network_id_c @ 1936 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1937 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c14set_am_partnerEP34abs_eapol_am_wlan_authentication_cP26abs_eap_configuration_if_c @ 1938 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1939 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c17cancel_all_timersEv @ 1940 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 1941 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c19set_wlan_parametersEPK19eap_variable_data_cbS2_31eapol_key_authentication_type_e @ 1942 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c22get_selected_eap_typesEP11eap_array_cI20eap_type_selection_cE @ 1943 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c22get_wlan_configurationEP19eap_variable_data_c @ 1944 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c23authentication_finishedEb19eap_expanded_type_c31eapol_key_authentication_type_e @ 1945 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 1946 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c23reset_eap_configurationEv @ 1947 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c8shutdownEv @ 1948 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c9configureEv @ 1949 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1950 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_cD0Ev @ 1951 NONAME + _ZThn28_N38eapol_am_wlan_authentication_symbian_cD1Ev @ 1952 NONAME + _ZThn32_N38eapol_am_wlan_authentication_symbian_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 1953 NONAME + _ZThn4_N10eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1954 NONAME + _ZThn4_N10eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 1955 NONAME + _ZThn4_N10eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 1956 NONAME + _ZThn4_N10eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 1957 NONAME + _ZThn4_N10eap_core_c13unload_moduleE19eap_expanded_type_c @ 1958 NONAME + _ZThn4_N10eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1959 NONAME + _ZThn4_N10eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1960 NONAME + _ZThn4_N10eap_core_c17cancel_all_timersEv @ 1961 NONAME + _ZThn4_N10eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 1962 NONAME + _ZThn4_N10eap_core_c17get_header_offsetEPmS0_ @ 1963 NONAME + _ZThn4_N10eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 1964 NONAME + _ZThn4_N10eap_core_c19set_session_timeoutEm @ 1965 NONAME + _ZThn4_N10eap_core_c22get_saved_eap_identityEP19eap_variable_data_c @ 1966 NONAME + _ZThn4_N10eap_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 1967 NONAME + _ZThn4_N10eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 1968 NONAME + _ZThn4_N10eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 1969 NONAME + _ZThn4_N10eap_core_c23set_authentication_roleEb @ 1970 NONAME + _ZThn4_N10eap_core_c27complete_eap_identity_queryEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 1971 NONAME + _ZThn4_N10eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1972 NONAME + _ZThn4_N10eap_core_cD0Ev @ 1973 NONAME + _ZThn4_N10eap_core_cD1Ev @ 1974 NONAME + _ZThn4_N12eapol_core_c13timer_expiredEmPv @ 1975 NONAME + _ZThn4_N12eapol_core_c17timer_delete_dataEmPv @ 1976 NONAME + _ZThn4_N12eapol_core_cD0Ev @ 1977 NONAME + _ZThn4_N12eapol_core_cD1Ev @ 1978 NONAME + _ZThn4_N14eap_am_tools_cD0Ev @ 1979 NONAME + _ZThn4_N14eap_am_tools_cD1Ev @ 1980 NONAME + _ZThn4_N15ethernet_core_c12get_is_validEv @ 1981 NONAME + _ZThn4_N15ethernet_core_c12set_is_validEv @ 1982 NONAME + _ZThn4_N15ethernet_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 1983 NONAME + _ZThn4_N15ethernet_core_c8shutdownEv @ 1984 NONAME + _ZThn4_N15ethernet_core_c9configureEv @ 1985 NONAME + _ZThn4_N15ethernet_core_cD0Ev @ 1986 NONAME + _ZThn4_N15ethernet_core_cD1Ev @ 1987 NONAME + _ZThn4_N18eap_session_core_cD0Ev @ 1988 NONAME + _ZThn4_N18eap_session_core_cD1Ev @ 1989 NONAME + _ZThn4_N21eap_am_memory_store_c13timer_expiredEmPv @ 1990 NONAME + _ZThn4_N21eap_am_memory_store_c17timer_delete_dataEmPv @ 1991 NONAME + _ZThn4_N21eap_am_memory_store_cD0Ev @ 1992 NONAME + _ZThn4_N21eap_am_memory_store_cD1Ev @ 1993 NONAME + _ZThn4_N22eap_am_mutex_symbian_cD0Ev @ 1994 NONAME + _ZThn4_N22eap_am_mutex_symbian_cD1Ev @ 1995 NONAME + _ZThn4_N22eap_am_tools_symbian_cD0Ev @ 1996 NONAME + _ZThn4_N22eap_am_tools_symbian_cD1Ev @ 1997 NONAME + _ZThn4_N27eapol_wlan_authentication_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1998 NONAME + _ZThn4_N27eapol_wlan_authentication_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 1999 NONAME + _ZThn4_N27eapol_wlan_authentication_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 2000 NONAME + _ZThn4_N27eapol_wlan_authentication_c12cancel_timerEP20abs_eap_base_timer_cm @ 2001 NONAME + _ZThn4_N27eapol_wlan_authentication_c13get_is_clientEv @ 2002 NONAME + _ZThn4_N27eapol_wlan_authentication_c13unload_moduleE19eap_expanded_type_c @ 2003 NONAME + _ZThn4_N27eapol_wlan_authentication_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 2004 NONAME + _ZThn4_N27eapol_wlan_authentication_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 2005 NONAME + _ZThn4_N27eapol_wlan_authentication_c17cancel_all_timersEv @ 2006 NONAME + _ZThn4_N27eapol_wlan_authentication_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 2007 NONAME + _ZThn4_N27eapol_wlan_authentication_c17get_header_offsetEPmS0_ @ 2008 NONAME + _ZThn4_N27eapol_wlan_authentication_c18state_notificationEPK28abs_eap_state_notification_c @ 2009 NONAME + _ZThn4_N27eapol_wlan_authentication_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 2010 NONAME + _ZThn4_N27eapol_wlan_authentication_c23packet_data_session_keyEPK19eap_am_network_id_cPK19eapol_session_key_c @ 2011 NONAME + _ZThn4_N27eapol_wlan_authentication_c9set_timerEP20abs_eap_base_timer_cmPvm @ 2012 NONAME + _ZThn4_N27eapol_wlan_authentication_cD1Ev @ 2013 NONAME + _ZThn4_N35eapol_message_wlan_authentication_c13timer_expiredEmPv @ 2014 NONAME + _ZThn4_N35eapol_message_wlan_authentication_c17timer_delete_dataEmPv @ 2015 NONAME + _ZThn4_N35eapol_message_wlan_authentication_cD0Ev @ 2016 NONAME + _ZThn4_N35eapol_message_wlan_authentication_cD1Ev @ 2017 NONAME + _ZThn4_NK10eap_core_c19get_is_tunneled_eapEv @ 2018 NONAME + _ZThn536_N22eap_am_tools_symbian_cD0Ev @ 2019 NONAME + _ZThn536_N22eap_am_tools_symbian_cD1Ev @ 2020 NONAME + _ZThn8_N10eap_core_c13timer_expiredEmPv @ 2021 NONAME + _ZThn8_N10eap_core_c17timer_delete_dataEmPv @ 2022 NONAME + _ZThn8_N10eap_core_cD0Ev @ 2023 NONAME + _ZThn8_N10eap_core_cD1Ev @ 2024 NONAME + _ZThn8_N12eapol_core_c12get_is_validEv @ 2025 NONAME + _ZThn8_N12eapol_core_c12set_is_validEv @ 2026 NONAME + _ZThn8_N12eapol_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 2027 NONAME + _ZThn8_N12eapol_core_c8shutdownEv @ 2028 NONAME + _ZThn8_N12eapol_core_c9configureEv @ 2029 NONAME + _ZThn8_N12eapol_core_cD0Ev @ 2030 NONAME + _ZThn8_N12eapol_core_cD1Ev @ 2031 NONAME + _ZThn8_N18eap_session_core_c13timer_expiredEmPv @ 2032 NONAME + _ZThn8_N18eap_session_core_c17timer_delete_dataEmPv @ 2033 NONAME + _ZThn8_N18eap_session_core_cD0Ev @ 2034 NONAME + _ZThn8_N18eap_session_core_cD1Ev @ 2035 NONAME + _ZThn8_N27eapol_wlan_authentication_c13timer_expiredEmPv @ 2036 NONAME + _ZThn8_N27eapol_wlan_authentication_c17timer_delete_dataEmPv @ 2037 NONAME + _ZThn8_N27eapol_wlan_authentication_cD1Ev @ 2038 NONAME + _ZThn8_N35eapol_message_wlan_authentication_cD0Ev @ 2039 NONAME + _ZThn8_N35eapol_message_wlan_authentication_cD1Ev @ 2040 NONAME + _ZThn8_NK35eapol_message_wlan_authentication_c34get_wlan_database_reference_valuesEP19eap_variable_data_c @ 2041 NONAME diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/EapAuthServeru.def --- a/eapol/eapol_framework/eapol_symbian/eabi/EapAuthServeru.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,222 +0,0 @@ -EXPORTS - _Z18new_eap_am_stack_cP18abs_eap_am_tools_cb @ 1 NONAME - _ZN11EapClientIf19GetServerNameAndExeEP4TBufILi24EES2_ @ 2 NONAME - _ZN11EapClientIfC1Ev @ 3 NONAME - _ZN11EapClientIfC2Ev @ 4 NONAME - _ZN11EapClientIfD0Ev @ 5 NONAME - _ZN11EapClientIfD1Ev @ 6 NONAME - _ZN11EapClientIfD2Ev @ 7 NONAME - _ZN13CEapScheduler11ThreadStartERNS_12TServerStartE @ 8 NONAME - _ZN13CEapScheduler16LaunchFromClientE4TBufILi24EE @ 9 NONAME - _ZN13CEapScheduler4NewLEv @ 10 NONAME - _ZN22eap_am_stack_symbian_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 11 NONAME - _ZN22eap_am_stack_symbian_c11set_partnerEP18abs_eap_am_stack_cP26abs_eap_configuration_if_c @ 12 NONAME - _ZN22eap_am_stack_symbian_c12cancel_timerEP20abs_eap_base_timer_cm @ 13 NONAME - _ZN22eap_am_stack_symbian_c12get_is_validEv @ 14 NONAME - _ZN22eap_am_stack_symbian_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 15 NONAME - _ZN22eap_am_stack_symbian_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 16 NONAME - _ZN22eap_am_stack_symbian_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 17 NONAME - _ZN22eap_am_stack_symbian_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 18 NONAME - _ZN22eap_am_stack_symbian_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 19 NONAME - _ZN22eap_am_stack_symbian_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 20 NONAME - _ZN22eap_am_stack_symbian_c8shutdownEv @ 21 NONAME - _ZN22eap_am_stack_symbian_c9configureEPK19eap_variable_data_c @ 22 NONAME - _ZN22eap_am_stack_symbian_c9set_timerEP20abs_eap_base_timer_cmPvm @ 23 NONAME - _ZN22eap_am_stack_symbian_cC1EP18abs_eap_am_tools_cb @ 24 NONAME - _ZN22eap_am_stack_symbian_cC2EP18abs_eap_am_tools_cb @ 25 NONAME - _ZN22eap_am_stack_symbian_cD0Ev @ 26 NONAME - _ZN22eap_am_stack_symbian_cD1Ev @ 27 NONAME - _ZN22eap_am_stack_symbian_cD2Ev @ 28 NONAME - _ZN24eapol_key_state_string_c26get_eapol_key_state_stringE17eapol_key_state_e @ 29 NONAME - _ZN24eapol_key_state_string_c35get_eapol_key_handshake_type_stringE26eapol_key_handshake_type_e @ 30 NONAME - _ZN24eapol_key_state_string_c36get_eapol_key_descriptor_type_stringE27eapol_key_descriptor_type_e @ 31 NONAME - _ZN24eapol_key_state_string_c40get_eapol_key_authentication_type_stringE31eapol_key_authentication_type_e @ 32 NONAME - _ZN24eapol_key_state_string_cC1Ev @ 33 NONAME - _ZN24eapol_key_state_string_cC2Ev @ 34 NONAME - _ZN24eapol_key_state_string_cD0Ev @ 35 NONAME - _ZN24eapol_key_state_string_cD1Ev @ 36 NONAME - _ZN24eapol_key_state_string_cD2Ev @ 37 NONAME - _ZN28eap_core_server_message_if_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 38 NONAME - _ZN28eap_core_server_message_if_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 39 NONAME - _ZN28eap_core_server_message_if_c11set_partnerEP23abs_eap_am_message_if_c @ 40 NONAME - _ZN28eap_core_server_message_if_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 41 NONAME - _ZN28eap_core_server_message_if_c12cancel_timerEP20abs_eap_base_timer_cm @ 42 NONAME - _ZN28eap_core_server_message_if_c12get_is_validEv @ 43 NONAME - _ZN28eap_core_server_message_if_c12process_dataEPKvm @ 44 NONAME - _ZN28eap_core_server_message_if_c12send_messageEP30eap_process_tlv_message_data_c @ 45 NONAME - _ZN28eap_core_server_message_if_c12set_is_validEv @ 46 NONAME - _ZN28eap_core_server_message_if_c13timer_expiredEmPv @ 47 NONAME - _ZN28eap_core_server_message_if_c13unload_moduleE19eap_expanded_type_c @ 48 NONAME - _ZN28eap_core_server_message_if_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 49 NONAME - _ZN28eap_core_server_message_if_c15eap_acknowledgeEPK11eap_array_cI16eap_tlv_header_cE @ 50 NONAME - _ZN28eap_core_server_message_if_c15process_messageEP30eap_process_tlv_message_data_c @ 51 NONAME - _ZN28eap_core_server_message_if_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 52 NONAME - _ZN28eap_core_server_message_if_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 53 NONAME - _ZN28eap_core_server_message_if_c17get_header_offsetEPmS0_ @ 54 NONAME - _ZN28eap_core_server_message_if_c17timer_delete_dataEmPv @ 55 NONAME - _ZN28eap_core_server_message_if_c18send_error_messageE12eap_status_e31eap_tlv_message_type_function_e @ 56 NONAME - _ZN28eap_core_server_message_if_c18state_notificationEPK28abs_eap_state_notification_c @ 57 NONAME - _ZN28eap_core_server_message_if_c19set_session_timeoutEm @ 58 NONAME - _ZN28eap_core_server_message_if_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 59 NONAME - _ZN28eap_core_server_message_if_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 60 NONAME - _ZN28eap_core_server_message_if_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 61 NONAME - _ZN28eap_core_server_message_if_c26process_message_type_errorEPK11eap_array_cI16eap_tlv_header_cE @ 62 NONAME - _ZN28eap_core_server_message_if_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 63 NONAME - _ZN28eap_core_server_message_if_c30get_802_11_authentication_modeEPK11eap_array_cI16eap_tlv_header_cE @ 64 NONAME - _ZN28eap_core_server_message_if_c33asynchronous_start_authenticationEPK19eap_am_network_id_cb @ 65 NONAME - _ZN28eap_core_server_message_if_c36asynchronous_init_remove_eap_sessionEPK19eap_am_network_id_c @ 66 NONAME - _ZN28eap_core_server_message_if_c39complete_get_802_11_authentication_modeE12eap_status_ePK19eap_am_network_id_c38eapol_key_802_11_authentication_mode_e @ 67 NONAME - _ZN28eap_core_server_message_if_c7eap_mtuEPK11eap_array_cI16eap_tlv_header_cE @ 68 NONAME - _ZN28eap_core_server_message_if_c8shutdownEv @ 69 NONAME - _ZN28eap_core_server_message_if_c9configureEPK19eap_variable_data_c @ 70 NONAME - _ZN28eap_core_server_message_if_c9set_timerEP20abs_eap_base_timer_cmPvm @ 71 NONAME - _ZN28eap_core_server_message_if_cC1EP18abs_eap_am_tools_cbm @ 72 NONAME - _ZN28eap_core_server_message_if_cC2EP18abs_eap_am_tools_cbm @ 73 NONAME - _ZN28eap_core_server_message_if_cD0Ev @ 74 NONAME - _ZN28eap_core_server_message_if_cD1Ev @ 75 NONAME - _ZN28eap_core_server_message_if_cD2Ev @ 76 NONAME - _ZN30eap_plugin_server_message_if_c11set_partnerEP23abs_eap_am_message_if_c @ 77 NONAME - _ZN30eap_plugin_server_message_if_c12get_is_validEv @ 78 NONAME - _ZN30eap_plugin_server_message_if_c12process_dataEPKvm @ 79 NONAME - _ZN30eap_plugin_server_message_if_c12send_messageEP30eap_process_tlv_message_data_c @ 80 NONAME - _ZN30eap_plugin_server_message_if_c12set_is_validEv @ 81 NONAME - _ZN30eap_plugin_server_message_if_c13timer_expiredEmPv @ 82 NONAME - _ZN30eap_plugin_server_message_if_c15process_messageEP30eap_process_tlv_message_data_c @ 83 NONAME - _ZN30eap_plugin_server_message_if_c17timer_delete_dataEmPv @ 84 NONAME - _ZN30eap_plugin_server_message_if_c18complete_invoke_uiEPK21eap_method_settings_c @ 85 NONAME - _ZN30eap_plugin_server_message_if_c18complete_set_indexEPK21eap_method_settings_c @ 86 NONAME - _ZN30eap_plugin_server_message_if_c18send_error_messageE12eap_status_e31eap_tlv_message_type_function_e @ 87 NONAME - _ZN30eap_plugin_server_message_if_c22complete_get_type_infoEPK21eap_method_settings_c @ 88 NONAME - _ZN30eap_plugin_server_message_if_c26complete_get_configurationEPK21eap_method_settings_c @ 89 NONAME - _ZN30eap_plugin_server_message_if_c26complete_set_configurationEPK21eap_method_settings_c @ 90 NONAME - _ZN30eap_plugin_server_message_if_c26process_message_type_errorEPK11eap_array_cI16eap_tlv_header_cE @ 91 NONAME - _ZN30eap_plugin_server_message_if_c27complete_copy_configurationEPK21eap_method_settings_c @ 92 NONAME - _ZN30eap_plugin_server_message_if_c29complete_delete_configurationEPK21eap_method_settings_c @ 93 NONAME - _ZN30eap_plugin_server_message_if_c8shutdownEv @ 94 NONAME - _ZN30eap_plugin_server_message_if_c9configureEPK19eap_variable_data_c @ 95 NONAME - _ZN30eap_plugin_server_message_if_cC1EP18abs_eap_am_tools_c @ 96 NONAME - _ZN30eap_plugin_server_message_if_cC2EP18abs_eap_am_tools_c @ 97 NONAME - _ZN30eap_plugin_server_message_if_cD0Ev @ 98 NONAME - _ZN30eap_plugin_server_message_if_cD1Ev @ 99 NONAME - _ZN30eap_plugin_server_message_if_cD2Ev @ 100 NONAME - _ZN40eap_general_settings_server_message_if_c11set_partnerEP23abs_eap_am_message_if_c @ 101 NONAME - _ZN40eap_general_settings_server_message_if_c12get_is_validEv @ 102 NONAME - _ZN40eap_general_settings_server_message_if_c12process_dataEPKvm @ 103 NONAME - _ZN40eap_general_settings_server_message_if_c12send_messageEP30eap_process_tlv_message_data_c @ 104 NONAME - _ZN40eap_general_settings_server_message_if_c12set_is_validEv @ 105 NONAME - _ZN40eap_general_settings_server_message_if_c13timer_expiredEmPv @ 106 NONAME - _ZN40eap_general_settings_server_message_if_c15process_messageEP30eap_process_tlv_message_data_c @ 107 NONAME - _ZN40eap_general_settings_server_message_if_c17timer_delete_dataEmPv @ 108 NONAME - _ZN40eap_general_settings_server_message_if_c18send_error_messageE12eap_status_e31eap_tlv_message_type_function_e @ 109 NONAME - _ZN40eap_general_settings_server_message_if_c24complete_get_eap_methodsEPK21eap_method_settings_c @ 110 NONAME - _ZN40eap_general_settings_server_message_if_c24complete_set_eap_methodsEPK21eap_method_settings_c @ 111 NONAME - _ZN40eap_general_settings_server_message_if_c26process_message_type_errorEPK11eap_array_cI16eap_tlv_header_cE @ 112 NONAME - _ZN40eap_general_settings_server_message_if_c30complete_get_certificate_listsEPK21eap_method_settings_c @ 113 NONAME - _ZN40eap_general_settings_server_message_if_c32complete_delete_all_eap_settingsEPK21eap_method_settings_c @ 114 NONAME - _ZN40eap_general_settings_server_message_if_c8shutdownEv @ 115 NONAME - _ZN40eap_general_settings_server_message_if_c9configureEPK19eap_variable_data_c @ 116 NONAME - _ZN40eap_general_settings_server_message_if_cC1EP18abs_eap_am_tools_c @ 117 NONAME - _ZN40eap_general_settings_server_message_if_cC2EP18abs_eap_am_tools_c @ 118 NONAME - _ZN40eap_general_settings_server_message_if_cD0Ev @ 119 NONAME - _ZN40eap_general_settings_server_message_if_cD1Ev @ 120 NONAME - _ZN40eap_general_settings_server_message_if_cD2Ev @ 121 NONAME - _ZTI10CEapCoreIf @ 122 NONAME - _ZTI10CEapServer @ 123 NONAME - _ZTI11CEapSession @ 124 NONAME - _ZTI11EapClientIf @ 125 NONAME - _ZTI12CEapPluginIf @ 126 NONAME - _ZTI13CEapScheduler @ 127 NONAME - _ZTI14CEapSettingsIf @ 128 NONAME - _ZTI17eap_loaded_type_c @ 129 NONAME - _ZTI19CEapDelayedShutdown @ 130 NONAME - _ZTI19eap_method_values_c @ 131 NONAME - _ZTI21eap_method_settings_c @ 132 NONAME - _ZTI22CEapTlsPeapCertFetcher @ 133 NONAME - _ZTI22eap_am_stack_symbian_c @ 134 NONAME - _ZTI23eap_am_plugin_symbian_c @ 135 NONAME - _ZTI23eap_certificate_entry_c @ 136 NONAME - _ZTI24CEapServerProcessHandler @ 137 NONAME - _ZTI24eapol_key_state_string_c @ 138 NONAME - _ZTI28eap_core_server_message_if_c @ 139 NONAME - _ZTI30eap_plugin_server_message_if_c @ 140 NONAME - _ZTI33eap_am_general_settings_symbian_c @ 141 NONAME - _ZTI40eap_general_settings_server_message_if_c @ 142 NONAME - _ZTV10CEapCoreIf @ 143 NONAME - _ZTV10CEapServer @ 144 NONAME - _ZTV11CEapSession @ 145 NONAME - _ZTV11EapClientIf @ 146 NONAME - _ZTV12CEapPluginIf @ 147 NONAME - _ZTV13CEapScheduler @ 148 NONAME - _ZTV14CEapSettingsIf @ 149 NONAME - _ZTV17eap_loaded_type_c @ 150 NONAME - _ZTV19CEapDelayedShutdown @ 151 NONAME - _ZTV19eap_method_values_c @ 152 NONAME - _ZTV21eap_method_settings_c @ 153 NONAME - _ZTV22CEapTlsPeapCertFetcher @ 154 NONAME - _ZTV22eap_am_stack_symbian_c @ 155 NONAME - _ZTV23eap_am_plugin_symbian_c @ 156 NONAME - _ZTV23eap_certificate_entry_c @ 157 NONAME - _ZTV24CEapServerProcessHandler @ 158 NONAME - _ZTV24eapol_key_state_string_c @ 159 NONAME - _ZTV28eap_core_server_message_if_c @ 160 NONAME - _ZTV30eap_plugin_server_message_if_c @ 161 NONAME - _ZTV33eap_am_general_settings_symbian_c @ 162 NONAME - _ZTV40eap_general_settings_server_message_if_c @ 163 NONAME - _ZThn12_N28eap_core_server_message_if_c39complete_get_802_11_authentication_modeE12eap_status_ePK19eap_am_network_id_c38eapol_key_802_11_authentication_mode_e @ 164 NONAME - _ZThn12_N28eap_core_server_message_if_cD0Ev @ 165 NONAME - _ZThn12_N28eap_core_server_message_if_cD1Ev @ 166 NONAME - _ZThn28_N22eap_am_stack_symbian_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 167 NONAME - _ZThn28_N22eap_am_stack_symbian_c11set_partnerEP18abs_eap_am_stack_cP26abs_eap_configuration_if_c @ 168 NONAME - _ZThn28_N22eap_am_stack_symbian_c12cancel_timerEP20abs_eap_base_timer_cm @ 169 NONAME - _ZThn28_N22eap_am_stack_symbian_c12get_is_validEv @ 170 NONAME - _ZThn28_N22eap_am_stack_symbian_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 171 NONAME - _ZThn28_N22eap_am_stack_symbian_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 172 NONAME - _ZThn28_N22eap_am_stack_symbian_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 173 NONAME - _ZThn28_N22eap_am_stack_symbian_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_e @ 174 NONAME - _ZThn28_N22eap_am_stack_symbian_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 175 NONAME - _ZThn28_N22eap_am_stack_symbian_c8shutdownEv @ 176 NONAME - _ZThn28_N22eap_am_stack_symbian_c9configureEPK19eap_variable_data_c @ 177 NONAME - _ZThn28_N22eap_am_stack_symbian_c9set_timerEP20abs_eap_base_timer_cmPvm @ 178 NONAME - _ZThn28_N22eap_am_stack_symbian_cD0Ev @ 179 NONAME - _ZThn28_N22eap_am_stack_symbian_cD1Ev @ 180 NONAME - _ZThn32_N22eap_am_stack_symbian_c26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 181 NONAME - _ZThn32_N22eap_am_stack_symbian_cD0Ev @ 182 NONAME - _ZThn32_N22eap_am_stack_symbian_cD1Ev @ 183 NONAME - _ZThn4_N28eap_core_server_message_if_c11set_partnerEP23abs_eap_am_message_if_c @ 184 NONAME - _ZThn4_N28eap_core_server_message_if_c12get_is_validEv @ 185 NONAME - _ZThn4_N28eap_core_server_message_if_c12process_dataEPKvm @ 186 NONAME - _ZThn4_N28eap_core_server_message_if_c8shutdownEv @ 187 NONAME - _ZThn4_N28eap_core_server_message_if_c9configureEPK19eap_variable_data_c @ 188 NONAME - _ZThn4_N28eap_core_server_message_if_cD0Ev @ 189 NONAME - _ZThn4_N28eap_core_server_message_if_cD1Ev @ 190 NONAME - _ZThn4_N30eap_plugin_server_message_if_c11set_partnerEP23abs_eap_am_message_if_c @ 191 NONAME - _ZThn4_N30eap_plugin_server_message_if_c12get_is_validEv @ 192 NONAME - _ZThn4_N30eap_plugin_server_message_if_c12process_dataEPKvm @ 193 NONAME - _ZThn4_N30eap_plugin_server_message_if_c8shutdownEv @ 194 NONAME - _ZThn4_N30eap_plugin_server_message_if_c9configureEPK19eap_variable_data_c @ 195 NONAME - _ZThn4_N30eap_plugin_server_message_if_cD0Ev @ 196 NONAME - _ZThn4_N30eap_plugin_server_message_if_cD1Ev @ 197 NONAME - _ZThn4_N40eap_general_settings_server_message_if_c11set_partnerEP23abs_eap_am_message_if_c @ 198 NONAME - _ZThn4_N40eap_general_settings_server_message_if_c12get_is_validEv @ 199 NONAME - _ZThn4_N40eap_general_settings_server_message_if_c12process_dataEPKvm @ 200 NONAME - _ZThn4_N40eap_general_settings_server_message_if_c8shutdownEv @ 201 NONAME - _ZThn4_N40eap_general_settings_server_message_if_c9configureEPK19eap_variable_data_c @ 202 NONAME - _ZThn4_N40eap_general_settings_server_message_if_cD0Ev @ 203 NONAME - _ZThn4_N40eap_general_settings_server_message_if_cD1Ev @ 204 NONAME - _ZThn8_N28eap_core_server_message_if_c13timer_expiredEmPv @ 205 NONAME - _ZThn8_N28eap_core_server_message_if_c17timer_delete_dataEmPv @ 206 NONAME - _ZThn8_N28eap_core_server_message_if_cD0Ev @ 207 NONAME - _ZThn8_N28eap_core_server_message_if_cD1Ev @ 208 NONAME - _ZThn8_N30eap_plugin_server_message_if_c13timer_expiredEmPv @ 209 NONAME - _ZThn8_N30eap_plugin_server_message_if_c17timer_delete_dataEmPv @ 210 NONAME - _ZThn8_N30eap_plugin_server_message_if_cD0Ev @ 211 NONAME - _ZThn8_N30eap_plugin_server_message_if_cD1Ev @ 212 NONAME - _ZThn8_N40eap_general_settings_server_message_if_c13timer_expiredEmPv @ 213 NONAME - _ZThn8_N40eap_general_settings_server_message_if_c17timer_delete_dataEmPv @ 214 NONAME - _ZThn8_N40eap_general_settings_server_message_if_cD0Ev @ 215 NONAME - _ZThn8_N40eap_general_settings_server_message_if_cD1Ev @ 216 NONAME - _ZTI16CEapserverBackup @ 217 NONAME - _ZTV16CEapserverBackup @ 218 NONAME - _ZN40eap_general_settings_server_message_if_c30complete_copy_all_eap_settingsEPK21eap_method_settings_c @ 219 NONAME - _ZN28eap_core_server_message_if_c27complete_remove_eap_sessionEbPK19eap_am_network_id_c @ 220 NONAME - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/eap_notifieru.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eap_notifieru.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -EXPORTS - _ZN16CEapAuthNotifier4NewLER21MNotificationCallback @ 1 NONAME - _ZN16CEapAuthNotifier6CancelEv @ 2 NONAME - _ZN16CEapAuthNotifier6StartLENS_16EEapNotifierTypeEPNS_14TEapDialogInfoER16TEapExpandedType @ 3 NONAME - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/eapakau.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapakau.def Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapakau.def Wed Sep 01 12:23:57 2010 +0100 @@ -1,344 +1,3 @@ EXPORTS _Z24ImplementationGroupProxyRi @ 1 NONAME - _ZN12aka_header_c11set_subtypeE13aka_subtype_e @ 2 NONAME - _ZN12aka_header_c12reset_headerEmb @ 3 NONAME - _ZN12aka_header_c12set_reservedEt @ 4 NONAME - _ZN12aka_header_c15set_data_lengthEmb @ 5 NONAME - _ZN12aka_header_cC1EP18abs_eap_am_tools_cPhm @ 6 NONAME - _ZN12aka_header_cC2EP18abs_eap_am_tools_cPhm @ 7 NONAME - _ZN12aka_header_cD0Ev @ 8 NONAME - _ZN12aka_header_cD1Ev @ 9 NONAME - _ZN12aka_header_cD2Ev @ 10 NONAME - _ZN14aka_payloads_c14check_payloadsENS_24eap_aka_payload_status_eES0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_ @ 11 NONAME - _ZN14aka_payloads_c17check_one_payloadENS_24eap_aka_payload_status_eEPK19aka_variable_data_c @ 12 NONAME - _ZN14aka_payloads_c30get_includes_unknown_attributeEv @ 13 NONAME - _ZN14aka_payloads_c30set_includes_unknown_attributeE21aka_payload_AT_type_e @ 14 NONAME - _ZN14aka_payloads_c33get_includes_other_version_than_1Ev @ 15 NONAME - _ZN14aka_payloads_c33set_includes_other_version_than_1Eb @ 16 NONAME - _ZN14aka_payloads_cC1EP18abs_eap_am_tools_c @ 17 NONAME - _ZN14aka_payloads_cC2EP18abs_eap_am_tools_c @ 18 NONAME - _ZN14aka_payloads_cD0Ev @ 19 NONAME - _ZN14aka_payloads_cD1Ev @ 20 NONAME - _ZN14aka_payloads_cD2Ev @ 21 NONAME - _ZN14eap_type_aka_c11new_handlerEPK19eap_am_network_id_cb @ 22 NONAME - _ZN14eap_type_aka_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 23 NONAME - _ZN14eap_type_aka_c12cancel_timerEP20abs_eap_base_timer_cm @ 24 NONAME - _ZN14eap_type_aka_c12generate_naiEP19eap_variable_data_cbPKS0_S3_bS3_S3_m @ 25 NONAME - _ZN14eap_type_aka_c12get_is_validEv @ 26 NONAME - _ZN14eap_type_aka_c12set_is_validEv @ 27 NONAME - _ZN14eap_type_aka_c13get_is_clientEv @ 28 NONAME - _ZN14eap_type_aka_c13get_nai_realmEv @ 29 NONAME - _ZN14eap_type_aka_c13query_AKA_RESEP36eap_type_aka_authentication_vector_c @ 30 NONAME - _ZN14eap_type_aka_c13timer_expiredEmPv @ 31 NONAME - _ZN14eap_type_aka_c14checkcode_initEv @ 32 NONAME - _ZN14eap_type_aka_c14generate_nonceEmP19eap_variable_data_c @ 33 NONAME - _ZN14eap_type_aka_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 34 NONAME - _ZN14eap_type_aka_c14parse_identityEPKhm @ 35 NONAME - _ZN14eap_type_aka_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 36 NONAME - _ZN14eap_type_aka_c14store_identityEPK19eap_variable_data_cb @ 37 NONAME - _ZN14eap_type_aka_c15add_RES_payloadEP12aka_header_cmmPmS2_S2_S2_PK19eap_variable_data_c21aka_payload_AT_type_e @ 38 NONAME - _ZN14eap_type_aka_c15add_mac_payloadEP12aka_header_cmmPmS2_S2_S2_PPhS2_ @ 39 NONAME - _ZN14eap_type_aka_c15checkcode_finalEP19eap_variable_data_c @ 40 NONAME - _ZN14eap_type_aka_c15eap_acknowledgeEPK19eap_am_network_id_c @ 41 NONAME - _ZN14eap_type_aka_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 42 NONAME - _ZN14eap_type_aka_c16add_AUTS_payloadEP12aka_header_cmmPmS2_S2_S2_PK19eap_variable_data_c21aka_payload_AT_type_e @ 43 NONAME - _ZN14eap_type_aka_c16checkcode_updateEPKvm @ 44 NONAME - _ZN14eap_type_aka_c16checkcode_verifyEPK19eap_variable_data_c @ 45 NONAME - _ZN14eap_type_aka_c16get_state_stringE29eap_type_aka_state_variable_e @ 46 NONAME - _ZN14eap_type_aka_c16initialize_stateE29eap_type_aka_state_variable_ebb13aka_subtype_eS1_S1_S1_S1_ @ 47 NONAME - _ZN14eap_type_aka_c16parse_aka_packetEP12aka_header_cmP14aka_payloads_c @ 48 NONAME - _ZN14eap_type_aka_c16random_selectionEv @ 49 NONAME - _ZN14eap_type_aka_c17check_valid_stateE13aka_subtype_e @ 50 NONAME - _ZN14eap_type_aka_c17get_header_offsetEPmS0_ @ 51 NONAME - _ZN14eap_type_aka_c17handle_aka_packetEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 52 NONAME - _ZN14eap_type_aka_c17parse_aka_payloadEPK23aka_payload_AT_header_cPmP14aka_payloads_c13aka_subtype_e @ 53 NONAME - _ZN14eap_type_aka_c17timer_delete_dataEmPv @ 54 NONAME - _ZN14eap_type_aka_c18add_simple_payloadEP12aka_header_cmmPmS2_S2_S2_21aka_payload_AT_type_e @ 55 NONAME - _ZN14eap_type_aka_c18aka_packet_processEPK19eap_am_network_id_cP12aka_header_cmb @ 56 NONAME - _ZN14eap_type_aka_c18analyse_aka_packetEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 57 NONAME - _ZN14eap_type_aka_c18delete_unused_keysEv @ 58 NONAME - _ZN14eap_type_aka_c18get_state_variableEv @ 59 NONAME - _ZN14eap_type_aka_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 60 NONAME - _ZN14eap_type_aka_c18state_notificationEPK28abs_eap_state_notification_c @ 61 NONAME - _ZN14eap_type_aka_c19add_counter_payloadEP12aka_header_cmmPmS2_S2_S2_t @ 62 NONAME - _ZN14eap_type_aka_c19add_padding_payloadEP12aka_header_cmmPmS2_S2_S2_m @ 63 NONAME - _ZN14eap_type_aka_c19get_identity_stringE26eap_type_aka_identity_type @ 64 NONAME - _ZN14eap_type_aka_c19handle_DATA_payloadE13aka_subtype_eP14aka_payloads_c @ 65 NONAME - _ZN14eap_type_aka_c19handle_error_packetEv @ 66 NONAME - _ZN14eap_type_aka_c19process_AKA_kc_sresEPK36eap_type_aka_authentication_vector_c @ 67 NONAME - _ZN14eap_type_aka_c20add_variable_payloadEP12aka_header_cmmPmS2_S2_S2_PK19eap_variable_data_c21aka_payload_AT_type_e @ 68 NONAME - _ZN14eap_type_aka_c20decrypt_DATA_payloadEP14aka_payloads_cPK19eap_variable_data_c @ 69 NONAME - _ZN14eap_type_aka_c20encrypt_DATA_payloadEPhmPK19eap_variable_data_cS3_ @ 70 NONAME - _ZN14eap_type_aka_c21parse_generic_payloadE21aka_payload_AT_type_ePK23aka_payload_AT_header_cP14aka_payloads_c13aka_subtype_e @ 71 NONAME - _ZN14eap_type_aka_c21update_buffer_indexesEmmPmS0_ @ 72 NONAME - _ZN14eap_type_aka_c22complete_AKA_RES_queryEPK36eap_type_aka_authentication_vector_c12eap_status_e @ 73 NONAME - _ZN14eap_type_aka_c22update_payload_indexesEmmmPmS0_S0_S0_ @ 74 NONAME - _ZN14eap_type_aka_c23send_final_notificationEv @ 75 NONAME - _ZN14eap_type_aka_c24add_client_error_payloadEP12aka_header_cmmPmS2_S2_S2_27eap_aka_client_error_code_e @ 76 NONAME - _ZN14eap_type_aka_c24add_notification_payloadEP12aka_header_cmmPmS2_S2_S2_28eap_aka_notification_codes_e @ 77 NONAME - _ZN14eap_type_aka_c24initialize_error_messageE12eap_status_e @ 78 NONAME - _ZN14eap_type_aka_c25checkcode_verify_payloadsEP14aka_payloads_c @ 79 NONAME - _ZN14eap_type_aka_c25handle_eap_identity_queryEPK19eap_am_network_id_cP19eap_variable_data_chPKS3_S6_S6_S6_mb @ 80 NONAME - _ZN14eap_type_aka_c25handle_imsi_from_usernameEhPK19eap_am_network_id_cPK19eap_variable_data_cS5_26eap_type_aka_identity_type @ 81 NONAME - _ZN14eap_type_aka_c25process_re_syncronizationEhPK36eap_type_aka_authentication_vector_c @ 82 NONAME - _ZN14eap_type_aka_c26handle_notification_packetEv @ 83 NONAME - _ZN14eap_type_aka_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 84 NONAME - _ZN14eap_type_aka_c27complete_imsi_from_usernameEhPK19eap_am_network_id_cPK19eap_variable_data_cS5_26eap_type_aka_identity_type12eap_status_e23eap_type_aka_complete_e @ 85 NONAME - _ZN14eap_type_aka_c27generate_shared_secred_keysEmPK19eap_variable_data_cS2_PS0_S3_S3_S3_ @ 86 NONAME - _ZN14eap_type_aka_c28randomly_refuse_eap_identityEv @ 87 NONAME - _ZN14eap_type_aka_c29add_pseudonym_or_imsi_payloadEP12aka_header_cmmPmS2_S2_S2_PK19eap_variable_data_c21aka_payload_AT_type_e @ 88 NONAME - _ZN14eap_type_aka_c29checkcode_save_message_clientEPKvmP14aka_payloads_c @ 89 NONAME - _ZN14eap_type_aka_c29checkcode_save_message_serverEPKvm @ 90 NONAME - _ZN14eap_type_aka_c29compare_payload_first_is_lessEPK21aka_payload_AT_type_eS2_P18abs_eap_am_tools_c @ 91 NONAME - _ZN14eap_type_aka_c29send_aka_notification_requestE28eap_aka_notification_codes_eb @ 92 NONAME - _ZN14eap_type_aka_c29set_error_message_delay_timerEv @ 93 NONAME - _ZN14eap_type_aka_c30checkcode_update_saved_messageEv @ 94 NONAME - _ZN14eap_type_aka_c30send_aka_client_error_responseEv @ 95 NONAME - _ZN14eap_type_aka_c30send_aka_notification_responseE28eap_aka_notification_codes_eb @ 96 NONAME - _ZN14eap_type_aka_c30send_challenge_request_messageEh @ 97 NONAME - _ZN14eap_type_aka_c31initialize_notification_messageEv @ 98 NONAME - _ZN14eap_type_aka_c31query_AKA_authentication_vectorEhP26eap_type_aka_identity_type @ 99 NONAME - _ZN14eap_type_aka_c31send_challenge_response_messageEP19eap_variable_data_c @ 100 NONAME - _ZN14eap_type_aka_c32cancel_error_message_delay_timerEv @ 101 NONAME - _ZN14eap_type_aka_c32check_challenge_response_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 102 NONAME - _ZN14eap_type_aka_c32complete_re_syncronization_queryEhPK36eap_type_aka_authentication_vector_c @ 103 NONAME - _ZN14eap_type_aka_c32finish_successful_authenticationEPK19eap_am_network_id_c @ 104 NONAME - _ZN14eap_type_aka_c32handle_challenge_request_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 105 NONAME - _ZN14eap_type_aka_c32handle_identity_response_messageEP15eap_header_rd_cm @ 106 NONAME - _ZN14eap_type_aka_c33check_message_authentication_codeEPK19eap_variable_data_cP14aka_payloads_cPK12aka_header_cm @ 107 NONAME - _ZN14eap_type_aka_c33handle_challenge_response_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 108 NONAME - _ZN14eap_type_aka_c33send_aka_identity_request_messageEbh @ 109 NONAME - _ZN14eap_type_aka_c34create_message_authentication_codeEP29eap_type_aka_MAC_attributes_c13aka_subtype_e16eap_code_value_ePK19eap_variable_data_c @ 110 NONAME - _ZN14eap_type_aka_c34generate_reauth_shared_secred_keysEmPK19eap_variable_data_cmS2_S2_PS0_ @ 111 NONAME - _ZN14eap_type_aka_c34send_aka_identity_response_messageEPK19eap_am_network_id_ch21aka_payload_AT_type_ePK19eap_variable_data_c @ 112 NONAME - _ZN14eap_type_aka_c35handle_aka_identity_request_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 113 NONAME - _ZN14eap_type_aka_c36handle_aka_identity_response_messageEP12aka_header_cmP14aka_payloads_c @ 114 NONAME - _ZN14eap_type_aka_c36handle_client_error_response_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 115 NONAME - _ZN14eap_type_aka_c36handle_notification_response_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 116 NONAME - _ZN14eap_type_aka_c36set_notification_message_delay_timerEv @ 117 NONAME - _ZN14eap_type_aka_c37send_reauthentication_request_messageEPK19eap_variable_data_cbh @ 118 NONAME - _ZN14eap_type_aka_c38send_reauthentication_response_messageEPK19eap_variable_data_cS2_S2_S2_S2_thb @ 119 NONAME - _ZN14eap_type_aka_c39cancel_notification_message_delay_timerEv @ 120 NONAME - _ZN14eap_type_aka_c39extra_message_authentication_code_bytesE13aka_subtype_e16eap_code_value_eP13crypto_hmac_c @ 121 NONAME - _ZN14eap_type_aka_c39handle_aka_notification_request_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 122 NONAME - _ZN14eap_type_aka_c39handle_reauthentication_request_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 123 NONAME - _ZN14eap_type_aka_c40complete_AKA_authentication_vector_queryEP36eap_type_aka_authentication_vector_cPK19eap_variable_data_c38eap_aka_authentication_vector_status_e26eap_type_aka_identity_type12eap_status_eh @ 124 NONAME - _ZN14eap_type_aka_c40handle_reauthentication_response_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 125 NONAME - _ZN14eap_type_aka_c46check_synchronization_failure_response_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 126 NONAME - _ZN14eap_type_aka_c47handle_aka_identity_response_message_completionEh12eap_status_e26eap_type_aka_identity_typeb @ 127 NONAME - _ZN14eap_type_aka_c47handle_synchronization_failure_response_messageEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 128 NONAME - _ZN14eap_type_aka_c47send_aka_authentication_reject_response_messageEPK36eap_type_aka_authentication_vector_c @ 129 NONAME - _ZN14eap_type_aka_c49send_aka_synchronization_failure_response_messageEPK36eap_type_aka_authentication_vector_c @ 130 NONAME - _ZN14eap_type_aka_c50query_AKA_IMSI_or_pseudonym_or_reauthentication_idEP19eap_variable_data_cS1_S1_S1_Pmb21aka_payload_AT_type_e23eap_type_aka_complete_eh @ 131 NONAME - _ZN14eap_type_aka_c53handle_notification_response_message_reauthenticationEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 132 NONAME - _ZN14eap_type_aka_c56handle_aka_notification_request_message_reauthenticationEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 133 NONAME - _ZN14eap_type_aka_c56handle_notification_response_message_full_authenticationEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 134 NONAME - _ZN14eap_type_aka_c59complete_AKA_IMSI_or_pseudonym_or_reauthentication_id_queryEPK19eap_variable_data_cS2_S2_S2_m23eap_type_aka_complete_eh12eap_status_e @ 135 NONAME - _ZN14eap_type_aka_c59handle_aka_notification_request_message_full_authenticationEPK19eap_am_network_id_cP12aka_header_cmP14aka_payloads_c @ 136 NONAME - _ZN14eap_type_aka_c5resetEv @ 137 NONAME - _ZN14eap_type_aka_c8data_expEmP19eap_variable_data_cPKS0_S3_ @ 138 NONAME - _ZN14eap_type_aka_c8shutdownEv @ 139 NONAME - _ZN14eap_type_aka_c9check_NAIEPKhmS1_ @ 140 NONAME - _ZN14eap_type_aka_c9configureEv @ 141 NONAME - _ZN14eap_type_aka_c9set_timerEP20abs_eap_base_timer_cmPvm @ 142 NONAME - _ZN14eap_type_aka_cC1EP18abs_eap_am_tools_cP19abs_eap_base_type_cP17eap_am_type_aka_cbbPK19eap_am_network_id_c @ 143 NONAME - _ZN14eap_type_aka_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_cP17eap_am_type_aka_cbbPK19eap_am_network_id_c @ 144 NONAME - _ZN14eap_type_aka_cD0Ev @ 145 NONAME - _ZN14eap_type_aka_cD1Ev @ 146 NONAME - _ZN14eap_type_aka_cD2Ev @ 147 NONAME - _ZN16aka_fixed_data_c19get_original_headerEv @ 148 NONAME - _ZN16aka_fixed_data_c8set_dataEPK23aka_payload_AT_header_ctt @ 149 NONAME - _ZN16aka_fixed_data_cC1EP18abs_eap_am_tools_c @ 150 NONAME - _ZN16aka_fixed_data_cC2EP18abs_eap_am_tools_c @ 151 NONAME - _ZN16aka_fixed_data_cD0Ev @ 152 NONAME - _ZN16aka_fixed_data_cD1Ev @ 153 NONAME - _ZN16aka_fixed_data_cD2Ev @ 154 NONAME - _ZN19aka_variable_data_c10set_bufferEPK23aka_payload_AT_header_cPhmbb @ 155 NONAME - _ZN19aka_variable_data_c18get_payload_bufferEv @ 156 NONAME - _ZN19aka_variable_data_c5resetEv @ 157 NONAME - _ZN19aka_variable_data_cC1EP18abs_eap_am_tools_c @ 158 NONAME - _ZN19aka_variable_data_cC2EP18abs_eap_am_tools_c @ 159 NONAME - _ZN19aka_variable_data_cD0Ev @ 160 NONAME - _ZN19aka_variable_data_cD1Ev @ 161 NONAME - _ZN19aka_variable_data_cD2Ev @ 162 NONAME - _ZN23aka_payload_AT_header_c12reset_headerEt @ 163 NONAME - _ZN23aka_payload_AT_header_c12set_reservedEt @ 164 NONAME - _ZN23aka_payload_AT_header_c15set_data_lengthEt @ 165 NONAME - _ZN23aka_payload_AT_header_c17get_header_lengthEv @ 166 NONAME - _ZN23aka_payload_AT_header_c19set_current_payloadE21aka_payload_AT_type_e @ 167 NONAME - _ZN23aka_payload_AT_header_c21get_payload_AT_stringE21aka_payload_AT_type_e @ 168 NONAME - _ZN23aka_payload_AT_header_c27get_max_payload_data_lengthEv @ 169 NONAME - _ZN23aka_payload_AT_header_cC1EP18abs_eap_am_tools_cPvm @ 170 NONAME - _ZN23aka_payload_AT_header_cC2EP18abs_eap_am_tools_cPvm @ 171 NONAME - _ZN23aka_payload_AT_header_cD0Ev @ 172 NONAME - _ZN23aka_payload_AT_header_cD1Ev @ 173 NONAME - _ZN23aka_payload_AT_header_cD2Ev @ 174 NONAME - _ZN25eap_am_type_aka_symbian_c12get_is_validEv @ 175 NONAME - _ZN25eap_am_type_aka_symbian_c12set_is_validEv @ 176 NONAME - _ZN25eap_am_type_aka_symbian_c13query_AKA_RESEP36eap_type_aka_authentication_vector_c @ 177 NONAME - _ZN25eap_am_type_aka_symbian_c16is_session_validEv @ 178 NONAME - _ZN25eap_am_type_aka_symbian_c18complete_AKA_RES_LEP19eap_variable_data_cS1_S1_S1_12eap_status_eS2_ @ 179 NONAME - _ZN25eap_am_type_aka_symbian_c18store_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 180 NONAME - _ZN25eap_am_type_aka_symbian_c19complete_AKA_imsi_LEPK19eap_variable_data_c12eap_status_e @ 181 NONAME - _ZN25eap_am_type_aka_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 182 NONAME - _ZN25eap_am_type_aka_symbian_c20cancel_AKA_RES_queryEv @ 183 NONAME - _ZN25eap_am_type_aka_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 184 NONAME - _ZN25eap_am_type_aka_symbian_c21generate_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 185 NONAME - _ZN25eap_am_type_aka_symbian_c22generate_encryption_IVEP19eap_variable_data_cm @ 186 NONAME - _ZN25eap_am_type_aka_symbian_c23authentication_finishedEb29eap_aka_authentication_type_e26eap_type_aka_identity_type @ 187 NONAME - _ZN25eap_am_type_aka_symbian_c23handle_aka_notificationE28eap_aka_notification_codes_e @ 188 NONAME - _ZN25eap_am_type_aka_symbian_c23increase_reauth_counterEv @ 189 NONAME - _ZN25eap_am_type_aka_symbian_c23query_re_syncronizationEhP36eap_type_aka_authentication_vector_c @ 190 NONAME - _ZN25eap_am_type_aka_symbian_c23query_reauth_parametersEP19eap_variable_data_cS1_S1_Pm @ 191 NONAME - _ZN25eap_am_type_aka_symbian_c23store_reauth_parametersEPK19eap_variable_data_cS2_S2_m @ 192 NONAME - _ZN25eap_am_type_aka_symbian_c24query_imsi_from_usernameEhPK19eap_am_network_id_cPK19eap_variable_data_cPS3_P26eap_type_aka_identity_type23eap_type_aka_complete_e @ 193 NONAME - _ZN25eap_am_type_aka_symbian_c25store_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 194 NONAME - _ZN25eap_am_type_aka_symbian_c28generate_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 195 NONAME - _ZN25eap_am_type_aka_symbian_c31cancel_imsi_from_username_queryEv @ 196 NONAME - _ZN25eap_am_type_aka_symbian_c31query_AKA_authentication_vectorEPK19eap_variable_data_chPS0_P36eap_type_aka_authentication_vector_cP26eap_type_aka_identity_type @ 197 NONAME - _ZN25eap_am_type_aka_symbian_c38cancel_AKA_authentication_vector_queryEv @ 198 NONAME - _ZN25eap_am_type_aka_symbian_c4NewLEP18abs_eap_am_tools_cP19abs_eap_base_type_c10TIndexTypei19eap_expanded_type_cbPK19eap_am_network_id_c @ 199 NONAME - _ZN25eap_am_type_aka_symbian_c50query_AKA_IMSI_or_pseudonym_or_reauthentication_idEP19eap_variable_data_cS1_S1_S1_Pm21aka_payload_AT_type_e23eap_type_aka_complete_eh @ 200 NONAME - _ZN25eap_am_type_aka_symbian_c57cancel_AKA_IMSI_or_pseudonym_or_reauthentication_id_queryEv @ 201 NONAME - _ZN25eap_am_type_aka_symbian_c5resetEv @ 202 NONAME - _ZN25eap_am_type_aka_symbian_c8shutdownEv @ 203 NONAME - _ZN25eap_am_type_aka_symbian_c9configureEv @ 204 NONAME - _ZN25eap_am_type_aka_symbian_cD0Ev @ 205 NONAME - _ZN25eap_am_type_aka_symbian_cD1Ev @ 206 NONAME - _ZN25eap_am_type_aka_symbian_cD2Ev @ 207 NONAME - _ZN33eap_type_aka_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 208 NONAME - _ZN33eap_type_aka_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 209 NONAME - _ZN33eap_type_aka_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 210 NONAME - _ZN33eap_type_aka_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 211 NONAME - _ZN33eap_type_aka_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 212 NONAME - _ZN33eap_type_aka_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 213 NONAME - _ZN33eap_type_aka_state_notification_cD0Ev @ 214 NONAME - _ZN33eap_type_aka_state_notification_cD1Ev @ 215 NONAME - _ZN33eap_type_aka_state_notification_cD2Ev @ 216 NONAME - _ZN36eap_type_aka_authentication_vector_c17set_vector_statusE12eap_status_e @ 217 NONAME - _ZN36eap_type_aka_authentication_vector_c5resetEv @ 218 NONAME - _ZN36eap_type_aka_authentication_vector_cC1EP18abs_eap_am_tools_c @ 219 NONAME - _ZN36eap_type_aka_authentication_vector_cC2EP18abs_eap_am_tools_c @ 220 NONAME - _ZN36eap_type_aka_authentication_vector_cD0Ev @ 221 NONAME - _ZN36eap_type_aka_authentication_vector_cD1Ev @ 222 NONAME - _ZN36eap_type_aka_authentication_vector_cD2Ev @ 223 NONAME - _ZN40eap_type_aka_state_variable_parameters_c10init_stateEbb13aka_subtype_eS0_S0_S0_S0_ @ 224 NONAME - _ZN40eap_type_aka_state_variable_parameters_cC1Ev @ 225 NONAME - _ZN40eap_type_aka_state_variable_parameters_cC2Ev @ 226 NONAME - _ZN40eap_type_aka_state_variable_parameters_cD0Ev @ 227 NONAME - _ZN40eap_type_aka_state_variable_parameters_cD1Ev @ 228 NONAME - _ZN40eap_type_aka_state_variable_parameters_cD2Ev @ 229 NONAME - _ZNK12aka_header_c11get_subtypeEv @ 230 NONAME - _ZNK12aka_header_c12check_headerEv @ 231 NONAME - _ZNK12aka_header_c12get_reservedEv @ 232 NONAME - _ZNK12aka_header_c15get_code_stringEv @ 233 NONAME - _ZNK12aka_header_c15get_data_lengthEv @ 234 NONAME - _ZNK12aka_header_c15get_data_offsetEmm @ 235 NONAME - _ZNK12aka_header_c17get_header_lengthEv @ 236 NONAME - _ZNK12aka_header_c18get_subtype_stringEv @ 237 NONAME - _ZNK12aka_header_c19get_eap_type_stringEv @ 238 NONAME - _ZNK12aka_header_c19get_sub_type_offsetEv @ 239 NONAME - _ZNK12aka_header_c8get_dataEm @ 240 NONAME - _ZNK14aka_payloads_c12get_is_validEv @ 241 NONAME - _ZNK14eap_type_aka_c16get_state_stringEv @ 242 NONAME - _ZNK14eap_type_aka_c31get_saved_previous_state_stringEv @ 243 NONAME - _ZNK16aka_fixed_data_c12get_is_validEv @ 244 NONAME - _ZNK16aka_fixed_data_c8get_dataEP18abs_eap_am_tools_c @ 245 NONAME - _ZNK16aka_fixed_data_c8get_typeEP18abs_eap_am_tools_c @ 246 NONAME - _ZNK19aka_variable_data_c12get_is_validEv @ 247 NONAME - _ZNK19aka_variable_data_c15get_data_lengthEv @ 248 NONAME - _ZNK19aka_variable_data_c19get_original_headerEv @ 249 NONAME - _ZNK19aka_variable_data_c20get_payload_includedEv @ 250 NONAME - _ZNK19aka_variable_data_c8get_dataEm @ 251 NONAME - _ZNK23aka_payload_AT_header_c12check_headerEv @ 252 NONAME - _ZNK23aka_payload_AT_header_c12get_reservedEv @ 253 NONAME - _ZNK23aka_payload_AT_header_c15get_data_lengthEv @ 254 NONAME - _ZNK23aka_payload_AT_header_c15get_data_offsetEmm @ 255 NONAME - _ZNK23aka_payload_AT_header_c15get_next_headerEv @ 256 NONAME - _ZNK23aka_payload_AT_header_c18get_payload_lengthEv @ 257 NONAME - _ZNK23aka_payload_AT_header_c19get_current_payloadEv @ 258 NONAME - _ZNK23aka_payload_AT_header_c20get_reserved_pointerEm @ 259 NONAME - _ZNK23aka_payload_AT_header_c21get_payload_AT_stringEv @ 260 NONAME - _ZNK23aka_payload_AT_header_c8get_dataEm @ 261 NONAME - _ZNK36eap_type_aka_authentication_vector_c12get_is_validEv @ 262 NONAME - _ZNK36eap_type_aka_authentication_vector_c17get_vector_statusEv @ 263 NONAME - _ZNK36eap_type_aka_authentication_vector_c4copyEv @ 264 NONAME - _ZNK36eap_type_aka_authentication_vector_c6get_CKEv @ 265 NONAME - _ZNK36eap_type_aka_authentication_vector_c6get_IKEv @ 266 NONAME - _ZNK36eap_type_aka_authentication_vector_c7get_RESEv @ 267 NONAME - _ZNK36eap_type_aka_authentication_vector_c8get_AUTNEv @ 268 NONAME - _ZNK36eap_type_aka_authentication_vector_c8get_AUTSEv @ 269 NONAME - _ZNK36eap_type_aka_authentication_vector_c8get_RANDEv @ 270 NONAME - _ZNK40eap_type_aka_state_variable_parameters_c15check_initiatorEb @ 271 NONAME - _ZNK40eap_type_aka_state_variable_parameters_c17check_valid_typesE13aka_subtype_e @ 272 NONAME - _ZTI12CEapTypeInfo @ 273 NONAME - _ZTI12aka_header_c @ 274 NONAME - _ZTI14aka_payloads_c @ 275 NONAME - _ZTI14eap_type_aka_c @ 276 NONAME - _ZTI16CEapAkaInterface @ 277 NONAME - _ZTI16aka_fixed_data_c @ 278 NONAME - _ZTI19aka_variable_data_c @ 279 NONAME - _ZTI23aka_payload_AT_header_c @ 280 NONAME - _ZTI25eap_am_type_aka_symbian_c @ 281 NONAME - _ZTI29eap_type_aka_MAC_attributes_c @ 282 NONAME - _ZTI33eap_type_aka_state_notification_c @ 283 NONAME - _ZTI36eap_type_aka_authentication_vector_c @ 284 NONAME - _ZTI40eap_type_aka_state_variable_parameters_c @ 285 NONAME - _ZTI7CEapAka @ 286 NONAME - _ZTV12CEapTypeInfo @ 287 NONAME - _ZTV12aka_header_c @ 288 NONAME - _ZTV14aka_payloads_c @ 289 NONAME - _ZTV14eap_type_aka_c @ 290 NONAME - _ZTV16CEapAkaInterface @ 291 NONAME - _ZTV16aka_fixed_data_c @ 292 NONAME - _ZTV19aka_variable_data_c @ 293 NONAME - _ZTV23aka_payload_AT_header_c @ 294 NONAME - _ZTV25eap_am_type_aka_symbian_c @ 295 NONAME - _ZTV29eap_type_aka_MAC_attributes_c @ 296 NONAME - _ZTV33eap_type_aka_state_notification_c @ 297 NONAME - _ZTV36eap_type_aka_authentication_vector_c @ 298 NONAME - _ZTV40eap_type_aka_state_variable_parameters_c @ 299 NONAME - _ZTV7CEapAka @ 300 NONAME - _ZThn4_N14eap_type_aka_c13timer_expiredEmPv @ 301 NONAME - _ZThn4_N14eap_type_aka_c17timer_delete_dataEmPv @ 302 NONAME - _ZThn4_N14eap_type_aka_cD0Ev @ 303 NONAME - _ZThn4_N14eap_type_aka_cD1Ev @ 304 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c13query_AKA_RESEP36eap_type_aka_authentication_vector_c @ 305 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c18store_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 306 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 307 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c20cancel_AKA_RES_queryEv @ 308 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 309 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c21generate_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 310 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c22generate_encryption_IVEP19eap_variable_data_cm @ 311 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c23authentication_finishedEb29eap_aka_authentication_type_e26eap_type_aka_identity_type @ 312 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c23handle_aka_notificationE28eap_aka_notification_codes_e @ 313 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c23increase_reauth_counterEv @ 314 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c23query_re_syncronizationEhP36eap_type_aka_authentication_vector_c @ 315 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c23query_reauth_parametersEP19eap_variable_data_cS1_S1_Pm @ 316 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c23store_reauth_parametersEPK19eap_variable_data_cS2_S2_m @ 317 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c24query_imsi_from_usernameEhPK19eap_am_network_id_cPK19eap_variable_data_cPS3_P26eap_type_aka_identity_type23eap_type_aka_complete_e @ 318 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c25store_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 319 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c28generate_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 320 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c31cancel_imsi_from_username_queryEv @ 321 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c31query_AKA_authentication_vectorEPK19eap_variable_data_chPS0_P36eap_type_aka_authentication_vector_cP26eap_type_aka_identity_type @ 322 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c38cancel_AKA_authentication_vector_queryEv @ 323 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c50query_AKA_IMSI_or_pseudonym_or_reauthentication_idEP19eap_variable_data_cS1_S1_S1_Pm21aka_payload_AT_type_e23eap_type_aka_complete_eh @ 324 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c57cancel_AKA_IMSI_or_pseudonym_or_reauthentication_id_queryEv @ 325 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c5resetEv @ 326 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c8shutdownEv @ 327 NONAME - _ZThn4_N25eap_am_type_aka_symbian_c9configureEv @ 328 NONAME - _ZThn4_N25eap_am_type_aka_symbian_cD0Ev @ 329 NONAME - _ZThn4_N25eap_am_type_aka_symbian_cD1Ev @ 330 NONAME - _ZThn8_N14eap_type_aka_c12get_is_validEv @ 331 NONAME - _ZThn8_N14eap_type_aka_c12set_is_validEv @ 332 NONAME - _ZThn8_N14eap_type_aka_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 333 NONAME - _ZThn8_N14eap_type_aka_c15eap_acknowledgeEPK19eap_am_network_id_c @ 334 NONAME - _ZThn8_N14eap_type_aka_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 335 NONAME - _ZThn8_N14eap_type_aka_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 336 NONAME - _ZThn8_N14eap_type_aka_c5resetEv @ 337 NONAME - _ZThn8_N14eap_type_aka_c8shutdownEv @ 338 NONAME - _ZThn8_N14eap_type_aka_c9configureEv @ 339 NONAME - _ZThn8_N14eap_type_aka_cD0Ev @ 340 NONAME - _ZThn8_N14eap_type_aka_cD1Ev @ 341 NONAME - _ZN14eap_type_aka_c12packet_traceEPKcPK19eap_am_network_id_cP15eap_header_wr_cm @ 342 NONAME diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/eapclientifu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapclientifu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -EXPORTS - _ZN11EapClientIf19GetServerNameAndExeEP4TBufILi24EES2_ @ 1 NONAME - _ZN11EapClientIfC1Ev @ 2 NONAME - _ZN11EapClientIfC2Ev @ 3 NONAME - _ZN11EapClientIfD0Ev @ 4 NONAME - _ZN11EapClientIfD1Ev @ 5 NONAME - _ZN11EapClientIfD2Ev @ 6 NONAME - _ZN11REapSession12get_is_validEv @ 7 NONAME - _ZN11REapSession12process_dataE12TEapRequestsPKvm @ 8 NONAME - _ZN11REapSession5CloseEv @ 9 NONAME - _ZN11REapSession8ConnectLEP18abs_eap_am_tools_cP18MSendPacketHandler4TBufILi24EES5_PKvi12TEapRequests @ 10 NONAME - _ZN11REapSessionD0Ev @ 11 NONAME - _ZN11REapSessionD1Ev @ 12 NONAME - _ZN11REapSessionD2Ev @ 13 NONAME - _ZTI11EapClientIf @ 14 NONAME - _ZTI11REapSession @ 15 NONAME - _ZTI12CSendHandler @ 16 NONAME - _ZTI19CEapolPacketHandler @ 17 NONAME - _ZTI24CEapClientProcessHandler @ 18 NONAME - _ZTV11EapClientIf @ 19 NONAME - _ZTV11REapSession @ 20 NONAME - _ZTV12CSendHandler @ 21 NONAME - _ZTV19CEapolPacketHandler @ 22 NONAME - _ZTV24CEapClientProcessHandler @ 23 NONAME - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/eapcoreinterfaceimplementationu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapcoreinterfaceimplementationu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -EXPORTS - _Z24ImplementationGroupProxyRi @ 1 NONAME - _ZN11EapClientIf19GetServerNameAndExeEP4TBufILi24EES2_ @ 2 NONAME - _ZN11EapClientIfC1Ev @ 3 NONAME - _ZN11EapClientIfC2Ev @ 4 NONAME - _ZN11EapClientIfD0Ev @ 5 NONAME - _ZN11EapClientIfD1Ev @ 6 NONAME - _ZN11EapClientIfD2Ev @ 7 NONAME - _ZTI11EapClientIf @ 8 NONAME - _ZTI31CEapCoreInterfaceImplementation @ 9 NONAME - _ZTV11EapClientIf @ 10 NONAME - _ZTV31CEapCoreInterfaceImplementation @ 11 NONAME - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/eapcoreinterfaceu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapcoreinterfaceu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -EXPORTS - _Z30new_eap_am_client_message_if_cP18abs_eap_am_tools_cbm @ 1 NONAME - _ZN17CEapCoreInterface11set_partnerEP23abs_eap_am_message_if_c @ 2 NONAME - _ZN17CEapCoreInterface12get_is_validEv @ 3 NONAME - _ZN17CEapCoreInterface12process_dataEPKvm @ 4 NONAME - _ZN17CEapCoreInterface8SendDataEPKvi @ 5 NONAME - _ZN17CEapCoreInterface8shutdownEv @ 6 NONAME - _ZN17CEapCoreInterface9ConstrucLEP18abs_eap_am_tools_c @ 7 NONAME - _ZN17CEapCoreInterface9configureEPK19eap_variable_data_c @ 8 NONAME - _ZTI17CEapCoreInterface @ 9 NONAME - _ZTV17CEapCoreInterface @ 10 NONAME - _ZThn4_N17CEapCoreInterface8SendDataEPKvi @ 11 NONAME - _ZThn8_N17CEapCoreInterface11set_partnerEP23abs_eap_am_message_if_c @ 12 NONAME - _ZThn8_N17CEapCoreInterface12get_is_validEv @ 13 NONAME - _ZThn8_N17CEapCoreInterface12process_dataEPKvm @ 14 NONAME - _ZThn8_N17CEapCoreInterface8shutdownEv @ 15 NONAME - _ZThn8_N17CEapCoreInterface9configureEPK19eap_variable_data_c @ 16 NONAME - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/eapgeneralsettingsu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapgeneralsettingsu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -EXPORTS - _Z24ImplementationGroupProxyRi @ 1 NONAME - _ZN11EapClientIf19GetServerNameAndExeEP4TBufILi24EES2_ @ 2 NONAME - _ZN11EapClientIfC1Ev @ 3 NONAME - _ZN11EapClientIfC2Ev @ 4 NONAME - _ZN11EapClientIfD0Ev @ 5 NONAME - _ZN11EapClientIfD1Ev @ 6 NONAME - _ZN11EapClientIfD2Ev @ 7 NONAME - _ZN27eap_am_message_if_symbian_c11set_partnerEP23abs_eap_am_message_if_c @ 8 NONAME - _ZN27eap_am_message_if_symbian_c12get_is_validEv @ 9 NONAME - _ZN27eap_am_message_if_symbian_c12process_dataEPKvm @ 10 NONAME - _ZN27eap_am_message_if_symbian_c8shutdownEv @ 11 NONAME - _ZN27eap_am_message_if_symbian_c9configureEPK19eap_variable_data_c @ 12 NONAME - _ZN27eap_am_message_if_symbian_c9send_dataERK6TDesC8 @ 13 NONAME - _ZN27eap_am_message_if_symbian_cC1EP18abs_eap_am_tools_c12TEapRequests @ 14 NONAME - _ZN27eap_am_message_if_symbian_cC2EP18abs_eap_am_tools_c12TEapRequests @ 15 NONAME - _ZN27eap_am_message_if_symbian_cD0Ev @ 16 NONAME - _ZN27eap_am_message_if_symbian_cD1Ev @ 17 NONAME - _ZN27eap_am_message_if_symbian_cD2Ev @ 18 NONAME - _ZN30eap_general_settings_message_cC2Ev @ 19 NONAME - _ZN30eap_general_settings_message_cD0Ev @ 20 NONAME - _ZN30eap_general_settings_message_cD1Ev @ 21 NONAME - _ZN30eap_general_settings_message_cD2Ev @ 22 NONAME - _ZN40eap_general_settings_client_message_if_c12get_is_validEv @ 23 NONAME - _ZN40eap_general_settings_client_message_if_c15get_eap_methodsEPK21eap_method_settings_c @ 24 NONAME - _ZN40eap_general_settings_client_message_if_c15process_messageEP30eap_process_tlv_message_data_c @ 25 NONAME - _ZN40eap_general_settings_client_message_if_c15set_eap_methodsEPK21eap_method_settings_c @ 26 NONAME - _ZN40eap_general_settings_client_message_if_c21copy_all_eap_settingsEPK21eap_method_settings_c @ 27 NONAME - _ZN40eap_general_settings_client_message_if_c21get_certificate_listsEPK21eap_method_settings_c @ 28 NONAME - _ZN40eap_general_settings_client_message_if_c23delete_all_eap_settingsEPK21eap_method_settings_c @ 29 NONAME - _ZN40eap_general_settings_client_message_if_c5resetEv @ 30 NONAME - _ZN40eap_general_settings_client_message_if_c8shutdownEv @ 31 NONAME - _ZN40eap_general_settings_client_message_if_c9configureEv @ 32 NONAME - _ZN40eap_general_settings_client_message_if_c9send_dataEPKvm @ 33 NONAME - _ZN40eap_general_settings_client_message_if_cC1EP18abs_eap_am_tools_cP19eap_am_message_if_cP34abs_eap_general_settings_message_c @ 34 NONAME - _ZN40eap_general_settings_client_message_if_cC2EP18abs_eap_am_tools_cP19eap_am_message_if_cP34abs_eap_general_settings_message_c @ 35 NONAME - _ZN40eap_general_settings_client_message_if_cD0Ev @ 36 NONAME - _ZN40eap_general_settings_client_message_if_cD1Ev @ 37 NONAME - _ZN40eap_general_settings_client_message_if_cD2Ev @ 38 NONAME - _ZTI11EapClientIf @ 39 NONAME - _ZTI19eap_method_values_c @ 40 NONAME - _ZTI21eap_method_settings_c @ 41 NONAME - _ZTI23CEapGeneralSettingsImpl @ 42 NONAME - _ZTI23eap_certificate_entry_c @ 43 NONAME - _ZTI27eap_am_message_if_symbian_c @ 44 NONAME - _ZTI30eap_general_settings_message_c @ 45 NONAME - _ZTI40eap_general_settings_client_message_if_c @ 46 NONAME - _ZTV11EapClientIf @ 47 NONAME - _ZTV19eap_method_values_c @ 48 NONAME - _ZTV21eap_method_settings_c @ 49 NONAME - _ZTV23CEapGeneralSettingsImpl @ 50 NONAME - _ZTV23eap_certificate_entry_c @ 51 NONAME - _ZTV27eap_am_message_if_symbian_c @ 52 NONAME - _ZTV30eap_general_settings_message_c @ 53 NONAME - _ZTV40eap_general_settings_client_message_if_c @ 54 NONAME - _ZThn4_N27eap_am_message_if_symbian_c9send_dataERK6TDesC8 @ 55 NONAME - _ZThn4_N40eap_general_settings_client_message_if_c12get_is_validEv @ 56 NONAME - _ZThn4_N40eap_general_settings_client_message_if_c15get_eap_methodsEPK21eap_method_settings_c @ 57 NONAME - _ZThn4_N40eap_general_settings_client_message_if_c15set_eap_methodsEPK21eap_method_settings_c @ 58 NONAME - _ZThn4_N40eap_general_settings_client_message_if_c21copy_all_eap_settingsEPK21eap_method_settings_c @ 59 NONAME - _ZThn4_N40eap_general_settings_client_message_if_c21get_certificate_listsEPK21eap_method_settings_c @ 60 NONAME - _ZThn4_N40eap_general_settings_client_message_if_c23delete_all_eap_settingsEPK21eap_method_settings_c @ 61 NONAME - _ZThn4_N40eap_general_settings_client_message_if_c5resetEv @ 62 NONAME - _ZThn4_N40eap_general_settings_client_message_if_c8shutdownEv @ 63 NONAME - _ZThn4_N40eap_general_settings_client_message_if_c9configureEv @ 64 NONAME - _ZThn4_N40eap_general_settings_client_message_if_cD0Ev @ 65 NONAME - _ZThn4_N40eap_general_settings_client_message_if_cD1Ev @ 66 NONAME - _ZThn8_N27eap_am_message_if_symbian_cD0Ev @ 67 NONAME - _ZThn8_N27eap_am_message_if_symbian_cD1Ev @ 68 NONAME - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/eapgenericu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapgenericu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,178 +0,0 @@ -EXPORTS - _Z24ImplementationGroupProxyRi @ 1 NONAME - _ZN11EapClientIf19GetServerNameAndExeEP4TBufILi24EES2_ @ 2 NONAME - _ZN11EapClientIfC1Ev @ 3 NONAME - _ZN11EapClientIfC2Ev @ 4 NONAME - _ZN11EapClientIfD0Ev @ 5 NONAME - _ZN11EapClientIfD1Ev @ 6 NONAME - _ZN11EapClientIfD2Ev @ 7 NONAME - _ZN23network_key_and_index_c12get_is_validEv @ 8 NONAME - _ZN23network_key_and_index_c15get_network_keyEv @ 9 NONAME - _ZN23network_key_and_index_c17get_is_valid_dataEv @ 10 NONAME - _ZN23network_key_and_index_c21set_network_key_indexEh @ 11 NONAME - _ZN23network_key_and_index_c4copyEv @ 12 NONAME - _ZN23network_key_and_index_cC1EP18abs_eap_am_tools_c @ 13 NONAME - _ZN23network_key_and_index_cC2EP18abs_eap_am_tools_c @ 14 NONAME - _ZN23network_key_and_index_cD0Ev @ 15 NONAME - _ZN23network_key_and_index_cD1Ev @ 16 NONAME - _ZN23network_key_and_index_cD2Ev @ 17 NONAME - _ZN23simple_config_message_c11add_paddingEm @ 18 NONAME - _ZN23simple_config_message_c12get_is_validEv @ 19 NONAME - _ZN23simple_config_message_c30get_simple_config_message_dataEv @ 20 NONAME - _ZN23simple_config_message_c30set_simple_config_message_dataEP19eap_variable_data_ch @ 21 NONAME - _ZN23simple_config_message_c5resetEv @ 22 NONAME - _ZN23simple_config_message_cC1EP18abs_eap_am_tools_cb @ 23 NONAME - _ZN23simple_config_message_cC2EP18abs_eap_am_tools_cb @ 24 NONAME - _ZN23simple_config_message_cD0Ev @ 25 NONAME - _ZN23simple_config_message_cD1Ev @ 26 NONAME - _ZN23simple_config_message_cD2Ev @ 27 NONAME - _ZN24simple_config_payloads_c13add_attributeEP29simple_config_variable_data_c @ 28 NONAME - _ZN24simple_config_payloads_c14copy_attributeEPKS_30simple_config_Attribute_Type_e @ 29 NONAME - _ZN24simple_config_payloads_c14verify_paddingEPKhm @ 30 NONAME - _ZN24simple_config_payloads_c19copy_attribute_dataE30simple_config_Attribute_Type_ebPKvm @ 31 NONAME - _ZN24simple_config_payloads_c21parse_generic_payloadE30simple_config_Attribute_Type_ePK26simple_config_tlv_header_c @ 32 NONAME - _ZN24simple_config_payloads_c28parse_simple_config_payloadsEPvPmS1_ @ 33 NONAME - _ZN24simple_config_payloads_c5resetEv @ 34 NONAME - _ZN24simple_config_payloads_cC1EP18abs_eap_am_tools_c @ 35 NONAME - _ZN24simple_config_payloads_cC2EP18abs_eap_am_tools_c @ 36 NONAME - _ZN24simple_config_payloads_cD0Ev @ 37 NONAME - _ZN24simple_config_payloads_cD1Ev @ 38 NONAME - _ZN24simple_config_payloads_cD2Ev @ 39 NONAME - _ZN25eap_plugin_message_base_c34new_eap_plugin_client_message_if_cEP18abs_eap_am_tools_cP24abs_eap_plugin_message_c @ 40 NONAME - _ZN25eap_plugin_message_base_cC2Ev @ 41 NONAME - _ZN25eap_plugin_message_base_cD0Ev @ 42 NONAME - _ZN25eap_plugin_message_base_cD1Ev @ 43 NONAME - _ZN25eap_plugin_message_base_cD2Ev @ 44 NONAME - _ZN26simple_config_credential_c12get_is_validEv @ 45 NONAME - _ZN26simple_config_credential_c15get_MAC_addressEv @ 46 NONAME - _ZN26simple_config_credential_c16get_network_keysEv @ 47 NONAME - _ZN26simple_config_credential_c17set_network_indexEh @ 48 NONAME - _ZN26simple_config_credential_c19get_Encryption_TypeEv @ 49 NONAME - _ZN26simple_config_credential_c19set_Encryption_TypeE31simple_config_Encryption_Type_e @ 50 NONAME - _ZN26simple_config_credential_c23get_Authentication_TypeEv @ 51 NONAME - _ZN26simple_config_credential_c23set_Authentication_TypeE35simple_config_Authentication_Type_e @ 52 NONAME - _ZN26simple_config_credential_c8get_SSIDEv @ 53 NONAME - _ZN26simple_config_credential_cC1EP18abs_eap_am_tools_c @ 54 NONAME - _ZN26simple_config_credential_cC2EP18abs_eap_am_tools_c @ 55 NONAME - _ZN26simple_config_credential_cD0Ev @ 56 NONAME - _ZN26simple_config_credential_cD1Ev @ 57 NONAME - _ZN26simple_config_credential_cD2Ev @ 58 NONAME - _ZN27eap_am_message_if_symbian_c11set_partnerEP23abs_eap_am_message_if_c @ 59 NONAME - _ZN27eap_am_message_if_symbian_c12get_is_validEv @ 60 NONAME - _ZN27eap_am_message_if_symbian_c12process_dataEPKvm @ 61 NONAME - _ZN27eap_am_message_if_symbian_c8shutdownEv @ 62 NONAME - _ZN27eap_am_message_if_symbian_c9configureEPK19eap_variable_data_c @ 63 NONAME - _ZN27eap_am_message_if_symbian_c9send_dataERK6TDesC8 @ 64 NONAME - _ZN27eap_am_message_if_symbian_cC1EP18abs_eap_am_tools_c12TEapRequests @ 65 NONAME - _ZN27eap_am_message_if_symbian_cC2EP18abs_eap_am_tools_c12TEapRequests @ 66 NONAME - _ZN27eap_am_message_if_symbian_cD0Ev @ 67 NONAME - _ZN27eap_am_message_if_symbian_cD1Ev @ 68 NONAME - _ZN27eap_am_message_if_symbian_cD2Ev @ 69 NONAME - _ZN29simple_config_variable_data_c10get_headerEv @ 70 NONAME - _ZN29simple_config_variable_data_c18set_attribute_typeE30simple_config_Attribute_Type_e @ 71 NONAME - _ZN29simple_config_variable_data_c18set_copy_of_bufferE30simple_config_Attribute_Type_ebPKvm @ 72 NONAME - _ZN29simple_config_variable_data_c25get_full_attribute_bufferEv @ 73 NONAME - _ZN29simple_config_variable_data_c31object_increase_reference_countEv @ 74 NONAME - _ZN29simple_config_variable_data_c41add_next_payload_with_same_attribute_typeEPS_ @ 75 NONAME - _ZN29simple_config_variable_data_c41get_next_payload_with_same_attribute_typeEv @ 76 NONAME - _ZN29simple_config_variable_data_c41set_next_payload_with_same_attribute_typeEPS_ @ 77 NONAME - _ZN29simple_config_variable_data_c8add_dataEPKvm @ 78 NONAME - _ZN29simple_config_variable_data_cC1EP18abs_eap_am_tools_c @ 79 NONAME - _ZN29simple_config_variable_data_cC2EP18abs_eap_am_tools_c @ 80 NONAME - _ZN29simple_config_variable_data_cD0Ev @ 81 NONAME - _ZN29simple_config_variable_data_cD1Ev @ 82 NONAME - _ZN29simple_config_variable_data_cD2Ev @ 83 NONAME - _ZN30eap_plugin_client_message_if_c12get_is_validEv @ 84 NONAME - _ZN30eap_plugin_client_message_if_c13get_type_infoEPK21eap_method_settings_c @ 85 NONAME - _ZN30eap_plugin_client_message_if_c15process_messageEP30eap_process_tlv_message_data_c @ 86 NONAME - _ZN30eap_plugin_client_message_if_c17get_configurationEPK21eap_method_settings_c @ 87 NONAME - _ZN30eap_plugin_client_message_if_c17set_configurationEPK21eap_method_settings_c @ 88 NONAME - _ZN30eap_plugin_client_message_if_c18copy_configurationEPK21eap_method_settings_c @ 89 NONAME - _ZN30eap_plugin_client_message_if_c20delete_configurationEPK21eap_method_settings_c @ 90 NONAME - _ZN30eap_plugin_client_message_if_c5resetEv @ 91 NONAME - _ZN30eap_plugin_client_message_if_c8shutdownEv @ 92 NONAME - _ZN30eap_plugin_client_message_if_c9configureEv @ 93 NONAME - _ZN30eap_plugin_client_message_if_c9invoke_uiEPK21eap_method_settings_c @ 94 NONAME - _ZN30eap_plugin_client_message_if_c9send_dataEPKvm @ 95 NONAME - _ZN30eap_plugin_client_message_if_c9set_indexEPK21eap_method_settings_c @ 96 NONAME - _ZN30eap_plugin_client_message_if_cC1EP18abs_eap_am_tools_cP19eap_am_message_if_cP24abs_eap_plugin_message_c @ 97 NONAME - _ZN30eap_plugin_client_message_if_cC2EP18abs_eap_am_tools_cP19eap_am_message_if_cP24abs_eap_plugin_message_c @ 98 NONAME - _ZN30eap_plugin_client_message_if_cD0Ev @ 99 NONAME - _ZN30eap_plugin_client_message_if_cD1Ev @ 100 NONAME - _ZN30eap_plugin_client_message_if_cD2Ev @ 101 NONAME - _ZN32eap_simple_config_trace_string_cC1Ev @ 102 NONAME - _ZN32eap_simple_config_trace_string_cC2Ev @ 103 NONAME - _ZN32eap_simple_config_trace_string_cD0Ev @ 104 NONAME - _ZN32eap_simple_config_trace_string_cD1Ev @ 105 NONAME - _ZN32eap_simple_config_trace_string_cD2Ev @ 106 NONAME - _ZNK23network_key_and_index_c21get_network_key_constEv @ 107 NONAME - _ZNK23network_key_and_index_c21get_network_key_indexEv @ 108 NONAME - _ZNK24simple_config_payloads_c12get_is_validEv @ 109 NONAME - _ZNK24simple_config_payloads_c13get_attributeEm @ 110 NONAME - _ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_eP19eap_variable_data_c @ 111 NONAME - _ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePh @ 112 NONAME - _ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePm @ 113 NONAME - _ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePt @ 114 NONAME - _ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePvm @ 115 NONAME - _ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePy @ 116 NONAME - _ZNK24simple_config_payloads_c19get_attribute_countEv @ 117 NONAME - _ZNK24simple_config_payloads_c21get_attribute_pointerE30simple_config_Attribute_Type_e @ 118 NONAME - _ZNK24simple_config_payloads_c21get_attribute_pointerE30simple_config_Attribute_Type_em @ 119 NONAME - _ZNK24simple_config_payloads_c24check_mandatory_payloadsEPK11eap_array_cI30simple_config_Attribute_Type_eE @ 120 NONAME - _ZNK24simple_config_payloads_c24check_payloads_existenseEPK11eap_array_cI30simple_config_Attribute_Type_eE @ 121 NONAME - _ZNK24simple_config_payloads_c24check_payloads_existenseEPK30simple_config_Attribute_Type_em @ 122 NONAME - _ZNK24simple_config_payloads_c28create_simple_config_messageEP23simple_config_message_cb @ 123 NONAME - _ZNK24simple_config_payloads_c43add_payloads_to_simple_config_authenticatorEP13crypto_hmac_cb @ 124 NONAME - _ZNK24simple_config_payloads_c4copyEv @ 125 NONAME - _ZNK26simple_config_credential_c14get_SSID_constEv @ 126 NONAME - _ZNK26simple_config_credential_c17get_network_indexEv @ 127 NONAME - _ZNK26simple_config_credential_c21get_MAC_address_constEv @ 128 NONAME - _ZNK26simple_config_credential_c22get_network_keys_constEv @ 129 NONAME - _ZNK29simple_config_variable_data_c12get_is_validEv @ 130 NONAME - _ZNK29simple_config_variable_data_c15get_data_lengthEv @ 131 NONAME - _ZNK29simple_config_variable_data_c16get_is_mandatoryEv @ 132 NONAME - _ZNK29simple_config_variable_data_c18get_attribute_typeEv @ 133 NONAME - _ZNK29simple_config_variable_data_c4copyEv @ 134 NONAME - _ZNK29simple_config_variable_data_c8get_dataEm @ 135 NONAME - _ZNK32eap_simple_config_trace_string_c16get_state_stringE21simple_config_state_e @ 136 NONAME - _ZNK32eap_simple_config_trace_string_c23get_message_type_stringE28simple_config_Message_Type_e @ 137 NONAME - _ZNK32eap_simple_config_trace_string_c25get_attribute_type_stringE30simple_config_Attribute_Type_e @ 138 NONAME - _ZTI11CEapGeneric @ 139 NONAME - _ZTI11EapClientIf @ 140 NONAME - _ZTI12CEapTypeInfo @ 141 NONAME - _ZTI19eap_method_values_c @ 142 NONAME - _ZTI21eap_method_settings_c @ 143 NONAME - _ZTI23eap_certificate_entry_c @ 144 NONAME - _ZTI23network_key_and_index_c @ 145 NONAME - _ZTI23simple_config_message_c @ 146 NONAME - _ZTI24simple_config_payloads_c @ 147 NONAME - _ZTI25eap_plugin_message_base_c @ 148 NONAME - _ZTI26simple_config_credential_c @ 149 NONAME - _ZTI26simple_config_tlv_header_c @ 150 NONAME - _ZTI27eap_am_message_if_symbian_c @ 151 NONAME - _ZTI29simple_config_variable_data_c @ 152 NONAME - _ZTI30eap_plugin_client_message_if_c @ 153 NONAME - _ZTI32eap_simple_config_trace_string_c @ 154 NONAME - _ZTV11CEapGeneric @ 155 NONAME - _ZTV11EapClientIf @ 156 NONAME - _ZTV12CEapTypeInfo @ 157 NONAME - _ZTV19eap_method_values_c @ 158 NONAME - _ZTV21eap_method_settings_c @ 159 NONAME - _ZTV23eap_certificate_entry_c @ 160 NONAME - _ZTV23network_key_and_index_c @ 161 NONAME - _ZTV23simple_config_message_c @ 162 NONAME - _ZTV24simple_config_payloads_c @ 163 NONAME - _ZTV25eap_plugin_message_base_c @ 164 NONAME - _ZTV26simple_config_credential_c @ 165 NONAME - _ZTV26simple_config_tlv_header_c @ 166 NONAME - _ZTV27eap_am_message_if_symbian_c @ 167 NONAME - _ZTV29simple_config_variable_data_c @ 168 NONAME - _ZTV30eap_plugin_client_message_if_c @ 169 NONAME - _ZTV32eap_simple_config_trace_string_c @ 170 NONAME - _ZThn4_N27eap_am_message_if_symbian_c9send_dataERK6TDesC8 @ 171 NONAME - _ZThn4_N30eap_plugin_client_message_if_c9send_dataEPKvm @ 172 NONAME - _ZThn4_N30eap_plugin_client_message_if_cD0Ev @ 173 NONAME - _ZThn4_N30eap_plugin_client_message_if_cD1Ev @ 174 NONAME - _ZThn8_N27eap_am_message_if_symbian_cD0Ev @ 175 NONAME - _ZThn8_N27eap_am_message_if_symbian_cD1Ev @ 176 NONAME - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/eapmschapv2u.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapmschapv2u.def Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapmschapv2u.def Wed Sep 01 12:23:57 2010 +0100 @@ -1,139 +1,3 @@ EXPORTS _Z24ImplementationGroupProxyRi @ 1 NONAME - _ZN17mschapv2_header_c10set_opcodeE17mschapv2_opcode_e @ 2 NONAME - _ZN17mschapv2_header_c13set_ms_lengthEt @ 3 NONAME - _ZN17mschapv2_header_c15set_mschapv2_idEh @ 4 NONAME - _ZN17mschapv2_header_cC1EP18abs_eap_am_tools_cPvm @ 5 NONAME - _ZN17mschapv2_header_cC2EP18abs_eap_am_tools_cPvm @ 6 NONAME - _ZN17mschapv2_header_cD0Ev @ 7 NONAME - _ZN17mschapv2_header_cD1Ev @ 8 NONAME - _ZN17mschapv2_header_cD2Ev @ 9 NONAME - _ZN19eap_type_mschapv2_c12get_is_validEv @ 10 NONAME - _ZN19eap_type_mschapv2_c12set_is_validEv @ 11 NONAME - _ZN19eap_type_mschapv2_c13get_is_clientEv @ 12 NONAME - _ZN19eap_type_mschapv2_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 13 NONAME - _ZN19eap_type_mschapv2_c15eap_acknowledgeEPK19eap_am_network_id_c @ 14 NONAME - _ZN19eap_type_mschapv2_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 15 NONAME - _ZN19eap_type_mschapv2_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 16 NONAME - _ZN19eap_type_mschapv2_c27complete_eap_identity_queryEv @ 17 NONAME - _ZN19eap_type_mschapv2_c30complete_change_password_queryEv @ 18 NONAME - _ZN19eap_type_mschapv2_c31complete_failure_retry_responseEv @ 19 NONAME - _ZN19eap_type_mschapv2_c32finish_successful_authenticationEv @ 20 NONAME - _ZN19eap_type_mschapv2_c32handle_identity_response_messageEv @ 21 NONAME - _ZN19eap_type_mschapv2_c34finish_unsuccessful_authenticationEb @ 22 NONAME - _ZN19eap_type_mschapv2_c5resetEv @ 23 NONAME - _ZN19eap_type_mschapv2_c8shutdownEv @ 24 NONAME - _ZN19eap_type_mschapv2_c9configureEv @ 25 NONAME - _ZN19eap_type_mschapv2_cC1EP18abs_eap_am_tools_cP19abs_eap_base_type_cP22eap_am_type_mschapv2_cbbPK19eap_am_network_id_c @ 26 NONAME - _ZN19eap_type_mschapv2_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_cP22eap_am_type_mschapv2_cbbPK19eap_am_network_id_c @ 27 NONAME - _ZN19eap_type_mschapv2_cD0Ev @ 28 NONAME - _ZN19eap_type_mschapv2_cD1Ev @ 29 NONAME - _ZN19eap_type_mschapv2_cD2Ev @ 30 NONAME - _ZN19mschapv2_response_c13set_constantsEv @ 31 NONAME - _ZN19mschapv2_response_c15set_nt_responseEPKh @ 32 NONAME - _ZN19mschapv2_response_c18set_peer_challengeEPKh @ 33 NONAME - _ZN19mschapv2_response_c23get_header_minimum_sizeEv @ 34 NONAME - _ZN19mschapv2_response_c8set_nameEPKh @ 35 NONAME - _ZN19mschapv2_response_cC1EP18abs_eap_am_tools_cPvm @ 36 NONAME - _ZN19mschapv2_response_cC2EP18abs_eap_am_tools_cPvm @ 37 NONAME - _ZN19mschapv2_response_cD0Ev @ 38 NONAME - _ZN19mschapv2_response_cD1Ev @ 39 NONAME - _ZN19mschapv2_response_cD2Ev @ 40 NONAME - _ZN20mschapv2_challenge_c13set_challengeEPKh @ 41 NONAME - _ZN20mschapv2_challenge_c14set_value_sizeEv @ 42 NONAME - _ZN20mschapv2_challenge_c23get_header_minimum_sizeEv @ 43 NONAME - _ZN20mschapv2_challenge_c8set_nameEPKh @ 44 NONAME - _ZN20mschapv2_challenge_cC1EP18abs_eap_am_tools_cPvm @ 45 NONAME - _ZN20mschapv2_challenge_cC2EP18abs_eap_am_tools_cPvm @ 46 NONAME - _ZN20mschapv2_challenge_cD0Ev @ 47 NONAME - _ZN20mschapv2_challenge_cD1Ev @ 48 NONAME - _ZN20mschapv2_challenge_cD2Ev @ 49 NONAME - _ZN25eap_type_mschapv2_state_cD0Ev @ 50 NONAME - _ZN25eap_type_mschapv2_state_cD1Ev @ 51 NONAME - _ZN25eap_type_mschapv2_state_cD2Ev @ 52 NONAME - _ZN26mschapv2_change_password_c13set_constantsEv @ 53 NONAME - _ZN26mschapv2_change_password_c15set_nt_responseEPKh @ 54 NONAME - _ZN26mschapv2_change_password_c18set_encrypted_hashEPKh @ 55 NONAME - _ZN26mschapv2_change_password_c18set_peer_challengeEPKh @ 56 NONAME - _ZN26mschapv2_change_password_c22set_encrypted_pw_blockEPKh @ 57 NONAME - _ZN26mschapv2_change_password_c23get_header_minimum_sizeEv @ 58 NONAME - _ZN26mschapv2_change_password_cC1EP18abs_eap_am_tools_cPvm @ 59 NONAME - _ZN26mschapv2_change_password_cC2EP18abs_eap_am_tools_cPvm @ 60 NONAME - _ZN26mschapv2_change_password_cD0Ev @ 61 NONAME - _ZN26mschapv2_change_password_cD1Ev @ 62 NONAME - _ZN26mschapv2_change_password_cD2Ev @ 63 NONAME - _ZN30eap_am_type_mschapv2_symbian_c11DlgCompleteEi @ 64 NONAME - _ZN30eap_am_type_mschapv2_symbian_c12get_is_validEv @ 65 NONAME - _ZN30eap_am_type_mschapv2_symbian_c12set_is_validEv @ 66 NONAME - _ZN30eap_am_type_mschapv2_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 67 NONAME - _ZN30eap_am_type_mschapv2_symbian_c20get_memory_store_keyEP19eap_variable_data_c @ 68 NONAME - _ZN30eap_am_type_mschapv2_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 69 NONAME - _ZN30eap_am_type_mschapv2_symbian_c24read_auth_failure_stringE20eap_mschapv2_error_eR19eap_variable_data_c @ 70 NONAME - _ZN30eap_am_type_mschapv2_symbian_c24update_username_passwordEv @ 71 NONAME - _ZN30eap_am_type_mschapv2_symbian_c5resetEv @ 72 NONAME - _ZN30eap_am_type_mschapv2_symbian_c8shutdownEv @ 73 NONAME - _ZN30eap_am_type_mschapv2_symbian_c9configureEv @ 74 NONAME - _ZN30eap_am_type_mschapv2_symbian_cD0Ev @ 75 NONAME - _ZN30eap_am_type_mschapv2_symbian_cD1Ev @ 76 NONAME - _ZN30eap_am_type_mschapv2_symbian_cD2Ev @ 77 NONAME - _ZNK17mschapv2_header_c10get_opcodeEv @ 78 NONAME - _ZNK17mschapv2_header_c12check_headerEv @ 79 NONAME - _ZNK17mschapv2_header_c13get_ms_lengthEv @ 80 NONAME - _ZNK17mschapv2_header_c15get_data_lengthEv @ 81 NONAME - _ZNK17mschapv2_header_c15get_mschapv2_idEv @ 82 NONAME - _ZNK17mschapv2_header_c8get_dataEv @ 83 NONAME - _ZNK19mschapv2_response_c12check_headerEv @ 84 NONAME - _ZNK19mschapv2_response_c15get_name_lengthEv @ 85 NONAME - _ZNK19mschapv2_response_c15get_nt_responseEv @ 86 NONAME - _ZNK19mschapv2_response_c18get_peer_challengeEv @ 87 NONAME - _ZNK19mschapv2_response_c8get_nameEv @ 88 NONAME - _ZNK20mschapv2_challenge_c12check_headerEv @ 89 NONAME - _ZNK20mschapv2_challenge_c13get_challengeEv @ 90 NONAME - _ZNK20mschapv2_challenge_c15get_name_lengthEv @ 91 NONAME - _ZNK20mschapv2_challenge_c8get_nameEv @ 92 NONAME - _ZNK26mschapv2_change_password_c12check_headerEv @ 93 NONAME - _ZNK26mschapv2_change_password_c15get_nt_responseEv @ 94 NONAME - _ZNK26mschapv2_change_password_c18get_encrypted_hashEv @ 95 NONAME - _ZNK26mschapv2_change_password_c18get_peer_challengeEv @ 96 NONAME - _ZNK26mschapv2_change_password_c22get_encrypted_pw_blockEv @ 97 NONAME - _ZTI12CEapMsChapV2 @ 98 NONAME - _ZTI12CEapTypeInfo @ 99 NONAME - _ZTI17mschapv2_header_c @ 100 NONAME - _ZTI19eap_type_mschapv2_c @ 101 NONAME - _ZTI19mschapv2_response_c @ 102 NONAME - _ZTI20mschapv2_challenge_c @ 103 NONAME - _ZTI25eap_type_mschapv2_state_c @ 104 NONAME - _ZTI26mschapv2_change_password_c @ 105 NONAME - _ZTI30eap_am_type_mschapv2_symbian_c @ 106 NONAME - _ZTV12CEapMsChapV2 @ 107 NONAME - _ZTV12CEapTypeInfo @ 108 NONAME - _ZTV17mschapv2_header_c @ 109 NONAME - _ZTV19eap_type_mschapv2_c @ 110 NONAME - _ZTV19mschapv2_response_c @ 111 NONAME - _ZTV20mschapv2_challenge_c @ 112 NONAME - _ZTV25eap_type_mschapv2_state_c @ 113 NONAME - _ZTV26mschapv2_change_password_c @ 114 NONAME - _ZTV30eap_am_type_mschapv2_symbian_c @ 115 NONAME - _ZThn28_N30eap_am_type_mschapv2_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 116 NONAME - _ZThn28_N30eap_am_type_mschapv2_symbian_c20get_memory_store_keyEP19eap_variable_data_c @ 117 NONAME - _ZThn28_N30eap_am_type_mschapv2_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 118 NONAME - _ZThn28_N30eap_am_type_mschapv2_symbian_c24read_auth_failure_stringE20eap_mschapv2_error_eR19eap_variable_data_c @ 119 NONAME - _ZThn28_N30eap_am_type_mschapv2_symbian_c24update_username_passwordEv @ 120 NONAME - _ZThn28_N30eap_am_type_mschapv2_symbian_c5resetEv @ 121 NONAME - _ZThn28_N30eap_am_type_mschapv2_symbian_c8shutdownEv @ 122 NONAME - _ZThn28_N30eap_am_type_mschapv2_symbian_c9configureEv @ 123 NONAME - _ZThn28_N30eap_am_type_mschapv2_symbian_cD0Ev @ 124 NONAME - _ZThn28_N30eap_am_type_mschapv2_symbian_cD1Ev @ 125 NONAME - _ZThn44_N30eap_am_type_mschapv2_symbian_c11DlgCompleteEi @ 126 NONAME - _ZThn4_N19eap_type_mschapv2_c12get_is_validEv @ 127 NONAME - _ZThn4_N19eap_type_mschapv2_c12set_is_validEv @ 128 NONAME - _ZThn4_N19eap_type_mschapv2_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 129 NONAME - _ZThn4_N19eap_type_mschapv2_c15eap_acknowledgeEPK19eap_am_network_id_c @ 130 NONAME - _ZThn4_N19eap_type_mschapv2_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 131 NONAME - _ZThn4_N19eap_type_mschapv2_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 132 NONAME - _ZThn4_N19eap_type_mschapv2_c5resetEv @ 133 NONAME - _ZThn4_N19eap_type_mschapv2_c8shutdownEv @ 134 NONAME - _ZThn4_N19eap_type_mschapv2_c9configureEv @ 135 NONAME - _ZThn4_N19eap_type_mschapv2_cD0Ev @ 136 NONAME - _ZThn4_N19eap_type_mschapv2_cD1Ev @ 137 NONAME diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/eapprotectedsetupu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapprotectedsetupu.def Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapprotectedsetupu.def Wed Sep 01 12:23:57 2010 +0100 @@ -1,426 +1,3 @@ EXPORTS _Z24ImplementationGroupProxyRi @ 1 NONAME - _ZN22simple_config_record_c10keyed_hmacEPK19eap_variable_data_cS2_PS0_ @ 2 NONAME - _ZN22simple_config_record_c10process_M2EPK24simple_config_payloads_c @ 3 NONAME - _ZN22simple_config_record_c10process_M4EPK24simple_config_payloads_c @ 4 NONAME - _ZN22simple_config_record_c10process_M6EPK24simple_config_payloads_c @ 5 NONAME - _ZN22simple_config_record_c10process_M8EPK24simple_config_payloads_c @ 6 NONAME - _ZN22simple_config_record_c11process_M2DEPK24simple_config_payloads_c @ 7 NONAME - _ZN22simple_config_record_c12generate_kdkEPK19eap_variable_data_cS2_S2_S2_PS0_ @ 8 NONAME - _ZN22simple_config_record_c12get_is_validEv @ 9 NONAME - _ZN22simple_config_record_c12send_WSC_ACKEv @ 10 NONAME - _ZN22simple_config_record_c12set_is_validEv @ 11 NONAME - _ZN22simple_config_record_c12verify_stateE21simple_config_state_e @ 12 NONAME - _ZN22simple_config_record_c13send_WSC_DoneEv @ 13 NONAME - _ZN22simple_config_record_c13send_WSC_NACKEv @ 14 NONAME - _ZN22simple_config_record_c13set_nai_realmEPK19eap_variable_data_c @ 15 NONAME - _ZN22simple_config_record_c13timer_expiredEmPv @ 16 NONAME - _ZN22simple_config_record_c14generate_nonceEP19eap_variable_data_cm @ 17 NONAME - _ZN22simple_config_record_c14packet_processEP19eap_variable_data_ch @ 18 NONAME - _ZN22simple_config_record_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 19 NONAME - _ZN22simple_config_record_c15generate_erhashEbPK19eap_variable_data_cS2_S2_PS0_S3_S3_ @ 20 NONAME - _ZN22simple_config_record_c15process_WSC_ACKEPK24simple_config_payloads_c @ 21 NONAME - _ZN22simple_config_record_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 22 NONAME - _ZN22simple_config_record_c16decrypt_payloadsEPK19eap_variable_data_cS2_P29simple_config_variable_data_cP24simple_config_payloads_c @ 23 NONAME - _ZN22simple_config_record_c16encrypt_payloadsEPK19eap_variable_data_cS2_P24simple_config_payloads_cP29simple_config_variable_data_c @ 24 NONAME - _ZN22simple_config_record_c16process_WSC_NACKEPK24simple_config_payloads_c @ 25 NONAME - _ZN22simple_config_record_c17generate_dhe_keysEv @ 26 NONAME - _ZN22simple_config_record_c17generate_er_hashsEbPK19eap_variable_data_cS2_S2_PS0_S3_S3_S3_S3_S3_ @ 27 NONAME - _ZN22simple_config_record_c17timer_delete_dataEmPv @ 28 NONAME - _ZN22simple_config_record_c21add_common_attributesEP24simple_config_payloads_c28simple_config_Message_Type_ebb @ 29 NONAME - _ZN22simple_config_record_c21completion_action_addE33simple_config_completion_action_e @ 30 NONAME - _ZN22simple_config_record_c22derive_additional_keysEPK19eap_variable_data_cPS0_S3_S3_ @ 31 NONAME - _ZN22simple_config_record_c22generate_authenticatorEPK19eap_variable_data_cS2_PS0_ @ 32 NONAME - _ZN22simple_config_record_c23completion_action_checkEv @ 33 NONAME - _ZN22simple_config_record_c23key_derivation_functionEPK19eap_variable_data_cS2_mPS0_ @ 34 NONAME - _ZN22simple_config_record_c23send_error_notificationE12eap_status_e @ 35 NONAME - _ZN22simple_config_record_c24completion_action_clenupEv @ 36 NONAME - _ZN22simple_config_record_c26generate_dhe_shared_secretEPK19eap_variable_data_cPS0_ @ 37 NONAME - _ZN22simple_config_record_c26send_simple_config_messageEv @ 38 NONAME - _ZN22simple_config_record_c27add_authenticator_attributeEP23simple_config_message_cS1_ @ 39 NONAME - _ZN22simple_config_record_c27cancel_M2D_received_timeoutEv @ 40 NONAME - _ZN22simple_config_record_c27indicate_messages_processedEv @ 41 NONAME - _ZN22simple_config_record_c28cancel_error_message_timeoutEv @ 42 NONAME - _ZN22simple_config_record_c29are_pending_queries_completedEv @ 43 NONAME - _ZN22simple_config_record_c29indicate_state_to_lower_layerE21simple_config_state_e @ 44 NONAME - _ZN22simple_config_record_c29process_simple_config_messageEv @ 45 NONAME - _ZN22simple_config_record_c31initalize_error_message_timeoutEv @ 46 NONAME - _ZN22simple_config_record_c31initialize_M2D_received_timeoutEv @ 47 NONAME - _ZN22simple_config_record_c31verify_nonces_and_authenticatorEPK19eap_variable_data_cS2_S2_PK24simple_config_payloads_cbbb @ 48 NONAME - _ZN22simple_config_record_c32check_sent_simple_config_messageEv @ 49 NONAME - _ZN22simple_config_record_c32process_simple_config_attributesEPK24simple_config_payloads_c @ 50 NONAME - _ZN22simple_config_record_c34start_simple_config_authenticationEPK19eap_variable_data_c @ 51 NONAME - _ZN22simple_config_record_c44complete_query_network_and_device_parametersE21simple_config_state_eP24simple_config_payloads_c12eap_status_e @ 52 NONAME - _ZN22simple_config_record_c5resetEv @ 53 NONAME - _ZN22simple_config_record_c7send_M1EPK24simple_config_payloads_c @ 54 NONAME - _ZN22simple_config_record_c7send_M3Ev @ 55 NONAME - _ZN22simple_config_record_c7send_M5Ev @ 56 NONAME - _ZN22simple_config_record_c7send_M7Ev @ 57 NONAME - _ZN22simple_config_record_c8shutdownEv @ 58 NONAME - _ZN22simple_config_record_c9configureEv @ 59 NONAME - _ZN22simple_config_record_c9set_stateE21simple_config_state_e @ 60 NONAME - _ZN22simple_config_record_cC1EP18abs_eap_am_tools_cP27simple_config_am_services_cbbPK19eap_am_network_id_c @ 61 NONAME - _ZN22simple_config_record_cC2EP18abs_eap_am_tools_cP27simple_config_am_services_cbbPK19eap_am_network_id_c @ 62 NONAME - _ZN22simple_config_record_cD0Ev @ 63 NONAME - _ZN22simple_config_record_cD1Ev @ 64 NONAME - _ZN22simple_config_record_cD2Ev @ 65 NONAME - _ZN23network_key_and_index_c12get_is_validEv @ 66 NONAME - _ZN23network_key_and_index_c15get_network_keyEv @ 67 NONAME - _ZN23network_key_and_index_c17get_is_valid_dataEv @ 68 NONAME - _ZN23network_key_and_index_c21set_network_key_indexEh @ 69 NONAME - _ZN23network_key_and_index_c4copyEv @ 70 NONAME - _ZN23network_key_and_index_cC1EP18abs_eap_am_tools_c @ 71 NONAME - _ZN23network_key_and_index_cC2EP18abs_eap_am_tools_c @ 72 NONAME - _ZN23network_key_and_index_cD0Ev @ 73 NONAME - _ZN23network_key_and_index_cD1Ev @ 74 NONAME - _ZN23network_key_and_index_cD2Ev @ 75 NONAME - _ZN23simple_config_message_c11add_paddingEm @ 76 NONAME - _ZN23simple_config_message_c12get_is_validEv @ 77 NONAME - _ZN23simple_config_message_c30get_simple_config_message_dataEv @ 78 NONAME - _ZN23simple_config_message_c30set_simple_config_message_dataEP19eap_variable_data_ch @ 79 NONAME - _ZN23simple_config_message_c5resetEv @ 80 NONAME - _ZN23simple_config_message_cC1EP18abs_eap_am_tools_cb @ 81 NONAME - _ZN23simple_config_message_cC2EP18abs_eap_am_tools_cb @ 82 NONAME - _ZN23simple_config_message_cD0Ev @ 83 NONAME - _ZN23simple_config_message_cD1Ev @ 84 NONAME - _ZN23simple_config_message_cD2Ev @ 85 NONAME - _ZN24eap_type_simple_config_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 86 NONAME - _ZN24eap_type_simple_config_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 87 NONAME - _ZN24eap_type_simple_config_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 88 NONAME - _ZN24eap_type_simple_config_c12cancel_timerEP20abs_eap_base_timer_cm @ 89 NONAME - _ZN24eap_type_simple_config_c12get_is_validEv @ 90 NONAME - _ZN24eap_type_simple_config_c12packet_traceEPKcPK19eap_am_network_id_cP15eap_header_wr_cm @ 91 NONAME - _ZN24eap_type_simple_config_c12set_is_validEv @ 92 NONAME - _ZN24eap_type_simple_config_c13get_is_clientEv @ 93 NONAME - _ZN24eap_type_simple_config_c13get_nai_realmEv @ 94 NONAME - _ZN24eap_type_simple_config_c13timer_expiredEmPv @ 95 NONAME - _ZN24eap_type_simple_config_c13unload_moduleE19eap_expanded_type_c @ 96 NONAME - _ZN24eap_type_simple_config_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 97 NONAME - _ZN24eap_type_simple_config_c14parse_identityEPKhm @ 98 NONAME - _ZN24eap_type_simple_config_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 99 NONAME - _ZN24eap_type_simple_config_c15eap_acknowledgeEPK19eap_am_network_id_c @ 100 NONAME - _ZN24eap_type_simple_config_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 101 NONAME - _ZN24eap_type_simple_config_c16get_state_stringE39eap_type_simple_config_state_variable_e @ 102 NONAME - _ZN24eap_type_simple_config_c16send_sc_frag_ackEv @ 103 NONAME - _ZN24eap_type_simple_config_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 104 NONAME - _ZN24eap_type_simple_config_c17get_header_offsetEPmS0_ @ 105 NONAME - _ZN24eap_type_simple_config_c17timer_delete_dataEmPv @ 106 NONAME - _ZN24eap_type_simple_config_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 107 NONAME - _ZN24eap_type_simple_config_c18save_current_stateEv @ 108 NONAME - _ZN24eap_type_simple_config_c18state_notificationEPK28abs_eap_state_notification_c @ 109 NONAME - _ZN24eap_type_simple_config_c19get_send_network_idEv @ 110 NONAME - _ZN24eap_type_simple_config_c19set_session_timeoutEm @ 111 NONAME - _ZN24eap_type_simple_config_c20set_reassembly_stateE41eap_type_simple_config_reassembly_state_e @ 112 NONAME - _ZN24eap_type_simple_config_c21update_buffer_indexesEmmPmS0_ @ 113 NONAME - _ZN24eap_type_simple_config_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 114 NONAME - _ZN24eap_type_simple_config_c22update_payload_indexesEmmmPmS0_S0_S0_ @ 115 NONAME - _ZN24eap_type_simple_config_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 116 NONAME - _ZN24eap_type_simple_config_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 117 NONAME - _ZN24eap_type_simple_config_c23send_final_notificationEv @ 118 NONAME - _ZN24eap_type_simple_config_c23set_last_eap_identifierEh @ 119 NONAME - _ZN24eap_type_simple_config_c25handle_eap_identity_queryEPK19eap_am_network_id_chbPK19eap_variable_data_cbS5_ @ 120 NONAME - _ZN24eap_type_simple_config_c25simple_config_packet_sendEP18eap_buf_chain_wr_c28simple_config_Message_Type_e @ 121 NONAME - _ZN24eap_type_simple_config_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 122 NONAME - _ZN24eap_type_simple_config_c27complete_eap_identity_queryEPK19eap_am_network_id_ch12eap_status_ebPK19eap_variable_data_cbS6_ @ 123 NONAME - _ZN24eap_type_simple_config_c27get_reassembly_state_stringE41eap_type_simple_config_reassembly_state_e @ 124 NONAME - _ZN24eap_type_simple_config_c28restore_saved_previous_stateEv @ 125 NONAME - _ZN24eap_type_simple_config_c28set_failure_message_receivedEv @ 126 NONAME - _ZN24eap_type_simple_config_c28simple_config_packet_processEPK19eap_am_network_id_cP26eap_simple_config_header_cm @ 127 NONAME - _ZN24eap_type_simple_config_c29save_current_reassembly_stateEv @ 128 NONAME - _ZN24eap_type_simple_config_c29simple_config_message_processEPK19eap_am_network_id_cP26eap_simple_config_header_cm @ 129 NONAME - _ZN24eap_type_simple_config_c30restore_saved_reassembly_stateEv @ 130 NONAME - _ZN24eap_type_simple_config_c30unset_failure_message_receivedEv @ 131 NONAME - _ZN24eap_type_simple_config_c31eap_simple_config_fragment_sendEv @ 132 NONAME - _ZN24eap_type_simple_config_c32finish_successful_authenticationEv @ 133 NONAME - _ZN24eap_type_simple_config_c32send_simple_config_start_messageEh @ 134 NONAME - _ZN24eap_type_simple_config_c34start_simple_config_authenticationEPK19eap_am_network_id_cPK19eap_variable_data_c @ 135 NONAME - _ZN24eap_type_simple_config_c36eap_identity_response_packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 136 NONAME - _ZN24eap_type_simple_config_c5resetEv @ 137 NONAME - _ZN24eap_type_simple_config_c7get_NAIEv @ 138 NONAME - _ZN24eap_type_simple_config_c8shutdownEv @ 139 NONAME - _ZN24eap_type_simple_config_c9check_NAIEPKhmS1_ @ 140 NONAME - _ZN24eap_type_simple_config_c9configureEv @ 141 NONAME - _ZN24eap_type_simple_config_c9set_stateE39eap_type_simple_config_state_variable_e @ 142 NONAME - _ZN24eap_type_simple_config_c9set_timerEP20abs_eap_base_timer_cmPvm @ 143 NONAME - _ZN24eap_type_simple_config_cC1EP18abs_eap_am_tools_cP19abs_eap_base_type_cP27eap_am_type_simple_config_cbP27simple_config_base_record_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 144 NONAME - _ZN24eap_type_simple_config_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_cP27eap_am_type_simple_config_cbP27simple_config_base_record_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 145 NONAME - _ZN24eap_type_simple_config_cD0Ev @ 146 NONAME - _ZN24eap_type_simple_config_cD1Ev @ 147 NONAME - _ZN24eap_type_simple_config_cD2Ev @ 148 NONAME - _ZN24simple_config_payloads_c13add_attributeEP29simple_config_variable_data_c @ 149 NONAME - _ZN24simple_config_payloads_c14copy_attributeEPKS_30simple_config_Attribute_Type_e @ 150 NONAME - _ZN24simple_config_payloads_c14verify_paddingEPKhm @ 151 NONAME - _ZN24simple_config_payloads_c19copy_attribute_dataE30simple_config_Attribute_Type_ebPKvm @ 152 NONAME - _ZN24simple_config_payloads_c21parse_generic_payloadE30simple_config_Attribute_Type_ePK26simple_config_tlv_header_c @ 153 NONAME - _ZN24simple_config_payloads_c28parse_simple_config_payloadsEPvPmS1_ @ 154 NONAME - _ZN24simple_config_payloads_c5resetEv @ 155 NONAME - _ZN24simple_config_payloads_cC1EP18abs_eap_am_tools_c @ 156 NONAME - _ZN24simple_config_payloads_cC2EP18abs_eap_am_tools_c @ 157 NONAME - _ZN24simple_config_payloads_cD0Ev @ 158 NONAME - _ZN24simple_config_payloads_cD1Ev @ 159 NONAME - _ZN24simple_config_payloads_cD2Ev @ 160 NONAME - _ZN26eap_simple_config_header_c12reset_headerEP18abs_eap_am_tools_cmb @ 161 NONAME - _ZN26eap_simple_config_header_c12set_eap_codeE16eap_code_value_e @ 162 NONAME - _ZN26eap_simple_config_header_c12set_eap_typeE19eap_expanded_type_cb @ 163 NONAME - _ZN26eap_simple_config_header_c14set_eap_lengthEtb @ 164 NONAME - _ZN26eap_simple_config_header_c14set_sc_op_codeENS_9op_code_eE @ 165 NONAME - _ZN26eap_simple_config_header_c15set_data_lengthEmb @ 166 NONAME - _ZN26eap_simple_config_header_c17set_flag_reservedEh @ 167 NONAME - _ZN26eap_simple_config_header_c18set_eap_identifierEh @ 168 NONAME - _ZN26eap_simple_config_header_c23set_flag_more_fragmentsEb @ 169 NONAME - _ZN26eap_simple_config_header_c32set_simple_config_message_lengthEm @ 170 NONAME - _ZN26eap_simple_config_header_c35get_simple_config_max_header_lengthEv @ 171 NONAME - _ZN26eap_simple_config_header_c38set_flag_simple_config_length_includedEb @ 172 NONAME - _ZN26eap_simple_config_header_cC1EP18abs_eap_am_tools_cPhm @ 173 NONAME - _ZN26eap_simple_config_header_cC2EP18abs_eap_am_tools_cPhm @ 174 NONAME - _ZN26eap_simple_config_header_cD0Ev @ 175 NONAME - _ZN26eap_simple_config_header_cD1Ev @ 176 NONAME - _ZN26eap_simple_config_header_cD2Ev @ 177 NONAME - _ZN26simple_config_completion_c12get_is_validEv @ 178 NONAME - _ZN26simple_config_completion_c12set_is_validEv @ 179 NONAME - _ZN26simple_config_completion_c21set_completion_actionE33simple_config_completion_action_e @ 180 NONAME - _ZN26simple_config_completion_cC1EP18abs_eap_am_tools_c33simple_config_completion_action_e @ 181 NONAME - _ZN26simple_config_completion_cC2EP18abs_eap_am_tools_c33simple_config_completion_action_e @ 182 NONAME - _ZN26simple_config_completion_cD0Ev @ 183 NONAME - _ZN26simple_config_completion_cD1Ev @ 184 NONAME - _ZN26simple_config_completion_cD2Ev @ 185 NONAME - _ZN26simple_config_credential_c12get_is_validEv @ 186 NONAME - _ZN26simple_config_credential_c15get_MAC_addressEv @ 187 NONAME - _ZN26simple_config_credential_c16get_network_keysEv @ 188 NONAME - _ZN26simple_config_credential_c17set_network_indexEh @ 189 NONAME - _ZN26simple_config_credential_c19get_Encryption_TypeEv @ 190 NONAME - _ZN26simple_config_credential_c19set_Encryption_TypeE31simple_config_Encryption_Type_e @ 191 NONAME - _ZN26simple_config_credential_c23get_Authentication_TypeEv @ 192 NONAME - _ZN26simple_config_credential_c23set_Authentication_TypeE35simple_config_Authentication_Type_e @ 193 NONAME - _ZN26simple_config_credential_c8get_SSIDEv @ 194 NONAME - _ZN26simple_config_credential_cC1EP18abs_eap_am_tools_c @ 195 NONAME - _ZN26simple_config_credential_cC2EP18abs_eap_am_tools_c @ 196 NONAME - _ZN26simple_config_credential_cD0Ev @ 197 NONAME - _ZN26simple_config_credential_cD1Ev @ 198 NONAME - _ZN26simple_config_credential_cD2Ev @ 199 NONAME - _ZN27CEapAmProtectedSetupSymbian11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 200 NONAME - _ZN27CEapAmProtectedSetupSymbian12get_is_validEv @ 201 NONAME - _ZN27CEapAmProtectedSetupSymbian12set_is_validEv @ 202 NONAME - _ZN27CEapAmProtectedSetupSymbian13unload_moduleE19eap_expanded_type_c @ 203 NONAME - _ZN27CEapAmProtectedSetupSymbian14set_am_partnerEP31abs_eap_am_type_simple_config_c @ 204 NONAME - _ZN27CEapAmProtectedSetupSymbian17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 205 NONAME - _ZN27CEapAmProtectedSetupSymbian18query_eap_identityEPK19eap_am_network_id_chPbP19eap_variable_data_cS3_S5_ @ 206 NONAME - _ZN27CEapAmProtectedSetupSymbian19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 207 NONAME - _ZN27CEapAmProtectedSetupSymbian20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 208 NONAME - _ZN27CEapAmProtectedSetupSymbian21cancel_identity_queryEv @ 209 NONAME - _ZN27CEapAmProtectedSetupSymbian23authentication_finishedEbb @ 210 NONAME - _ZN27CEapAmProtectedSetupSymbian23check_is_valid_eap_typeE19eap_expanded_type_c @ 211 NONAME - _ZN27CEapAmProtectedSetupSymbian26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 212 NONAME - _ZN27CEapAmProtectedSetupSymbian28set_simple_config_am_partnerEP31abs_simple_config_am_services_c @ 213 NONAME - _ZN27CEapAmProtectedSetupSymbian30received_registrar_informationEPK11eap_array_cI24simple_config_payloads_cE @ 214 NONAME - _ZN27CEapAmProtectedSetupSymbian35query_network_and_device_parametersE21simple_config_state_e @ 215 NONAME - _ZN27CEapAmProtectedSetupSymbian39complete_protected_setup_device_paramsLERKN12RMobilePhone22TMobilePhoneIdentityV1E12eap_status_e @ 216 NONAME - _ZN27CEapAmProtectedSetupSymbian42cancel_query_network_and_device_parametersEv @ 217 NONAME - _ZN27CEapAmProtectedSetupSymbian4NewLEP18abs_eap_am_tools_cP19abs_eap_base_type_c10TIndexTypei19eap_expanded_type_cS5_bPK19eap_am_network_id_cP26abs_eap_configuration_if_c @ 218 NONAME - _ZN27CEapAmProtectedSetupSymbian5resetEv @ 219 NONAME - _ZN27CEapAmProtectedSetupSymbian8shutdownEv @ 220 NONAME - _ZN27CEapAmProtectedSetupSymbian9configureEv @ 221 NONAME - _ZN27CEapAmProtectedSetupSymbianC1EP18abs_eap_am_tools_cP19abs_eap_base_type_c10TIndexTypei19eap_expanded_type_cS5_bPK19eap_am_network_id_cP26abs_eap_configuration_if_c @ 222 NONAME - _ZN27CEapAmProtectedSetupSymbianC2EP18abs_eap_am_tools_cP19abs_eap_base_type_c10TIndexTypei19eap_expanded_type_cS5_bPK19eap_am_network_id_cP26abs_eap_configuration_if_c @ 223 NONAME - _ZN27CEapAmProtectedSetupSymbianD0Ev @ 224 NONAME - _ZN27CEapAmProtectedSetupSymbianD1Ev @ 225 NONAME - _ZN27CEapAmProtectedSetupSymbianD2Ev @ 226 NONAME - _ZN27simple_config_base_record_c16get_type_partnerEv @ 227 NONAME - _ZN27simple_config_base_record_c16set_type_partnerEP31abs_simple_config_base_record_c @ 228 NONAME - _ZN27simple_config_base_record_cC2EP18abs_eap_am_tools_c @ 229 NONAME - _ZN27simple_config_base_record_cD0Ev @ 230 NONAME - _ZN27simple_config_base_record_cD1Ev @ 231 NONAME - _ZN27simple_config_base_record_cD2Ev @ 232 NONAME - _ZN29simple_config_variable_data_c10get_headerEv @ 233 NONAME - _ZN29simple_config_variable_data_c18set_attribute_typeE30simple_config_Attribute_Type_e @ 234 NONAME - _ZN29simple_config_variable_data_c18set_copy_of_bufferE30simple_config_Attribute_Type_ebPKvm @ 235 NONAME - _ZN29simple_config_variable_data_c25get_full_attribute_bufferEv @ 236 NONAME - _ZN29simple_config_variable_data_c31object_increase_reference_countEv @ 237 NONAME - _ZN29simple_config_variable_data_c41add_next_payload_with_same_attribute_typeEPS_ @ 238 NONAME - _ZN29simple_config_variable_data_c41get_next_payload_with_same_attribute_typeEv @ 239 NONAME - _ZN29simple_config_variable_data_c41set_next_payload_with_same_attribute_typeEPS_ @ 240 NONAME - _ZN29simple_config_variable_data_c8add_dataEPKvm @ 241 NONAME - _ZN29simple_config_variable_data_cC1EP18abs_eap_am_tools_c @ 242 NONAME - _ZN29simple_config_variable_data_cC2EP18abs_eap_am_tools_c @ 243 NONAME - _ZN29simple_config_variable_data_cD0Ev @ 244 NONAME - _ZN29simple_config_variable_data_cD1Ev @ 245 NONAME - _ZN29simple_config_variable_data_cD2Ev @ 246 NONAME - _ZN32eap_simple_config_trace_string_cC1Ev @ 247 NONAME - _ZN32eap_simple_config_trace_string_cC2Ev @ 248 NONAME - _ZN32eap_simple_config_trace_string_cD0Ev @ 249 NONAME - _ZN32eap_simple_config_trace_string_cD1Ev @ 250 NONAME - _ZN32eap_simple_config_trace_string_cD2Ev @ 251 NONAME - _ZN43eap_type_simple_config_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 252 NONAME - _ZN43eap_type_simple_config_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 253 NONAME - _ZN43eap_type_simple_config_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 254 NONAME - _ZN43eap_type_simple_config_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 255 NONAME - _ZN43eap_type_simple_config_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 256 NONAME - _ZN43eap_type_simple_config_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 257 NONAME - _ZN43eap_type_simple_config_state_notification_cD0Ev @ 258 NONAME - _ZN43eap_type_simple_config_state_notification_cD1Ev @ 259 NONAME - _ZN43eap_type_simple_config_state_notification_cD2Ev @ 260 NONAME - _ZNK22simple_config_record_c9get_stateEv @ 261 NONAME - _ZNK23network_key_and_index_c21get_network_key_constEv @ 262 NONAME - _ZNK23network_key_and_index_c21get_network_key_indexEv @ 263 NONAME - _ZNK24eap_type_simple_config_c16get_state_stringEv @ 264 NONAME - _ZNK24eap_type_simple_config_c20get_reassembly_stateEv @ 265 NONAME - _ZNK24eap_type_simple_config_c23get_last_eap_identifierEv @ 266 NONAME - _ZNK24eap_type_simple_config_c27get_reassembly_state_stringEv @ 267 NONAME - _ZNK24eap_type_simple_config_c28get_failure_message_receivedEv @ 268 NONAME - _ZNK24eap_type_simple_config_c31get_saved_previous_state_stringEv @ 269 NONAME - _ZNK24eap_type_simple_config_c9get_stateEv @ 270 NONAME - _ZNK24simple_config_payloads_c12get_is_validEv @ 271 NONAME - _ZNK24simple_config_payloads_c13get_attributeEm @ 272 NONAME - _ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_eP19eap_variable_data_c @ 273 NONAME - _ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePh @ 274 NONAME - _ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePm @ 275 NONAME - _ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePt @ 276 NONAME - _ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePvm @ 277 NONAME - _ZNK24simple_config_payloads_c18get_attribute_dataE30simple_config_Attribute_Type_ePy @ 278 NONAME - _ZNK24simple_config_payloads_c19get_attribute_countEv @ 279 NONAME - _ZNK24simple_config_payloads_c21get_attribute_pointerE30simple_config_Attribute_Type_e @ 280 NONAME - _ZNK24simple_config_payloads_c21get_attribute_pointerE30simple_config_Attribute_Type_em @ 281 NONAME - _ZNK24simple_config_payloads_c24check_mandatory_payloadsEPK11eap_array_cI30simple_config_Attribute_Type_eE @ 282 NONAME - _ZNK24simple_config_payloads_c24check_payloads_existenseEPK11eap_array_cI30simple_config_Attribute_Type_eE @ 283 NONAME - _ZNK24simple_config_payloads_c24check_payloads_existenseEPK30simple_config_Attribute_Type_em @ 284 NONAME - _ZNK24simple_config_payloads_c28create_simple_config_messageEP23simple_config_message_cb @ 285 NONAME - _ZNK24simple_config_payloads_c43add_payloads_to_simple_config_authenticatorEP13crypto_hmac_cb @ 286 NONAME - _ZNK24simple_config_payloads_c4copyEv @ 287 NONAME - _ZNK26eap_simple_config_header_c12check_headerEP18abs_eap_am_tools_cb @ 288 NONAME - _ZNK26eap_simple_config_header_c12get_eap_codeEv @ 289 NONAME - _ZNK26eap_simple_config_header_c12get_eap_typeEv @ 290 NONAME - _ZNK26eap_simple_config_header_c14get_eap_lengthEv @ 291 NONAME - _ZNK26eap_simple_config_header_c14get_sc_op_codeEv @ 292 NONAME - _ZNK26eap_simple_config_header_c15get_code_stringEv @ 293 NONAME - _ZNK26eap_simple_config_header_c15get_data_lengthEv @ 294 NONAME - _ZNK26eap_simple_config_header_c15get_data_offsetEP18abs_eap_am_tools_cmm @ 295 NONAME - _ZNK26eap_simple_config_header_c17get_flag_reservedEv @ 296 NONAME - _ZNK26eap_simple_config_header_c17get_header_lengthEv @ 297 NONAME - _ZNK26eap_simple_config_header_c18get_eap_identifierEv @ 298 NONAME - _ZNK26eap_simple_config_header_c19get_eap_type_stringEv @ 299 NONAME - _ZNK26eap_simple_config_header_c19get_sc_flags_offsetEv @ 300 NONAME - _ZNK26eap_simple_config_header_c20get_sc_length_offsetEv @ 301 NONAME - _ZNK26eap_simple_config_header_c21get_sc_op_code_offsetEv @ 302 NONAME - _ZNK26eap_simple_config_header_c21get_sc_op_code_stringEv @ 303 NONAME - _ZNK26eap_simple_config_header_c23get_flag_more_fragmentsEv @ 304 NONAME - _ZNK26eap_simple_config_header_c23get_simple_config_flagsEv @ 305 NONAME - _ZNK26eap_simple_config_header_c24get_start_offset_of_dataEv @ 306 NONAME - _ZNK26eap_simple_config_header_c26get_simple_config_flag_bitEm @ 307 NONAME - _ZNK26eap_simple_config_header_c26set_simple_config_flag_bitEbm @ 308 NONAME - _ZNK26eap_simple_config_header_c28get_simple_config_flag_valueEmm @ 309 NONAME - _ZNK26eap_simple_config_header_c28set_simple_config_flag_valueEhmm @ 310 NONAME - _ZNK26eap_simple_config_header_c32get_simple_config_message_lengthEPm @ 311 NONAME - _ZNK26eap_simple_config_header_c35get_simple_config_min_header_lengthEv @ 312 NONAME - _ZNK26eap_simple_config_header_c38get_flag_simple_config_length_includedEv @ 313 NONAME - _ZNK26eap_simple_config_header_c8get_dataEP18abs_eap_am_tools_cm @ 314 NONAME - _ZNK26simple_config_completion_c21get_completion_actionEv @ 315 NONAME - _ZNK26simple_config_completion_c28get_completion_action_stringEv @ 316 NONAME - _ZNK26simple_config_credential_c14get_SSID_constEv @ 317 NONAME - _ZNK26simple_config_credential_c17get_network_indexEv @ 318 NONAME - _ZNK26simple_config_credential_c21get_MAC_address_constEv @ 319 NONAME - _ZNK26simple_config_credential_c22get_network_keys_constEv @ 320 NONAME - _ZNK29simple_config_variable_data_c12get_is_validEv @ 321 NONAME - _ZNK29simple_config_variable_data_c15get_data_lengthEv @ 322 NONAME - _ZNK29simple_config_variable_data_c16get_is_mandatoryEv @ 323 NONAME - _ZNK29simple_config_variable_data_c18get_attribute_typeEv @ 324 NONAME - _ZNK29simple_config_variable_data_c4copyEv @ 325 NONAME - _ZNK29simple_config_variable_data_c8get_dataEm @ 326 NONAME - _ZNK32eap_simple_config_trace_string_c16get_state_stringE21simple_config_state_e @ 327 NONAME - _ZNK32eap_simple_config_trace_string_c23get_message_type_stringE28simple_config_Message_Type_e @ 328 NONAME - _ZNK32eap_simple_config_trace_string_c25get_attribute_type_stringE30simple_config_Attribute_Type_e @ 329 NONAME - _ZTI12CEapTypeInfo @ 330 NONAME - _ZTI18CEapProtectedSetup @ 331 NONAME - _ZTI22simple_config_record_c @ 332 NONAME - _ZTI23network_key_and_index_c @ 333 NONAME - _ZTI23simple_config_message_c @ 334 NONAME - _ZTI24eap_type_simple_config_c @ 335 NONAME - _ZTI24simple_config_payloads_c @ 336 NONAME - _ZTI26eap_simple_config_header_c @ 337 NONAME - _ZTI26simple_config_completion_c @ 338 NONAME - _ZTI26simple_config_credential_c @ 339 NONAME - _ZTI26simple_config_tlv_header_c @ 340 NONAME - _ZTI27CEapAmProtectedSetupSymbian @ 341 NONAME - _ZTI27CEapProtectedSetupInterface @ 342 NONAME - _ZTI27simple_config_base_record_c @ 343 NONAME - _ZTI29simple_config_variable_data_c @ 344 NONAME - _ZTI32eap_simple_config_trace_string_c @ 345 NONAME - _ZTI43eap_type_simple_config_state_notification_c @ 346 NONAME - _ZTV12CEapTypeInfo @ 347 NONAME - _ZTV18CEapProtectedSetup @ 348 NONAME - _ZTV22simple_config_record_c @ 349 NONAME - _ZTV23network_key_and_index_c @ 350 NONAME - _ZTV23simple_config_message_c @ 351 NONAME - _ZTV24eap_type_simple_config_c @ 352 NONAME - _ZTV24simple_config_payloads_c @ 353 NONAME - _ZTV26eap_simple_config_header_c @ 354 NONAME - _ZTV26simple_config_completion_c @ 355 NONAME - _ZTV26simple_config_credential_c @ 356 NONAME - _ZTV26simple_config_tlv_header_c @ 357 NONAME - _ZTV27CEapAmProtectedSetupSymbian @ 358 NONAME - _ZTV27CEapProtectedSetupInterface @ 359 NONAME - _ZTV27simple_config_base_record_c @ 360 NONAME - _ZTV29simple_config_variable_data_c @ 361 NONAME - _ZTV32eap_simple_config_trace_string_c @ 362 NONAME - _ZTV43eap_type_simple_config_state_notification_c @ 363 NONAME - _ZThn12_N22simple_config_record_c44complete_query_network_and_device_parametersE21simple_config_state_eP24simple_config_payloads_c12eap_status_e @ 364 NONAME - _ZThn12_N22simple_config_record_c9configureEv @ 365 NONAME - _ZThn12_N22simple_config_record_cD0Ev @ 366 NONAME - _ZThn12_N22simple_config_record_cD1Ev @ 367 NONAME - _ZThn16_N22simple_config_record_c13timer_expiredEmPv @ 368 NONAME - _ZThn16_N22simple_config_record_c17timer_delete_dataEmPv @ 369 NONAME - _ZThn16_N22simple_config_record_cD0Ev @ 370 NONAME - _ZThn16_N22simple_config_record_cD1Ev @ 371 NONAME - _ZThn20_N24eap_type_simple_config_c13get_is_clientEv @ 372 NONAME - _ZThn20_N24eap_type_simple_config_c27complete_eap_identity_queryEPK19eap_am_network_id_ch12eap_status_ebPK19eap_variable_data_cbS6_ @ 373 NONAME - _ZThn20_N24eap_type_simple_config_cD0Ev @ 374 NONAME - _ZThn20_N24eap_type_simple_config_cD1Ev @ 375 NONAME - _ZThn24_N24eap_type_simple_config_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 376 NONAME - _ZThn24_N24eap_type_simple_config_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 377 NONAME - _ZThn24_N24eap_type_simple_config_c12cancel_timerEP20abs_eap_base_timer_cm @ 378 NONAME - _ZThn24_N24eap_type_simple_config_c13unload_moduleE19eap_expanded_type_c @ 379 NONAME - _ZThn24_N24eap_type_simple_config_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 380 NONAME - _ZThn24_N24eap_type_simple_config_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 381 NONAME - _ZThn24_N24eap_type_simple_config_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 382 NONAME - _ZThn24_N24eap_type_simple_config_c17get_header_offsetEPmS0_ @ 383 NONAME - _ZThn24_N24eap_type_simple_config_c18state_notificationEPK28abs_eap_state_notification_c @ 384 NONAME - _ZThn24_N24eap_type_simple_config_c19set_session_timeoutEm @ 385 NONAME - _ZThn24_N24eap_type_simple_config_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 386 NONAME - _ZThn24_N24eap_type_simple_config_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 387 NONAME - _ZThn24_N24eap_type_simple_config_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 388 NONAME - _ZThn24_N24eap_type_simple_config_c25simple_config_packet_sendEP18eap_buf_chain_wr_c28simple_config_Message_Type_e @ 389 NONAME - _ZThn24_N24eap_type_simple_config_c9set_timerEP20abs_eap_base_timer_cmPvm @ 390 NONAME - _ZThn24_N24eap_type_simple_config_cD0Ev @ 391 NONAME - _ZThn24_N24eap_type_simple_config_cD1Ev @ 392 NONAME - _ZThn4_N24eap_type_simple_config_c12get_is_validEv @ 393 NONAME - _ZThn4_N24eap_type_simple_config_c12set_is_validEv @ 394 NONAME - _ZThn4_N24eap_type_simple_config_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 395 NONAME - _ZThn4_N24eap_type_simple_config_c15eap_acknowledgeEPK19eap_am_network_id_c @ 396 NONAME - _ZThn4_N24eap_type_simple_config_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 397 NONAME - _ZThn4_N24eap_type_simple_config_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 398 NONAME - _ZThn4_N24eap_type_simple_config_c5resetEv @ 399 NONAME - _ZThn4_N24eap_type_simple_config_c8shutdownEv @ 400 NONAME - _ZThn4_N24eap_type_simple_config_c9configureEv @ 401 NONAME - _ZThn4_N24eap_type_simple_config_cD0Ev @ 402 NONAME - _ZThn4_N24eap_type_simple_config_cD1Ev @ 403 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 404 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian12get_is_validEv @ 405 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian13unload_moduleE19eap_expanded_type_c @ 406 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian14set_am_partnerEP31abs_eap_am_type_simple_config_c @ 407 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 408 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian18query_eap_identityEPK19eap_am_network_id_chPbP19eap_variable_data_cS3_S5_ @ 409 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 410 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 411 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian21cancel_identity_queryEv @ 412 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian23authentication_finishedEbb @ 413 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian23check_is_valid_eap_typeE19eap_expanded_type_c @ 414 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian26save_simple_config_sessionE21simple_config_state_ePK11eap_array_cI26simple_config_credential_cEPK19eap_variable_data_c34simple_config_Device_Password_ID_ePK24simple_config_payloads_c @ 415 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian28set_simple_config_am_partnerEP31abs_simple_config_am_services_c @ 416 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian30received_registrar_informationEPK11eap_array_cI24simple_config_payloads_cE @ 417 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian35query_network_and_device_parametersE21simple_config_state_e @ 418 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian42cancel_query_network_and_device_parametersEv @ 419 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian5resetEv @ 420 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian8shutdownEv @ 421 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbian9configureEv @ 422 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbianD0Ev @ 423 NONAME - _ZThn4_N27CEapAmProtectedSetupSymbianD1Ev @ 424 NONAME diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/eapsecuridu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapsecuridu.def Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapsecuridu.def Wed Sep 01 12:23:57 2010 +0100 @@ -1,75 +1,3 @@ EXPORTS _Z24ImplementationGroupProxyRi @ 1 NONAME - _ZN18eap_type_securid_c12get_is_validEv @ 2 NONAME - _ZN18eap_type_securid_c12set_is_validEv @ 3 NONAME - _ZN18eap_type_securid_c13get_is_clientEv @ 4 NONAME - _ZN18eap_type_securid_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 5 NONAME - _ZN18eap_type_securid_c15eap_acknowledgeEPK19eap_am_network_id_c @ 6 NONAME - _ZN18eap_type_securid_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 7 NONAME - _ZN18eap_type_securid_c21remove_username_storeEv @ 8 NONAME - _ZN18eap_type_securid_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 9 NONAME - _ZN18eap_type_securid_c27complete_eap_identity_queryEPK19eap_variable_data_c @ 10 NONAME - _ZN18eap_type_securid_c32finish_successful_authenticationEv @ 11 NONAME - _ZN18eap_type_securid_c34finish_unsuccessful_authenticationEb @ 12 NONAME - _ZN18eap_type_securid_c36client_gtc_complete_user_input_queryEPK19eap_variable_data_c @ 13 NONAME - _ZN18eap_type_securid_c37client_securid_complete_pincode_queryEPK19eap_variable_data_cS2_ @ 14 NONAME - _ZN18eap_type_securid_c38client_securid_complete_passcode_queryEPK19eap_variable_data_c @ 15 NONAME - _ZN18eap_type_securid_c5resetEv @ 16 NONAME - _ZN18eap_type_securid_c8shutdownEv @ 17 NONAME - _ZN18eap_type_securid_c9configureEv @ 18 NONAME - _ZN18eap_type_securid_cC1EP18abs_eap_am_tools_cP19abs_eap_base_type_cP21eap_am_type_securid_cb19eap_expanded_type_cbPK19eap_am_network_id_c @ 19 NONAME - _ZN18eap_type_securid_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_cP21eap_am_type_securid_cb19eap_expanded_type_cbPK19eap_am_network_id_c @ 20 NONAME - _ZN18eap_type_securid_cD0Ev @ 21 NONAME - _ZN18eap_type_securid_cD1Ev @ 22 NONAME - _ZN18eap_type_securid_cD2Ev @ 23 NONAME - _ZN29eap_am_type_securid_symbian_c11DlgCompleteEi @ 24 NONAME - _ZN29eap_am_type_securid_symbian_c12get_is_validEv @ 25 NONAME - _ZN29eap_am_type_securid_symbian_c12set_is_validEv @ 26 NONAME - _ZN29eap_am_type_securid_symbian_c13timer_expiredEmPv @ 27 NONAME - _ZN29eap_am_type_securid_symbian_c17timer_delete_dataEmPv @ 28 NONAME - _ZN29eap_am_type_securid_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 29 NONAME - _ZN29eap_am_type_securid_symbian_c20get_memory_store_keyEP19eap_variable_data_c @ 30 NONAME - _ZN29eap_am_type_securid_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 31 NONAME - _ZN29eap_am_type_securid_symbian_c24read_auth_failure_stringEP19eap_variable_data_c @ 32 NONAME - _ZN29eap_am_type_securid_symbian_c5resetEv @ 33 NONAME - _ZN29eap_am_type_securid_symbian_c8shutdownEv @ 34 NONAME - _ZN29eap_am_type_securid_symbian_c9configureEv @ 35 NONAME - _ZN29eap_am_type_securid_symbian_cD0Ev @ 36 NONAME - _ZN29eap_am_type_securid_symbian_cD1Ev @ 37 NONAME - _ZN29eap_am_type_securid_symbian_cD2Ev @ 38 NONAME - _ZTI11CEapSecurID @ 39 NONAME - _ZTI12CEapTypeInfo @ 40 NONAME - _ZTI18eap_type_securid_c @ 41 NONAME - _ZTI24eap_type_securid_state_c @ 42 NONAME - _ZTI29eap_am_type_securid_symbian_c @ 43 NONAME - _ZTV11CEapSecurID @ 44 NONAME - _ZTV12CEapTypeInfo @ 45 NONAME - _ZTV18eap_type_securid_c @ 46 NONAME - _ZTV24eap_type_securid_state_c @ 47 NONAME - _ZTV29eap_am_type_securid_symbian_c @ 48 NONAME - _ZThn28_N29eap_am_type_securid_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 49 NONAME - _ZThn28_N29eap_am_type_securid_symbian_c20get_memory_store_keyEP19eap_variable_data_c @ 50 NONAME - _ZThn28_N29eap_am_type_securid_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 51 NONAME - _ZThn28_N29eap_am_type_securid_symbian_c24read_auth_failure_stringEP19eap_variable_data_c @ 52 NONAME - _ZThn28_N29eap_am_type_securid_symbian_c5resetEv @ 53 NONAME - _ZThn28_N29eap_am_type_securid_symbian_c8shutdownEv @ 54 NONAME - _ZThn28_N29eap_am_type_securid_symbian_c9configureEv @ 55 NONAME - _ZThn28_N29eap_am_type_securid_symbian_cD0Ev @ 56 NONAME - _ZThn28_N29eap_am_type_securid_symbian_cD1Ev @ 57 NONAME - _ZThn44_N29eap_am_type_securid_symbian_c13timer_expiredEmPv @ 58 NONAME - _ZThn44_N29eap_am_type_securid_symbian_c17timer_delete_dataEmPv @ 59 NONAME - _ZThn44_N29eap_am_type_securid_symbian_cD0Ev @ 60 NONAME - _ZThn44_N29eap_am_type_securid_symbian_cD1Ev @ 61 NONAME - _ZThn48_N29eap_am_type_securid_symbian_c11DlgCompleteEi @ 62 NONAME - _ZThn4_N18eap_type_securid_c12get_is_validEv @ 63 NONAME - _ZThn4_N18eap_type_securid_c12set_is_validEv @ 64 NONAME - _ZThn4_N18eap_type_securid_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 65 NONAME - _ZThn4_N18eap_type_securid_c15eap_acknowledgeEPK19eap_am_network_id_c @ 66 NONAME - _ZThn4_N18eap_type_securid_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 67 NONAME - _ZThn4_N18eap_type_securid_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 68 NONAME - _ZThn4_N18eap_type_securid_c5resetEv @ 69 NONAME - _ZThn4_N18eap_type_securid_c8shutdownEv @ 70 NONAME - _ZThn4_N18eap_type_securid_c9configureEv @ 71 NONAME - _ZThn4_N18eap_type_securid_cD0Ev @ 72 NONAME - _ZThn4_N18eap_type_securid_cD1Ev @ 73 NONAME diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/eapsimu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapsimu.def Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapsimu.def Wed Sep 01 12:23:57 2010 +0100 @@ -1,342 +1,3 @@ EXPORTS _Z24ImplementationGroupProxyRi @ 1 NONAME - _ZN15gsmsim_header_c11set_subtypeE16gsmsim_subtype_e @ 2 NONAME - _ZN15gsmsim_header_c12reset_headerEmb @ 3 NONAME - _ZN15gsmsim_header_c12set_reservedEt @ 4 NONAME - _ZN15gsmsim_header_c15set_data_lengthEmb @ 5 NONAME - _ZN15gsmsim_header_cC1EP18abs_eap_am_tools_cPhm @ 6 NONAME - _ZN15gsmsim_header_cC2EP18abs_eap_am_tools_cPhm @ 7 NONAME - _ZN15gsmsim_header_cD0Ev @ 8 NONAME - _ZN15gsmsim_header_cD1Ev @ 9 NONAME - _ZN15gsmsim_header_cD2Ev @ 10 NONAME - _ZN17eap_type_gsmsim_c11check_randsEPK19eap_variable_data_c @ 11 NONAME - _ZN17eap_type_gsmsim_c11new_handlerEPK19eap_am_network_id_cb @ 12 NONAME - _ZN17eap_type_gsmsim_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 13 NONAME - _ZN17eap_type_gsmsim_c12cancel_timerEP20abs_eap_base_timer_cm @ 14 NONAME - _ZN17eap_type_gsmsim_c12generate_naiEP19eap_variable_data_cbPKS0_S3_bS3_S3_m @ 15 NONAME - _ZN17eap_type_gsmsim_c12get_is_validEv @ 16 NONAME - _ZN17eap_type_gsmsim_c12save_versionEPKtm18eap_gsmsim_version @ 17 NONAME - _ZN17eap_type_gsmsim_c12set_is_validEv @ 18 NONAME - _ZN17eap_type_gsmsim_c13get_is_clientEv @ 19 NONAME - _ZN17eap_type_gsmsim_c13get_nai_realmEv @ 20 NONAME - _ZN17eap_type_gsmsim_c13timer_expiredEmPv @ 21 NONAME - _ZN17eap_type_gsmsim_c14generate_nonceEmP19eap_variable_data_c @ 22 NONAME - _ZN17eap_type_gsmsim_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 23 NONAME - _ZN17eap_type_gsmsim_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 24 NONAME - _ZN17eap_type_gsmsim_c14select_versionEPK22gsmsim_variable_data_cPb @ 25 NONAME - _ZN17eap_type_gsmsim_c14store_identityEPK19eap_variable_data_cb @ 26 NONAME - _ZN17eap_type_gsmsim_c15add_mac_payloadEP15gsmsim_header_cmmPmS2_S2_S2_PPhS2_ @ 27 NONAME - _ZN17eap_type_gsmsim_c15eap_acknowledgeEPK19eap_am_network_id_c @ 28 NONAME - _ZN17eap_type_gsmsim_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 29 NONAME - _ZN17eap_type_gsmsim_c16add_version_listEP15gsmsim_header_cmmPmS2_S2_S2_PK18eap_gsmsim_versionm24gsmsim_payload_AT_type_e @ 30 NONAME - _ZN17eap_type_gsmsim_c16get_state_stringE32eap_type_gsmsim_state_variable_e @ 31 NONAME - _ZN17eap_type_gsmsim_c16initialize_stateE32eap_type_gsmsim_state_variable_ebb16gsmsim_subtype_eS1_S1_S1_ @ 32 NONAME - _ZN17eap_type_gsmsim_c16random_selectionEv @ 33 NONAME - _ZN17eap_type_gsmsim_c17check_valid_stateE16gsmsim_subtype_e @ 34 NONAME - _ZN17eap_type_gsmsim_c17get_header_offsetEPmS0_ @ 35 NONAME - _ZN17eap_type_gsmsim_c17query_SIM_kc_sresEPK19eap_variable_data_cPS0_S3_ @ 36 NONAME - _ZN17eap_type_gsmsim_c17timer_delete_dataEmPv @ 37 NONAME - _ZN17eap_type_gsmsim_c18add_simple_payloadEP15gsmsim_header_cmmPmS2_S2_S2_24gsmsim_payload_AT_type_e @ 38 NONAME - _ZN17eap_type_gsmsim_c18check_version_listEPK26gsmsim_payload_AT_header_ctPhPb @ 39 NONAME - _ZN17eap_type_gsmsim_c18get_state_variableEv @ 40 NONAME - _ZN17eap_type_gsmsim_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 41 NONAME - _ZN17eap_type_gsmsim_c18save_current_stateEv @ 42 NONAME - _ZN17eap_type_gsmsim_c18state_notificationEPK28abs_eap_state_notification_c @ 43 NONAME - _ZN17eap_type_gsmsim_c19add_counter_payloadEP15gsmsim_header_cmmPmS2_S2_S2_t @ 44 NONAME - _ZN17eap_type_gsmsim_c19add_padding_payloadEP15gsmsim_header_cmmPmS2_S2_S2_m @ 45 NONAME - _ZN17eap_type_gsmsim_c19add_version_payloadEP15gsmsim_header_cmmPmS2_S2_S2_18eap_gsmsim_version @ 46 NONAME - _ZN17eap_type_gsmsim_c19get_identity_stringE29eap_type_gsmsim_identity_type @ 47 NONAME - _ZN17eap_type_gsmsim_c19handle_DATA_payloadE16gsmsim_subtype_eP17gsmsim_payloads_c @ 48 NONAME - _ZN17eap_type_gsmsim_c19handle_error_packetEv @ 49 NONAME - _ZN17eap_type_gsmsim_c19parse_gsmsim_packetEP15gsmsim_header_cmP17gsmsim_payloads_c @ 50 NONAME - _ZN17eap_type_gsmsim_c19process_SIM_kc_sresEPK19eap_variable_data_cS2_S2_ @ 51 NONAME - _ZN17eap_type_gsmsim_c20add_variable_payloadEP15gsmsim_header_cmmPmS2_S2_S2_PK19eap_variable_data_c24gsmsim_payload_AT_type_e @ 52 NONAME - _ZN17eap_type_gsmsim_c20complete_SIM_kc_sresEPK19eap_variable_data_cS2_S2_12eap_status_e @ 53 NONAME - _ZN17eap_type_gsmsim_c20decrypt_DATA_payloadEP17gsmsim_payloads_cPK19eap_variable_data_c @ 54 NONAME - _ZN17eap_type_gsmsim_c20encrypt_DATA_payloadEPhmPK19eap_variable_data_cS3_ @ 55 NONAME - _ZN17eap_type_gsmsim_c20handle_gsmsim_packetEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 56 NONAME - _ZN17eap_type_gsmsim_c20parse_gsmsim_payloadEPK26gsmsim_payload_AT_header_cPmP17gsmsim_payloads_c16gsmsim_subtype_e @ 57 NONAME - _ZN17eap_type_gsmsim_c21analyse_gsmsim_packetEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 58 NONAME - _ZN17eap_type_gsmsim_c21gsmsim_packet_processEPK19eap_am_network_id_cP15gsmsim_header_cmb @ 59 NONAME - _ZN17eap_type_gsmsim_c21parse_generic_payloadE24gsmsim_payload_AT_type_ePK26gsmsim_payload_AT_header_cP17gsmsim_payloads_c16gsmsim_subtype_e @ 60 NONAME - _ZN17eap_type_gsmsim_c21update_buffer_indexesEmmPmS0_ @ 61 NONAME - _ZN17eap_type_gsmsim_c22update_payload_indexesEmmmPmS0_S0_S0_ @ 62 NONAME - _ZN17eap_type_gsmsim_c23send_final_notificationEv @ 63 NONAME - _ZN17eap_type_gsmsim_c24add_client_error_payloadEP15gsmsim_header_cmmPmS2_S2_S2_30eap_gsmsim_client_error_code_e @ 64 NONAME - _ZN17eap_type_gsmsim_c24add_notification_payloadEP15gsmsim_header_cmmPmS2_S2_S2_31eap_gsmsim_notification_codes_e @ 65 NONAME - _ZN17eap_type_gsmsim_c24initialize_error_messageE12eap_status_e @ 66 NONAME - _ZN17eap_type_gsmsim_c25handle_eap_identity_queryEPK19eap_am_network_id_cP19eap_variable_data_chPKS3_S6_S6_S6_mb @ 67 NONAME - _ZN17eap_type_gsmsim_c26handle_notification_packetEv @ 68 NONAME - _ZN17eap_type_gsmsim_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 69 NONAME - _ZN17eap_type_gsmsim_c27generate_shared_secred_keysEmPK19eap_variable_data_cS2_PS0_S3_S3_S3_ @ 70 NONAME - _ZN17eap_type_gsmsim_c27send_start_response_messageEPK19eap_am_network_id_ch18eap_gsmsim_version24gsmsim_payload_AT_type_ePK19eap_variable_data_cm @ 71 NONAME - _ZN17eap_type_gsmsim_c28handle_start_request_messageEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 72 NONAME - _ZN17eap_type_gsmsim_c28restore_saved_previous_stateEv @ 73 NONAME - _ZN17eap_type_gsmsim_c29add_pseudonym_or_imsi_payloadEP15gsmsim_header_cmmPmS2_S2_S2_PK19eap_variable_data_c24gsmsim_payload_AT_type_e @ 74 NONAME - _ZN17eap_type_gsmsim_c29set_error_message_delay_timerEv @ 75 NONAME - _ZN17eap_type_gsmsim_c31initialize_notification_messageEv @ 76 NONAME - _ZN17eap_type_gsmsim_c31send_challenge_response_messageEP19eap_variable_data_c @ 77 NONAME - _ZN17eap_type_gsmsim_c32cancel_error_message_delay_timerEv @ 78 NONAME - _ZN17eap_type_gsmsim_c32finish_successful_authenticationEPK19eap_am_network_id_c @ 79 NONAME - _ZN17eap_type_gsmsim_c32handle_challenge_request_messageEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 80 NONAME - _ZN17eap_type_gsmsim_c33check_message_authentication_codeEPK19eap_variable_data_cP17gsmsim_payloads_cPK15gsmsim_header_cm @ 81 NONAME - _ZN17eap_type_gsmsim_c33send_gsmsim_client_error_responseEv @ 82 NONAME - _ZN17eap_type_gsmsim_c33send_gsmsim_notification_responseE31eap_gsmsim_notification_codes_eb @ 83 NONAME - _ZN17eap_type_gsmsim_c34create_message_authentication_codeEP32eap_type_gsmsim_MAC_attributes_c16gsmsim_subtype_e16eap_code_value_ePK19eap_variable_data_c @ 84 NONAME - _ZN17eap_type_gsmsim_c34generate_reauth_shared_secred_keysEmPK19eap_variable_data_cmS2_S2_PS0_ @ 85 NONAME - _ZN17eap_type_gsmsim_c36set_notification_message_delay_timerEv @ 86 NONAME - _ZN17eap_type_gsmsim_c38send_reauthentication_response_messageEPK19eap_variable_data_cS2_S2_S2_S2_thb @ 87 NONAME - _ZN17eap_type_gsmsim_c39cancel_notification_message_delay_timerEv @ 88 NONAME - _ZN17eap_type_gsmsim_c39extra_message_authentication_code_bytesE16gsmsim_subtype_e16eap_code_value_eP13crypto_hmac_c @ 89 NONAME - _ZN17eap_type_gsmsim_c39handle_reauthentication_request_messageEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 90 NONAME - _ZN17eap_type_gsmsim_c42handle_gsmsim_notification_request_messageEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 91 NONAME - _ZN17eap_type_gsmsim_c50query_SIM_IMSI_or_pseudonym_or_reauthentication_idEP19eap_variable_data_cS1_S1_S1_Pmb24gsmsim_payload_AT_type_e26eap_type_gsmsim_complete_eh @ 92 NONAME - _ZN17eap_type_gsmsim_c59complete_SIM_IMSI_or_pseudonym_or_reauthentication_id_queryEPK19eap_variable_data_cS2_S2_S2_m26eap_type_gsmsim_complete_eh12eap_status_e @ 93 NONAME - _ZN17eap_type_gsmsim_c59handle_gsmsim_notification_request_message_reauthenticationEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 94 NONAME - _ZN17eap_type_gsmsim_c5resetEv @ 95 NONAME - _ZN17eap_type_gsmsim_c62handle_gsmsim_notification_request_message_full_authenticationEPK19eap_am_network_id_cP15gsmsim_header_cmP17gsmsim_payloads_c @ 96 NONAME - _ZN17eap_type_gsmsim_c8data_expEmP19eap_variable_data_cPKS0_S3_ @ 97 NONAME - _ZN17eap_type_gsmsim_c8shutdownEv @ 98 NONAME - _ZN17eap_type_gsmsim_c9configureEv @ 99 NONAME - _ZN17eap_type_gsmsim_c9set_timerEP20abs_eap_base_timer_cmPvm @ 100 NONAME - _ZN17eap_type_gsmsim_cC1EP18abs_eap_am_tools_cP19abs_eap_base_type_cP20eap_am_type_gsmsim_cbbPK19eap_am_network_id_c @ 101 NONAME - _ZN17eap_type_gsmsim_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_cP20eap_am_type_gsmsim_cbbPK19eap_am_network_id_c @ 102 NONAME - _ZN17eap_type_gsmsim_cD0Ev @ 103 NONAME - _ZN17eap_type_gsmsim_cD1Ev @ 104 NONAME - _ZN17eap_type_gsmsim_cD2Ev @ 105 NONAME - _ZN17gsmsim_payloads_c11get_COUNTEREv @ 106 NONAME - _ZN17gsmsim_payloads_c11get_NONCE_SEv @ 107 NONAME - _ZN17gsmsim_payloads_c11get_n_RANDsEv @ 108 NONAME - _ZN17gsmsim_payloads_c12get_NONCE_MTEv @ 109 NONAME - _ZN17gsmsim_payloads_c13get_ENCR_DATAEv @ 110 NONAME - _ZN17gsmsim_payloads_c14check_payloadsENS_27eap_gsmsim_payload_status_eES0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_S0_ @ 111 NONAME - _ZN17gsmsim_payloads_c14get_ANY_ID_REQEv @ 112 NONAME - _ZN17gsmsim_payloads_c14get_RESULT_INDEv @ 113 NONAME - _ZN17gsmsim_payloads_c16get_NOTIFICATIONEv @ 114 NONAME - _ZN17gsmsim_payloads_c16get_VERSION_LISTEv @ 115 NONAME - _ZN17gsmsim_payloads_c17check_one_payloadENS_27eap_gsmsim_payload_status_eEPK22gsmsim_variable_data_c @ 116 NONAME - _ZN17gsmsim_payloads_c18get_NEXT_PSEUDONYMEv @ 117 NONAME - _ZN17gsmsim_payloads_c18get_NEXT_REAUTH_IDEv @ 118 NONAME - _ZN17gsmsim_payloads_c19get_FULLAUTH_ID_REQEv @ 119 NONAME - _ZN17gsmsim_payloads_c19get_padding_payloadEv @ 120 NONAME - _ZN17gsmsim_payloads_c20get_IDENTITY_payloadEv @ 121 NONAME - _ZN17gsmsim_payloads_c20get_PERMANENT_ID_REQEv @ 122 NONAME - _ZN17gsmsim_payloads_c20get_SELECTED_VERSIONEv @ 123 NONAME - _ZN17gsmsim_payloads_c21get_CLIENT_ERROR_CODEEv @ 124 NONAME - _ZN17gsmsim_payloads_c21get_counter_too_smallEv @ 125 NONAME - _ZN17gsmsim_payloads_c30get_includes_unknown_attributeEv @ 126 NONAME - _ZN17gsmsim_payloads_c30set_includes_unknown_attributeE24gsmsim_payload_AT_type_e @ 127 NONAME - _ZN17gsmsim_payloads_c33get_includes_other_version_than_1Ev @ 128 NONAME - _ZN17gsmsim_payloads_c33set_includes_other_version_than_1Eb @ 129 NONAME - _ZN17gsmsim_payloads_c6get_IVEv @ 130 NONAME - _ZN17gsmsim_payloads_c7get_MACEv @ 131 NONAME - _ZN17gsmsim_payloads_cC1EP18abs_eap_am_tools_c @ 132 NONAME - _ZN17gsmsim_payloads_cC2EP18abs_eap_am_tools_c @ 133 NONAME - _ZN17gsmsim_payloads_cD0Ev @ 134 NONAME - _ZN17gsmsim_payloads_cD1Ev @ 135 NONAME - _ZN17gsmsim_payloads_cD2Ev @ 136 NONAME - _ZN19gsmsim_fixed_data_c19get_original_headerEv @ 137 NONAME - _ZN19gsmsim_fixed_data_c8set_dataEPK26gsmsim_payload_AT_header_ctt @ 138 NONAME - _ZN19gsmsim_fixed_data_cC1EP18abs_eap_am_tools_c @ 139 NONAME - _ZN19gsmsim_fixed_data_cC2EP18abs_eap_am_tools_c @ 140 NONAME - _ZN19gsmsim_fixed_data_cD0Ev @ 141 NONAME - _ZN19gsmsim_fixed_data_cD1Ev @ 142 NONAME - _ZN19gsmsim_fixed_data_cD2Ev @ 143 NONAME - _ZN22gsmsim_variable_data_c10set_bufferEPK26gsmsim_payload_AT_header_cPhmbb @ 144 NONAME - _ZN22gsmsim_variable_data_c18get_payload_bufferEv @ 145 NONAME - _ZN22gsmsim_variable_data_c5resetEv @ 146 NONAME - _ZN22gsmsim_variable_data_cC1EP18abs_eap_am_tools_c @ 147 NONAME - _ZN22gsmsim_variable_data_cC2EP18abs_eap_am_tools_c @ 148 NONAME - _ZN22gsmsim_variable_data_cD0Ev @ 149 NONAME - _ZN22gsmsim_variable_data_cD1Ev @ 150 NONAME - _ZN22gsmsim_variable_data_cD2Ev @ 151 NONAME - _ZN25eap_type_saesim_triplet_c11set_tripletEP19eap_variable_data_cS1_S1_ @ 152 NONAME - _ZN25eap_type_saesim_triplet_c12get_is_validEv @ 153 NONAME - _ZN25eap_type_saesim_triplet_c12set_is_validEv @ 154 NONAME - _ZN25eap_type_saesim_triplet_c4copyEP18abs_eap_am_tools_c @ 155 NONAME - _ZN25eap_type_saesim_triplet_c5resetEv @ 156 NONAME - _ZN25eap_type_saesim_triplet_c6get_kcEv @ 157 NONAME - _ZN25eap_type_saesim_triplet_c8get_randEv @ 158 NONAME - _ZN25eap_type_saesim_triplet_c8get_sresEv @ 159 NONAME - _ZN25eap_type_saesim_triplet_cC1EP18abs_eap_am_tools_c @ 160 NONAME - _ZN25eap_type_saesim_triplet_cC2EP18abs_eap_am_tools_c @ 161 NONAME - _ZN25eap_type_saesim_triplet_cD0Ev @ 162 NONAME - _ZN25eap_type_saesim_triplet_cD1Ev @ 163 NONAME - _ZN25eap_type_saesim_triplet_cD2Ev @ 164 NONAME - _ZN26gsmsim_payload_AT_header_c12reset_headerEt @ 165 NONAME - _ZN26gsmsim_payload_AT_header_c12set_reservedEt @ 166 NONAME - _ZN26gsmsim_payload_AT_header_c15set_data_lengthEt @ 167 NONAME - _ZN26gsmsim_payload_AT_header_c17get_header_lengthEv @ 168 NONAME - _ZN26gsmsim_payload_AT_header_c19set_current_payloadE24gsmsim_payload_AT_type_e @ 169 NONAME - _ZN26gsmsim_payload_AT_header_c21get_payload_AT_stringE24gsmsim_payload_AT_type_e @ 170 NONAME - _ZN26gsmsim_payload_AT_header_c27get_max_payload_data_lengthEv @ 171 NONAME - _ZN26gsmsim_payload_AT_header_cC1EP18abs_eap_am_tools_cPvm @ 172 NONAME - _ZN26gsmsim_payload_AT_header_cC2EP18abs_eap_am_tools_cPvm @ 173 NONAME - _ZN26gsmsim_payload_AT_header_cD0Ev @ 174 NONAME - _ZN26gsmsim_payload_AT_header_cD1Ev @ 175 NONAME - _ZN26gsmsim_payload_AT_header_cD2Ev @ 176 NONAME - _ZN28eap_am_type_gsmsim_symbian_c12get_is_validEv @ 177 NONAME - _ZN28eap_am_type_gsmsim_symbian_c12set_is_validEv @ 178 NONAME - _ZN28eap_am_type_gsmsim_symbian_c16set_rand_is_usedEPK19eap_variable_data_c @ 179 NONAME - _ZN28eap_am_type_gsmsim_symbian_c17query_SIM_kc_sresEbPK19eap_variable_data_cPS0_S3_ @ 180 NONAME - _ZN28eap_am_type_gsmsim_symbian_c18store_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 181 NONAME - _ZN28eap_am_type_gsmsim_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 182 NONAME - _ZN28eap_am_type_gsmsim_symbian_c20check_is_rand_unusedEPK19eap_variable_data_c @ 183 NONAME - _ZN28eap_am_type_gsmsim_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 184 NONAME - _ZN28eap_am_type_gsmsim_symbian_c21generate_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 185 NONAME - _ZN28eap_am_type_gsmsim_symbian_c21query_SIM_kc_and_sresEPKhPhS2_ @ 186 NONAME - _ZN28eap_am_type_gsmsim_symbian_c22generate_encryption_IVEP19eap_variable_data_cm @ 187 NONAME - _ZN28eap_am_type_gsmsim_symbian_c23authentication_finishedEb32eap_gsmsim_authentication_type_e29eap_type_gsmsim_identity_type @ 188 NONAME - _ZN28eap_am_type_gsmsim_symbian_c23increase_reauth_counterEv @ 189 NONAME - _ZN28eap_am_type_gsmsim_symbian_c23query_reauth_parametersEP19eap_variable_data_cS1_S1_Pm @ 190 NONAME - _ZN28eap_am_type_gsmsim_symbian_c23store_reauth_parametersEPK19eap_variable_data_cS2_S2_m @ 191 NONAME - _ZN28eap_am_type_gsmsim_symbian_c24cancel_SIM_kc_sres_queryEv @ 192 NONAME - _ZN28eap_am_type_gsmsim_symbian_c25store_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 193 NONAME - _ZN28eap_am_type_gsmsim_symbian_c26handle_gsmsim_notificationE31eap_gsmsim_notification_codes_e @ 194 NONAME - _ZN28eap_am_type_gsmsim_symbian_c28generate_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 195 NONAME - _ZN28eap_am_type_gsmsim_symbian_c31cancel_imsi_from_username_queryEv @ 196 NONAME - _ZN28eap_am_type_gsmsim_symbian_c50query_SIM_IMSI_or_pseudonym_or_reauthentication_idEbP19eap_variable_data_cS1_S1_S1_Pm24gsmsim_payload_AT_type_e26eap_type_gsmsim_complete_eh @ 197 NONAME - _ZN28eap_am_type_gsmsim_symbian_c57cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_queryEv @ 198 NONAME - _ZN28eap_am_type_gsmsim_symbian_c5resetEv @ 199 NONAME - _ZN28eap_am_type_gsmsim_symbian_c8shutdownEv @ 200 NONAME - _ZN28eap_am_type_gsmsim_symbian_c9configureEv @ 201 NONAME - _ZN28eap_am_type_gsmsim_symbian_cD0Ev @ 202 NONAME - _ZN28eap_am_type_gsmsim_symbian_cD1Ev @ 203 NONAME - _ZN28eap_am_type_gsmsim_symbian_cD2Ev @ 204 NONAME - _ZN28eap_type_sim_triplet_array_c11add_tripletEv @ 205 NONAME - _ZN28eap_type_sim_triplet_array_c11get_tripletEP18abs_eap_am_tools_cm @ 206 NONAME - _ZN28eap_type_sim_triplet_array_c11set_tripletEmP25eap_type_saesim_triplet_c @ 207 NONAME - _ZN28eap_type_sim_triplet_array_c17get_triplet_countEv @ 208 NONAME - _ZN28eap_type_sim_triplet_array_c17set_triplet_countEm @ 209 NONAME - _ZN28eap_type_sim_triplet_array_c4copyEv @ 210 NONAME - _ZN28eap_type_sim_triplet_array_c5resetEv @ 211 NONAME - _ZN28eap_type_sim_triplet_array_cC1EP18abs_eap_am_tools_c @ 212 NONAME - _ZN28eap_type_sim_triplet_array_cC2EP18abs_eap_am_tools_c @ 213 NONAME - _ZN28eap_type_sim_triplet_array_cD0Ev @ 214 NONAME - _ZN28eap_type_sim_triplet_array_cD1Ev @ 215 NONAME - _ZN28eap_type_sim_triplet_array_cD2Ev @ 216 NONAME - _ZN36eap_type_gsmsim_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 217 NONAME - _ZN36eap_type_gsmsim_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 218 NONAME - _ZN36eap_type_gsmsim_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 219 NONAME - _ZN36eap_type_gsmsim_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 220 NONAME - _ZN36eap_type_gsmsim_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 221 NONAME - _ZN36eap_type_gsmsim_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 222 NONAME - _ZN36eap_type_gsmsim_state_notification_cD0Ev @ 223 NONAME - _ZN36eap_type_gsmsim_state_notification_cD1Ev @ 224 NONAME - _ZN36eap_type_gsmsim_state_notification_cD2Ev @ 225 NONAME - _ZN43eap_type_gsmsim_state_variable_parameters_c10init_stateEbb16gsmsim_subtype_eS0_S0_S0_ @ 226 NONAME - _ZN43eap_type_gsmsim_state_variable_parameters_cC1Ev @ 227 NONAME - _ZN43eap_type_gsmsim_state_variable_parameters_cC2Ev @ 228 NONAME - _ZN43eap_type_gsmsim_state_variable_parameters_cD0Ev @ 229 NONAME - _ZN43eap_type_gsmsim_state_variable_parameters_cD1Ev @ 230 NONAME - _ZN43eap_type_gsmsim_state_variable_parameters_cD2Ev @ 231 NONAME - _ZNK15gsmsim_header_c11get_subtypeEv @ 232 NONAME - _ZNK15gsmsim_header_c12check_headerEv @ 233 NONAME - _ZNK15gsmsim_header_c12get_reservedEv @ 234 NONAME - _ZNK15gsmsim_header_c15get_code_stringEv @ 235 NONAME - _ZNK15gsmsim_header_c15get_data_lengthEv @ 236 NONAME - _ZNK15gsmsim_header_c15get_data_offsetEmm @ 237 NONAME - _ZNK15gsmsim_header_c17get_header_lengthEv @ 238 NONAME - _ZNK15gsmsim_header_c18get_subtype_stringEv @ 239 NONAME - _ZNK15gsmsim_header_c19get_eap_type_stringEv @ 240 NONAME - _ZNK15gsmsim_header_c19get_sub_type_offsetEv @ 241 NONAME - _ZNK15gsmsim_header_c8get_dataEm @ 242 NONAME - _ZNK17eap_type_gsmsim_c16get_state_stringEv @ 243 NONAME - _ZNK17eap_type_gsmsim_c31get_saved_previous_state_stringEv @ 244 NONAME - _ZNK17gsmsim_payloads_c12get_is_validEv @ 245 NONAME - _ZNK19gsmsim_fixed_data_c12get_is_validEv @ 246 NONAME - _ZNK19gsmsim_fixed_data_c8get_dataEP18abs_eap_am_tools_c @ 247 NONAME - _ZNK19gsmsim_fixed_data_c8get_typeEP18abs_eap_am_tools_c @ 248 NONAME - _ZNK22gsmsim_variable_data_c15get_data_lengthEv @ 249 NONAME - _ZNK22gsmsim_variable_data_c19get_original_headerEv @ 250 NONAME - _ZNK22gsmsim_variable_data_c20get_payload_includedEv @ 251 NONAME - _ZNK22gsmsim_variable_data_c8get_dataEm @ 252 NONAME - _ZNK26gsmsim_payload_AT_header_c12check_headerEv @ 253 NONAME - _ZNK26gsmsim_payload_AT_header_c12get_reservedEv @ 254 NONAME - _ZNK26gsmsim_payload_AT_header_c15get_data_lengthEv @ 255 NONAME - _ZNK26gsmsim_payload_AT_header_c15get_data_offsetEmm @ 256 NONAME - _ZNK26gsmsim_payload_AT_header_c15get_next_headerEv @ 257 NONAME - _ZNK26gsmsim_payload_AT_header_c18get_payload_lengthEv @ 258 NONAME - _ZNK26gsmsim_payload_AT_header_c19get_current_payloadEv @ 259 NONAME - _ZNK26gsmsim_payload_AT_header_c21get_payload_AT_stringEv @ 260 NONAME - _ZNK26gsmsim_payload_AT_header_c8get_dataEm @ 261 NONAME - _ZNK43eap_type_gsmsim_state_variable_parameters_c15check_initiatorEb @ 262 NONAME - _ZNK43eap_type_gsmsim_state_variable_parameters_c17check_valid_typesE16gsmsim_subtype_e @ 263 NONAME - _ZTI12CEapTypeInfo @ 264 NONAME - _ZTI15gsmsim_header_c @ 265 NONAME - _ZTI17eap_type_gsmsim_c @ 266 NONAME - _ZTI17gsmsim_payloads_c @ 267 NONAME - _ZTI19CEapSimIsaInterface @ 268 NONAME - _ZTI19gsmsim_fixed_data_c @ 269 NONAME - _ZTI22gsmsim_variable_data_c @ 270 NONAME - _ZTI25eap_type_saesim_triplet_c @ 271 NONAME - _ZTI26gsmsim_payload_AT_header_c @ 272 NONAME - _ZTI28eap_am_type_gsmsim_symbian_c @ 273 NONAME - _ZTI28eap_type_sim_triplet_array_c @ 274 NONAME - _ZTI29eap_type_gsmsim_initialized_c @ 275 NONAME - _ZTI32eap_type_gsmsim_MAC_attributes_c @ 276 NONAME - _ZTI36eap_type_gsmsim_state_notification_c @ 277 NONAME - _ZTI43eap_type_gsmsim_state_variable_parameters_c @ 278 NONAME - _ZTI7CEapSim @ 279 NONAME - _ZTV12CEapTypeInfo @ 280 NONAME - _ZTV15gsmsim_header_c @ 281 NONAME - _ZTV17eap_type_gsmsim_c @ 282 NONAME - _ZTV17gsmsim_payloads_c @ 283 NONAME - _ZTV19CEapSimIsaInterface @ 284 NONAME - _ZTV19gsmsim_fixed_data_c @ 285 NONAME - _ZTV22gsmsim_variable_data_c @ 286 NONAME - _ZTV25eap_type_saesim_triplet_c @ 287 NONAME - _ZTV26gsmsim_payload_AT_header_c @ 288 NONAME - _ZTV28eap_am_type_gsmsim_symbian_c @ 289 NONAME - _ZTV28eap_type_sim_triplet_array_c @ 290 NONAME - _ZTV29eap_type_gsmsim_initialized_c @ 291 NONAME - _ZTV32eap_type_gsmsim_MAC_attributes_c @ 292 NONAME - _ZTV36eap_type_gsmsim_state_notification_c @ 293 NONAME - _ZTV43eap_type_gsmsim_state_variable_parameters_c @ 294 NONAME - _ZTV7CEapSim @ 295 NONAME - _ZThn12_N17eap_type_gsmsim_c12get_is_validEv @ 296 NONAME - _ZThn12_N17eap_type_gsmsim_c12set_is_validEv @ 297 NONAME - _ZThn12_N17eap_type_gsmsim_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 298 NONAME - _ZThn12_N17eap_type_gsmsim_c15eap_acknowledgeEPK19eap_am_network_id_c @ 299 NONAME - _ZThn12_N17eap_type_gsmsim_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 300 NONAME - _ZThn12_N17eap_type_gsmsim_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 301 NONAME - _ZThn12_N17eap_type_gsmsim_c5resetEv @ 302 NONAME - _ZThn12_N17eap_type_gsmsim_c8shutdownEv @ 303 NONAME - _ZThn12_N17eap_type_gsmsim_c9configureEv @ 304 NONAME - _ZThn12_N17eap_type_gsmsim_cD0Ev @ 305 NONAME - _ZThn12_N17eap_type_gsmsim_cD1Ev @ 306 NONAME - _ZThn4_N17eap_type_gsmsim_c13get_is_clientEv @ 307 NONAME - _ZThn4_N17eap_type_gsmsim_c20complete_SIM_kc_sresEPK19eap_variable_data_cS2_S2_12eap_status_e @ 308 NONAME - _ZThn4_N17eap_type_gsmsim_c59complete_SIM_IMSI_or_pseudonym_or_reauthentication_id_queryEPK19eap_variable_data_cS2_S2_S2_m26eap_type_gsmsim_complete_eh12eap_status_e @ 309 NONAME - _ZThn4_N17eap_type_gsmsim_cD0Ev @ 310 NONAME - _ZThn4_N17eap_type_gsmsim_cD1Ev @ 311 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c16set_rand_is_usedEPK19eap_variable_data_c @ 312 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c17query_SIM_kc_sresEbPK19eap_variable_data_cPS0_S3_ @ 313 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c18store_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 314 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 315 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c20check_is_rand_unusedEPK19eap_variable_data_c @ 316 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 317 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c21generate_pseudonym_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 318 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c22generate_encryption_IVEP19eap_variable_data_cm @ 319 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c23authentication_finishedEb32eap_gsmsim_authentication_type_e29eap_type_gsmsim_identity_type @ 320 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c23increase_reauth_counterEv @ 321 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c23query_reauth_parametersEP19eap_variable_data_cS1_S1_Pm @ 322 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c23store_reauth_parametersEPK19eap_variable_data_cS2_S2_m @ 323 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c24cancel_SIM_kc_sres_queryEv @ 324 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c25store_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_c @ 325 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c26handle_gsmsim_notificationE31eap_gsmsim_notification_codes_e @ 326 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c28generate_reauthentication_idEPK19eap_am_network_id_cPK19eap_variable_data_cPS3_m @ 327 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c31cancel_imsi_from_username_queryEv @ 328 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c50query_SIM_IMSI_or_pseudonym_or_reauthentication_idEbP19eap_variable_data_cS1_S1_S1_Pm24gsmsim_payload_AT_type_e26eap_type_gsmsim_complete_eh @ 329 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c57cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_queryEv @ 330 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c5resetEv @ 331 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c8shutdownEv @ 332 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_c9configureEv @ 333 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_cD0Ev @ 334 NONAME - _ZThn4_N28eap_am_type_gsmsim_symbian_cD1Ev @ 335 NONAME - _ZThn8_N17eap_type_gsmsim_c13timer_expiredEmPv @ 336 NONAME - _ZThn8_N17eap_type_gsmsim_c17timer_delete_dataEmPv @ 337 NONAME - _ZThn8_N17eap_type_gsmsim_cD0Ev @ 338 NONAME - _ZThn8_N17eap_type_gsmsim_cD1Ev @ 339 NONAME - _ZN17eap_type_gsmsim_c12packet_traceEPKcPK19eap_am_network_id_cP15eap_header_wr_cm @ 340 NONAME diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/eaptlspeapu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eaptlspeapu.def Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eaptlspeapu.def Wed Sep 01 12:23:57 2010 +0100 @@ -1,1079 +1,3 @@ EXPORTS _Z24ImplementationGroupProxyRi @ 1 NONAME - _Z38convert_eap_diameter_avp_code_to_u32_t23eap_diameter_avp_code_c @ 2 NONAME - _Z38convert_eap_diameter_avp_code_to_u64_t23eap_diameter_avp_code_c @ 3 NONAME - _ZN12tls_record_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 4 NONAME - _ZN12tls_record_c11packet_sendEP18eap_buf_chain_wr_cmmm @ 5 NONAME - _ZN12tls_record_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 6 NONAME - _ZN12tls_record_c12cancel_timerEP20abs_eap_base_timer_cm @ 7 NONAME - _ZN12tls_record_c12get_is_validEv @ 8 NONAME - _ZN12tls_record_c12set_is_validEv @ 9 NONAME - _ZN12tls_record_c12verify_stateE16tls_peap_state_e @ 10 NONAME - _ZN12tls_record_c13set_nai_realmEPK19eap_variable_data_c @ 11 NONAME - _ZN12tls_record_c13unload_moduleE19eap_expanded_type_c @ 12 NONAME - _ZN12tls_record_c14packet_processEP19eap_variable_data_ch @ 13 NONAME - _ZN12tls_record_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 14 NONAME - _ZN12tls_record_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 15 NONAME - _ZN12tls_record_c16finish_handshakeEv @ 16 NONAME - _ZN12tls_record_c16get_tls_prf_dataEPK19eap_variable_data_cS2_S2_S2_PS0_m @ 17 NONAME - _ZN12tls_record_c16send_tls_messageEv @ 18 NONAME - _ZN12tls_record_c16set_peap_versionE14peap_version_ebb @ 19 NONAME - _ZN12tls_record_c17generate_dhe_keysEv @ 20 NONAME - _ZN12tls_record_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 21 NONAME - _ZN12tls_record_c17get_header_offsetEPmS0_ @ 22 NONAME - _ZN12tls_record_c17message_hash_initEv @ 23 NONAME - _ZN12tls_record_c18add_record_messageEP19tls_alert_message_c @ 24 NONAME - _ZN12tls_record_c18add_record_messageEP23tls_handshake_message_c @ 25 NONAME - _ZN12tls_record_c18add_record_messageEP30tls_application_data_message_c @ 26 NONAME - _ZN12tls_record_c18add_record_messageEP32tls_change_cipher_spec_message_c @ 27 NONAME - _ZN12tls_record_c18change_cipher_specEb @ 28 NONAME - _ZN12tls_record_c18message_hash_finalEP19eap_variable_data_cS1_ @ 29 NONAME - _ZN12tls_record_c18new_record_messageEPP20tls_record_message_c21tls_record_protocol_e @ 30 NONAME - _ZN12tls_record_c18state_notificationEPK28abs_eap_state_notification_c @ 31 NONAME - _ZN12tls_record_c19get_is_tunneled_tlsEv @ 32 NONAME - _ZN12tls_record_c19message_hash_createEb20tls_handshake_type_eP19eap_variable_data_cb @ 33 NONAME - _ZN12tls_record_c19message_hash_updateEb20tls_handshake_type_ePhm @ 34 NONAME - _ZN12tls_record_c19process_tls_messageEv @ 35 NONAME - _ZN12tls_record_c19process_tls_recordsEv @ 36 NONAME - _ZN12tls_record_c19reset_block_ciphersEb @ 37 NONAME - _ZN12tls_record_c19set_session_timeoutEm @ 38 NONAME - _ZN12tls_record_c19u16_t_to_host_orderEPtP18abs_eap_am_tools_c @ 39 NONAME - _ZN12tls_record_c20complete_query_realmEPK19eap_variable_data_c12eap_status_e @ 40 NONAME - _ZN12tls_record_c20get_tls_session_typeEv @ 41 NONAME - _ZN12tls_record_c20reset_stream_ciphersEb @ 42 NONAME - _ZN12tls_record_c20set_tls_session_typeE18tls_session_type_e @ 43 NONAME - _ZN12tls_record_c21completion_action_addE23tls_completion_action_e @ 44 NONAME - _ZN12tls_record_c21generate_key_materialEv @ 45 NONAME - _ZN12tls_record_c21reset_hmac_algorithmsEb @ 46 NONAME - _ZN12tls_record_c21set_send_cipher_suiteE19tls_cipher_suites_e @ 47 NONAME - _ZN12tls_record_c21set_tls_master_secretEPK19eap_variable_data_cS2_S2_ @ 48 NONAME - _ZN12tls_record_c22check_sent_tls_messageEv @ 49 NONAME - _ZN12tls_record_c22generate_master_secretEv @ 50 NONAME - _ZN12tls_record_c22get_key_expansion_sizeEPmS0_S0_S0_S0_ @ 51 NONAME - _ZN12tls_record_c22reassemble_tls_recordsEP20tls_record_message_cP19tls_record_header_c @ 52 NONAME - _ZN12tls_record_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 53 NONAME - _ZN12tls_record_c22u16_t_to_network_orderEPtP18abs_eap_am_tools_c @ 54 NONAME - _ZN12tls_record_c23apply_send_cipher_suiteEP19eap_variable_data_c @ 55 NONAME - _ZN12tls_record_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 56 NONAME - _ZN12tls_record_c23completion_action_checkEv @ 57 NONAME - _ZN12tls_record_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 58 NONAME - _ZN12tls_record_c23read_authority_identityEP19eap_variable_data_c @ 59 NONAME - _ZN12tls_record_c23send_error_notificationE12eap_status_e @ 60 NONAME - _ZN12tls_record_c24completion_action_clenupEv @ 61 NONAME - _ZN12tls_record_c24get_extra_padding_lengthEhm @ 62 NONAME - _ZN12tls_record_c24parse_tls_protocol_alertEP20tls_record_message_cP19eap_variable_data_c @ 63 NONAME - _ZN12tls_record_c24set_receive_cipher_suiteE19tls_cipher_suites_e @ 64 NONAME - _ZN12tls_record_c25create_tls_protocol_alertE23tls_alert_description_e17tls_alert_level_e12eap_status_e @ 65 NONAME - _ZN12tls_record_c25empty_ack_packet_receivedEPK19eap_am_network_id_ch @ 66 NONAME - _ZN12tls_record_c25generate_premaster_secretEv @ 67 NONAME - _ZN12tls_record_c25set_selected_cipher_suiteE19tls_cipher_suites_e @ 68 NONAME - _ZN12tls_record_c26allocate_handshake_messageEPP23tls_handshake_message_cP24eap_automatic_variable_cIS0_E20tls_handshake_type_e @ 69 NONAME - _ZN12tls_record_c26analyse_tls_protocol_alertEPK20tls_record_message_c @ 70 NONAME - _ZN12tls_record_c26apply_receive_cipher_suiteEP19eap_variable_data_c @ 71 NONAME - _ZN12tls_record_c26message_hash_save_finishedEb @ 72 NONAME - _ZN12tls_record_c27check_selected_cipher_suiteE19tls_cipher_suites_e @ 73 NONAME - _ZN12tls_record_c27cipher_suite_initializationEb @ 74 NONAME - _ZN12tls_record_c27create_tls_application_dataEP18eap_buf_chain_wr_cm @ 75 NONAME - _ZN12tls_record_c27get_ttls_implicit_challengeEP19eap_variable_data_cm @ 76 NONAME - _ZN12tls_record_c27indicate_messages_processedEv @ 77 NONAME - _ZN12tls_record_c28complete_query_dh_parametersEPK19eap_variable_data_cS2_12eap_status_e @ 78 NONAME - _ZN12tls_record_c28message_hash_create_finishedEbP19eap_variable_data_c @ 79 NONAME - _ZN12tls_record_c28parse_tls_protocol_handshakeEP20tls_record_message_cP19eap_variable_data_c @ 80 NONAME - _ZN12tls_record_c29apply_send_block_cipher_suiteEP19eap_variable_data_cP32abs_crypto_cbc_block_algorithm_cP27abs_crypto_hmac_algorithm_c @ 81 NONAME - _ZN12tls_record_c29are_pending_queries_completedEv @ 82 NONAME - _ZN12tls_record_c29indicate_state_to_lower_layerE16tls_peap_state_e @ 83 NONAME - _ZN12tls_record_c29parse_handshake_type_finishedEP20tls_record_message_cP22tls_handshake_header_cm @ 84 NONAME - _ZN12tls_record_c29start_tls_peap_authenticationEPK19eap_variable_data_c @ 85 NONAME - _ZN12tls_record_c30analyse_tls_protocol_handshakeEP20tls_record_message_ch @ 86 NONAME - _ZN12tls_record_c30apply_send_stream_cipher_suiteEP19eap_variable_data_cP29abs_crypto_stream_algorithm_cP27abs_crypto_hmac_algorithm_c @ 87 NONAME - _ZN12tls_record_c30complete_sign_with_private_keyEPK19eap_variable_data_c12eap_status_e @ 88 NONAME - _ZN12tls_record_c30create_handshake_type_finishedEv @ 89 NONAME - _ZN12tls_record_c30get_eap_tls_master_session_keyEP19eap_variable_data_cS1_ @ 90 NONAME - _ZN12tls_record_c31allocate_handshake_message_copyEPP23tls_handshake_message_cP24eap_automatic_variable_cIS0_EP22tls_handshake_header_c @ 91 NONAME - _ZN12tls_record_c31analyse_handshake_type_finishedEPK23tls_handshake_message_ch @ 92 NONAME - _ZN12tls_record_c31cipher_suite_initialization_cbcEPP32abs_crypto_cbc_block_algorithm_cP28abs_crypto_block_algorithm_cPK19eap_variable_data_cS7_b @ 93 NONAME - _ZN12tls_record_c31complete_verify_with_public_keyE12eap_status_e @ 94 NONAME - _ZN12tls_record_c32apply_receive_block_cipher_suiteEP19eap_variable_data_cP32abs_crypto_cbc_block_algorithm_cP27abs_crypto_hmac_algorithm_c @ 95 NONAME - _ZN12tls_record_c32cipher_suite_initialization_hmacEP27abs_crypto_hmac_algorithm_cPK19eap_variable_data_c @ 96 NONAME - _ZN12tls_record_c32complete_query_certificate_chainEPK11eap_array_cI19eap_variable_data_cE12eap_status_e @ 97 NONAME - _ZN12tls_record_c32parse_handshake_type_certificateEP20tls_record_message_cP22tls_handshake_header_cm @ 98 NONAME - _ZN12tls_record_c33apply_receive_stream_cipher_suiteEP19eap_variable_data_cP29abs_crypto_stream_algorithm_cP27abs_crypto_hmac_algorithm_c @ 99 NONAME - _ZN12tls_record_c33check_selected_compression_methodE24tls_compression_method_e @ 100 NONAME - _ZN12tls_record_c33complete_verify_certificate_chainE12eap_status_e @ 101 NONAME - _ZN12tls_record_c33create_handshake_type_certificateEPK11eap_array_cI19eap_variable_data_cE @ 102 NONAME - _ZN12tls_record_c33parse_handshake_type_client_helloEP20tls_record_message_cP22tls_handshake_header_cm @ 103 NONAME - _ZN12tls_record_c33parse_handshake_type_server_helloEP20tls_record_message_cP22tls_handshake_header_cm @ 104 NONAME - _ZN12tls_record_c34analyse_handshake_type_certificateEPK23tls_handshake_message_c @ 105 NONAME - _ZN12tls_record_c34cipher_suite_initialization_streamEP29abs_crypto_stream_algorithm_cPK19eap_variable_data_cb @ 106 NONAME - _ZN12tls_record_c34create_handshake_type_client_helloEv @ 107 NONAME - _ZN12tls_record_c34create_handshake_type_server_helloEth @ 108 NONAME - _ZN12tls_record_c34parse_handshake_type_hello_requestEP20tls_record_message_cP22tls_handshake_header_cm @ 109 NONAME - _ZN12tls_record_c34start_peap_tunneled_authenticationEPK19eap_am_network_id_ch18tls_session_type_e @ 110 NONAME - _ZN12tls_record_c35analyse_handshake_type_client_helloEPK23tls_handshake_message_c @ 111 NONAME - _ZN12tls_record_c35analyse_handshake_type_server_helloEPK23tls_handshake_message_c @ 112 NONAME - _ZN12tls_record_c35create_handshake_type_hello_requestEv @ 113 NONAME - _ZN12tls_record_c35create_server_key_exchange_md5_hashEPK19eap_variable_data_cS2_S2_PS0_ @ 114 NONAME - _ZN12tls_record_c35get_next_tls_handshake_message_typeEv @ 115 NONAME - _ZN12tls_record_c35parse_tls_protocol_application_dataEP20tls_record_message_cP19eap_variable_data_c @ 116 NONAME - _ZN12tls_record_c36analyse_handshake_type_hello_requestEPK23tls_handshake_message_c @ 117 NONAME - _ZN12tls_record_c36cipher_suite_initialization_hmac_md5Eb @ 118 NONAME - _ZN12tls_record_c36complete_rsa_encrypt_with_public_keyEPK19eap_variable_data_c12eap_status_e @ 119 NONAME - _ZN12tls_record_c36create_server_key_exchange_sha1_hashEPK19eap_variable_data_cS2_S2_PS0_ @ 120 NONAME - _ZN12tls_record_c36get_next_tls_record_message_protocolEv @ 121 NONAME - _ZN12tls_record_c36message_hash_save_certificate_verifyEv @ 122 NONAME - _ZN12tls_record_c36query_ttls_pap_username_and_passwordEPK19eap_variable_data_c @ 123 NONAME - _ZN12tls_record_c37analyse_tls_protocol_application_dataEPK20tls_record_message_ch @ 124 NONAME - _ZN12tls_record_c37cipher_suite_initialization_hmac_sha1Eb @ 125 NONAME - _ZN12tls_record_c37complete_rsa_decrypt_with_private_keyEPK19eap_variable_data_c12eap_status_e @ 126 NONAME - _ZN12tls_record_c37parse_tls_protocol_change_cipher_specEP20tls_record_message_cP19eap_variable_data_c @ 127 NONAME - _ZN12tls_record_c37verify_ttls_pap_username_and_passwordEPK19eap_variable_data_cS2_ @ 128 NONAME - _ZN12tls_record_c38parse_handshake_type_server_hello_doneEP20tls_record_message_cP22tls_handshake_header_cm @ 129 NONAME - _ZN12tls_record_c39analyse_tls_protocol_change_cipher_specEPK20tls_record_message_c @ 130 NONAME - _ZN12tls_record_c39create_handshake_type_server_hello_doneEv @ 131 NONAME - _ZN12tls_record_c39parse_handshake_type_certificate_verifyEP20tls_record_message_cP22tls_handshake_header_cm @ 132 NONAME - _ZN12tls_record_c39verify_signature_of_server_key_exchangeEPK19eap_variable_data_c @ 133 NONAME - _ZN12tls_record_c40analyse_handshake_type_server_hello_doneEPK23tls_handshake_message_c @ 134 NONAME - _ZN12tls_record_c40create_handshake_type_certificate_verifyEv @ 135 NONAME - _ZN12tls_record_c40parse_handshake_type_certificate_requestEP20tls_record_message_cP22tls_handshake_header_cm @ 136 NONAME - _ZN12tls_record_c40parse_handshake_type_client_key_exchangeEP20tls_record_message_cP22tls_handshake_header_cm @ 137 NONAME - _ZN12tls_record_c40parse_handshake_type_server_key_exchangeEP20tls_record_message_cP22tls_handshake_header_cm @ 138 NONAME - _ZN12tls_record_c40set_tls_identity_privacy_handshake_stateE38tls_identity_privacy_handshake_state_e @ 139 NONAME - _ZN12tls_record_c41analyse_handshake_type_certificate_verifyEPK23tls_handshake_message_c @ 140 NONAME - _ZN12tls_record_c41create_handshake_type_certificate_requestEPK11eap_array_cIhEPKS0_I19eap_variable_data_cE @ 141 NONAME - _ZN12tls_record_c41create_handshake_type_client_key_exchangeEv @ 142 NONAME - _ZN12tls_record_c41create_handshake_type_server_key_exchangeEv @ 143 NONAME - _ZN12tls_record_c41plain_eap_success_failure_packet_receivedEPK19eap_am_network_id_c16eap_code_value_eh @ 144 NONAME - _ZN12tls_record_c42analyse_handshake_type_certificate_requestEPK23tls_handshake_message_c @ 145 NONAME - _ZN12tls_record_c42analyse_handshake_type_client_key_exchangeEPK23tls_handshake_message_c @ 146 NONAME - _ZN12tls_record_c42analyse_handshake_type_server_key_exchangeEPK23tls_handshake_message_c @ 147 NONAME - _ZN12tls_record_c45complete_query_ttls_pap_username_and_passwordEPK19eap_variable_data_cS2_12eap_status_e @ 148 NONAME - _ZN12tls_record_c46complete_verify_ttls_pap_username_and_passwordE12eap_status_ePK19eap_variable_data_c @ 149 NONAME - _ZN12tls_record_c47eap_status_return_and_create_tls_protocol_alertE12eap_status_e @ 150 NONAME - _ZN12tls_record_c48complete_query_certificate_authorities_and_typesEPK11eap_array_cI19eap_variable_data_cEPKS0_IhE12eap_status_e @ 151 NONAME - _ZN12tls_record_c49complete_create_handshake_type_certificate_verifyEv @ 152 NONAME - _ZN12tls_record_c49complete_query_cipher_suites_and_previous_sessionE18tls_session_type_ePK11eap_array_cItEPKS1_IhEPK19eap_variable_data_cSA_19tls_cipher_suites_e12eap_status_e @ 153 NONAME - _ZN12tls_record_c49complete_select_cipher_suite_and_check_session_idE18tls_session_type_etPK19eap_variable_data_cS3_12eap_status_e @ 154 NONAME - _ZN12tls_record_c49create_change_cipher_spec_type_change_cipher_specEv @ 155 NONAME - _ZN12tls_record_c50complete_create_handshake_type_client_key_exchangeEv @ 156 NONAME - _ZN12tls_record_c50complete_create_handshake_type_server_key_exchangeEv @ 157 NONAME - _ZN12tls_record_c5resetEv @ 158 NONAME - _ZN12tls_record_c8shutdownEv @ 159 NONAME - _ZN12tls_record_c9configureEv @ 160 NONAME - _ZN12tls_record_c9set_stateE16tls_peap_state_e @ 161 NONAME - _ZN12tls_record_c9set_timerEP20abs_eap_base_timer_cmPvm @ 162 NONAME - _ZN12tls_record_cC1EP18abs_eap_am_tools_cP17tls_am_services_cbP22tls_base_application_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 163 NONAME - _ZN12tls_record_cC2EP18abs_eap_am_tools_cP17tls_am_services_cbP22tls_base_application_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 164 NONAME - _ZN12tls_record_cD0Ev @ 165 NONAME - _ZN12tls_record_cD1Ev @ 166 NONAME - _ZN12tls_record_cD2Ev @ 167 NONAME - _ZN13tls_message_c16add_message_dataEP19eap_variable_data_cPb @ 168 NONAME - _ZN13tls_message_c18add_record_messageEP20tls_record_message_cbb @ 169 NONAME - _ZN13tls_message_c18save_analyse_indexEm @ 170 NONAME - _ZN13tls_message_c20fragment_tls_recordsEP20tls_record_message_cP11eap_array_cIS0_E @ 171 NONAME - _ZN13tls_message_c20get_tls_message_dataEv @ 172 NONAME - _ZN13tls_message_c20set_tls_message_dataEP19eap_variable_data_ch @ 173 NONAME - _ZN13tls_message_c21remove_record_messageEm @ 174 NONAME - _ZN13tls_message_c27get_received_eap_identifierEv @ 175 NONAME - _ZN13tls_message_c5resetEv @ 176 NONAME - _ZN13tls_message_cC1EP18abs_eap_am_tools_cP22abs_tls_message_hash_cP27abs_tls_apply_cipher_spec_cP28abs_tls_change_cipher_spec_cb @ 177 NONAME - _ZN13tls_message_cC2EP18abs_eap_am_tools_cP22abs_tls_message_hash_cP27abs_tls_apply_cipher_spec_cP28abs_tls_change_cipher_spec_cb @ 178 NONAME - _ZN13tls_message_cD0Ev @ 179 NONAME - _ZN13tls_message_cD1Ev @ 180 NONAME - _ZN13tls_message_cD2Ev @ 181 NONAME - _ZN16dummy_eap_core_c11get_partnerEv @ 182 NONAME - _ZN16dummy_eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 183 NONAME - _ZN16dummy_eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 184 NONAME - _ZN16dummy_eap_core_c11set_partnerEP14abs_eap_core_c @ 185 NONAME - _ZN16dummy_eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 186 NONAME - _ZN16dummy_eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 187 NONAME - _ZN16dummy_eap_core_c12get_is_validEv @ 188 NONAME - _ZN16dummy_eap_core_c12set_is_validEv @ 189 NONAME - _ZN16dummy_eap_core_c13resend_packetEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmmm @ 190 NONAME - _ZN16dummy_eap_core_c13timer_expiredEmPv @ 191 NONAME - _ZN16dummy_eap_core_c13unload_moduleE19eap_expanded_type_c @ 192 NONAME - _ZN16dummy_eap_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 193 NONAME - _ZN16dummy_eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 194 NONAME - _ZN16dummy_eap_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 195 NONAME - _ZN16dummy_eap_core_c15reset_operationEP15eap_base_type_cP18abs_eap_am_tools_c @ 196 NONAME - _ZN16dummy_eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 197 NONAME - _ZN16dummy_eap_core_c16send_eap_failureEPK19eap_am_network_id_ch @ 198 NONAME - _ZN16dummy_eap_core_c16send_eap_successEPK19eap_am_network_id_ch @ 199 NONAME - _ZN16dummy_eap_core_c16trace_eap_packetEPKcPK15eap_header_wr_c @ 200 NONAME - _ZN16dummy_eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 201 NONAME - _ZN16dummy_eap_core_c17get_header_offsetEPmS0_ @ 202 NONAME - _ZN16dummy_eap_core_c17timer_delete_dataEmPv @ 203 NONAME - _ZN16dummy_eap_core_c18get_marked_removedEv @ 204 NONAME - _ZN16dummy_eap_core_c18set_marked_removedEv @ 205 NONAME - _ZN16dummy_eap_core_c18shutdown_operationEP15eap_base_type_cP18abs_eap_am_tools_c @ 206 NONAME - _ZN16dummy_eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 207 NONAME - _ZN16dummy_eap_core_c19init_retransmissionEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmm16eap_code_value_eh19eap_expanded_type_c @ 208 NONAME - _ZN16dummy_eap_core_c19packet_process_typeE19eap_expanded_type_cPK19eap_am_network_id_cP25eap_general_header_base_cm @ 209 NONAME - _ZN16dummy_eap_core_c19set_session_timeoutEm @ 210 NONAME - _ZN16dummy_eap_core_c20ignore_notificationsEv @ 211 NONAME - _ZN16dummy_eap_core_c20unset_marked_removedEv @ 212 NONAME - _ZN16dummy_eap_core_c21cancel_retransmissionEv @ 213 NONAME - _ZN16dummy_eap_core_c21restart_with_new_typeE19eap_expanded_type_cPK19eap_am_network_id_ch @ 214 NONAME - _ZN16dummy_eap_core_c21send_eap_nak_responseEPK19eap_am_network_id_chPK11eap_array_cI19eap_expanded_type_cE @ 215 NONAME - _ZN16dummy_eap_core_c22cancel_session_timeoutEv @ 216 NONAME - _ZN16dummy_eap_core_c22get_saved_eap_identityEP19eap_variable_data_c @ 217 NONAME - _ZN16dummy_eap_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 218 NONAME - _ZN16dummy_eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 219 NONAME - _ZN16dummy_eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 220 NONAME - _ZN16dummy_eap_core_c23set_authentication_roleEb @ 221 NONAME - _ZN16dummy_eap_core_c23set_eap_failure_timeoutEv @ 222 NONAME - _ZN16dummy_eap_core_c25client_proposes_eap_typesEPK19eap_am_network_id_ch @ 223 NONAME - _ZN16dummy_eap_core_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 224 NONAME - _ZN16dummy_eap_core_c26cancel_eap_failure_timeoutEv @ 225 NONAME - _ZN16dummy_eap_core_c26initialize_session_timeoutEm @ 226 NONAME - _ZN16dummy_eap_core_c26send_eap_identity_responseEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 227 NONAME - _ZN16dummy_eap_core_c27complete_eap_identity_queryEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 228 NONAME - _ZN16dummy_eap_core_c27handle_eap_identity_requestE19eap_expanded_type_chPK19eap_am_network_id_c @ 229 NONAME - _ZN16dummy_eap_core_c28create_eap_identity_responseEP18eap_buf_chain_wr_cPK19eap_variable_data_ch @ 230 NONAME - _ZN16dummy_eap_core_c28handle_eap_identity_responseEP15eap_base_type_c19eap_expanded_type_cPK19eap_am_network_id_cP15eap_header_wr_cm @ 231 NONAME - _ZN16dummy_eap_core_c30send_eap_notification_responseEPK19eap_am_network_id_ch @ 232 NONAME - _ZN16dummy_eap_core_c31object_decrease_reference_countEv @ 233 NONAME - _ZN16dummy_eap_core_c31object_increase_reference_countEv @ 234 NONAME - _ZN16dummy_eap_core_c36asynchronous_init_remove_eap_sessionEv @ 235 NONAME - _ZN16dummy_eap_core_c43cancel_asynchronous_init_remove_eap_sessionEv @ 236 NONAME - _ZN16dummy_eap_core_c47initialize_asynchronous_init_remove_eap_sessionEm @ 237 NONAME - _ZN16dummy_eap_core_c5resetEv @ 238 NONAME - _ZN16dummy_eap_core_c8shutdownEv @ 239 NONAME - _ZN16dummy_eap_core_c9configureEv @ 240 NONAME - _ZN16dummy_eap_core_c9load_typeE19eap_expanded_type_cS0_PK19eap_am_network_id_c @ 241 NONAME - _ZN16dummy_eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 242 NONAME - _ZN16dummy_eap_core_cC1EP18abs_eap_am_tools_cP14abs_eap_core_cbPK19eap_am_network_id_cb @ 243 NONAME - _ZN16dummy_eap_core_cC2EP18abs_eap_am_tools_cP14abs_eap_core_cbPK19eap_am_network_id_cb @ 244 NONAME - _ZN16dummy_eap_core_cD0Ev @ 245 NONAME - _ZN16dummy_eap_core_cD1Ev @ 246 NONAME - _ZN16dummy_eap_core_cD2Ev @ 247 NONAME - _ZN16tls_completion_c12get_is_validEv @ 248 NONAME - _ZN16tls_completion_c12set_is_validEv @ 249 NONAME - _ZN16tls_completion_c21set_completion_actionE23tls_completion_action_e @ 250 NONAME - _ZN16tls_completion_cC1EP18abs_eap_am_tools_c23tls_completion_action_e @ 251 NONAME - _ZN16tls_completion_cC2EP18abs_eap_am_tools_c23tls_completion_action_e @ 252 NONAME - _ZN16tls_completion_cD0Ev @ 253 NONAME - _ZN16tls_completion_cD1Ev @ 254 NONAME - _ZN16tls_completion_cD2Ev @ 255 NONAME - _ZN17mschapv2_header_c10set_opcodeE17mschapv2_opcode_e @ 256 NONAME - _ZN17mschapv2_header_c13set_ms_lengthEt @ 257 NONAME - _ZN17mschapv2_header_c15set_mschapv2_idEh @ 258 NONAME - _ZN17mschapv2_header_cC1EP18abs_eap_am_tools_cPvm @ 259 NONAME - _ZN17mschapv2_header_cC2EP18abs_eap_am_tools_cPvm @ 260 NONAME - _ZN17mschapv2_header_cD0Ev @ 261 NONAME - _ZN17mschapv2_header_cD1Ev @ 262 NONAME - _ZN17mschapv2_header_cD2Ev @ 263 NONAME - _ZN17tls_base_record_c16get_type_partnerEv @ 264 NONAME - _ZN17tls_base_record_c16set_type_partnerEP21abs_tls_base_record_c @ 265 NONAME - _ZN17tls_base_record_cC2EP18abs_eap_am_tools_c @ 266 NONAME - _ZN17tls_base_record_cD0Ev @ 267 NONAME - _ZN17tls_base_record_cD1Ev @ 268 NONAME - _ZN17tls_base_record_cD2Ev @ 269 NONAME - _ZN19eap_type_tls_peap_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 270 NONAME - _ZN19eap_type_tls_peap_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 271 NONAME - _ZN19eap_type_tls_peap_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 272 NONAME - _ZN19eap_type_tls_peap_c12cancel_timerEP20abs_eap_base_timer_cm @ 273 NONAME - _ZN19eap_type_tls_peap_c12generate_naiEP19eap_variable_data_cPKS0_S3_ @ 274 NONAME - _ZN19eap_type_tls_peap_c12get_is_validEv @ 275 NONAME - _ZN19eap_type_tls_peap_c12packet_traceEPKcPK19eap_am_network_id_cP15eap_header_wr_cm @ 276 NONAME - _ZN19eap_type_tls_peap_c12set_is_validEv @ 277 NONAME - _ZN19eap_type_tls_peap_c13get_is_clientEv @ 278 NONAME - _ZN19eap_type_tls_peap_c13get_nai_realmEv @ 279 NONAME - _ZN19eap_type_tls_peap_c13timer_expiredEmPv @ 280 NONAME - _ZN19eap_type_tls_peap_c13unload_moduleE19eap_expanded_type_c @ 281 NONAME - _ZN19eap_type_tls_peap_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 282 NONAME - _ZN19eap_type_tls_peap_c14parse_identityEPKhm @ 283 NONAME - _ZN19eap_type_tls_peap_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 284 NONAME - _ZN19eap_type_tls_peap_c15eap_acknowledgeEPK19eap_am_network_id_c @ 285 NONAME - _ZN19eap_type_tls_peap_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 286 NONAME - _ZN19eap_type_tls_peap_c16get_state_stringE34eap_type_tls_peap_state_variable_e @ 287 NONAME - _ZN19eap_type_tls_peap_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 288 NONAME - _ZN19eap_type_tls_peap_c17get_header_offsetEPmS0_ @ 289 NONAME - _ZN19eap_type_tls_peap_c17peap_tunnel_readyEv @ 290 NONAME - _ZN19eap_type_tls_peap_c17timer_delete_dataEmPv @ 291 NONAME - _ZN19eap_type_tls_peap_c18check_version_listEtPh @ 292 NONAME - _ZN19eap_type_tls_peap_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 293 NONAME - _ZN19eap_type_tls_peap_c18save_current_stateEv @ 294 NONAME - _ZN19eap_type_tls_peap_c18send_empty_eap_ackEv @ 295 NONAME - _ZN19eap_type_tls_peap_c18state_notificationEPK28abs_eap_state_notification_c @ 296 NONAME - _ZN19eap_type_tls_peap_c19get_send_network_idEv @ 297 NONAME - _ZN19eap_type_tls_peap_c19select_peap_versionEm @ 298 NONAME - _ZN19eap_type_tls_peap_c19set_session_timeoutEm @ 299 NONAME - _ZN19eap_type_tls_peap_c19tls_message_processEPK19eap_am_network_id_cP21eap_tls_peap_header_cm @ 300 NONAME - _ZN19eap_type_tls_peap_c20get_tls_session_typeEv @ 301 NONAME - _ZN19eap_type_tls_peap_c20set_reassembly_stateE36eap_type_tls_peap_reassembly_state_e @ 302 NONAME - _ZN19eap_type_tls_peap_c20set_tls_session_typeE18tls_session_type_e @ 303 NONAME - _ZN19eap_type_tls_peap_c20tls_peap_packet_sendEP18eap_buf_chain_wr_cmmmb @ 304 NONAME - _ZN19eap_type_tls_peap_c21parse_tls_peap_packetEP21eap_tls_peap_header_cm @ 305 NONAME - _ZN19eap_type_tls_peap_c21set_tls_master_secretEPK19eap_variable_data_c @ 306 NONAME - _ZN19eap_type_tls_peap_c21update_buffer_indexesEmmPmS0_ @ 307 NONAME - _ZN19eap_type_tls_peap_c22handle_tls_peap_packetEPK19eap_am_network_id_cP21eap_tls_peap_header_cm @ 308 NONAME - _ZN19eap_type_tls_peap_c22parse_tls_peap_payloadEPm @ 309 NONAME - _ZN19eap_type_tls_peap_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 310 NONAME - _ZN19eap_type_tls_peap_c22update_payload_indexesEmmmPmS0_S0_S0_ @ 311 NONAME - _ZN19eap_type_tls_peap_c23analyse_tls_peap_packetEPK19eap_am_network_id_cP21eap_tls_peap_header_cm @ 312 NONAME - _ZN19eap_type_tls_peap_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 313 NONAME - _ZN19eap_type_tls_peap_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 314 NONAME - _ZN19eap_type_tls_peap_c23send_final_notificationEv @ 315 NONAME - _ZN19eap_type_tls_peap_c23set_last_eap_identifierEh @ 316 NONAME - _ZN19eap_type_tls_peap_c23tls_peap_packet_processEPK19eap_am_network_id_cP21eap_tls_peap_header_cm @ 317 NONAME - _ZN19eap_type_tls_peap_c25handle_eap_identity_queryEPK19eap_variable_data_cPK19eap_am_network_id_chbS2_bS2_ @ 318 NONAME - _ZN19eap_type_tls_peap_c26create_random_eap_identityEP19eap_variable_data_c @ 319 NONAME - _ZN19eap_type_tls_peap_c26eap_tls_peap_fragment_sendEv @ 320 NONAME - _ZN19eap_type_tls_peap_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 321 NONAME - _ZN19eap_type_tls_peap_c27complete_eap_identity_queryEPK19eap_variable_data_cPK19eap_am_network_id_ch12eap_status_ebS2_bS2_ @ 322 NONAME - _ZN19eap_type_tls_peap_c27get_reassembly_state_stringE36eap_type_tls_peap_reassembly_state_e @ 323 NONAME - _ZN19eap_type_tls_peap_c27send_tls_peap_start_messageEhPK19eap_variable_data_c @ 324 NONAME - _ZN19eap_type_tls_peap_c28create_eap_fast_mac_identityEPK19eap_am_network_id_cP19eap_variable_data_c @ 325 NONAME - _ZN19eap_type_tls_peap_c28restore_saved_previous_stateEv @ 326 NONAME - _ZN19eap_type_tls_peap_c28set_failure_message_receivedEv @ 327 NONAME - _ZN19eap_type_tls_peap_c29save_current_reassembly_stateEv @ 328 NONAME - _ZN19eap_type_tls_peap_c29start_tls_peap_authenticationEPK19eap_variable_data_c @ 329 NONAME - _ZN19eap_type_tls_peap_c30restore_saved_reassembly_stateEv @ 330 NONAME - _ZN19eap_type_tls_peap_c30unset_failure_message_receivedEv @ 331 NONAME - _ZN19eap_type_tls_peap_c32finish_successful_authenticationEbbb @ 332 NONAME - _ZN19eap_type_tls_peap_c32handle_identity_response_messageEP15eap_header_rd_cm @ 333 NONAME - _ZN19eap_type_tls_peap_c36eap_identity_response_packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 334 NONAME - _ZN19eap_type_tls_peap_c5resetEv @ 335 NONAME - _ZN19eap_type_tls_peap_c7get_NAIEv @ 336 NONAME - _ZN19eap_type_tls_peap_c8shutdownEv @ 337 NONAME - _ZN19eap_type_tls_peap_c9check_NAIEPKhmS1_ @ 338 NONAME - _ZN19eap_type_tls_peap_c9configureEv @ 339 NONAME - _ZN19eap_type_tls_peap_c9set_stateE34eap_type_tls_peap_state_variable_e @ 340 NONAME - _ZN19eap_type_tls_peap_c9set_timerEP20abs_eap_base_timer_cmPvm @ 341 NONAME - _ZN19eap_type_tls_peap_cC1EP18abs_eap_am_tools_cP19abs_eap_base_type_cP22eap_am_type_tls_peap_cbP17tls_base_record_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 342 NONAME - _ZN19eap_type_tls_peap_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_cP22eap_am_type_tls_peap_cbP17tls_base_record_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 343 NONAME - _ZN19eap_type_tls_peap_cD0Ev @ 344 NONAME - _ZN19eap_type_tls_peap_cD1Ev @ 345 NONAME - _ZN19eap_type_tls_peap_cD2Ev @ 346 NONAME - _ZN19mschapv2_response_c13set_constantsEv @ 347 NONAME - _ZN19mschapv2_response_c15set_nt_responseEPKh @ 348 NONAME - _ZN19mschapv2_response_c18set_peer_challengeEPKh @ 349 NONAME - _ZN19mschapv2_response_c23get_header_minimum_sizeEv @ 350 NONAME - _ZN19mschapv2_response_c8set_nameEPKh @ 351 NONAME - _ZN19mschapv2_response_cC1EP18abs_eap_am_tools_cPvm @ 352 NONAME - _ZN19mschapv2_response_cC2EP18abs_eap_am_tools_cPvm @ 353 NONAME - _ZN19mschapv2_response_cD0Ev @ 354 NONAME - _ZN19mschapv2_response_cD1Ev @ 355 NONAME - _ZN19mschapv2_response_cD2Ev @ 356 NONAME - _ZN19peap_tlv_payloads_c11get_nak_tlvEv @ 357 NONAME - _ZN19peap_tlv_payloads_c14check_payloadsENS_25peap_tlv_payload_status_eES0_S0_S0_S0_ @ 358 NONAME - _ZN19peap_tlv_payloads_c14get_result_tlvEv @ 359 NONAME - _ZN19peap_tlv_payloads_c17check_one_payloadENS_25peap_tlv_payload_status_eEPK24peap_tlv_variable_data_c @ 360 NONAME - _ZN19peap_tlv_payloads_c19get_eap_payload_tlvEv @ 361 NONAME - _ZN19peap_tlv_payloads_c22get_crypto_binding_tlvEv @ 362 NONAME - _ZN19peap_tlv_payloads_c27get_intermediate_result_tlvEv @ 363 NONAME - _ZN19peap_tlv_payloads_c5resetEv @ 364 NONAME - _ZN19peap_tlv_payloads_cC1EP18abs_eap_am_tools_c @ 365 NONAME - _ZN19peap_tlv_payloads_cC2EP18abs_eap_am_tools_c @ 366 NONAME - _ZN19peap_tlv_payloads_cD0Ev @ 367 NONAME - _ZN19peap_tlv_payloads_cD1Ev @ 368 NONAME - _ZN19peap_tlv_payloads_cD2Ev @ 369 NONAME - _ZN19tls_alert_message_c12get_is_validEv @ 370 NONAME - _ZN19tls_alert_message_c12set_is_validEv @ 371 NONAME - _ZN19tls_alert_message_c15set_alert_levelE17tls_alert_level_e @ 372 NONAME - _ZN19tls_alert_message_c16add_message_dataEP19eap_variable_data_c @ 373 NONAME - _ZN19tls_alert_message_c19create_message_dataEv @ 374 NONAME - _ZN19tls_alert_message_c21set_alert_descriptionE23tls_alert_description_e @ 375 NONAME - _ZN19tls_alert_message_cC1EP18abs_eap_am_tools_cb @ 376 NONAME - _ZN19tls_alert_message_cC2EP18abs_eap_am_tools_cb @ 377 NONAME - _ZN19tls_alert_message_cD0Ev @ 378 NONAME - _ZN19tls_alert_message_cD1Ev @ 379 NONAME - _ZN19tls_alert_message_cD2Ev @ 380 NONAME - _ZN20mschapv2_challenge_c13set_challengeEPKh @ 381 NONAME - _ZN20mschapv2_challenge_c14set_value_sizeEv @ 382 NONAME - _ZN20mschapv2_challenge_c23get_header_minimum_sizeEv @ 383 NONAME - _ZN20mschapv2_challenge_c8set_nameEPKh @ 384 NONAME - _ZN20mschapv2_challenge_cC1EP18abs_eap_am_tools_cPvm @ 385 NONAME - _ZN20mschapv2_challenge_cC2EP18abs_eap_am_tools_cPvm @ 386 NONAME - _ZN20mschapv2_challenge_cD0Ev @ 387 NONAME - _ZN20mschapv2_challenge_cD1Ev @ 388 NONAME - _ZN20mschapv2_challenge_cD2Ev @ 389 NONAME - _ZN20tls_record_message_c11set_versionE13tls_version_e @ 390 NONAME - _ZN20tls_record_message_c12get_is_validEv @ 391 NONAME - _ZN20tls_record_message_c12set_is_validEv @ 392 NONAME - _ZN20tls_record_message_c12set_protocolE21tls_record_protocol_e @ 393 NONAME - _ZN20tls_record_message_c15add_data_lengthEm @ 394 NONAME - _ZN20tls_record_message_c16add_message_dataEv @ 395 NONAME - _ZN20tls_record_message_c17add_alert_messageEP19tls_alert_message_cb @ 396 NONAME - _ZN20tls_record_message_c17set_parsed_recordEv @ 397 NONAME - _ZN20tls_record_message_c18save_analyse_indexEm @ 398 NONAME - _ZN20tls_record_message_c21add_handshake_messageEP23tls_handshake_message_cb @ 399 NONAME - _ZN20tls_record_message_c22set_record_header_copyEPK19tls_record_header_c @ 400 NONAME - _ZN20tls_record_message_c23get_record_message_dataEv @ 401 NONAME - _ZN20tls_record_message_c23set_record_message_dataEPvm @ 402 NONAME - _ZN20tls_record_message_c24set_cipher_suite_appliedEv @ 403 NONAME - _ZN20tls_record_message_c28add_application_data_messageEP30tls_application_data_message_cb @ 404 NONAME - _ZN20tls_record_message_c30add_change_cipher_spec_messageEP32tls_change_cipher_spec_message_cb @ 405 NONAME - _ZN20tls_record_message_c33set_tls_record_header_is_includedEb @ 406 NONAME - _ZN20tls_record_message_cC1EP18abs_eap_am_tools_cP22abs_tls_message_hash_cb @ 407 NONAME - _ZN20tls_record_message_cC2EP18abs_eap_am_tools_cP22abs_tls_message_hash_cb @ 408 NONAME - _ZN20tls_record_message_cD0Ev @ 409 NONAME - _ZN20tls_record_message_cD1Ev @ 410 NONAME - _ZN20tls_record_message_cD2Ev @ 411 NONAME - _ZN21eap_tls_peap_header_c12reset_headerEP18abs_eap_am_tools_c19eap_expanded_type_cm14peap_version_eb @ 412 NONAME - _ZN21eap_tls_peap_header_c12set_eap_codeE16eap_code_value_e @ 413 NONAME - _ZN21eap_tls_peap_header_c12set_eap_typeE19eap_expanded_type_cb @ 414 NONAME - _ZN21eap_tls_peap_header_c14set_eap_lengthEtb @ 415 NONAME - _ZN21eap_tls_peap_header_c14set_flag_startEb @ 416 NONAME - _ZN21eap_tls_peap_header_c15set_data_lengthEmb @ 417 NONAME - _ZN21eap_tls_peap_header_c16set_flag_versionEh @ 418 NONAME - _ZN21eap_tls_peap_header_c17set_flag_reservedEh @ 419 NONAME - _ZN21eap_tls_peap_header_c18set_eap_identifierEh @ 420 NONAME - _ZN21eap_tls_peap_header_c22set_tls_message_lengthEm @ 421 NONAME - _ZN21eap_tls_peap_header_c23set_flag_more_fragmentsEb @ 422 NONAME - _ZN21eap_tls_peap_header_c25get_tls_max_header_lengthEv @ 423 NONAME - _ZN21eap_tls_peap_header_c28set_flag_tls_length_includedEb @ 424 NONAME - _ZN21eap_tls_peap_header_cC1EP18abs_eap_am_tools_cPhm @ 425 NONAME - _ZN21eap_tls_peap_header_cC2EP18abs_eap_am_tools_cPhm @ 426 NONAME - _ZN21eap_tls_peap_header_cD0Ev @ 427 NONAME - _ZN21eap_tls_peap_header_cD1Ev @ 428 NONAME - _ZN21eap_tls_peap_header_cD2Ev @ 429 NONAME - _ZN22eap_tls_trace_string_c16get_state_stringE16tls_peap_state_e @ 430 NONAME - _ZN22eap_tls_trace_string_c21get_ttls_state_stringE33eap_ttls_tunneled_message_state_e @ 431 NONAME - _ZN22eap_tls_trace_string_c22get_alert_level_stringE17tls_alert_level_e @ 432 NONAME - _ZN22eap_tls_trace_string_c23get_cipher_suite_stringE19tls_cipher_suites_e @ 433 NONAME - _ZN22eap_tls_trace_string_c23get_peap_version_stringE14peap_version_e @ 434 NONAME - _ZN22eap_tls_trace_string_c27get_certificate_type_stringE22tls_certificate_type_e @ 435 NONAME - _ZN22eap_tls_trace_string_c27get_tls_session_type_stringE18tls_session_type_e @ 436 NONAME - _ZN22eap_tls_trace_string_c28get_alert_description_stringE23tls_alert_description_e @ 437 NONAME - _ZN22eap_tls_trace_string_c29get_compression_method_stringE24tls_compression_method_e @ 438 NONAME - _ZN22eap_tls_trace_string_c47get_tls_identity_privacy_handshake_state_stringE38tls_identity_privacy_handshake_state_e @ 439 NONAME - _ZN22eap_tls_trace_string_cC1Ev @ 440 NONAME - _ZN22eap_tls_trace_string_cC2Ev @ 441 NONAME - _ZN22eap_tls_trace_string_cD0Ev @ 442 NONAME - _ZN22eap_tls_trace_string_cD1Ev @ 443 NONAME - _ZN22eap_tls_trace_string_cD2Ev @ 444 NONAME - _ZN22tls_base_application_cD0Ev @ 445 NONAME - _ZN22tls_base_application_cD1Ev @ 446 NONAME - _ZN22tls_base_application_cD2Ev @ 447 NONAME - _ZN23eap_diameter_avp_code_c12is_ietf_codeES_ @ 448 NONAME - _ZN23eap_diameter_avp_code_c13get_code_dataEP18abs_eap_am_tools_cP31eap_diameter_avp_code_of_ietf_e @ 449 NONAME - _ZN23eap_diameter_avp_code_c13get_code_dataEP18abs_eap_am_tools_cPS_ @ 450 NONAME - _ZN23eap_diameter_avp_code_c15set_code_valuesE24eap_diameter_vendor_id_em @ 451 NONAME - _ZN23eap_diameter_avp_code_cC1E24eap_diameter_vendor_id_em @ 452 NONAME - _ZN23eap_diameter_avp_code_cC1E31eap_diameter_avp_code_of_ietf_e @ 453 NONAME - _ZN23eap_diameter_avp_code_cC1Ev @ 454 NONAME - _ZN23eap_diameter_avp_code_cC2E24eap_diameter_vendor_id_em @ 455 NONAME - _ZN23eap_diameter_avp_code_cC2E31eap_diameter_avp_code_of_ietf_e @ 456 NONAME - _ZN23eap_diameter_avp_code_cC2Ev @ 457 NONAME - _ZN23eap_diameter_avp_code_cD1Ev @ 458 NONAME - _ZN23eap_diameter_avp_code_cD2Ev @ 459 NONAME - _ZN23eap_diameter_avp_code_caSE31eap_diameter_avp_code_of_ietf_e @ 460 NONAME - _ZN23eap_diameter_avp_code_caSERKS_ @ 461 NONAME - _ZN23eap_diameter_avp_code_cadEv @ 462 NONAME - _ZN23eap_diameter_payloads_c11add_payloadE23eap_diameter_avp_code_cbPKhmbbb @ 463 NONAME - _ZN23eap_diameter_payloads_c11get_payloadE23eap_diameter_avp_code_c @ 464 NONAME - _ZN23eap_diameter_payloads_c21parse_generic_payloadE23eap_diameter_avp_code_cPK25eap_diameter_avp_header_c @ 465 NONAME - _ZN23eap_diameter_payloads_c23parse_diameter_payloadsEPK25eap_diameter_avp_header_cPm @ 466 NONAME - _ZN23eap_diameter_payloads_c24check_mandatory_payloadsEPK11eap_array_cI23eap_diameter_avp_code_cE @ 467 NONAME - _ZN23eap_diameter_payloads_c24check_payloads_existenseEPK11eap_array_cI23eap_diameter_avp_code_cE @ 468 NONAME - _ZN23eap_diameter_payloads_c5resetEv @ 469 NONAME - _ZN23eap_diameter_payloads_cC1EP18abs_eap_am_tools_c @ 470 NONAME - _ZN23eap_diameter_payloads_cC2EP18abs_eap_am_tools_c @ 471 NONAME - _ZN23eap_diameter_payloads_cD0Ev @ 472 NONAME - _ZN23eap_diameter_payloads_cD1Ev @ 473 NONAME - _ZN23eap_diameter_payloads_cD2Ev @ 474 NONAME - _ZN23tls_handshake_message_c12get_is_validEv @ 475 NONAME - _ZN23tls_handshake_message_c12set_is_validEv @ 476 NONAME - _ZN23tls_handshake_message_c13set_dhe_primeEPK19eap_variable_data_c @ 477 NONAME - _ZN23tls_handshake_message_c14set_session_idEPK19eap_variable_data_c @ 478 NONAME - _ZN23tls_handshake_message_c15get_is_analysedEv @ 479 NONAME - _ZN23tls_handshake_message_c15set_is_analysedEv @ 480 NONAME - _ZN23tls_handshake_message_c16add_message_dataEP19eap_variable_data_c @ 481 NONAME - _ZN23tls_handshake_message_c16set_random_valueEPK19eap_variable_data_c @ 482 NONAME - _ZN23tls_handshake_message_c17set_cipher_suitesEPK11eap_array_cItE @ 483 NONAME - _ZN23tls_handshake_message_c17set_finished_dataEPK19eap_variable_data_c @ 484 NONAME - _ZN23tls_handshake_message_c18set_handshake_typeE20tls_handshake_type_e @ 485 NONAME - _ZN23tls_handshake_message_c18set_public_dhe_keyEPK19eap_variable_data_c @ 486 NONAME - _ZN23tls_handshake_message_c19create_message_dataEv @ 487 NONAME - _ZN23tls_handshake_message_c21set_certificate_chainEPK11eap_array_cI19eap_variable_data_cE @ 488 NONAME - _ZN23tls_handshake_message_c21set_certificate_typesEPK11eap_array_cIhE @ 489 NONAME - _ZN23tls_handshake_message_c22u16_t_to_network_orderEPtP18abs_eap_am_tools_c @ 490 NONAME - _ZN23tls_handshake_message_c23set_compression_methodsEPK11eap_array_cIhE @ 491 NONAME - _ZN23tls_handshake_message_c23set_dhe_group_generatorEPK19eap_variable_data_c @ 492 NONAME - _ZN23tls_handshake_message_c23set_signed_message_hashEPK19eap_variable_data_c @ 493 NONAME - _ZN23tls_handshake_message_c25set_handshake_header_copyEPK22tls_handshake_header_c @ 494 NONAME - _ZN23tls_handshake_message_c25set_selected_cipher_suiteE19tls_cipher_suites_e @ 495 NONAME - _ZN23tls_handshake_message_c27set_certificate_authoritiesEPK11eap_array_cI19eap_variable_data_cE @ 496 NONAME - _ZN23tls_handshake_message_c30set_encrypted_premaster_secretEPK19eap_variable_data_c @ 497 NONAME - _ZN23tls_handshake_message_c31set_selected_compression_methodE24tls_compression_method_e @ 498 NONAME - _ZN23tls_handshake_message_cC1EP18abs_eap_am_tools_cP22abs_tls_message_hash_cb @ 499 NONAME - _ZN23tls_handshake_message_cC2EP18abs_eap_am_tools_cP22abs_tls_message_hash_cb @ 500 NONAME - _ZN23tls_handshake_message_cD0Ev @ 501 NONAME - _ZN23tls_handshake_message_cD1Ev @ 502 NONAME - _ZN23tls_handshake_message_cD2Ev @ 503 NONAME - _ZN24peap_tlv_variable_data_c10set_bufferEPK21tls_peap_tlv_header_cPhmbb @ 504 NONAME - _ZN24peap_tlv_variable_data_c18set_copy_of_bufferEPK21tls_peap_tlv_header_c @ 505 NONAME - _ZN24peap_tlv_variable_data_cC1EP18abs_eap_am_tools_c @ 506 NONAME - _ZN24peap_tlv_variable_data_cC2EP18abs_eap_am_tools_c @ 507 NONAME - _ZN24peap_tlv_variable_data_cD0Ev @ 508 NONAME - _ZN24peap_tlv_variable_data_cD1Ev @ 509 NONAME - _ZN24peap_tlv_variable_data_cD2Ev @ 510 NONAME - _ZN26mschapv2_change_password_c13set_constantsEv @ 511 NONAME - _ZN26mschapv2_change_password_c15set_nt_responseEPKh @ 512 NONAME - _ZN26mschapv2_change_password_c18set_encrypted_hashEPKh @ 513 NONAME - _ZN26mschapv2_change_password_c18set_peer_challengeEPKh @ 514 NONAME - _ZN26mschapv2_change_password_c22set_encrypted_pw_blockEPKh @ 515 NONAME - _ZN26mschapv2_change_password_c23get_header_minimum_sizeEv @ 516 NONAME - _ZN26mschapv2_change_password_cC1EP18abs_eap_am_tools_cPvm @ 517 NONAME - _ZN26mschapv2_change_password_cC2EP18abs_eap_am_tools_cPvm @ 518 NONAME - _ZN26mschapv2_change_password_cD0Ev @ 519 NONAME - _ZN26mschapv2_change_password_cD1Ev @ 520 NONAME - _ZN26mschapv2_change_password_cD2Ev @ 521 NONAME - _ZN26tls_application_eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 522 NONAME - _ZN26tls_application_eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 523 NONAME - _ZN26tls_application_eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 524 NONAME - _ZN26tls_application_eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 525 NONAME - _ZN26tls_application_eap_core_c12create_nonceEP19eap_variable_data_c @ 526 NONAME - _ZN26tls_application_eap_core_c12get_is_validEv @ 527 NONAME - _ZN26tls_application_eap_core_c12set_is_validEv @ 528 NONAME - _ZN26tls_application_eap_core_c13unload_moduleE19eap_expanded_type_c @ 529 NONAME - _ZN26tls_application_eap_core_c14alert_receivedE17tls_alert_level_e23tls_alert_description_e @ 530 NONAME - _ZN26tls_application_eap_core_c14packet_processEP19eap_variable_data_ch @ 531 NONAME - _ZN26tls_application_eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 532 NONAME - _ZN26tls_application_eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 533 NONAME - _ZN26tls_application_eap_core_c16query_tunnel_PACEPK24eap_fast_variable_data_c @ 534 NONAME - _ZN26tls_application_eap_core_c16set_peap_versionE14peap_version_ebb @ 535 NONAME - _ZN26tls_application_eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 536 NONAME - _ZN26tls_application_eap_core_c17get_header_offsetEPmS0_ @ 537 NONAME - _ZN26tls_application_eap_core_c17peap_tunnel_readyEv @ 538 NONAME - _ZN26tls_application_eap_core_c18set_tunneled_stateE18tls_session_type_e @ 539 NONAME - _ZN26tls_application_eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 540 NONAME - _ZN26tls_application_eap_core_c19packet_process_ttlsEP19eap_variable_data_chPm @ 541 NONAME - _ZN26tls_application_eap_core_c19set_session_timeoutEm @ 542 NONAME - _ZN26tls_application_eap_core_c19store_nonce_peap_v2EbP19peap_tlv_payloads_c @ 543 NONAME - _ZN26tls_application_eap_core_c20create_nonce_peap_v2Eb @ 544 NONAME - _ZN26tls_application_eap_core_c21parse_generic_payloadE19tls_peap_tlv_type_ePK21tls_peap_tlv_header_cP19peap_tlv_payloads_c @ 545 NONAME - _ZN26tls_application_eap_core_c21trace_tunneled_packetEPKcPK15eap_header_wr_c @ 546 NONAME - _ZN26tls_application_eap_core_c22packet_process_peap_v1EP19eap_variable_data_chPm @ 547 NONAME - _ZN26tls_application_eap_core_c22packet_process_peap_v2EP19eap_variable_data_chPm @ 548 NONAME - _ZN26tls_application_eap_core_c22parse_peap_tlv_payloadEPhPmP19peap_tlv_payloads_c @ 549 NONAME - _ZN26tls_application_eap_core_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 550 NONAME - _ZN26tls_application_eap_core_c23cancel_query_tunnel_PACEv @ 551 NONAME - _ZN26tls_application_eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 552 NONAME - _ZN26tls_application_eap_core_c23check_ttls_eap_payloadsEP23eap_diameter_payloads_cP32eap_ttls_tunneled_message_type_e @ 553 NONAME - _ZN26tls_application_eap_core_c23get_application_partnerEv @ 554 NONAME - _ZN26tls_application_eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 555 NONAME - _ZN26tls_application_eap_core_c23read_authority_identityEP19eap_variable_data_c @ 556 NONAME - _ZN26tls_application_eap_core_c23set_application_partnerEP26abs_tls_base_application_c @ 557 NONAME - _ZN26tls_application_eap_core_c24create_ttls_diameter_avpEP19eap_variable_data_cPKS0_23eap_diameter_avp_code_cb @ 558 NONAME - _ZN26tls_application_eap_core_c24packet_forward_to_tunnelEPK19eap_am_network_id_cP15eap_header_wr_cm @ 559 NONAME - _ZN26tls_application_eap_core_c25create_result_tlv_messageEP18eap_buf_chain_wr_c16eap_code_value_eh19tls_peap_tlv_type_e @ 560 NONAME - _ZN26tls_application_eap_core_c25empty_ack_packet_receivedEPK19eap_am_network_id_ch @ 561 NONAME - _ZN26tls_application_eap_core_c25packet_process_xp_peap_v0EP19eap_variable_data_chPm @ 562 NONAME - _ZN26tls_application_eap_core_c26send_ttls_ms_chapv2_packetEP15eap_header_wr_c @ 563 NONAME - _ZN26tls_application_eap_core_c29check_ttls_plain_pap_payloadsEP23eap_diameter_payloads_cP32eap_ttls_tunneled_message_type_e @ 564 NONAME - _ZN26tls_application_eap_core_c30create_eap_payload_tlv_messageEP18eap_buf_chain_wr_cPK15eap_header_wr_ch @ 565 NONAME - _ZN26tls_application_eap_core_c30handle_ttls_plain_pap_payloadsEP23eap_diameter_payloads_c32eap_ttls_tunneled_message_type_eh @ 566 NONAME - _ZN26tls_application_eap_core_c31create_compound_mac_key_peap_v2Eb @ 567 NONAME - _ZN26tls_application_eap_core_c31create_eap_diameter_avp_messageEP18eap_buf_chain_wr_cPK15eap_header_wr_ch @ 568 NONAME - _ZN26tls_application_eap_core_c32ttls_server_handles_pap_responseEP23eap_diameter_payloads_ch @ 569 NONAME - _ZN26tls_application_eap_core_c33create_crypto_binding_tlv_messageEP18eap_buf_chain_wr_c16eap_code_value_ehPK19eap_variable_data_ch @ 570 NONAME - _ZN26tls_application_eap_core_c33send_tunneled_acknowledge_peap_v2E16eap_code_value_eh @ 571 NONAME - _ZN26tls_application_eap_core_c34check_ttls_plain_mschapv2_payloadsEP23eap_diameter_payloads_cP32eap_ttls_tunneled_message_type_e @ 572 NONAME - _ZN26tls_application_eap_core_c34create_crypto_binding_compound_macEPK19eap_variable_data_cPK21tls_peap_tlv_header_cPS0_ @ 573 NONAME - _ZN26tls_application_eap_core_c34save_user_authorization_pac_opaqueEPK15tls_extension_c @ 574 NONAME - _ZN26tls_application_eap_core_c34start_peap_tunneled_authenticationEPK19eap_am_network_id_cbh18tls_session_type_eb @ 575 NONAME - _ZN26tls_application_eap_core_c34start_ttls_tunneled_authenticationEPK19eap_am_network_id_ch @ 576 NONAME - _ZN26tls_application_eap_core_c35create_compound_session_key_peap_v2Ev @ 577 NONAME - _ZN26tls_application_eap_core_c35handle_ttls_plain_mschapv2_payloadsEP23eap_diameter_payloads_c32eap_ttls_tunneled_message_type_eh @ 578 NONAME - _ZN26tls_application_eap_core_c35ttls_client_handles_ms_chapv2_errorEP23eap_diameter_payloads_ch @ 579 NONAME - _ZN26tls_application_eap_core_c35verify_tunneled_acknowledge_peap_v2Ev @ 580 NONAME - _ZN26tls_application_eap_core_c36asynchronous_init_remove_eap_sessionEPK19eap_am_network_id_c @ 581 NONAME - _ZN26tls_application_eap_core_c36send_tunneled_acknowledge_xp_peap_v0E16eap_code_value_eh @ 582 NONAME - _ZN26tls_application_eap_core_c37ttls_client_handles_ms_chapv2_successEP23eap_diameter_payloads_ch @ 583 NONAME - _ZN26tls_application_eap_core_c37ttls_server_handles_pap_reply_messageEP23eap_diameter_payloads_ch @ 584 NONAME - _ZN26tls_application_eap_core_c38create_intermediate_result_tlv_messageEP18eap_buf_chain_wr_c16eap_code_value_eh @ 585 NONAME - _ZN26tls_application_eap_core_c38ttls_server_handles_ms_chapv2_responseEP23eap_diameter_payloads_ch @ 586 NONAME - _ZN26tls_application_eap_core_c41finish_successfull_authentication_peap_v2Eh @ 587 NONAME - _ZN26tls_application_eap_core_c41plain_eap_success_failure_packet_receivedEPK19eap_am_network_id_c16eap_code_value_eh @ 588 NONAME - _ZN26tls_application_eap_core_c44ttls_tunneled_message_state_process_responseEP15eap_header_wr_c @ 589 NONAME - _ZN26tls_application_eap_core_c45complete_query_ttls_pap_username_and_passwordEPK19eap_variable_data_cS2_12eap_status_e @ 590 NONAME - _ZN26tls_application_eap_core_c45ttls_server_handles_ms_chapv2_change_passwordEP23eap_diameter_payloads_ch @ 591 NONAME - _ZN26tls_application_eap_core_c46complete_verify_ttls_pap_username_and_passwordE12eap_status_ePK19eap_variable_data_c @ 592 NONAME - _ZN26tls_application_eap_core_c47create_eap_success_failure_in_forward_to_tunnelEPK19eap_am_network_id_c16eap_code_value_eh @ 593 NONAME - _ZN26tls_application_eap_core_c49ttls_tunneled_message_state_process_error_requestEP15eap_header_wr_c @ 594 NONAME - _ZN26tls_application_eap_core_c50ttls_tunneled_message_state_complete_error_requestEP15eap_header_wr_c @ 595 NONAME - _ZN26tls_application_eap_core_c51ttls_tunneled_message_state_process_success_requestEP15eap_header_wr_c @ 596 NONAME - _ZN26tls_application_eap_core_c52ttls_tunneled_message_state_complete_success_requestEP15eap_header_wr_c @ 597 NONAME - _ZN26tls_application_eap_core_c52ttls_tunneled_message_state_process_identity_requestEP15eap_header_wr_c @ 598 NONAME - _ZN26tls_application_eap_core_c53ttls_tunneled_message_state_process_challenge_requestEP15eap_header_wr_c @ 599 NONAME - _ZN26tls_application_eap_core_c53ttls_tunneled_message_state_process_identity_responseEP15eap_header_wr_c @ 600 NONAME - _ZN26tls_application_eap_core_c5resetEv @ 601 NONAME - _ZN26tls_application_eap_core_c60ttls_tunneled_message_state_process_change_password_responseEP15eap_header_wr_c @ 602 NONAME - _ZN26tls_application_eap_core_c8shutdownEv @ 603 NONAME - _ZN26tls_application_eap_core_c9configureEv @ 604 NONAME - _ZN26tls_application_eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 605 NONAME - _ZN26tls_application_eap_core_cC1EP18abs_eap_am_tools_cP10eap_core_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 606 NONAME - _ZN26tls_application_eap_core_cC2EP18abs_eap_am_tools_cP10eap_core_cbb19eap_expanded_type_cPK19eap_am_network_id_c @ 607 NONAME - _ZN26tls_application_eap_core_cD0Ev @ 608 NONAME - _ZN26tls_application_eap_core_cD1Ev @ 609 NONAME - _ZN26tls_application_eap_core_cD2Ev @ 610 NONAME - _ZN28eap_diameter_variable_data_c10set_bufferE23eap_diameter_avp_code_cbPKhmbb @ 611 NONAME - _ZN28eap_diameter_variable_data_c16set_payload_codeE23eap_diameter_avp_code_c @ 612 NONAME - _ZN28eap_diameter_variable_data_c18get_payload_bufferEv @ 613 NONAME - _ZN28eap_diameter_variable_data_c31object_increase_reference_countEv @ 614 NONAME - _ZN28eap_diameter_variable_data_c8add_dataEPKhm @ 615 NONAME - _ZN28eap_diameter_variable_data_cC1EP18abs_eap_am_tools_c @ 616 NONAME - _ZN28eap_diameter_variable_data_cC2EP18abs_eap_am_tools_c @ 617 NONAME - _ZN28eap_diameter_variable_data_cD0Ev @ 618 NONAME - _ZN28eap_diameter_variable_data_cD1Ev @ 619 NONAME - _ZN28eap_diameter_variable_data_cD2Ev @ 620 NONAME - _ZN30eap_am_type_tls_peap_symbian_c11DlgCompleteEi @ 621 NONAME - _ZN30eap_am_type_tls_peap_symbian_c11query_realmEPK11eap_array_cI19eap_variable_data_cE @ 622 NONAME - _ZN30eap_am_type_tls_peap_symbian_c12get_is_validEv @ 623 NONAME - _ZN30eap_am_type_tls_peap_symbian_c12set_is_validEv @ 624 NONAME - _ZN30eap_am_type_tls_peap_symbian_c13timer_expiredEmPv @ 625 NONAME - _ZN30eap_am_type_tls_peap_symbian_c14alert_receivedE17tls_alert_level_e23tls_alert_description_e @ 626 NONAME - _ZN30eap_am_type_tls_peap_symbian_c16save_tls_sessionEPK19eap_variable_data_cS2_19tls_cipher_suites_e @ 627 NONAME - _ZN30eap_am_type_tls_peap_symbian_c16set_peap_versionE14peap_version_ebb @ 628 NONAME - _ZN30eap_am_type_tls_peap_symbian_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 629 NONAME - _ZN30eap_am_type_tls_peap_symbian_c17timer_delete_dataEmPv @ 630 NONAME - _ZN30eap_am_type_tls_peap_symbian_c18cancel_query_realmEv @ 631 NONAME - _ZN30eap_am_type_tls_peap_symbian_c18get_tls_am_partnerEv @ 632 NONAME - _ZN30eap_am_type_tls_peap_symbian_c18query_eap_identityEP19eap_variable_data_cPK19eap_am_network_id_chPbS1_S5_S1_ @ 633 NONAME - _ZN30eap_am_type_tls_peap_symbian_c18set_tls_am_partnerEP21abs_tls_am_services_c @ 634 NONAME - _ZN30eap_am_type_tls_peap_symbian_c19query_dh_parametersEPK11eap_array_cI19eap_variable_data_cE19tls_cipher_suites_e @ 635 NONAME - _ZN30eap_am_type_tls_peap_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 636 NONAME - _ZN30eap_am_type_tls_peap_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 637 NONAME - _ZN30eap_am_type_tls_peap_symbian_c21cancel_identity_queryEv @ 638 NONAME - _ZN30eap_am_type_tls_peap_symbian_c21sign_with_private_keyEPK19eap_variable_data_c @ 639 NONAME - _ZN30eap_am_type_tls_peap_symbian_c22verify_with_public_keyEPK19eap_variable_data_cS2_ @ 640 NONAME - _ZN30eap_am_type_tls_peap_symbian_c23authentication_finishedEb18tls_session_type_e @ 641 NONAME - _ZN30eap_am_type_tls_peap_symbian_c23query_certificate_chainEPK11eap_array_cI19eap_variable_data_cEPKS0_IhE19tls_cipher_suites_e @ 642 NONAME - _ZN30eap_am_type_tls_peap_symbian_c24verify_certificate_chainEPK11eap_array_cI19eap_variable_data_cE19tls_cipher_suites_e @ 643 NONAME - _ZN30eap_am_type_tls_peap_symbian_c25is_ttls_pap_session_validEv @ 644 NONAME - _ZN30eap_am_type_tls_peap_symbian_c26cancel_query_dh_parametersEv @ 645 NONAME - _ZN30eap_am_type_tls_peap_symbian_c26notify_configuration_errorE12eap_status_e @ 646 NONAME - _ZN30eap_am_type_tls_peap_symbian_c27cancel_query_dsa_parametersEv @ 647 NONAME - _ZN30eap_am_type_tls_peap_symbian_c27rsa_encrypt_with_public_keyEPK19eap_variable_data_c @ 648 NONAME - _ZN30eap_am_type_tls_peap_symbian_c28cancel_sign_with_private_keyEv @ 649 NONAME - _ZN30eap_am_type_tls_peap_symbian_c28rsa_decrypt_with_private_keyEPK19eap_variable_data_c @ 650 NONAME - _ZN30eap_am_type_tls_peap_symbian_c29cancel_verify_with_public_keyEv @ 651 NONAME - _ZN30eap_am_type_tls_peap_symbian_c30cancel_query_certificate_chainEv @ 652 NONAME - _ZN30eap_am_type_tls_peap_symbian_c31cancel_verify_certificate_chainEv @ 653 NONAME - _ZN30eap_am_type_tls_peap_symbian_c34cancel_rsa_encrypt_with_public_keyEv @ 654 NONAME - _ZN30eap_am_type_tls_peap_symbian_c35cancel_rsa_decrypt_with_private_keyEv @ 655 NONAME - _ZN30eap_am_type_tls_peap_symbian_c36query_ttls_pap_username_and_passwordEPK19eap_variable_data_c @ 656 NONAME - _ZN30eap_am_type_tls_peap_symbian_c39query_certificate_authorities_and_typesEv @ 657 NONAME - _ZN30eap_am_type_tls_peap_symbian_c40query_cipher_suites_and_previous_sessionEv @ 658 NONAME - _ZN30eap_am_type_tls_peap_symbian_c40select_cipher_suite_and_check_session_idEPK11eap_array_cItEPK19eap_variable_data_c @ 659 NONAME - _ZN30eap_am_type_tls_peap_symbian_c46cancel_query_certificate_authorities_and_typesEv @ 660 NONAME - _ZN30eap_am_type_tls_peap_symbian_c47cancel_query_cipher_suites_and_previous_sessionEv @ 661 NONAME - _ZN30eap_am_type_tls_peap_symbian_c47cancel_select_cipher_suite_and_check_session_idEv @ 662 NONAME - _ZN30eap_am_type_tls_peap_symbian_c5resetEv @ 663 NONAME - _ZN30eap_am_type_tls_peap_symbian_c8shutdownEv @ 664 NONAME - _ZN30eap_am_type_tls_peap_symbian_c9configureEv @ 665 NONAME - _ZN30eap_am_type_tls_peap_symbian_cD0Ev @ 666 NONAME - _ZN30eap_am_type_tls_peap_symbian_cD1Ev @ 667 NONAME - _ZN30eap_am_type_tls_peap_symbian_cD2Ev @ 668 NONAME - _ZN30tls_application_data_message_c12get_is_validEv @ 669 NONAME - _ZN30tls_application_data_message_c12set_is_validEv @ 670 NONAME - _ZN30tls_application_data_message_c15get_is_analysedEv @ 671 NONAME - _ZN30tls_application_data_message_c15set_is_analysedEv @ 672 NONAME - _ZN30tls_application_data_message_c16add_message_dataEP19eap_variable_data_c @ 673 NONAME - _ZN30tls_application_data_message_c20get_application_dataEv @ 674 NONAME - _ZN30tls_application_data_message_c20set_application_dataEPKhm @ 675 NONAME - _ZN30tls_application_data_message_cC1EP18abs_eap_am_tools_cb @ 676 NONAME - _ZN30tls_application_data_message_cC2EP18abs_eap_am_tools_cb @ 677 NONAME - _ZN30tls_application_data_message_cD0Ev @ 678 NONAME - _ZN30tls_application_data_message_cD1Ev @ 679 NONAME - _ZN30tls_application_data_message_cD2Ev @ 680 NONAME - _ZN32tls_change_cipher_spec_message_c12get_is_validEv @ 681 NONAME - _ZN32tls_change_cipher_spec_message_c12set_is_validEv @ 682 NONAME - _ZN32tls_change_cipher_spec_message_c16add_message_dataEP19eap_variable_data_c @ 683 NONAME - _ZN32tls_change_cipher_spec_message_c19create_message_dataEv @ 684 NONAME - _ZN32tls_change_cipher_spec_message_c27set_change_cipher_spec_typeE29tls_change_cipher_spec_type_e @ 685 NONAME - _ZN32tls_change_cipher_spec_message_cC1EP18abs_eap_am_tools_cP28abs_tls_change_cipher_spec_cb @ 686 NONAME - _ZN32tls_change_cipher_spec_message_cC2EP18abs_eap_am_tools_cP28abs_tls_change_cipher_spec_cb @ 687 NONAME - _ZN32tls_change_cipher_spec_message_cD0Ev @ 688 NONAME - _ZN32tls_change_cipher_spec_message_cD1Ev @ 689 NONAME - _ZN32tls_change_cipher_spec_message_cD2Ev @ 690 NONAME - _ZN38eap_type_tls_peap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 691 NONAME - _ZN38eap_type_tls_peap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 692 NONAME - _ZN38eap_type_tls_peap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 693 NONAME - _ZN38eap_type_tls_peap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 694 NONAME - _ZN38eap_type_tls_peap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 695 NONAME - _ZN38eap_type_tls_peap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 696 NONAME - _ZN38eap_type_tls_peap_state_notification_cD0Ev @ 697 NONAME - _ZN38eap_type_tls_peap_state_notification_cD1Ev @ 698 NONAME - _ZN38eap_type_tls_peap_state_notification_cD2Ev @ 699 NONAME - _ZNK12tls_record_c23cipher_suite_is_TLS_RSAEv @ 700 NONAME - _ZNK12tls_record_c27cipher_suite_is_RC4_128_MD5E19tls_cipher_suites_e @ 701 NONAME - _ZNK12tls_record_c27cipher_suite_is_RC4_128_SHAE19tls_cipher_suites_e @ 702 NONAME - _ZNK12tls_record_c27cipher_suite_is_TLS_DHE_DSSEv @ 703 NONAME - _ZNK12tls_record_c27cipher_suite_is_TLS_DHE_RSAEv @ 704 NONAME - _ZNK12tls_record_c31cipher_suite_is_AES_128_CBC_SHAE19tls_cipher_suites_e @ 705 NONAME - _ZNK12tls_record_c32cipher_suite_is_3DES_EDE_CBC_SHAE19tls_cipher_suites_e @ 706 NONAME - _ZNK12tls_record_c9get_stateEv @ 707 NONAME - _ZNK13tls_message_c17get_analyse_indexEv @ 708 NONAME - _ZNK13tls_message_c18get_record_messageEm @ 709 NONAME - _ZNK13tls_message_c23get_last_record_messageEv @ 710 NONAME - _ZNK13tls_message_c24get_record_message_countEv @ 711 NONAME - _ZNK16dummy_eap_core_c19get_is_tunneled_eapEv @ 712 NONAME - _ZNK16tls_completion_c21get_completion_actionEv @ 713 NONAME - _ZNK16tls_completion_c28get_completion_action_stringEv @ 714 NONAME - _ZNK17mschapv2_header_c10get_opcodeEv @ 715 NONAME - _ZNK17mschapv2_header_c12check_headerEv @ 716 NONAME - _ZNK17mschapv2_header_c13get_ms_lengthEv @ 717 NONAME - _ZNK17mschapv2_header_c15get_data_lengthEv @ 718 NONAME - _ZNK17mschapv2_header_c15get_mschapv2_idEv @ 719 NONAME - _ZNK17mschapv2_header_c8get_dataEv @ 720 NONAME - _ZNK19eap_type_tls_peap_c16get_state_stringEv @ 721 NONAME - _ZNK19eap_type_tls_peap_c20get_reassembly_stateEv @ 722 NONAME - _ZNK19eap_type_tls_peap_c23get_last_eap_identifierEv @ 723 NONAME - _ZNK19eap_type_tls_peap_c27get_reassembly_state_stringEv @ 724 NONAME - _ZNK19eap_type_tls_peap_c28get_failure_message_receivedEv @ 725 NONAME - _ZNK19eap_type_tls_peap_c31get_saved_previous_state_stringEv @ 726 NONAME - _ZNK19eap_type_tls_peap_c9get_stateEv @ 727 NONAME - _ZNK19mschapv2_response_c12check_headerEv @ 728 NONAME - _ZNK19mschapv2_response_c15get_name_lengthEv @ 729 NONAME - _ZNK19mschapv2_response_c15get_nt_responseEv @ 730 NONAME - _ZNK19mschapv2_response_c18get_peer_challengeEv @ 731 NONAME - _ZNK19mschapv2_response_c8get_nameEv @ 732 NONAME - _ZNK19peap_tlv_payloads_c12get_is_validEv @ 733 NONAME - _ZNK19tls_alert_message_c15get_alert_levelEv @ 734 NONAME - _ZNK19tls_alert_message_c21get_alert_descriptionEv @ 735 NONAME - _ZNK20mschapv2_challenge_c12check_headerEv @ 736 NONAME - _ZNK20mschapv2_challenge_c13get_challengeEv @ 737 NONAME - _ZNK20mschapv2_challenge_c15get_name_lengthEv @ 738 NONAME - _ZNK20mschapv2_challenge_c8get_nameEv @ 739 NONAME - _ZNK20tls_record_message_c11get_versionEv @ 740 NONAME - _ZNK20tls_record_message_c12get_protocolEv @ 741 NONAME - _ZNK20tls_record_message_c13get_handshakeEm @ 742 NONAME - _ZNK20tls_record_message_c15get_alert_countEv @ 743 NONAME - _ZNK20tls_record_message_c15get_data_lengthEv @ 744 NONAME - _ZNK20tls_record_message_c17get_analyse_indexEv @ 745 NONAME - _ZNK20tls_record_message_c17get_parsed_recordEv @ 746 NONAME - _ZNK20tls_record_message_c19get_handshake_countEv @ 747 NONAME - _ZNK20tls_record_message_c20get_application_dataEm @ 748 NONAME - _ZNK20tls_record_message_c22get_change_cipher_specEm @ 749 NONAME - _ZNK20tls_record_message_c24get_cipher_suite_appliedEv @ 750 NONAME - _ZNK20tls_record_message_c26get_application_data_countEv @ 751 NONAME - _ZNK20tls_record_message_c28get_change_cipher_spec_countEv @ 752 NONAME - _ZNK20tls_record_message_c33get_tls_record_header_is_includedEv @ 753 NONAME - _ZNK20tls_record_message_c9get_alertEm @ 754 NONAME - _ZNK21eap_tls_peap_header_c12check_headerEP18abs_eap_am_tools_c19eap_expanded_type_cb14peap_version_eb @ 755 NONAME - _ZNK21eap_tls_peap_header_c12get_eap_codeEv @ 756 NONAME - _ZNK21eap_tls_peap_header_c12get_eap_typeEv @ 757 NONAME - _ZNK21eap_tls_peap_header_c13get_tls_flagsEv @ 758 NONAME - _ZNK21eap_tls_peap_header_c14get_eap_lengthEv @ 759 NONAME - _ZNK21eap_tls_peap_header_c14get_flag_startEv @ 760 NONAME - _ZNK21eap_tls_peap_header_c15get_code_stringEv @ 761 NONAME - _ZNK21eap_tls_peap_header_c15get_data_lengthEv @ 762 NONAME - _ZNK21eap_tls_peap_header_c15get_data_offsetEP18abs_eap_am_tools_cmm @ 763 NONAME - _ZNK21eap_tls_peap_header_c16get_flag_versionEv @ 764 NONAME - _ZNK21eap_tls_peap_header_c16get_tls_flag_bitEm @ 765 NONAME - _ZNK21eap_tls_peap_header_c16set_tls_flag_bitEbm @ 766 NONAME - _ZNK21eap_tls_peap_header_c17get_flag_reservedEv @ 767 NONAME - _ZNK21eap_tls_peap_header_c17get_header_lengthEv @ 768 NONAME - _ZNK21eap_tls_peap_header_c18get_eap_identifierEv @ 769 NONAME - _ZNK21eap_tls_peap_header_c18get_tls_flag_valueEmm @ 770 NONAME - _ZNK21eap_tls_peap_header_c18set_tls_flag_valueEhmm @ 771 NONAME - _ZNK21eap_tls_peap_header_c19get_eap_type_stringEv @ 772 NONAME - _ZNK21eap_tls_peap_header_c20get_tls_flags_offsetEv @ 773 NONAME - _ZNK21eap_tls_peap_header_c21get_tls_length_offsetEv @ 774 NONAME - _ZNK21eap_tls_peap_header_c22get_tls_message_lengthEPm @ 775 NONAME - _ZNK21eap_tls_peap_header_c23get_flag_more_fragmentsEv @ 776 NONAME - _ZNK21eap_tls_peap_header_c24get_start_offset_of_dataEv @ 777 NONAME - _ZNK21eap_tls_peap_header_c25get_tls_min_header_lengthEv @ 778 NONAME - _ZNK21eap_tls_peap_header_c28get_flag_tls_length_includedEv @ 779 NONAME - _ZNK21eap_tls_peap_header_c8get_dataEP18abs_eap_am_tools_cm @ 780 NONAME - _ZNK23eap_diameter_avp_code_c13get_vendor_idEv @ 781 NONAME - _ZNK23eap_diameter_avp_code_c15get_vendor_codeEv @ 782 NONAME - _ZNK23eap_diameter_avp_code_cadEv @ 783 NONAME - _ZNK23eap_diameter_avp_code_ceqE31eap_diameter_avp_code_of_ietf_e @ 784 NONAME - _ZNK23eap_diameter_avp_code_ceqERKS_ @ 785 NONAME - _ZNK23eap_diameter_avp_code_cneE31eap_diameter_avp_code_of_ietf_e @ 786 NONAME - _ZNK23eap_diameter_avp_code_cneERKS_ @ 787 NONAME - _ZNK23eap_diameter_payloads_c12get_is_validEv @ 788 NONAME - _ZNK23tls_handshake_message_c13get_dhe_primeEv @ 789 NONAME - _ZNK23tls_handshake_message_c14get_session_idEv @ 790 NONAME - _ZNK23tls_handshake_message_c16get_random_valueEv @ 791 NONAME - _ZNK23tls_handshake_message_c17get_cipher_suitesEv @ 792 NONAME - _ZNK23tls_handshake_message_c17get_finished_dataEv @ 793 NONAME - _ZNK23tls_handshake_message_c18get_handshake_typeEv @ 794 NONAME - _ZNK23tls_handshake_message_c18get_public_dhe_keyEv @ 795 NONAME - _ZNK23tls_handshake_message_c21get_certificate_chainEv @ 796 NONAME - _ZNK23tls_handshake_message_c21get_certificate_typesEv @ 797 NONAME - _ZNK23tls_handshake_message_c23get_compression_methodsEv @ 798 NONAME - _ZNK23tls_handshake_message_c23get_dhe_group_generatorEv @ 799 NONAME - _ZNK23tls_handshake_message_c23get_signed_message_hashEv @ 800 NONAME - _ZNK23tls_handshake_message_c25get_selected_cipher_suiteEv @ 801 NONAME - _ZNK23tls_handshake_message_c27get_certificate_authoritiesEv @ 802 NONAME - _ZNK23tls_handshake_message_c30get_encrypted_premaster_secretEv @ 803 NONAME - _ZNK23tls_handshake_message_c31get_selected_compression_methodEv @ 804 NONAME - _ZNK24peap_tlv_variable_data_c19get_original_headerEv @ 805 NONAME - _ZNK26mschapv2_change_password_c12check_headerEv @ 806 NONAME - _ZNK26mschapv2_change_password_c15get_nt_responseEv @ 807 NONAME - _ZNK26mschapv2_change_password_c18get_encrypted_hashEv @ 808 NONAME - _ZNK26mschapv2_change_password_c18get_peer_challengeEv @ 809 NONAME - _ZNK26mschapv2_change_password_c22get_encrypted_pw_blockEv @ 810 NONAME - _ZNK28eap_diameter_variable_data_c15get_data_lengthEv @ 811 NONAME - _ZNK28eap_diameter_variable_data_c16get_is_mandatoryEv @ 812 NONAME - _ZNK28eap_diameter_variable_data_c16get_payload_codeEv @ 813 NONAME - _ZNK28eap_diameter_variable_data_c4copyEv @ 814 NONAME - _ZNK28eap_diameter_variable_data_c8get_dataEm @ 815 NONAME - _ZNK32tls_change_cipher_spec_message_c27get_change_cipher_spec_typeEv @ 816 NONAME - _ZNK33eap_static_diameter_vendor_code_c8get_codeEv @ 817 NONAME - _ZTI11CEapTlsPeap @ 818 NONAME - _ZTI12CEapTypeInfo @ 819 NONAME - _ZTI12tls_record_c @ 820 NONAME - _ZTI13tls_message_c @ 821 NONAME - _ZTI16dummy_eap_core_c @ 822 NONAME - _ZTI16tls_completion_c @ 823 NONAME - _ZTI17mschapv2_header_c @ 824 NONAME - _ZTI17tls_base_record_c @ 825 NONAME - _ZTI19eap_type_tls_peap_c @ 826 NONAME - _ZTI19mschapv2_response_c @ 827 NONAME - _ZTI19peap_tlv_payloads_c @ 828 NONAME - _ZTI19tls_alert_message_c @ 829 NONAME - _ZTI19tls_record_header_c @ 830 NONAME - _ZTI20mschapv2_challenge_c @ 831 NONAME - _ZTI20tls_record_message_c @ 832 NONAME - _ZTI21CEapTlsPeapUiEapTypes @ 833 NONAME - _ZTI21eap_tls_peap_header_c @ 834 NONAME - _ZTI21tls_peap_tlv_header_c @ 835 NONAME - _ZTI22CEapTlsPeapCertFetcher @ 836 NONAME - _ZTI22eap_tls_trace_string_c @ 837 NONAME - _ZTI22tls_base_application_c @ 838 NONAME - _ZTI22tls_handshake_header_c @ 839 NONAME - _ZTI23CEapTlsPeapUiConnection @ 840 NONAME - _ZTI23eap_diameter_payloads_c @ 841 NONAME - _ZTI23tls_handshake_message_c @ 842 NONAME - _ZTI24CEapTlsPeapCertInterface @ 843 NONAME - _ZTI24CEapTlsPeapUiTlsPeapData @ 844 NONAME - _ZTI24peap_tlv_variable_data_c @ 845 NONAME - _ZTI25CEapTlsPeapUiCertificates @ 846 NONAME - _ZTI25CEapTlsPeapUiCipherSuites @ 847 NONAME - _ZTI25eap_diameter_avp_header_c @ 848 NONAME - _ZTI26mschapv2_change_password_c @ 849 NONAME - _ZTI26tls_application_eap_core_c @ 850 NONAME - _ZTI27CEapTlsPeapUiDataConnection @ 851 NONAME - _ZTI28eap_diameter_variable_data_c @ 852 NONAME - _ZTI30eap_am_type_tls_peap_symbian_c @ 853 NONAME - _ZTI30tls_application_data_message_c @ 854 NONAME - _ZTI32tls_change_cipher_spec_message_c @ 855 NONAME - _ZTI38eap_type_tls_peap_state_notification_c @ 856 NONAME - _ZTV11CEapTlsPeap @ 857 NONAME - _ZTV12CEapTypeInfo @ 858 NONAME - _ZTV12tls_record_c @ 859 NONAME - _ZTV13tls_message_c @ 860 NONAME - _ZTV16dummy_eap_core_c @ 861 NONAME - _ZTV16tls_completion_c @ 862 NONAME - _ZTV17mschapv2_header_c @ 863 NONAME - _ZTV17tls_base_record_c @ 864 NONAME - _ZTV19eap_type_tls_peap_c @ 865 NONAME - _ZTV19mschapv2_response_c @ 866 NONAME - _ZTV19peap_tlv_payloads_c @ 867 NONAME - _ZTV19tls_alert_message_c @ 868 NONAME - _ZTV19tls_record_header_c @ 869 NONAME - _ZTV20mschapv2_challenge_c @ 870 NONAME - _ZTV20tls_record_message_c @ 871 NONAME - _ZTV21CEapTlsPeapUiEapTypes @ 872 NONAME - _ZTV21eap_tls_peap_header_c @ 873 NONAME - _ZTV21tls_peap_tlv_header_c @ 874 NONAME - _ZTV22CEapTlsPeapCertFetcher @ 875 NONAME - _ZTV22eap_tls_trace_string_c @ 876 NONAME - _ZTV22tls_base_application_c @ 877 NONAME - _ZTV22tls_handshake_header_c @ 878 NONAME - _ZTV23CEapTlsPeapUiConnection @ 879 NONAME - _ZTV23eap_diameter_payloads_c @ 880 NONAME - _ZTV23tls_handshake_message_c @ 881 NONAME - _ZTV24CEapTlsPeapCertInterface @ 882 NONAME - _ZTV24CEapTlsPeapUiTlsPeapData @ 883 NONAME - _ZTV24peap_tlv_variable_data_c @ 884 NONAME - _ZTV25CEapTlsPeapUiCertificates @ 885 NONAME - _ZTV25CEapTlsPeapUiCipherSuites @ 886 NONAME - _ZTV25eap_diameter_avp_header_c @ 887 NONAME - _ZTV26mschapv2_change_password_c @ 888 NONAME - _ZTV26tls_application_eap_core_c @ 889 NONAME - _ZTV27CEapTlsPeapUiDataConnection @ 890 NONAME - _ZTV28eap_diameter_variable_data_c @ 891 NONAME - _ZTV30eap_am_type_tls_peap_symbian_c @ 892 NONAME - _ZTV30tls_application_data_message_c @ 893 NONAME - _ZTV32tls_change_cipher_spec_message_c @ 894 NONAME - _ZTV38eap_type_tls_peap_state_notification_c @ 895 NONAME - _ZThn12_N12tls_record_c20complete_query_realmEPK19eap_variable_data_c12eap_status_e @ 896 NONAME - _ZThn12_N12tls_record_c28complete_query_dh_parametersEPK19eap_variable_data_cS2_12eap_status_e @ 897 NONAME - _ZThn12_N12tls_record_c30complete_sign_with_private_keyEPK19eap_variable_data_c12eap_status_e @ 898 NONAME - _ZThn12_N12tls_record_c31complete_verify_with_public_keyE12eap_status_e @ 899 NONAME - _ZThn12_N12tls_record_c32complete_query_certificate_chainEPK11eap_array_cI19eap_variable_data_cE12eap_status_e @ 900 NONAME - _ZThn12_N12tls_record_c33complete_verify_certificate_chainE12eap_status_e @ 901 NONAME - _ZThn12_N12tls_record_c36complete_rsa_encrypt_with_public_keyEPK19eap_variable_data_c12eap_status_e @ 902 NONAME - _ZThn12_N12tls_record_c37complete_rsa_decrypt_with_private_keyEPK19eap_variable_data_c12eap_status_e @ 903 NONAME - _ZThn12_N12tls_record_c45complete_query_ttls_pap_username_and_passwordEPK19eap_variable_data_cS2_12eap_status_e @ 904 NONAME - _ZThn12_N12tls_record_c46complete_verify_ttls_pap_username_and_passwordE12eap_status_ePK19eap_variable_data_c @ 905 NONAME - _ZThn12_N12tls_record_c48complete_query_certificate_authorities_and_typesEPK11eap_array_cI19eap_variable_data_cEPKS0_IhE12eap_status_e @ 906 NONAME - _ZThn12_N12tls_record_c49complete_query_cipher_suites_and_previous_sessionE18tls_session_type_ePK11eap_array_cItEPKS1_IhEPK19eap_variable_data_cSA_19tls_cipher_suites_e12eap_status_e @ 907 NONAME - _ZThn12_N12tls_record_c49complete_select_cipher_suite_and_check_session_idE18tls_session_type_etPK19eap_variable_data_cS3_12eap_status_e @ 908 NONAME - _ZThn12_N12tls_record_c9configureEv @ 909 NONAME - _ZThn12_N12tls_record_cD0Ev @ 910 NONAME - _ZThn12_N12tls_record_cD1Ev @ 911 NONAME - _ZThn12_N16dummy_eap_core_c12get_is_validEv @ 912 NONAME - _ZThn12_N16dummy_eap_core_c12set_is_validEv @ 913 NONAME - _ZThn12_N16dummy_eap_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 914 NONAME - _ZThn12_N16dummy_eap_core_c8shutdownEv @ 915 NONAME - _ZThn12_N16dummy_eap_core_c9configureEv @ 916 NONAME - _ZThn12_N16dummy_eap_core_cD0Ev @ 917 NONAME - _ZThn12_N16dummy_eap_core_cD1Ev @ 918 NONAME - _ZThn16_N12tls_record_c19message_hash_updateEb20tls_handshake_type_ePhm @ 919 NONAME - _ZThn16_N12tls_record_c26message_hash_save_finishedEb @ 920 NONAME - _ZThn16_N12tls_record_c28message_hash_create_finishedEbP19eap_variable_data_c @ 921 NONAME - _ZThn16_N12tls_record_c36message_hash_save_certificate_verifyEv @ 922 NONAME - _ZThn16_N12tls_record_cD0Ev @ 923 NONAME - _ZThn16_N12tls_record_cD1Ev @ 924 NONAME - _ZThn20_N12tls_record_c18change_cipher_specEb @ 925 NONAME - _ZThn20_N12tls_record_cD0Ev @ 926 NONAME - _ZThn20_N12tls_record_cD1Ev @ 927 NONAME - _ZThn20_N19eap_type_tls_peap_c13get_is_clientEv @ 928 NONAME - _ZThn20_N19eap_type_tls_peap_c27complete_eap_identity_queryEPK19eap_variable_data_cPK19eap_am_network_id_ch12eap_status_ebS2_bS2_ @ 929 NONAME - _ZThn20_N19eap_type_tls_peap_cD0Ev @ 930 NONAME - _ZThn20_N19eap_type_tls_peap_cD1Ev @ 931 NONAME - _ZThn24_N12tls_record_c23apply_send_cipher_suiteEP19eap_variable_data_c @ 932 NONAME - _ZThn24_N12tls_record_cD0Ev @ 933 NONAME - _ZThn24_N12tls_record_cD1Ev @ 934 NONAME - _ZThn24_N19eap_type_tls_peap_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 935 NONAME - _ZThn24_N19eap_type_tls_peap_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 936 NONAME - _ZThn24_N19eap_type_tls_peap_c12cancel_timerEP20abs_eap_base_timer_cm @ 937 NONAME - _ZThn24_N19eap_type_tls_peap_c13unload_moduleE19eap_expanded_type_c @ 938 NONAME - _ZThn24_N19eap_type_tls_peap_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 939 NONAME - _ZThn24_N19eap_type_tls_peap_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 940 NONAME - _ZThn24_N19eap_type_tls_peap_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 941 NONAME - _ZThn24_N19eap_type_tls_peap_c17get_header_offsetEPmS0_ @ 942 NONAME - _ZThn24_N19eap_type_tls_peap_c17peap_tunnel_readyEv @ 943 NONAME - _ZThn24_N19eap_type_tls_peap_c18state_notificationEPK28abs_eap_state_notification_c @ 944 NONAME - _ZThn24_N19eap_type_tls_peap_c19set_session_timeoutEm @ 945 NONAME - _ZThn24_N19eap_type_tls_peap_c20set_tls_session_typeE18tls_session_type_e @ 946 NONAME - _ZThn24_N19eap_type_tls_peap_c20tls_peap_packet_sendEP18eap_buf_chain_wr_cmmmb @ 947 NONAME - _ZThn24_N19eap_type_tls_peap_c21set_tls_master_secretEPK19eap_variable_data_c @ 948 NONAME - _ZThn24_N19eap_type_tls_peap_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 949 NONAME - _ZThn24_N19eap_type_tls_peap_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 950 NONAME - _ZThn24_N19eap_type_tls_peap_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 951 NONAME - _ZThn24_N19eap_type_tls_peap_c9set_timerEP20abs_eap_base_timer_cmPvm @ 952 NONAME - _ZThn24_N19eap_type_tls_peap_cD0Ev @ 953 NONAME - _ZThn24_N19eap_type_tls_peap_cD1Ev @ 954 NONAME - _ZThn28_N12tls_record_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 955 NONAME - _ZThn28_N12tls_record_c11packet_sendEP18eap_buf_chain_wr_cmmm @ 956 NONAME - _ZThn28_N12tls_record_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 957 NONAME - _ZThn28_N12tls_record_c12cancel_timerEP20abs_eap_base_timer_cm @ 958 NONAME - _ZThn28_N12tls_record_c13unload_moduleE19eap_expanded_type_c @ 959 NONAME - _ZThn28_N12tls_record_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 960 NONAME - _ZThn28_N12tls_record_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 961 NONAME - _ZThn28_N12tls_record_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 962 NONAME - _ZThn28_N12tls_record_c17get_header_offsetEPmS0_ @ 963 NONAME - _ZThn28_N12tls_record_c18state_notificationEPK28abs_eap_state_notification_c @ 964 NONAME - _ZThn28_N12tls_record_c19set_session_timeoutEm @ 965 NONAME - _ZThn28_N12tls_record_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 966 NONAME - _ZThn28_N12tls_record_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 967 NONAME - _ZThn28_N12tls_record_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 968 NONAME - _ZThn28_N12tls_record_c27get_ttls_implicit_challengeEP19eap_variable_data_cm @ 969 NONAME - _ZThn28_N12tls_record_c30get_eap_tls_master_session_keyEP19eap_variable_data_cS1_ @ 970 NONAME - _ZThn28_N12tls_record_c35get_next_tls_handshake_message_typeEv @ 971 NONAME - _ZThn28_N12tls_record_c36get_next_tls_record_message_protocolEv @ 972 NONAME - _ZThn28_N12tls_record_c36query_ttls_pap_username_and_passwordEPK19eap_variable_data_c @ 973 NONAME - _ZThn28_N12tls_record_c37verify_ttls_pap_username_and_passwordEPK19eap_variable_data_cS2_ @ 974 NONAME - _ZThn28_N12tls_record_c9set_timerEP20abs_eap_base_timer_cmPvm @ 975 NONAME - _ZThn28_N12tls_record_cD0Ev @ 976 NONAME - _ZThn28_N12tls_record_cD1Ev @ 977 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c11query_realmEPK11eap_array_cI19eap_variable_data_cE @ 978 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c12get_is_validEv @ 979 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c14alert_receivedE17tls_alert_level_e23tls_alert_description_e @ 980 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c16save_tls_sessionEPK19eap_variable_data_cS2_19tls_cipher_suites_e @ 981 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c16set_peap_versionE14peap_version_ebb @ 982 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 983 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c18cancel_query_realmEv @ 984 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c18get_tls_am_partnerEv @ 985 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c18query_eap_identityEP19eap_variable_data_cPK19eap_am_network_id_chPbS1_S5_S1_ @ 986 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c18set_tls_am_partnerEP21abs_tls_am_services_c @ 987 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c19query_dh_parametersEPK11eap_array_cI19eap_variable_data_cE19tls_cipher_suites_e @ 988 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c19type_configure_readEPK25eap_configuration_field_cP19eap_variable_data_c @ 989 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c20type_configure_writeEPK25eap_configuration_field_cP19eap_variable_data_c @ 990 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c21cancel_identity_queryEv @ 991 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c21sign_with_private_keyEPK19eap_variable_data_c @ 992 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c22verify_with_public_keyEPK19eap_variable_data_cS2_ @ 993 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c23authentication_finishedEb18tls_session_type_e @ 994 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c23query_certificate_chainEPK11eap_array_cI19eap_variable_data_cEPKS0_IhE19tls_cipher_suites_e @ 995 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c24verify_certificate_chainEPK11eap_array_cI19eap_variable_data_cE19tls_cipher_suites_e @ 996 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c25is_ttls_pap_session_validEv @ 997 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c26cancel_query_dh_parametersEv @ 998 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c27rsa_encrypt_with_public_keyEPK19eap_variable_data_c @ 999 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c28cancel_sign_with_private_keyEv @ 1000 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c28rsa_decrypt_with_private_keyEPK19eap_variable_data_c @ 1001 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c29cancel_verify_with_public_keyEv @ 1002 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c30cancel_query_certificate_chainEv @ 1003 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c31cancel_verify_certificate_chainEv @ 1004 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c34cancel_rsa_encrypt_with_public_keyEv @ 1005 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c35cancel_rsa_decrypt_with_private_keyEv @ 1006 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c36query_ttls_pap_username_and_passwordEPK19eap_variable_data_c @ 1007 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c39query_certificate_authorities_and_typesEv @ 1008 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c40query_cipher_suites_and_previous_sessionEv @ 1009 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c40select_cipher_suite_and_check_session_idEPK11eap_array_cItEPK19eap_variable_data_c @ 1010 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c46cancel_query_certificate_authorities_and_typesEv @ 1011 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c47cancel_query_cipher_suites_and_previous_sessionEv @ 1012 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c47cancel_select_cipher_suite_and_check_session_idEv @ 1013 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c5resetEv @ 1014 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c8shutdownEv @ 1015 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_c9configureEv @ 1016 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_cD0Ev @ 1017 NONAME - _ZThn28_N30eap_am_type_tls_peap_symbian_cD1Ev @ 1018 NONAME - _ZThn32_N30eap_am_type_tls_peap_symbian_c13timer_expiredEmPv @ 1019 NONAME - _ZThn32_N30eap_am_type_tls_peap_symbian_c17timer_delete_dataEmPv @ 1020 NONAME - _ZThn32_N30eap_am_type_tls_peap_symbian_cD0Ev @ 1021 NONAME - _ZThn32_N30eap_am_type_tls_peap_symbian_cD1Ev @ 1022 NONAME - _ZThn36_N30eap_am_type_tls_peap_symbian_c11DlgCompleteEi @ 1023 NONAME - _ZThn4_N16dummy_eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1024 NONAME - _ZThn4_N16dummy_eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 1025 NONAME - _ZThn4_N16dummy_eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 1026 NONAME - _ZThn4_N16dummy_eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 1027 NONAME - _ZThn4_N16dummy_eap_core_c13unload_moduleE19eap_expanded_type_c @ 1028 NONAME - _ZThn4_N16dummy_eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1029 NONAME - _ZThn4_N16dummy_eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1030 NONAME - _ZThn4_N16dummy_eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 1031 NONAME - _ZThn4_N16dummy_eap_core_c17get_header_offsetEPmS0_ @ 1032 NONAME - _ZThn4_N16dummy_eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 1033 NONAME - _ZThn4_N16dummy_eap_core_c19set_session_timeoutEm @ 1034 NONAME - _ZThn4_N16dummy_eap_core_c22get_saved_eap_identityEP19eap_variable_data_c @ 1035 NONAME - _ZThn4_N16dummy_eap_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 1036 NONAME - _ZThn4_N16dummy_eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 1037 NONAME - _ZThn4_N16dummy_eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 1038 NONAME - _ZThn4_N16dummy_eap_core_c23set_authentication_roleEb @ 1039 NONAME - _ZThn4_N16dummy_eap_core_c27complete_eap_identity_queryEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 1040 NONAME - _ZThn4_N16dummy_eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1041 NONAME - _ZThn4_N16dummy_eap_core_cD0Ev @ 1042 NONAME - _ZThn4_N16dummy_eap_core_cD1Ev @ 1043 NONAME - _ZThn4_N19eap_type_tls_peap_c12get_is_validEv @ 1044 NONAME - _ZThn4_N19eap_type_tls_peap_c12set_is_validEv @ 1045 NONAME - _ZThn4_N19eap_type_tls_peap_c14packet_processEPK19eap_am_network_id_cP15eap_header_wr_cm @ 1046 NONAME - _ZThn4_N19eap_type_tls_peap_c15eap_acknowledgeEPK19eap_am_network_id_c @ 1047 NONAME - _ZThn4_N19eap_type_tls_peap_c18query_eap_identityEbP19eap_variable_data_cPK19eap_am_network_id_ch @ 1048 NONAME - _ZThn4_N19eap_type_tls_peap_c26set_initial_eap_identifierEPK19eap_am_network_id_ch @ 1049 NONAME - _ZThn4_N19eap_type_tls_peap_c5resetEv @ 1050 NONAME - _ZThn4_N19eap_type_tls_peap_c8shutdownEv @ 1051 NONAME - _ZThn4_N19eap_type_tls_peap_c9configureEv @ 1052 NONAME - _ZThn4_N19eap_type_tls_peap_cD0Ev @ 1053 NONAME - _ZThn4_N19eap_type_tls_peap_cD1Ev @ 1054 NONAME - _ZThn4_N26tls_application_eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1055 NONAME - _ZThn4_N26tls_application_eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 1056 NONAME - _ZThn4_N26tls_application_eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 1057 NONAME - _ZThn4_N26tls_application_eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 1058 NONAME - _ZThn4_N26tls_application_eap_core_c13unload_moduleE19eap_expanded_type_c @ 1059 NONAME - _ZThn4_N26tls_application_eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1060 NONAME - _ZThn4_N26tls_application_eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1061 NONAME - _ZThn4_N26tls_application_eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 1062 NONAME - _ZThn4_N26tls_application_eap_core_c17get_header_offsetEPmS0_ @ 1063 NONAME - _ZThn4_N26tls_application_eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 1064 NONAME - _ZThn4_N26tls_application_eap_core_c19set_session_timeoutEm @ 1065 NONAME - _ZThn4_N26tls_application_eap_core_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 1066 NONAME - _ZThn4_N26tls_application_eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 1067 NONAME - _ZThn4_N26tls_application_eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 1068 NONAME - _ZThn4_N26tls_application_eap_core_c36asynchronous_init_remove_eap_sessionEPK19eap_am_network_id_c @ 1069 NONAME - _ZThn4_N26tls_application_eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1070 NONAME - _ZThn4_N26tls_application_eap_core_cD0Ev @ 1071 NONAME - _ZThn4_N26tls_application_eap_core_cD1Ev @ 1072 NONAME - _ZThn4_NK16dummy_eap_core_c19get_is_tunneled_eapEv @ 1073 NONAME - _ZThn8_N16dummy_eap_core_c13timer_expiredEmPv @ 1074 NONAME - _ZThn8_N16dummy_eap_core_c17timer_delete_dataEmPv @ 1075 NONAME - _ZThn8_N16dummy_eap_core_cD0Ev @ 1076 NONAME - _ZThn8_N16dummy_eap_core_cD1Ev @ 1077 NONAME diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/eapvpnifu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapvpnifu.def Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapvpnifu.def Wed Sep 01 12:23:57 2010 +0100 @@ -1,72 +1,3 @@ EXPORTS _Z24ImplementationGroupProxyRi @ 1 NONAME - _Z30new_eap_am_client_message_if_cP18abs_eap_am_tools_cbm @ 2 NONAME - _ZN17CEapCoreInterface11set_partnerEP23abs_eap_am_message_if_c @ 3 NONAME - _ZN17CEapCoreInterface12get_is_validEv @ 4 NONAME - _ZN17CEapCoreInterface12process_dataEPKvm @ 5 NONAME - _ZN17CEapCoreInterface8SendDataEPKvi @ 6 NONAME - _ZN17CEapCoreInterface8shutdownEv @ 7 NONAME - _ZN17CEapCoreInterface9ConstrucLEP18abs_eap_am_tools_c @ 8 NONAME - _ZN17CEapCoreInterface9configureEPK19eap_variable_data_c @ 9 NONAME - _ZN28eap_core_client_message_if_c12get_is_validEv @ 10 NONAME - _ZN28eap_core_client_message_if_c12set_is_validEv @ 11 NONAME - _ZN28eap_core_client_message_if_c13timer_expiredEmPv @ 12 NONAME - _ZN28eap_core_client_message_if_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 13 NONAME - _ZN28eap_core_client_message_if_c15eap_acknowledgeEPK19eap_am_network_id_c @ 14 NONAME - _ZN28eap_core_client_message_if_c15process_messageEP30eap_process_tlv_message_data_c @ 15 NONAME - _ZN28eap_core_client_message_if_c17timer_delete_dataEmPv @ 16 NONAME - _ZN28eap_core_client_message_if_c18create_eap_sessionEPK19eap_am_network_id_c @ 17 NONAME - _ZN28eap_core_client_message_if_c18remove_eap_sessionEbPK19eap_am_network_id_c @ 18 NONAME - _ZN28eap_core_client_message_if_c23cancel_all_eap_sessionsEv @ 19 NONAME - _ZN28eap_core_client_message_if_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 20 NONAME - _ZN28eap_core_client_message_if_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 21 NONAME - _ZN28eap_core_client_message_if_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 22 NONAME - _ZN28eap_core_client_message_if_c5resetEv @ 23 NONAME - _ZN28eap_core_client_message_if_c8shutdownEv @ 24 NONAME - _ZN28eap_core_client_message_if_c9configureEv @ 25 NONAME - _ZN28eap_core_client_message_if_c9send_dataEPKvm @ 26 NONAME - _ZN28eap_core_client_message_if_cC1EP18abs_eap_am_tools_cP19eap_am_message_if_cP22abs_eap_session_core_cb @ 27 NONAME - _ZN28eap_core_client_message_if_cC2EP18abs_eap_am_tools_cP19eap_am_message_if_cP22abs_eap_session_core_cb @ 28 NONAME - _ZN28eap_core_client_message_if_cD0Ev @ 29 NONAME - _ZN28eap_core_client_message_if_cD1Ev @ 30 NONAME - _ZN28eap_core_client_message_if_cD2Ev @ 31 NONAME - _ZTI17CEapCoreInterface @ 32 NONAME - _ZTI21CEapVpnInterfaceTimer @ 33 NONAME - _ZTI28eap_core_client_message_if_c @ 34 NONAME - _ZTI30CEapVpnInterfaceImplementation @ 35 NONAME - _ZTV17CEapCoreInterface @ 36 NONAME - _ZTV21CEapVpnInterfaceTimer @ 37 NONAME - _ZTV28eap_core_client_message_if_c @ 38 NONAME - _ZTV30CEapVpnInterfaceImplementation @ 39 NONAME - _ZThn12_N28eap_core_client_message_if_c12get_is_validEv @ 40 NONAME - _ZThn12_N28eap_core_client_message_if_c12set_is_validEv @ 41 NONAME - _ZThn12_N28eap_core_client_message_if_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 42 NONAME - _ZThn12_N28eap_core_client_message_if_c8shutdownEv @ 43 NONAME - _ZThn12_N28eap_core_client_message_if_c9configureEv @ 44 NONAME - _ZThn12_N28eap_core_client_message_if_cD0Ev @ 45 NONAME - _ZThn12_N28eap_core_client_message_if_cD1Ev @ 46 NONAME - _ZThn4_N17CEapCoreInterface8SendDataEPKvi @ 47 NONAME - _ZThn4_N28eap_core_client_message_if_c12get_is_validEv @ 48 NONAME - _ZThn4_N28eap_core_client_message_if_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 49 NONAME - _ZThn4_N28eap_core_client_message_if_c15eap_acknowledgeEPK19eap_am_network_id_c @ 50 NONAME - _ZThn4_N28eap_core_client_message_if_c18create_eap_sessionEPK19eap_am_network_id_c @ 51 NONAME - _ZThn4_N28eap_core_client_message_if_c18remove_eap_sessionEbPK19eap_am_network_id_c @ 52 NONAME - _ZThn4_N28eap_core_client_message_if_c23cancel_all_eap_sessionsEv @ 53 NONAME - _ZThn4_N28eap_core_client_message_if_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 54 NONAME - _ZThn4_N28eap_core_client_message_if_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 55 NONAME - _ZThn4_N28eap_core_client_message_if_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 56 NONAME - _ZThn4_N28eap_core_client_message_if_c5resetEv @ 57 NONAME - _ZThn4_N28eap_core_client_message_if_c8shutdownEv @ 58 NONAME - _ZThn4_N28eap_core_client_message_if_c9configureEv @ 59 NONAME - _ZThn4_N28eap_core_client_message_if_cD0Ev @ 60 NONAME - _ZThn4_N28eap_core_client_message_if_cD1Ev @ 61 NONAME - _ZThn8_N17CEapCoreInterface11set_partnerEP23abs_eap_am_message_if_c @ 62 NONAME - _ZThn8_N17CEapCoreInterface12get_is_validEv @ 63 NONAME - _ZThn8_N17CEapCoreInterface12process_dataEPKvm @ 64 NONAME - _ZThn8_N17CEapCoreInterface8shutdownEv @ 65 NONAME - _ZThn8_N17CEapCoreInterface9configureEPK19eap_variable_data_c @ 66 NONAME - _ZThn8_N28eap_core_client_message_if_c13timer_expiredEmPv @ 67 NONAME - _ZThn8_N28eap_core_client_message_if_c17timer_delete_dataEmPv @ 68 NONAME - _ZThn8_N28eap_core_client_message_if_cD0Ev @ 69 NONAME - _ZThn8_N28eap_core_client_message_if_cD1Ev @ 70 NONAME diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eabi/wlaneapolifu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eabi/wlaneapolifu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,3 @@ +EXPORTS + _Z24ImplementationGroupProxyRi @ 1 NONAME + diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/data/20026FC8.rss --- a/eapol/eapol_framework/eapol_symbian/eap_if/data/20026FC8.rss Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -/* -* Copyright (c) 2000 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: ECom resources for the EapTools -* -*/ - -/* -* %version: 3 % -*/ - -#include -#include "EapolUID.h" -// --------------------------------------------------------- -// -// -// ECOM resource definitions for EapPlugin plugin -// -// --------------------------------------------------------- -// -RESOURCE REGISTRY_INFO theInfo - { - // UID for the DLL - dll_uid = EAP_TOOLS_DLL_UID; - - // Declare array of interface info - interfaces = - { - INTERFACE_INFO - { - // UID of interface that is implemented - interface_uid = EAP_TOOLS_INTERFACE_UID; - implementations = - { - // Info for EapTools - IMPLEMENTATION_INFO - { - implementation_uid = EAP_TOOLS_IMPLEMENTATION_UID; - version_no = 1; - display_name = "EapTools"; - default_data = ""; - opaque_data = ""; - } - }; - } - }; - } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/data/20026fcd.rss --- a/eapol/eapol_framework/eapol_symbian/eap_if/data/20026fcd.rss Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -/* -* Copyright (c) 2000 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: ECom resources for the EapCoreInterfaceImplementation -* -*/ - -/* -* %version: 6 % -*/ - -#include -#include "EapolUID.h" -// --------------------------------------------------------- -// -// -// ECOM resource definitions for EapCoreInterfaceImplementation plugin -// -// --------------------------------------------------------- -// -RESOURCE REGISTRY_INFO theInfo - { - // UID for the DLL - dll_uid = EAP_CORE_INTERFACEIMPLEMENTATION_DLL_UID; - - // Declare array of interface info - interfaces = - { - INTERFACE_INFO - { - // UID of interface that is implemented - interface_uid = EAP_CORE_INTERFACEIMPLEMENTATION_INTERFACE_UID; - implementations = - { - // Info for EapCoreInterfaceImplementation - IMPLEMENTATION_INFO - { - implementation_uid = EAP_CORE_INTERFACEIMPLEMENTATION_IMPLEMENTATION_UID; - version_no = 1; - display_name = "EapCoreInterfaceImplementation"; - default_data = ""; - opaque_data = ""; - } - }; - } - }; - } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/data/20026fd1.rss --- a/eapol/eapol_framework/eapol_symbian/eap_if/data/20026fd1.rss Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -/* -* Copyright (c) 2000 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: ECom resources for the EapGeneral -* -*/ - -/* -* %version: 6 % -*/ - -#include -#include "EapolUID.h" -// --------------------------------------------------------- -// -// -// ECOM resource definitions for EapGeneric plugin -// -// --------------------------------------------------------- -// -RESOURCE REGISTRY_INFO theInfo - { - // UID for the DLL - dll_uid = EAP_GENERIC_DLL_UID; - - // Declare array of interface info - interfaces = - { - INTERFACE_INFO - { - // UID of interface that is implemented - interface_uid = EAP_GENERIC_INTERFACE_UID; - implementations = - { - // Info for EapGeneric - IMPLEMENTATION_INFO - { - implementation_uid = EAP_GENERIC_IMPLEMENTATION_UID; - version_no = 1; - display_name = "EapGeneric"; - default_data = ""; - opaque_data = ""; - } - }; - } - }; - } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/data/20026fd6.rss --- a/eapol/eapol_framework/eapol_symbian/eap_if/data/20026fd6.rss Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -/* -* Copyright (c) 2000 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: ECom resources for the EapGeneralSettings -* -*/ - -/* -* %version: 3 % -*/ - -#include -#include "EapolUID.h" -// --------------------------------------------------------- -// -// -// ECOM resource definitions for EapGeneralSettings plugin -// -// --------------------------------------------------------- -// -RESOURCE REGISTRY_INFO theInfo - { - // UID for the DLL - dll_uid = EAP_GENERAL_SETTINGS_DLL_UID; - - // Declare array of interface info - interfaces = - { - INTERFACE_INFO - { - // UID of interface that is implemented - interface_uid = EAP_GENERAL_SETTINGS_INTERFACE_UID; - implementations = - { - // Info for EapGeneralSettings - IMPLEMENTATION_INFO - { - implementation_uid = EAP_GENERAL_SETTINGS_IMPLEMENTATION_UID; - version_no = 1; - display_name = "EapGeneralSettings"; - default_data = ""; - opaque_data = ""; - } - }; - } - }; - } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/data/2002BC91.rss --- a/eapol/eapol_framework/eapol_symbian/eap_if/data/2002BC91.rss Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -/* -* Copyright (c) 2000 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: ECom resources for the EapGeneralSettings -* -*/ - -/* -* %version: 4 % -*/ - -#include -#include "EapolUID.h" -// --------------------------------------------------------- -// -// -// ECOM resource definitions for EapFastPacStoreImpl plugin -// -// --------------------------------------------------------- -// -RESOURCE REGISTRY_INFO theInfo - { - // UID for the DLL - dll_uid = 0x2002BC91; - - // Declare array of interface info - interfaces = - { - INTERFACE_INFO - { - // UID of interface that is implemented - interface_uid = 0x2002BC92; - implementations = - { - // Info for EapFastPacStoreImpl - IMPLEMENTATION_INFO - { - implementation_uid = 0x2002BC93; - version_no = 1; - display_name = "EapFastPacStore"; - default_data = ""; - opaque_data = ""; - } - }; - } - }; - } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/include/EapClientIf.h --- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapClientIf.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 5 % -*/ - -#ifndef EAPCLIENTIF_H_ -#define EAPCLIENTIF_H_ - -#include -#include "EapServerClientDef.h" - -class EapClientIf -{ -public: - - IMPORT_C EapClientIf(); - - IMPORT_C virtual ~EapClientIf(); - -protected: - IMPORT_C static TInt GetServerNameAndExe(TBuf * const ServerName, TBuf * const ServerExe); -}; - - -#endif /* EAPCLIENTIF_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/include/EapCoreInterface.h --- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapCoreInterface.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 9 % -*/ - -#ifndef EAPCOREINTERFACE_H_ -#define EAPCOREINTERFACE_H_ - - -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "EapSendInterface.h" -#include "EapProcessInterface.h" -#include "EapServerClientDef.h" - -class CEapCoreInterface : - public CBase, - public MEapSendInterface, - public eap_am_message_if_c - - { -public: - /** - * Two-phased constructor. - */ - CEapCoreInterface(const u32_t MTU); - - /** - * Destructor. - */ - virtual ~CEapCoreInterface(); - -public: // New functions - - /** - * From eap_am_message_if_c - * Initialize interface to EAPOL or WAPI. - * @since S60 v9.2 - */ - - EAP_FUNC_IMPORT bool get_is_valid(); - - /// Function receives the data message from lower layer. - /// Data is formatted to Attribute-Value Pairs. - /// Look at eap_tlv_header_c and eap_tlv_message_data_c. - EAP_FUNC_IMPORT eap_status_e process_data(const void * const data, const u32_t length); - - // This is documented in abs_eap_stack_interface_c::configure(). - EAP_FUNC_IMPORT eap_status_e configure( - const eap_variable_data_c * const client_configuration); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - EAP_FUNC_IMPORT eap_status_e shutdown(); - - EAP_FUNC_IMPORT void set_partner(abs_eap_am_message_if_c * const client); - - /** - * from MEapSendInterface - */ - EAP_FUNC_IMPORT TInt SendData( - const void * const aData, - const TInt aLength ); - - EAP_FUNC_IMPORT CEapProcessInterface* ConstrucL(abs_eap_am_tools_c * const tools ); - -private: - - - abs_eap_am_message_if_c* iClient; - TBool iIsValid; - abs_eap_am_tools_c* iTools; - CEapCoreInterface* iEapCoreInterface; - CEapProcessInterface* iServer; - TUint32 iMTU; - }; - -#endif /* EAPCOREINTERFACE_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/include/EapCoreInterfaceImplementation.h --- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapCoreInterfaceImplementation.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,153 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 11 % -*/ - -#ifndef EAP_CORE_INTERFACE_IMPLEMENTATION_H_ -#define EAP_CORE_INTERFACE_IMPLEMENTATION_H_ - -// INCLUDES -#include -#include "EapProcessInterface.h" -#include "REapSession.h" -#include "SendPacketHandler.h" -#include "EapSendInterface.h" -#include "abs_eap_am_tools.h" -#include "EapClientIf.h" - -class MEapSendInterface; -class EapMessageBuffer; - - -/** - * Implementation for MWlanEapolInterface interface. - * - * @lib wlaneapolif.dll - * @since S60 v3.2 - */ -class CEapCoreInterfaceImplementation -: public CEapProcessInterface -, public MSendPacketHandler -, public EapClientIf -{ - -public: - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Functions from CWlanEapolClient. - - /** - * Static constructor. - * @param aPartner Pointer to callback instance. - * @return Pointer to the constructed instance. - */ - static CEapProcessInterface* NewL(MEapSendInterface * aPartner); - - - /** - * Destructor. - */ - virtual ~CEapCoreInterfaceImplementation(); - - /** - * Configure plugin implementation. - * - * @since S60 v3.2 - * @param aHeaderOffset Offset of EAP-header in packet_send. - * @param aMTU Maximum transfer unit (MTU). - * @param aTrailerLength Length of trailer needed by lower levels.. - * @return Return value is specified in interface specification. - */ - TInt Configure( - const TInt aHeaderOffset, - const TInt aMTU, - const TInt aTrailerLength, - const void * const aConfigurationData, - const TInt aConfigurationDataLength); - - TInt SetEnv(abs_eap_am_tools_c * const tools, const u32_t MTU); - - /** - * Shutdown plugin implementation. - * - * @since S60 v3.2 - * @return Return value is specified in interface specification. - */ - TInt Shutdown(); - - /** - * Send data to EAPOL. - * - * @since S60 v3.2 - * @param aData Pointer to the data to be sent. - * @param aLength Length of the data to be sent. - * @return Return value is specified in interface specification. - */ - TInt ProcessData( - const void * const aData, - const TInt aLength ); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Functions from MSendPacketHandler. - - /// Function sends the data message to lower layer. - /// Data is formatted to Attribute-Value Pairs. - /// Look at eap_tlv_header_c and eap_tlv_message_data_c. - eap_status_e send_data(const TDesC8& message); - - -private: - - /** - * C++ default constructor. - */ - CEapCoreInterfaceImplementation(); - - /** - * Symbian 2nd phase constructor. - */ - void ConstructL(MEapSendInterface * aPartner); - - /** - * The get_is_valid() function returns the status of the CEapCoreInterfaceImplementation object. - * @return True indicates the object is initialized. - */ - bool get_is_valid(); - -// eap_status_e SendData(const void * const data, const u32_t length); - -// static TInt GetServerNameAndExe(TBuf * const ServerName, TBuf * const ServerExe); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MEapSendInterface * m_partner; - - REapSession iSession; - - bool m_is_valid; - - TUint32 iMTU; - - abs_eap_am_tools_c * iTools; -}; - - -#endif // EAP_CORE_INTERFACE_IMPLEMENTATION_H_ - -// End of file. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/include/EapFastPacStoreImpl.h --- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapFastPacStoreImpl.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,133 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: % -*/ - -#include "EapFastPacStore.h" -#include "abs_eap_pac_store_message.h" -#include "eap_pac_store_message_base.h" -#include "eap_pac_store_client_message_if.h" -#include "eap_am_message_if.h" -#include "EapClientIf.h" -#include "eap_am_message_if_symbian.h" - -enum eap_fast_pac_store_impl_wait_state_e -{ - eap_fast_pac_store_impl_wait_state_none, - eap_fast_pac_store_impl_wait_state_complete_open_pac_store, - eap_fast_pac_store_impl_wait_state_complete_create_device_seed, - eap_fast_pac_store_impl_wait_state_complete_is_master_key_present, - eap_fast_pac_store_impl_wait_state_complete_is_master_key_and_password_matching, - eap_fast_pac_store_impl_wait_state_complete_create_and_save_master_key, - eap_fast_pac_store_impl_wait_state_complete_compare_pac_store_password, - eap_fast_pac_store_impl_wait_state_complete_is_pacstore_password_present, - eap_fast_pac_store_impl_wait_state_complete_set_pac_store_password, - eap_fast_pac_store_impl_wait_state_complete_destroy_pac_store, -}; - -class CEapFastPacStoreImpl -: public CEapFastPacStore - ,public abs_eap_pac_store_message_c -{ -public: - - static CEapFastPacStore* NewL(); - - CEapFastPacStoreImpl(); - - virtual ~CEapFastPacStoreImpl(); - - void OpenPacStoreL(); - - void CreateDeviceSeedL(); - - TBool IsMasterKeyPresentL(); - - TBool IsMasterKeyAndPasswordMatchingL( - const TDesC8 & aPassword8); - - TInt CreateAndSaveMasterKeyL( - const TDesC8 & aPassword8); - - TBool ComparePacStorePasswordL( - TDes8 & aPassword8); - - TBool IsPacStorePasswordPresentL(); - - TInt SetPacStorePasswordL( - const TDesC8 & aPassword8); - - TInt DestroyPacStore(); - - eap_status_e complete_open_pac_store( - const eap_status_e completion_status); - - eap_status_e complete_create_device_seed( - const eap_status_e completion_status); - - eap_status_e complete_is_master_key_present( - bool is_present - ,const eap_status_e completion_status); - - eap_status_e complete_is_master_key_and_password_matching( - bool is_matching - ,const eap_status_e completion_status); - - eap_status_e complete_create_and_save_master_key( - const eap_status_e completion_status); - - eap_status_e complete_compare_pac_store_password( - bool is_matching); - - eap_status_e complete_is_pacstore_password_present( - bool is_present); - - eap_status_e complete_set_pac_store_password( - const eap_status_e completion_status); - - eap_status_e complete_destroy_pac_store( - const eap_status_e completion_status); - - void ConstructL(); - -protected: - - -private: - - void Activate(); - - void Complete(); - - void WaitCompletion(); - - abs_eap_am_tools_c* iTools; - eap_pac_store_message_base_c * iPartner; - TBool iIsValid; - eap_fast_pac_store_impl_wait_state_e iWaitState; - eap_status_e iCompletionStatus; - TRequestStatus iAsyncronousStatus; - eap_variable_data_c* iPacStorePassword; - TBool iIsPresent; - TBool iIsMatching; - TBool iIsPwMatching; - TBool iIsPwPresent; - CActiveSchedulerWait iWait; - -}; \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/include/EapGeneralSettingsImpl.h --- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapGeneralSettingsImpl.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,166 +0,0 @@ -/* -* 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: This is implementation of CEapGeneralSettings interface. -* -*/ - -/* -* %version: 28 % -*/ - -#ifndef _EAP_GENERAL_SETTINGS_IMPL_H_ -#define _EAP_GENERAL_SETTINGS_IMPL_H_ - -// INCLUDES -#include -#include -#include "eap_header.h" -#include "eap_array.h" -#include "abs_eap_general_settings_message.h" -#include "eap_configuration_field.h" -#include "EapExpandedType.h" -#include "EapClientIf.h" - -// FORWARD DECLARATIONS -class eap_am_network_id_c; -class eap_method_settings_c; -class abs_eap_am_tools_c; -class eap_general_settings_message_c; - - -enum eap_general_settings_wait_state_e -{ - eap_general_settings_wait_state_none, - eap_general_settings_wait_state_complete_set_eap_methods, - eap_general_settings_wait_state_complete_get_eap_methods, - eap_general_settings_wait_state_complete_get_certificate_lists, - eap_general_settings_wait_state_complete_delete_all_eap_settings, - eap_general_settings_wait_state_complete_copy_all_eap_settings, -}; - - -// CLASS DECLARATION -/** -* This is implementation of CEapGeneralSettings interface. -*/ -class CEapGeneralSettingsImpl -: public CEapGeneralSettings -, public abs_eap_general_settings_message_c -, public EapClientIf -{ -public: - - /** - * Construction function. Called by ECom after the EAP generic plugin has been loaded. - * @param aIapInfo Pointer to the class that contains information about bearer type and unique index. - * @return Pointer to the instance. - */ - static CEapGeneralSettingsImpl* NewL(SIapInfo* aIapInfo); - - /** - * Destructor does nothing. - */ - virtual ~CEapGeneralSettingsImpl(); - - /** - * Returns the version of the interface that the EAP type implements. - * The client-side of the interface must always check the version with this function - * and not call the functions that are not implemented. New functions must be - * added to the end of the interface so that the order of the old functions - * does not change. - * @return Integer indicating the version. - */ - TUint GetInterfaceVersion(); - - TInt SetEapMethods( - const RArray & aActiveEapMethods, - const RArray & aDisabledEapMethods); - - TInt GetEapMethods( - RArray & aActiveEapMethods, - RArray & aDisabledEapMethods); - - TInt GetCertificateLists( - RPointerArray & aUserCerts, - RPointerArray & aCACerts); - - TInt DeleteAllEapSettings(); - - TInt CopyAllEapSettings( - const TIndexType aDestinationIndexType, - const TInt aDestinationIndex); - - eap_status_e complete_get_eap_methods( - const eap_method_settings_c * const internal_settings); - - eap_status_e complete_set_eap_methods( - const eap_status_e completion_status); - - eap_status_e complete_get_certificate_lists( - const eap_method_settings_c * const internal_settings); - - eap_status_e complete_delete_all_eap_settings( - const eap_status_e completion_status); - - eap_status_e complete_copy_all_eap_settings( - const eap_status_e completion_status); - -protected: - - /** - * Constructor initialises member variables. - */ - CEapGeneralSettingsImpl(const TIndexType aIndexType, const TInt aIndex); - - void ConstructL(); - -private: - - void Activate(); - - void Complete(); - - void WaitCompletion(); - - void SetCompletionStatusIfStillOk(const eap_status_e status); - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - eap_general_settings_message_c * const m_server; - - CActiveSchedulerWait iWait; - - // Bearer type - TIndexType iIndexType; - - // Unique index in the bearer space. - TInt iIndex; - - RArray * iActiveEapMethods; - RArray * iDisabledEapMethods; - - RPointerArray * iUserCerts; - RPointerArray * iCACerts; - - eap_general_settings_wait_state_e iWaitState; - - eap_status_e iCompletionStatus; - - TRequestStatus iAsyncronousStatus; -}; - -#endif // _EAP_GENERAL_SETTINGS_IMPL_H_ - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/include/EapProcessInterface.h --- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapProcessInterface.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ -/* -* 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: Wrapper class for instantiating an implementation of -* MWlanEapolInterface via ECom framework. -* -*/ - -/* -* %version: 9 % -*/ - -#ifndef EAP_PROCESS_INTERFACE_H -#define EAP_PROCESS_INTERFACE_H - -#include -#include "abs_eap_am_tools.h" -#include "EapSendInterface.h" - -//const TInt KCWlanEapolClientUid = 0x2000B05C; -//const TInt KCWlanWapiClientUid = 0x200195A1; - -/** - * @brief Class for instantiating an implementation of MWlanEapolInterface - * - * @since S60 v3.2 - */ -class CEapProcessInterface: public CBase - { - -public: - - /** - * Static constructor. - * @param aUid UID of implementation to instantiate. - * @param aPartner Pointer to callback instance. - * @return Pointer to the constructed instance. - */ - inline static CEapProcessInterface* NewL( - TInt aUid, - MEapSendInterface* aPartner); - - /** - * Destructor. - */ - inline virtual ~CEapProcessInterface(); - - - virtual TInt SetEnv(abs_eap_am_tools_c * const tools, const u32_t MTU) = 0; - - /** - * Configure plugin implementation. - * - * @since S60 v3.2 - * @param aHeaderOffset Offset of EAP-header in packet_send. - * @param aMTU Maximum transfer unit (MTU). - * @param aTrailerLength Length of trailer needed by lower levels.. - * @return Return value is specified in interface specification. - */ - virtual TInt Configure( - const TInt aHeaderOffset, - const TInt aMTU, - const TInt aTrailerLength, - const void * const aConfigurationData, - const TInt aConfigurationDataLength - ) = 0; - - /** - * Shutdown plugin implementation. - * - * @since S60 v3.2 - * @return Return value is specified in interface specification. - */ - virtual TInt Shutdown() = 0; - - /** - * Send data to EAPOL. - * - * @since S60 v3.2 - * @param aData Pointer to the data to be sent. - * @param aLength Length of the data to be sent. - * @return Return value is specified in interface specification. - */ - virtual TInt ProcessData( - const void * const aData, - const TInt aLength ) = 0; - - private: // data - - /** - * Identifies the instance of an implementation created by - * the ECOM framework. - */ - TUid iInstanceIdentifier; - - }; - -#include "EapProcessInterface.inl" - -#endif // EAP_PROCESS_INTERFACE_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/include/EapProcessInterface.inl --- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapProcessInterface.inl Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -/* -* 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: Inline functions of CWlanEapolClient class. -* -*/ - -/* -* %version: 6 % -*/ - -#include -#include "EapTraceSymbian.h" -// ----------------------------------------------------------------------------- -// ----------------------------------------------------------------------------- -// - -inline CEapProcessInterface* CEapProcessInterface::NewL( - TInt aUid, - MEapSendInterface * aPartner) - { - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapProcessInterface::NewL"))); - - const TUid KTMPUid = { aUid }; - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapProcessInterface::NewL KTMPUid created "))); - - TAny* aInterface = REComSession::CreateImplementationL( - KTMPUid, - _FOFF( CEapProcessInterface, iInstanceIdentifier ), - aPartner); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapProcessInterface::NewL CreateImplementationL done"))); - - return reinterpret_cast( aInterface ); - } - -// ----------------------------------------------------------------------------- -// ----------------------------------------------------------------------------- -// -inline CEapProcessInterface::~CEapProcessInterface() - { - REComSession::DestroyedImplementation( iInstanceIdentifier ); - } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/include/EapSendInterface.h --- a/eapol/eapol_framework/eapol_symbian/eap_if/include/EapSendInterface.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -/* -* 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: ECom interface definition for WLAN EAPOL interface API. -* -*/ - -/* -* %version: 5 % -*/ - -#ifndef EAP_SEND_INTERFACE_H -#define EAP_SEND_INTERFACE_H - -// INCLUDES -#include - - -/** - * @brief ECom interface definition for WLAN EAPOL inteface API. - * - * This class defines the method used for sending data from EAPOL to WLAN Engine. - * - * @since S60 v3.2 - */ -class MEapSendInterface - { - -public: - - /** - * Callback interface to partner. - * - * @since S60 v3.2 - * @param aData Pointer to the data to be sent. - * @param aLength Length of the data to be sent. - * @return Return value is specified in interface specification. - */ - virtual TInt SendData( - const void * const aData, - const TInt aLength ) = 0; - - }; - - -#endif // EAP_SEND_INTERFACE_H diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/include/REapSession.h --- a/eapol/eapol_framework/eapol_symbian/eap_if/include/REapSession.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,200 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 21 % -*/ - - -#ifndef EAPSESSION_H_ -#define EAPSESSION_H_ - -#include -#include -#include -#include "EapServerClientDef.h" -#include "EapServer.h" -#include "EapScheduler.h" -#include "eap_am_tools.h" -#include "eap_am_types.h" -#include "SendPacketHandler.h" -#include "EapMessageQueue.h" - -//---------------------------------------------------------------- - -class MEapolPacketHandler - { -public: - virtual void EapolHandleL(const TDesC8& aData) = 0; - }; - -//---------------------------------------------------------------- - -class CSendHandler; -class CEapCoreInterfaceImplementation; -class CEapClientProcessHandler; - -//---------------------------------------------------------------- - -class CEapolPacketHandler : public CBase, public MEapolPacketHandler - { - void EapolHandleL(const TDesC8& aData); -private: - CEapCoreInterfaceImplementation* iClient; - }; - -//---------------------------------------------------------------- - -class EAP_EXPORT REapSession : public RSessionBase - { -public: - - // construct - inline REapSession() - : iSendHandler(0) - , iProcessHandler(0) - , iStatus(KErrNone) - , iTools(0) - , iClient(0) - , iEapMessageQueue(0) - { - }; - - EAP_FUNC_IMPORT virtual ~REapSession(); - - - EAP_FUNC_IMPORT void ConnectL( - abs_eap_am_tools_c * const tools, - MSendPacketHandler * Client, - const TBuf ServerName, - const TBuf ServerExe, - const void * const aConfigurationData, - const TInt aConfigurationDataLength, - const TEapRequests aIfRequest); - - EAP_FUNC_IMPORT void Close(); - - EAP_FUNC_IMPORT bool get_is_valid(); - - /// Function receives the data message from lower layer. - /// Data is formatted to Attribute-Value Pairs. - /// Look at eap_tlv_header_c and eap_tlv_message_data_c. - EAP_FUNC_IMPORT eap_status_e process_data(const TEapRequests aMessageType, const void * const data, const u32_t length); - - const EapMessageBuffer * GetFirstMessage(); - - TInt DeleteFirstMessage(); - - void Process(const EapMessageBuffer * const buffer, TRequestStatus &aStatus) const; - -private: - /** - * Version information. - * @return Version information. - */ - TVersion Version() const; - - friend class CSendHandler; - - void Receive(TDes8& aBuffer, TRequestStatus& aStatus); - - void CancelReceive(); - - CSendHandler* iSendHandler; - - CEapClientProcessHandler* iProcessHandler; - - TRequestStatus iStatus; - - abs_eap_am_tools_c * iTools; - - MSendPacketHandler* iClient; - - RProcess iServer; - - EapMessageQueue* iEapMessageQueue; - }; - -//---------------------------------------------------------------- - -class CSendHandler : public CActive - { - -public: - // construct/destruct - CSendHandler( - abs_eap_am_tools_c * const tools, - REapSession& aSession); //MEapolPacketHandler& aHandler, - - virtual ~CSendHandler(); - - // operation - void Receive(); - -private: - // from CActive - void RunL(); - void DoCancel(); - TInt RunError(TInt aError); - - -private: - - abs_eap_am_tools_c * iTools; - - REapSession& iSession; - - TBuf8 iBuffer; - - }; - -//---------------------------------------------------------------- - -class CEapClientProcessHandler -: public CActive - { - -public: - - CEapClientProcessHandler( - abs_eap_am_tools_c * const tools, - REapSession& aSession); - - virtual ~CEapClientProcessHandler(); - - void Activate(); - -private: - - // from CActive - void RunL(); - void DoCancel(); - TInt RunError(TInt aError); - - -private: - - abs_eap_am_tools_c * iTools; - - REapSession& iSession; - - bool iProcessPending; - }; - -//---------------------------------------------------------------- - -#endif /* EAPSESSION_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/include/SendPacketHandler.h --- a/eapol/eapol_framework/eapol_symbian/eap_if/include/SendPacketHandler.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 5 % -*/ - -#ifndef SENDPACKETHANDLER_H_ -#define SENDPACKETHANDLER_H_ - -class EapMessageBuffer; - -class EAP_EXPORT MSendPacketHandler - { -public: - - virtual eap_status_e send_data(const TDesC8& message) = 0; - - }; - - -#endif /* SENDPACKETHANDLER_H_ */ - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/include/eap_am_message_if_symbian.h --- a/eapol/eapol_framework/eapol_symbian/eap_if/include/eap_am_message_if_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Message interface on client side. -* -*/ - -/* -* %version: 9 % -*/ - -#ifndef _EAP_AM_MESSAGE_IF_SYMBIAN_H_ -#define _EAP_AM_MESSAGE_IF_SYMBIAN_H_ - -// INCLUDES -#include -#include "REapSession.h" -#include "SendPacketHandler.h" -#include "EapSendInterface.h" -#include "abs_eap_am_tools.h" -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "EapClientIf.h" - -class EapMessageBuffer; - -/** - * Message interface on client side. - */ -class EAP_EXPORT eap_am_message_if_symbian_c -: public eap_am_message_if_c -, public MSendPacketHandler -, public EapClientIf -{ - -public: - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Functions from CWlanEapolClient. - - /** - * C++ default constructor. - */ - EAP_FUNC_IMPORT eap_am_message_if_symbian_c( - abs_eap_am_tools_c * const tools, - const TEapRequests if_request); - - /** - * Destructor. - */ - EAP_FUNC_IMPORT virtual ~eap_am_message_if_symbian_c(); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Functions from eap_am_message_if_c. - - EAP_FUNC_IMPORT bool get_is_valid(); - - EAP_FUNC_IMPORT void set_partner(abs_eap_am_message_if_c * const client); - - /// Function receives the data message from lower layer. - /// Data is formatted to Attribute-Value Pairs. - /// Look at eap_tlv_header_c and eap_tlv_message_data_c. - EAP_FUNC_IMPORT eap_status_e process_data(const void * const data, const u32_t length); - - // This is documented in abs_eap_stack_interface_c::configure(). - EAP_FUNC_IMPORT eap_status_e configure( - const eap_variable_data_c * const client_configuration); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - EAP_FUNC_IMPORT eap_status_e shutdown(); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Functions from MSendPacketHandler. - - /// Function sends the data message to lower layer. - /// Data is formatted to Attribute-Value Pairs. - /// Look at eap_tlv_header_c and eap_tlv_message_data_c. - EAP_FUNC_IMPORT eap_status_e send_data(const TDesC8& message); - - -private: - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - abs_eap_am_tools_c * const m_am_tools; - - abs_eap_am_message_if_c * m_partner; - - const TEapRequests m_if_request; - - REapSession iSession; - - bool m_is_valid; - -}; - - -#endif // _EAP_AM_MESSAGE_IF_SYMBIAN_H_ - -// End of file. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/src/EapClientIf.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_if/src/EapClientIf.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Class stores the EAP-server name. -* -*/ - -/* -* %version: 6 % -*/ - -#include "EapClientIf.h" - - -EXPORT_C EapClientIf::EapClientIf() -{ -} - -EXPORT_C EapClientIf::~EapClientIf() -{ -} - - -EXPORT_C TInt EapClientIf::GetServerNameAndExe(TBuf * const ServerName, TBuf * const ServerExe) -{ - _LIT( KEapServerName,"EapAuthServer" ); - _LIT( KEapServerExe, "EapAuthServerExe.exe"); - - ServerName->Copy(KEapServerName); - ServerExe->Copy(KEapServerExe); - return KErrNone; -} - -// end diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/src/EapCoreInterface.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_if/src/EapCoreInterface.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,204 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 21 % -*/ - -#include "EapCoreInterface.h" -#include "eap_am_tools.h" -#include "EapolUID.h" -#include "EapPluginTools.h" - -CEapCoreInterface::CEapCoreInterface(const u32_t MTU): - iClient(NULL) - ,iIsValid(FALSE) - ,iTools(0) - ,iEapCoreInterface(0) - ,iServer(0) - ,iMTU(MTU) - { - } - -CEapCoreInterface::~CEapCoreInterface() - { - delete iEapCoreInterface; - } - -EAP_FUNC_EXPORT CEapProcessInterface* CEapCoreInterface::ConstrucL(abs_eap_am_tools_c * const tools) - { - iTools = tools; - - //TInt implementationUid( EAP_CORE_INTERFACEIMPLEMENTATION_IMPLEMENTATION_UID ); - - const TUid KimplementationInterfaceUid = { EAP_CORE_INTERFACEIMPLEMENTATION_INTERFACE_UID }; - - RImplInfoPtrArray aImplInfoArray; - - CleanupStack::PushL( TCleanupItem( EapPluginTools::CleanupImplArray, &aImplInfoArray ) ); - - REComSession::ListImplementationsL(KimplementationInterfaceUid, - aImplInfoArray); - - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapCoreInterface::ConstrucL Implementation %d\n"),aImplInfoArray[0]->ImplementationUid().iUid)); - - iServer = CEapProcessInterface::NewL( - aImplInfoArray[0]->ImplementationUid().iUid, - this); - - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapCoreInterface::ConstrucL CEapProcessInterface::NewL done\n"))); - - iIsValid = TRUE; - - CleanupStack::PopAndDestroy(&aImplInfoArray); - - return iServer; - - } - -EAP_FUNC_EXPORT eap_am_message_if_c * new_eap_am_client_message_if_c( - abs_eap_am_tools_c * const tools, - const bool /* is_client_when_true */, - const u32_t MTU) - { - CEapCoreInterface * aEapCoreInterface = 0; - CEapProcessInterface* aServer =0; - - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("new_eap_am_client_message_if_c()\n"))); - - aEapCoreInterface = new CEapCoreInterface(MTU); - if (aEapCoreInterface != 0) - { - TRAPD( err, aServer = aEapCoreInterface->ConstrucL(tools)); - if (err) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("new_eap_am_client_message_if_c() NO SERVER IF, err = %d\n"),err)); - - return 0; - } - else if(aServer == NULL) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("new_eap_am_client_message_if_c() SERVER IF == 0\n"))); - } - else - { - aServer->SetEnv(tools, MTU); - } - - } - else - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("new_eap_am_client_message_if_c() new(ELeave) CEapCoreInterface(MTU) failed\n"))); - return 0; - } - return aEapCoreInterface; - - } - -EAP_FUNC_EXPORT bool CEapCoreInterface::get_is_valid() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapCoreInterface::get_is_valid() = %d\n"),iIsValid )); - return iIsValid; - } - -EAP_FUNC_EXPORT eap_status_e CEapCoreInterface::process_data(const void * const data, const u32_t length) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapCoreInterface::process_data()\n"))); - - TInt err = iServer->ProcessData(data, length); - - return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(err)); - } - - -EAP_FUNC_EXPORT eap_status_e CEapCoreInterface::configure( - const eap_variable_data_c * const client_configuration) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapCoreInterface::configure()\n"))); - - TInt err = iServer->Configure(0,0,0, client_configuration->get_data(), client_configuration->get_data_length()); - - return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(err)); - } - -// This is documented in abs_eap_stack_interface_c::shutdown(). -EAP_FUNC_EXPORT eap_status_e CEapCoreInterface::shutdown() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapCoreInterface::shutdown()\n"))); - - TInt err = iServer->Shutdown(); - - return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(err)); - } - -EAP_FUNC_EXPORT void CEapCoreInterface::set_partner(abs_eap_am_message_if_c * const client) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapCoreInterface::set_partner()\n"))); - iClient = client; - } - -EAP_FUNC_EXPORT TInt CEapCoreInterface::SendData( - const void * const aData, - const TInt aLength ) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapCoreInterface::SendData()\n"))); - if (iClient != NULL) - { - return iClient->send_data( aData, aLength); - } - else - { - return KErrNone; - } - } - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/src/EapCoreInterfaceImplementation.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_if/src/EapCoreInterfaceImplementation.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,268 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 22 % -*/ - -// INCLUDES -#include -#include -#include "EapCoreInterfaceImplementation.h" -#include "EapolUID.h" -#include "EapTraceSymbian.h" -//----------------------------------------------------------------------------------------- - -/** - * Pairs ECom implementation UIDs with a pointer to the instantiation - * method for that implementation. Required for all ECom implementation - * collections. - */ -const TImplementationProxy ImplementationTable[] = -{ - {{ EAP_CORE_INTERFACEIMPLEMENTATION_IMPLEMENTATION_UID }, reinterpret_cast(CEapCoreInterfaceImplementation::NewL)} -}; - -//----------------------------------------------------------------------------------------- - -/** - * Static constructor. - * @param aPartner Pointer to callback instance. - * @return Pointer to the constructed instance. - */ -CEapProcessInterface* CEapCoreInterfaceImplementation::NewL(MEapSendInterface * aPartner) - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapCoreInterfaceImplementation::NewL"))); - - CEapCoreInterfaceImplementation* self = new (ELeave) CEapCoreInterfaceImplementation(); - - CleanupStack::PushL(self); - - self->ConstructL(aPartner); - - if (self->get_is_valid() != true) - { - User::Leave(KErrGeneral); - } - - CleanupStack::Pop(self); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapCoreInterfaceImplementation::NewL end"))); - return self; - } - -//----------------------------------------------------------------------------------------- - -/** - * C++ default constructor. -*/ -CEapCoreInterfaceImplementation::CEapCoreInterfaceImplementation() - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapCoreInterfaceImplementation::CEapCoreInterfaceImplementation"))); - m_partner = 0; - m_is_valid = false; - iMTU = 0; - iTools = 0; - } - -//----------------------------------------------------------------------------------------- - -/** - * Destructor. - */ -CEapCoreInterfaceImplementation::~CEapCoreInterfaceImplementation() - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapCoreInterfaceImplementation::~CEapCoreInterfaceImplementation"))); - m_partner = 0; - iTools = 0; - iMTU = 0; -// iSession.Close(); - } - -//----------------------------------------------------------------------------------------- -TInt CEapCoreInterfaceImplementation::SetEnv(abs_eap_am_tools_c * const tools, const u32_t MTU) - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapCoreInterfaceImplementation::SetEnv"))); - iTools = tools; - iMTU = MTU; - return KErrNone; - } - -/** - * Configure plugin implementation. - * - * @since S60 v3.2 - * @param aHeaderOffset Offset of EAP-header in packet_send. - * @param aMTU Maximum transfer unit (MTU). - * @param aTrailerLength Length of trailer needed by lower levels.. - * @return Return value is specified in interface specification. - */ -TInt CEapCoreInterfaceImplementation::Configure( - const TInt /* aHeaderOffset */, - const TInt /* aMTU */, - const TInt /* aTrailerLength */, - const void * const aConfigurationData, - const TInt aConfigurationDataLength) - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapCoreInterfaceImplementation::Configure"))); - - TBuf ServerName; - TBuf ServerExe; - - GetServerNameAndExe(&ServerName, &ServerExe); - - TRAPD(err, iSession.ConnectL(iTools, this, ServerName, ServerExe, aConfigurationData, aConfigurationDataLength, EEapCoreIfNew)); - - if(err) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapCoreInterfaceImplementation::Configure - iSession.ConnectL err=%d\n"), err )); - return err; - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapCoreInterfaceImplementation::Configure end"))); - - return err; - } - -//----------------------------------------------------------------------------------------- - -/** - * Shutdown plugin implementation. - * - * @since S60 v3.2 - * @return Return value is specified in interface specification. - */ -TInt CEapCoreInterfaceImplementation::Shutdown() - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapCoreInterfaceImplementation::Shutdown"))); - iSession.Close(); - - return 0; - } - -//----------------------------------------------------------------------------------------- - -/** - * Send data to EAPOL. - * - * @since S60 v3.2 - * @param aData Pointer to the data to be sent. - * @param aLength Length of the data to be sent. - * @return Return value is specified in interface specification. - */ -TInt CEapCoreInterfaceImplementation::ProcessData( - const void * const aData, - const TInt aLength ) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapCoreInterfaceImplementation::ProcessData()\n"))); - - EAP_TRACE_DATA_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapCoreInterfaceImplementation::ProcessData()"), - aData, - aLength)); - - return iSession.process_data(EEapCoreProcessData, aData, aLength); - } - -//----------------------------------------------------------------------------------------- - -/** - * Symbian 2nd phase constructor. - */ -void CEapCoreInterfaceImplementation::ConstructL(MEapSendInterface * aPartner) - { - m_partner = aPartner; - m_is_valid = true; - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapCoreInterfaceImplementation::ConstructL"))); - -// RWapiSession session; -// __UHEAP_MARK; -// CTestPacketHandler* tph = new (ELeave) CTestPacketHandler; -// CleanupStack::PushL( tph ); - -// CleanupStack::Pop( tph ); - -// delete tph; - - } - -//----------------------------------------------------------------------------------------- - -bool CEapCoreInterfaceImplementation::get_is_valid() - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapCoreInterfaceImplementation::get_is_valid = %d"),m_is_valid )); - - return m_is_valid; - } - -//----------------------------------------------------------------------------------------- - -/// Function sends the data message to lower layer. -/// Data is formatted to Attribute-Value Pairs. -/// Look at eap_tlv_header_c and eap_tlv_message_data_c. -eap_status_e CEapCoreInterfaceImplementation::send_data(const TDesC8& message) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapCoreInterfaceImplementation::send_data \n"))); - - return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error( - m_partner->SendData( - message.Ptr(), - message.Length()))); - } - -//----------------------------------------------------------------------------------------- - -// ======== GLOBAL FUNCTIONS ======== - -// --------------------------------------------------------- -// Returns an instance of the proxy table. -// Returns: KErrNone -// --------------------------------------------------------- -// -EAP_FUNC_EXPORT const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount ) - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("TImplementationProxy* ImplementationGroupProxy"))); - - aTableCount = sizeof( ImplementationTable) / sizeof( TImplementationProxy ); - return ImplementationTable; - } - -//----------------------------------------------------------------------------------------- - -// End of file. - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/src/EapFastPacStoreImpl.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_if/src/EapFastPacStoreImpl.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,875 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 22 % -*/ - -#include -#include -#include "EapolUID.h" -#include "EapTraceSymbian.h" -#include "EapFastPacStoreImpl.h" -#include "eap_automatic_variable.h" - -// ---------------------------------------------------------- - -const TImplementationProxy ImplementationTable[] = -{ - {{0x2002BC93}, reinterpret_cast (CEapFastPacStoreImpl::NewL)} -}; - -// ---------------------------------------------------------- - -EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) -{ - aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); - - return ImplementationTable; -} - -// ---------------------------------------------------------- - -CEapFastPacStore* CEapFastPacStoreImpl::NewL() -{ - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::NewL"))); - - CEapFastPacStoreImpl* self = new (ELeave) CEapFastPacStoreImpl(); - - self->ConstructL(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::NewL end"))); - return self; - -} - -// ---------------------------------------------------------- - -CEapFastPacStoreImpl::CEapFastPacStoreImpl(): - iTools(abs_eap_am_tools_c::new_abs_eap_am_tools_c()) - ,iPartner(eap_pac_store_message_base_c::new_eap_pac_store_client_message_if_c( - iTools, - this)) - ,iIsValid (EFalse) - ,iWaitState(eap_fast_pac_store_impl_wait_state_none) - ,iPacStorePassword (new eap_variable_data_c(iTools)) - ,iIsPresent(EFalse) - ,iIsMatching(EFalse) - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::CEapFastPacStoreImpl"))); - - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::CEapFastPacStoreImpl end"))); - } - -// ---------------------------------------------------------- - -void CEapFastPacStoreImpl::ConstructL() - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::ConstructL"))); - - eap_status_e status = iPartner->configure(); - if (status != eap_status_ok) - { - TInt aError = iTools->convert_eapol_error_to_am_error(status); - - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools); - delete iPartner; - iPartner = NULL; - User::Leave(aError); - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::ConstructL end"))); - - } - -// ---------------------------------------------------------- - -CEapFastPacStoreImpl::~CEapFastPacStoreImpl() - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::~CEapFastPacStoreImpl"))); - - if ( iPacStorePassword != NULL ) - { - delete iPacStorePassword; - } - - if (iPartner != 0) - { - iPartner->shutdown(); - } - delete iPartner; - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::~CEapFastPacStoreImpl end"))); - - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools); - iTools = NULL; - } - - -// ---------------------------------------------------------- - -void CEapFastPacStoreImpl::Activate() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapFastPacStoreImpl::Activate(): iAsyncronousStatus=%u\n"), - iAsyncronousStatus.Int())); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapFastPacStoreImpl::Activate()"); - - iAsyncronousStatus = KRequestPending; -} - -//---------------------------------------------------------------- - -void CEapFastPacStoreImpl::Complete() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapFastPacStoreImpl::Complete(): iAsyncronousStatus=%u\n"), - iAsyncronousStatus.Int())); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapFastPacStoreImpl::Complete()"); - - iAsyncronousStatus = KErrNone; - - // This is needed to continue the execution after Wait.Start(); - iWait.AsyncStop(); -} - -//---------------------------------------------------------------- - -void CEapFastPacStoreImpl::WaitCompletion() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapFastPacStoreImpl::WaitCompletion(): iAsyncronousStatus=%u\n"), - iAsyncronousStatus.Int())); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapFastPacStoreImpl::WaitCompletion()"); - - while (iAsyncronousStatus == KRequestPending) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapFastPacStoreImpl::WaitCompletion(): calls iWait.Start()\n"))); - - iWait.Start(); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapFastPacStoreImpl::WaitCompletion(): iWait.Start() returns, iAsyncronousStatus=%u\n"), - iAsyncronousStatus.Int())); - } -} - -// ---------------------------------------------------------- - -void CEapFastPacStoreImpl::OpenPacStoreL() - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::OpenPacStoreL"))); - - eap_status_e status = iPartner->open_pac_store( - iCompletionStatus); - - if (status != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, status))); - } - - iWaitState = eap_fast_pac_store_impl_wait_state_complete_open_pac_store; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, iCompletionStatus))); - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::OpenPacStoreL end"))); - -} - -// ---------------------------------------------------------- - -void CEapFastPacStoreImpl::CreateDeviceSeedL() -{ - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::CreateDeviceSeedL"))); - - eap_status_e status = iPartner->create_device_seed( - iCompletionStatus); - - if (status != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, status))); - } - - iWaitState = eap_fast_pac_store_impl_wait_state_complete_create_device_seed; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, iCompletionStatus))); - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::CreateDeviceSeedL end"))); - -} - -// ---------------------------------------------------------- - -TBool CEapFastPacStoreImpl::IsMasterKeyPresentL() -{ - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::IsMasterKeyPresentL"))); - - eap_status_e status = iPartner->is_master_key_present( - iCompletionStatus); - - if (status != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, status))); - } - - iWaitState = eap_fast_pac_store_impl_wait_state_complete_is_master_key_present; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, iCompletionStatus))); - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::IsMasterKeyPresentL end"))); - - return iIsPresent; - -} - -// ---------------------------------------------------------- - -TBool CEapFastPacStoreImpl::IsMasterKeyAndPasswordMatchingL( - const TDesC8 & aPassword8) -{ - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::IsMasterKeyAndPasswordMatchingL"))); - - (void)iPacStorePassword->set_copy_of_buffer(aPassword8.Ptr(), aPassword8.Size()); - - eap_status_e status = iPartner->is_master_key_and_password_matching( - iPacStorePassword - ,iCompletionStatus); - - if (status != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, status))); - } - - iWaitState = eap_fast_pac_store_impl_wait_state_complete_is_master_key_and_password_matching; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, iCompletionStatus))); - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::IsMasterKeyAndPasswordMatchingL end"))); - - return iIsMatching; - -} - -// ---------------------------------------------------------- - -TInt CEapFastPacStoreImpl::CreateAndSaveMasterKeyL( - const TDesC8 & aPassword8) -{ - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::CreateAndSaveMasterKeyL"))); - - - (void)iPacStorePassword->set_copy_of_buffer(aPassword8.Ptr(), aPassword8.Size()); - - eap_status_e status = iPartner->create_and_save_master_key( - iPacStorePassword - ,iCompletionStatus); - - if (status != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, status))); - } - - iWaitState = eap_fast_pac_store_impl_wait_state_complete_create_and_save_master_key; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, iCompletionStatus))); - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::CreateAndSaveMasterKeyL end"))); - - return iCompletionStatus; - -} - -// ---------------------------------------------------------- - -TBool CEapFastPacStoreImpl::ComparePacStorePasswordL( - TDes8 & aPassword8) -{ - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::ComparePacStorePasswordL"))); - - (void)iPacStorePassword->set_copy_of_buffer(aPassword8.Ptr(), aPassword8.Size()); - - eap_status_e status = iPartner->compare_pac_store_password( - iPacStorePassword); - - if (status != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, status))); - } - - iWaitState = eap_fast_pac_store_impl_wait_state_complete_compare_pac_store_password; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, iCompletionStatus))); - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::ComparePacStorePasswordL end"))); - - return iIsPwMatching; - -} - - TBool CEapFastPacStoreImpl::IsPacStorePasswordPresentL() - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::IsPacStorePasswordPresentL"))); - - eap_status_e status = iPartner->is_pacstore_password_present(); - - if (status != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, status))); - } - - iWaitState = eap_fast_pac_store_impl_wait_state_complete_is_pacstore_password_present; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, iCompletionStatus))); - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::IsPacStorePasswordPresentL end"))); - - return iIsPwPresent; - - } - -// ---------------------------------------------------------- - -TInt CEapFastPacStoreImpl::SetPacStorePasswordL( - const TDesC8 & aPassword8) -{ - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::SetPacStorePasswordL"))); - - (void)iPacStorePassword->set_copy_of_buffer(aPassword8.Ptr(), aPassword8.Size()); - - eap_status_e status = iPartner->set_pac_store_password( - iPacStorePassword - ,iCompletionStatus); - - if (status != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, status))); - } - - iWaitState = eap_fast_pac_store_impl_wait_state_complete_set_pac_store_password; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(iTools, iCompletionStatus))); - } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::SetPacStorePasswordL end"))); - - return iCompletionStatus; - - -} - -// ---------------------------------------------------------- - -TInt CEapFastPacStoreImpl::DestroyPacStore() -{ - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::DestroyPacStore"))); - - eap_status_e status = iPartner->destroy_pac_store( - iCompletionStatus); - - if (status != eap_status_ok) - { - return iTools->convert_eapol_error_to_am_error(status); - } - - iWaitState = eap_fast_pac_store_impl_wait_state_complete_destroy_pac_store; - Activate(); - WaitCompletion(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::DestroyPacStore end"))); - - return iCompletionStatus; - - -} - -// ---------------------------------------------------------- - -eap_status_e CEapFastPacStoreImpl::complete_open_pac_store( - const eap_status_e completion_status) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapFastPacStoreImpl::complete_open_pac_store(): this=0x%08x, iWaitState=%d\n"), - this, - iWaitState)); - - iCompletionStatus = completion_status; - - if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_open_pac_store - && iCompletionStatus == eap_status_ok) - { - // ERROR wrong state. - iCompletionStatus = eap_status_wrong_eap_type_state; - } - - Complete(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::complete_open_pac_store end"))); - - return iCompletionStatus; - -} - -// ---------------------------------------------------------- - -eap_status_e CEapFastPacStoreImpl::complete_create_device_seed( - const eap_status_e completion_status) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapFastPacStoreImpl::complete_create_device_seed(): this=0x%08x, iWaitState=%d\n"), - this, - iWaitState)); - - iCompletionStatus = completion_status; - - if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_create_device_seed - && iCompletionStatus == eap_status_ok) - { - // ERROR wrong state. - iCompletionStatus = eap_status_wrong_eap_type_state; - } - - Complete(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::complete_create_device_seed end"))); - - return iCompletionStatus; - -} - -// ---------------------------------------------------------- - -eap_status_e CEapFastPacStoreImpl::complete_is_master_key_present( - bool is_present - ,const eap_status_e completion_status) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapFastPacStoreImpl::complete_is_master_key_present(): this=0x%08x, iWaitState=%d\n"), - this, - iWaitState)); - - iIsPresent = is_present; - iCompletionStatus = completion_status; - - if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_is_master_key_present - && iCompletionStatus == eap_status_ok) - { - // ERROR wrong state. - iCompletionStatus = eap_status_wrong_eap_type_state; - } - - iIsPresent = is_present; - Complete(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::complete_is_master_key_present end"))); - - return iCompletionStatus; - -} - -// ---------------------------------------------------------- - -eap_status_e CEapFastPacStoreImpl::complete_is_master_key_and_password_matching( - bool is_matching - ,const eap_status_e completion_status) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapFastPacStoreImpl::complete_is_master_key_and_password_matching(): this=0x%08x, iWaitState=%d\n"), - this, - iWaitState)); - - iCompletionStatus = completion_status; - - iIsMatching = is_matching; - if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_is_master_key_and_password_matching - && iCompletionStatus == eap_status_ok) - { - // ERROR wrong state. - iCompletionStatus = eap_status_wrong_eap_type_state; - } - iIsMatching = is_matching; - - Complete(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::complete_is_master_key_and_password_matching end"))); - - return iCompletionStatus; - -} - -// ---------------------------------------------------------- - -eap_status_e CEapFastPacStoreImpl::complete_create_and_save_master_key( - const eap_status_e completion_status) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapFastPacStoreImpl::complete_create_and_save_master_key(): this=0x%08x, iWaitState=%d\n"), - this, - iWaitState)); - - iCompletionStatus = completion_status; - - if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_create_and_save_master_key - && iCompletionStatus == eap_status_ok) - { - // ERROR wrong state. - iCompletionStatus = eap_status_wrong_eap_type_state; - } - - Complete(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::complete_create_and_save_master_key end"))); - - return iCompletionStatus; - -} - -// ---------------------------------------------------------- - -eap_status_e CEapFastPacStoreImpl::complete_compare_pac_store_password( - bool is_matching) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapFastPacStoreImpl::complete_compare_pac_store_password(): this=0x%08x, iWaitState=%d\n"), - this, - iWaitState)); - - iCompletionStatus = eap_status_ok; - - if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_compare_pac_store_password) - { - // ERROR wrong state. - iCompletionStatus = eap_status_wrong_eap_type_state; - } - - iIsPwMatching = is_matching; - Complete(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::complete_compare_pac_store_password end"))); - - return iCompletionStatus; - -} - -// ---------------------------------------------------------- - -eap_status_e CEapFastPacStoreImpl::complete_is_pacstore_password_present( - bool is_present) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapFastPacStoreImpl::complete_is_pacstore_password_present(): this=0x%08x, iWaitState=%d\n"), - this, - iWaitState)); - - iCompletionStatus = eap_status_ok; - - if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_is_pacstore_password_present) - { - // ERROR wrong state. - iCompletionStatus = eap_status_wrong_eap_type_state; - } - - iIsPwPresent = is_present; - Complete(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::complete_is_pacstore_password_present end"))); - - return iCompletionStatus; - -} -// ---------------------------------------------------------- - -eap_status_e CEapFastPacStoreImpl::complete_set_pac_store_password( - const eap_status_e completion_status) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapFastPacStoreImpl::complete_set_pac_store_password(): this=0x%08x, iWaitState=%d\n"), - this, - iWaitState)); - - iCompletionStatus = completion_status; - - if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_set_pac_store_password - && iCompletionStatus == eap_status_ok) - { - // ERROR wrong state. - iCompletionStatus = eap_status_wrong_eap_type_state; - } - - Complete(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::complete_set_pac_store_password end"))); - - return iCompletionStatus; - -} - -// ---------------------------------------------------------- - -eap_status_e CEapFastPacStoreImpl::complete_destroy_pac_store( - const eap_status_e completion_status) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapFastPacStoreImpl::complete_destroy_pac_store(): this=0x%08x, iWaitState=%d\n"), - this, - iWaitState)); - - iCompletionStatus = completion_status; - - if (iWaitState != eap_fast_pac_store_impl_wait_state_complete_destroy_pac_store - && iCompletionStatus == eap_status_ok) - { - // ERROR wrong state. - iCompletionStatus = eap_status_wrong_eap_type_state; - } - - Complete(); - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapFastPacStoreImpl::complete_destroy_pac_store end"))); - - return iCompletionStatus; - -} - -// ---------------------------------------------------------- - -eap_am_message_if_c * eap_am_message_if_c::new_eap_am_message_if_c( - abs_eap_am_tools_c * const tools) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_message_if_c::new_eap_am_server_pac_store_message_c()\n"))); - - eap_am_message_if_c *client_if = new eap_am_message_if_symbian_c(tools, EEapPacStoreNew); - - eap_automatic_variable_c automatic_client_if( - tools, - client_if); - - if (client_if == 0 - || client_if->get_is_valid() == false) - { - // ERROR. - if (client_if != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: calls: eap_am_message_if_c::new_eap_am_server_general_settings_c(): client_if->shutdown()\n"))); - - client_if->shutdown(); - } - return 0; - } - - automatic_client_if.do_not_free_variable(); - - return client_if; - -} - -// ---------------------------------------------------------- - -EAP_FUNC_EXPORT eap_pac_store_message_base_c * eap_pac_store_message_base_c::new_eap_pac_store_client_message_if_c( - abs_eap_am_tools_c * const tools, - abs_eap_pac_store_message_c * const partner) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_pac_store_message_base_c::new_eap_pac_store_client_message_if_c()\n"))); - - eap_am_message_if_c *client_if = eap_am_message_if_c::new_eap_am_message_if_c( - tools); - - eap_automatic_variable_c automatic_client_if( - tools, - client_if); - - if (client_if == 0 - || client_if->get_is_valid() == false) - { - // ERROR. - if (client_if != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: calls: eap_pac_store_message_base_c::new_eap_pac_store_client_message_if_c(): client_if->shutdown()\n"))); - - (void) client_if->shutdown(); - } - return 0; - } - - eap_pac_store_client_message_if_c * new_session_core = new eap_pac_store_client_message_if_c(tools, client_if, partner); - - eap_automatic_variable_c automatic_new_session_core( - tools, - new_session_core); - - if (new_session_core == 0 - || new_session_core->get_is_valid() == false) - { - // ERROR. - if (new_session_core != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: calls: eap_pac_store_message_base_c::new_eap_pac_store_client_message_if_c(): new_session_core->shutdown()\n"))); - - new_session_core->shutdown(); - } - return 0; - } - - client_if->set_partner(new_session_core); - - automatic_client_if.do_not_free_variable(); - automatic_new_session_core.do_not_free_variable(); - - return new_session_core; -} - - -// ---------------------------------------------------------- - - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/src/EapGeneralSettingsImpl.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_if/src/EapGeneralSettingsImpl.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,850 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: This is implementation of CEapGeneralSettings interface. -* -*/ - -/* -* %version: 49 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 740 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - - -// INCLUDE FILES - -#include "EapGeneralSettingsImpl.h" -#include "EapConversion.h" -#include "eap_am_assert.h" -#include -#include "abs_eap_am_tools.h" -#include "eap_automatic_variable.h" -#include // for CnvUtfConverter -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_automatic_variable.h" -#include "eap_general_settings_message.h" -#include "eap_am_message_if_symbian.h" -#include "eap_process_tlv_message_data.h" -#include "eap_general_settings_client_message_if.h" - -// LOCAL CONSTANTS - -// The version number of this interface. -const TUint KInterfaceVersion = 1; - - -// ================= MEMBER FUNCTIONS ======================= - -CEapGeneralSettingsImpl::CEapGeneralSettingsImpl( - const TIndexType aIndexType, - const TInt aIndex) -: m_am_tools(abs_eap_am_tools_c::new_abs_eap_am_tools_c()) -, m_server(new_eap_general_settings_client_message_if_c( - m_am_tools, - this)) -, iIndexType(aIndexType) -, iIndex(aIndex) -, iActiveEapMethods(0) -, iDisabledEapMethods(0) -, iUserCerts(0) -, iCACerts(0) -, iWaitState(eap_general_settings_wait_state_none) -, iCompletionStatus(eap_status_process_general_error) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::CEapGeneralSettingsImpl(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::CEapGeneralSettingsImpl()"); - -} - -// ---------------------------------------------------------- - -void CEapGeneralSettingsImpl::ConstructL() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::ConstructL(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::ConstructL()"); - - if (m_am_tools == 0 - || m_am_tools->get_is_valid() == false - || m_server == 0 - || m_server->get_is_valid() == false) - { - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(m_am_tools); - delete m_server; - - User::Leave(KErrNoMemory); - } - - eap_status_e status = m_server->configure(); - if (status != eap_status_ok) - { - TInt aStatus = m_am_tools->convert_eapol_error_to_am_error(status); - - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(m_am_tools); - delete m_server; - - User::Leave(aStatus); - } -} - -// ---------------------------------------------------------- - -CEapGeneralSettingsImpl* CEapGeneralSettingsImpl::NewL(SIapInfo* aIapInfo) -{ - CEapGeneralSettingsImpl* self = new(ELeave) CEapGeneralSettingsImpl(aIapInfo->indexType, aIapInfo->index); - - CleanupStack::PushL(self); - - self->ConstructL(); - - CleanupStack::Pop(); - - return self; -} - -// ---------------------------------------------------------- - -CEapGeneralSettingsImpl::~CEapGeneralSettingsImpl() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::~CEapGeneralSettingsImpl(): this=0x%08x.\n"), - this)); - - if (m_server != 0) - { - m_server->shutdown(); - } - delete m_server; - - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(m_am_tools); -} - -// ---------------------------------------------------------- - -TUint CEapGeneralSettingsImpl::GetInterfaceVersion() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::GetInterfaceVersion(): this=0x%08x\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::GetInterfaceVersion()"); - - return KInterfaceVersion; -} - -//---------------------------------------------------------------- - -void CEapGeneralSettingsImpl::Activate() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::Activate(): iAsyncronousStatus=%u\n"), - iAsyncronousStatus.Int())); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::Activate()"); - - iAsyncronousStatus = KRequestPending; - -} - -//---------------------------------------------------------------- - -void CEapGeneralSettingsImpl::Complete() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::Complete(): iAsyncronousStatus=%u\n"), - iAsyncronousStatus.Int())); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::Complete()"); - - iAsyncronousStatus = KErrNone; - - // This is needed to continue the execution after Wait.Start(); - iWait.AsyncStop(); -} - -//---------------------------------------------------------------- - -void CEapGeneralSettingsImpl::WaitCompletion() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::WaitCompletion(): iAsyncronousStatus=%u\n"), - iAsyncronousStatus.Int())); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::WaitCompletion()"); - - while (iAsyncronousStatus == KRequestPending) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::WaitCompletion(): calls iWait.Start()\n"))); - - iWait.Start(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::WaitCompletion(): iWait.Start() returns, iAsyncronousStatus=%u\n"), - iAsyncronousStatus.Int())); - } -} - -// ---------------------------------------------------------- - -void CEapGeneralSettingsImpl::SetCompletionStatusIfStillOk(const eap_status_e status) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::SetCompletionStatusIfStillOk(): iCompletionStatus=%d=%s, status=%d=%s\n"), - iCompletionStatus, - eap_status_string_c::get_status_string(iCompletionStatus), - status, - eap_status_string_c::get_status_string(status))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::SetCompletionStatusIfStillOk()"); - - if (iCompletionStatus == eap_status_ok) - { - iCompletionStatus = status; - } -} - -// ---------------------------------------------------------- - -TInt CEapGeneralSettingsImpl::GetEapMethods( - RArray & ActiveEapMethods, - RArray & DisabledEapMethods) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::GetEapMethods(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::GetEapMethods()"); - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings( - m_am_tools, - internal_settings); - - if (internal_settings == 0) - { - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)); - } - - internal_settings->m_IndexType = iIndexType; - internal_settings->m_Index = iIndex; - - iActiveEapMethods = &ActiveEapMethods; - iDisabledEapMethods = &DisabledEapMethods; - - eap_status_e status = m_server->get_eap_methods(internal_settings); - - iWaitState = eap_general_settings_wait_state_complete_get_eap_methods; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)); - } - - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status)); -} - -// ---------------------------------------------------------- - -TInt CEapGeneralSettingsImpl::SetEapMethods( - const RArray & ActiveEapMethods, - const RArray & DisabledEapMethods) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::SetEapMethods(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::SetEapMethods()"); - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings( - m_am_tools, - internal_settings); - - if (internal_settings == 0) - { - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)); - } - - internal_settings->m_IndexType = iIndexType; - internal_settings->m_Index = iIndex; - - - TInt error = CEapConversion::ConvertExpandedEAPTypesToInternalTypes( - m_am_tools, - &ActiveEapMethods, - &(internal_settings->m_active_eap_methods)); - if (error != KErrNone) - { - return error; - } - - - error = CEapConversion::ConvertExpandedEAPTypesToInternalTypes( - m_am_tools, - &DisabledEapMethods, - &(internal_settings->m_disabled_eap_methods)); - if (error != KErrNone) - { - return error; - } - - internal_settings->m_SelectedEAPTypesPresent = true; - - eap_status_e status = m_server->set_eap_methods(internal_settings); - - iWaitState = eap_general_settings_wait_state_complete_set_eap_methods; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)); - } - - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status)); -} - -// ---------------------------------------------------------- - -eap_status_e CEapGeneralSettingsImpl::complete_get_eap_methods( - const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::complete_get_eap_methods(): this=0x%08x, iWaitState=%d, status=%d=%s\n"), - this, - iWaitState, - internal_settings->m_completion_status, - eap_status_string_c::get_status_string(internal_settings->m_completion_status))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::complete_get_eap_methods()"); - - if (internal_settings == 0) - { - iCompletionStatus = eap_status_illegal_parameter; - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus); - } - - iCompletionStatus = internal_settings->m_completion_status; - - if (iWaitState == eap_general_settings_wait_state_complete_get_eap_methods - && iCompletionStatus == eap_status_ok) - { - if (iActiveEapMethods != 0 - && iDisabledEapMethods != 0 - && internal_settings != 0) - { - TInt error(KErrNone); - - error = CEapConversion::ConvertInternalTypesToExpandedEAPTypes( - m_am_tools, - &(internal_settings->m_active_eap_methods), - iActiveEapMethods); - if (error != KErrNone) - { - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error))); - } - else - { - error = CEapConversion::ConvertInternalTypesToExpandedEAPTypes( - m_am_tools, - &(internal_settings->m_disabled_eap_methods), - iDisabledEapMethods); - if (error != KErrNone) - { - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error))); - } - } - } - else - { - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter)); - } - } - else if (iCompletionStatus == eap_status_ok) - { - // ERROR, wrong state. Other function was completed successfully not the function that was waited. - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state)); - } - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus); -} - -// ---------------------------------------------------------- - -eap_status_e CEapGeneralSettingsImpl::complete_set_eap_methods( - const eap_status_e completion_status) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::complete_set_eap_methods(): this=0x%08x, iWaitState=%d, status=%d=%s\n"), - this, - iWaitState, - completion_status, - eap_status_string_c::get_status_string(completion_status))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::complete_set_eap_methods()"); - - iCompletionStatus = completion_status; - - if (iWaitState != eap_general_settings_wait_state_complete_set_eap_methods - && iCompletionStatus == eap_status_ok) - { - // ERROR, wrong state. Other function was completed successfully not the function that was waited. - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state)); - } - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, completion_status); -} - -// ---------------------------------------------------------- - -TInt CEapGeneralSettingsImpl::GetCertificateLists( - RPointerArray & aUserCerts, - RPointerArray & aCACerts) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::GetCertificateLists(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::GetCertificateLists()"); - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings( - m_am_tools, - internal_settings); - - if (internal_settings == 0) - { - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)); - } - - internal_settings->m_IndexType = iIndexType; - internal_settings->m_Index = iIndex; - - iUserCerts = &aUserCerts; - iCACerts = &aCACerts; - - eap_status_e status = m_server->get_certificate_lists(internal_settings); - - iWaitState = eap_general_settings_wait_state_complete_get_certificate_lists; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)); - } - - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status)); -} - -// ---------------------------------------------------------- - -eap_status_e CEapGeneralSettingsImpl::complete_get_certificate_lists( - const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::complete_get_certificate_lists(): this=0x%08x, iWaitState=%d, status=%d=%s\n"), - this, - iWaitState, - internal_settings->m_completion_status, - eap_status_string_c::get_status_string(internal_settings->m_completion_status))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::complete_get_certificate_lists()"); - - if (internal_settings == 0) - { - // ERROR - iCompletionStatus = eap_status_illegal_parameter; - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus); - } - - iCompletionStatus = internal_settings->m_completion_status; - - if (iWaitState == eap_general_settings_wait_state_complete_get_certificate_lists - && iCompletionStatus == eap_status_ok) - { - if (iUserCerts != 0 - && iCACerts != 0 - && internal_settings != 0) - { - TInt error = CEapConversion::ConvertInternalTypeToCertificates( - m_am_tools, - eap_certificate_entry_c::eap_certificate_type_user, - &(internal_settings->m_Certificates), - iUserCerts); - if (error != KErrNone) - { - // ERROR - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error))); - } - else - { - error = CEapConversion::ConvertInternalTypeToCertificates( - m_am_tools, - eap_certificate_entry_c::eap_certificate_type_CA, - &(internal_settings->m_Certificates), - iCACerts); - if (error != KErrNone) - { - // ERROR - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error))); - } - } - } - else - { - // ERROR - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter)); - } - } - else if (iCompletionStatus == eap_status_ok) - { - // ERROR, wrong state. Other function was completed successfully not the function that was waited. - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state)); - } - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, iCompletionStatus); -} - -// ---------------------------------------------------------- - -TInt CEapGeneralSettingsImpl::DeleteAllEapSettings() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::DeleteAllEapSettings(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::DeleteAllEapSettings()"); - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings( - m_am_tools, - internal_settings); - - if (internal_settings == 0) - { - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)); - } - - internal_settings->m_IndexType = iIndexType; - internal_settings->m_Index = iIndex; - - eap_status_e status = m_server->delete_all_eap_settings(internal_settings); - - iWaitState = eap_general_settings_wait_state_complete_delete_all_eap_settings; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)); - } - - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status)); -} - -// ---------------------------------------------------------- - -TInt CEapGeneralSettingsImpl::CopyAllEapSettings( - const TIndexType aDestinationIndexType, - const TInt aDestinationIndex) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::CopyAllEapSettings(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::CopyAllEapSettings()"); - - eap_method_settings_c * const internal_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_internal_settings( - m_am_tools, - internal_settings); - - if (internal_settings == 0) - { - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error)); - } - - internal_settings->m_IndexType = iIndexType; - internal_settings->m_Index = iIndex; - internal_settings->m_DestinationIndexType = aDestinationIndexType; - internal_settings->m_DestinationIndex = aDestinationIndex; - - eap_status_e status = m_server->copy_all_eap_settings(internal_settings); - - iWaitState = eap_general_settings_wait_state_complete_copy_all_eap_settings; - Activate(); - WaitCompletion(); - - if (iCompletionStatus != eap_status_ok) - { - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, iCompletionStatus)); - } - - return m_am_tools->convert_eapol_error_to_am_error( - EAP_STATUS_RETURN(m_am_tools, status)); -} - -// ---------------------------------------------------------- - -eap_status_e CEapGeneralSettingsImpl::complete_delete_all_eap_settings( - const eap_status_e completion_status) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::complete_delete_all_eap_settings(): this=0x%08x, iWaitState=%d, status=%d=%s\n"), - this, - iWaitState, - completion_status, - eap_status_string_c::get_status_string(completion_status))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::complete_delete_all_eap_settings()"); - - iCompletionStatus = completion_status; - - if (iWaitState != eap_general_settings_wait_state_complete_delete_all_eap_settings - && iCompletionStatus == eap_status_ok) - { - // ERROR, wrong state. Other function was completed successfully not the function that was waited. - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state)); - } - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, completion_status); -} - -// ---------------------------------------------------------- - -eap_status_e CEapGeneralSettingsImpl::complete_copy_all_eap_settings( - const eap_status_e completion_status) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapGeneralSettingsImpl::complete_copy_all_eap_settings(): this=0x%08x, iWaitState=%d, status=%d=%s\n"), - this, - iWaitState, - completion_status, - eap_status_string_c::get_status_string(completion_status))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapGeneralSettingsImpl::complete_copy_all_eap_settings()"); - - iCompletionStatus = completion_status; - - if (iWaitState != eap_general_settings_wait_state_complete_copy_all_eap_settings - && iCompletionStatus == eap_status_ok) - { - // ERROR, wrong state. Other function was completed successfully not the function that was waited. - SetCompletionStatusIfStillOk(EAP_STATUS_RETURN(m_am_tools, eap_status_wrong_eap_type_state)); - } - - Complete(); - - return EAP_STATUS_RETURN(m_am_tools, completion_status); -} - -// ---------------------------------------------------------- -// ---------------------------------------------------------- -// ---------------------------------------------------------- - -eap_am_message_if_c * eap_am_message_if_c::new_eap_am_message_if_c( - abs_eap_am_tools_c * const tools) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_message_if_c::new_eap_am_server_general_settings_c()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: eap_am_message_if_c::new_eap_am_message_if_c()"); - - eap_am_message_if_c *client_if = new eap_am_message_if_symbian_c(tools, EEapSettingsNew); - - eap_automatic_variable_c automatic_client_if( - tools, - client_if); - - if (client_if == 0 - || client_if->get_is_valid() == false) - { - // ERROR. - if (client_if != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: calls: eap_am_message_if_c::new_eap_am_server_general_settings_c(): client_if->shutdown()\n"))); - - client_if->shutdown(); - } - return 0; - } - - automatic_client_if.do_not_free_variable(); - - return client_if; - -} - -// ---------------------------------------------------------- - -eap_general_settings_message_c * new_eap_general_settings_client_message_if_c( - abs_eap_am_tools_c * const tools, - abs_eap_general_settings_message_c * const partner) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("new_eap_general_settings_client_message_if_c()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: new_eap_general_settings_client_message_if_c()"); - - eap_am_message_if_c *client_if = eap_am_message_if_c::new_eap_am_message_if_c( - tools); - - eap_automatic_variable_c automatic_client_if( - tools, - client_if); - - if (client_if == 0 - || client_if->get_is_valid() == false) - { - // ERROR. - if (client_if != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: calls: new_eap_general_settings_client_message_if_c(): client_if->shutdown()\n"))); - - (void) client_if->shutdown(); - } - return 0; - } - - eap_general_settings_client_message_if_c * new_session_core = new eap_general_settings_client_message_if_c(tools, client_if, partner); - - eap_automatic_variable_c automatic_new_session_core( - tools, - new_session_core); - - if (new_session_core == 0 - || new_session_core->get_is_valid() == false) - { - // ERROR. - if (new_session_core != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: calls: new_eap_general_settings_client_message_if_c(): new_session_core->shutdown()\n"))); - - new_session_core->shutdown(); - } - return 0; - } - - client_if->set_partner(new_session_core); - - automatic_client_if.do_not_free_variable(); - automatic_new_session_core.do_not_free_variable(); - - return new_session_core; -} - -// ---------------------------------------------------------- -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/src/EapGeneralSettingsProxy.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_if/src/EapGeneralSettingsProxy.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 14 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 606 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - - -// INCLUDE FILES -#include "EapGeneralSettingsImpl.h" -#include -#include -#include "EapolUID.h" - -const TImplementationProxy ImplementationTable[] = -{ - {{EAP_GENERAL_SETTINGS_IMPLEMENTATION_UID}, reinterpret_cast (CEapGeneralSettingsImpl::NewL)} -}; - -// ================= OTHER EXPORTED FUNCTIONS ============== - -EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) -{ - aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); - - return ImplementationTable; -} - -// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/src/REapSession.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_if/src/REapSession.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,732 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 34 % -*/ - -#include "REapSession.h" -#include -#include "EapTraceSymbian.h" -#include "EapCoreInterfaceImplementation.h" -#include "EapServerStrings.h" -#include "eap_automatic_variable.h" - -//---------------------------------------------------------------- - -void Panic(TInt aPanic) - { - _LIT(KPanicCategory,"Eapol Client"); - User::Panic(KPanicCategory, aPanic); - } - -//---------------------------------------------------------------- - -TVersion REapSession::Version() const - { - return( TVersion( - KEapMajorVersionNumber, - KEapMinorVersionNumber, - KEapBuildVersionNumber ) ); - } - -//---------------------------------------------------------------- - -EAP_FUNC_EXPORT REapSession::~REapSession() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::~REapSession()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::~REapSession()"); - - delete iEapMessageQueue; - iEapMessageQueue = 0; -} - -//---------------------------------------------------------------- - -EAP_FUNC_EXPORT void REapSession::ConnectL( - abs_eap_am_tools_c * const tools, - MSendPacketHandler * Client, - TBuf ServerName, - TBuf ServerExe, - const void * const aConfigurationData, - const TInt aConfigurationDataLength, - const TEapRequests aIfRequest) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::ConnectL()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: REapSession::ConnectL()"); - - iClient = Client; - iTools = tools; - iEapMessageQueue = new(ELeave) EapMessageQueue(iTools); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::ConnectL(): iEapMessageQueue=0x%08x\n"), - iEapMessageQueue)); - - - // connect to iServer - TInt error=KErrNone; - - - TFindServer findServer(ServerName); - TFullName name; - - error = findServer.Next( name ); - - if ( error == KErrNone ) - { - // Server already running - } - else - { - error = iServer.Create(ServerExe,KNullDesC); - - if (error != KErrNone) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::ConnectL(): create iServer error=%d\n"), - error)); - User::Leave(error); - } - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::ConnectL(): iServer successfully created\n"))); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::ConnectL(): iServer.SetPriority(EPriorityHigh)\n"))); - - iServer.SetPriority(EPriorityHigh); - - TRequestStatus stat; - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::ConnectL(): iServer.Rendezvous\n"))); - - iServer.Rendezvous( stat ); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::ConnectL(): iServer.Rendezvous stat = %d\n"), - stat.Int())); - - if ( stat!=KRequestPending ) - { - iServer.Kill(0); // abort startup - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: REapSession::ConnectL(): iServer killed\n"))); - } - else - { - iServer.Resume(); // logon OK - start the iServer - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::ConnectL(): iServer started OK\n"))); - } - - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::ConnectL(): WaitForRequest\n"))); - - User::WaitForRequest(stat); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::ConnectL(): WaitForRequest got, stat.Int()=%d\n"), - stat.Int())); - - error = ( iServer.ExitType()==EExitPanic ) ? KErrGeneral : stat.Int(); - iServer.Close(); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::ConnectL(): Server closed, error=%d\n"), - error)); - } - - - // create active object receive handler and add it to scheduler - CleanupClosePushL(*this); // Close if next operations leave - - User::LeaveIfError(error); - - iSendHandler = new (ELeave) CSendHandler(iTools, *this); //*aHandler, - CActiveScheduler::Add(iSendHandler); - - iProcessHandler = new (ELeave) CEapClientProcessHandler(iTools, *this); //*aHandler, - CleanupStack::Pop(this); - CActiveScheduler::Add(iProcessHandler); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::ConnectL(): calls CreateSession()\n"))); - - error = CreateSession(ServerName,Version(), KMaxEapMessageSlots); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::ConnectL(): CreateSession(), error=%d\n"), - error)); - - if (error != KErrNone) - { - User::Leave(error); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("REapSession::ConnectL(): calls process_data(%d)"), - aIfRequest)); - - eap_status_e status = process_data(aIfRequest, aConfigurationData, aConfigurationDataLength); - - EAP_TRACE_DEBUG_SYMBIAN((_L("REapSession::ConnectL(): process_data(%d) returns status=%d, iStatus.Int()=%d"), - aIfRequest, - status, - iStatus.Int())); - - EAP_TRACE_DEBUG_SYMBIAN((_L("REapSession::ConnectL(): calls iSendHandler->Receive()"))); - - iSendHandler->Receive(); -} - -//---------------------------------------------------------------- - -EAP_FUNC_EXPORT void REapSession::Close() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::Close()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::Close()"); - - // destroy receiver-handler - delete iSendHandler; - iSendHandler = 0; - - delete iProcessHandler; - iProcessHandler = 0; - - // destroy iServer session - iServer.Close(); - RSessionBase::Close(); - } - -//---------------------------------------------------------------- - -/** - * From eap_am_message_if_c - * Initialize interface to EAPOL or WAPI. - * @since S60 v9.2 - */ - -EAP_FUNC_EXPORT bool REapSession::get_is_valid() - { - EAP_TRACE_DEBUG_SYMBIAN((_L("REapSession::get_is_valid"))); - EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::get_is_valid()"); - - return ETrue; - } - -//---------------------------------------------------------------- - -/// Function receives the data message from lower layer. -/// Data is formatted to Attribute-Value Pairs. -/// Look at eap_tlv_header_c and eap_tlv_message_data_c. -EAP_FUNC_EXPORT eap_status_e REapSession::process_data(const TEapRequests aMessageType, const void * const data, const u32_t length) - { - EAP_TRACE_DATA_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::process_data()"), - data, - length)); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::process_data(): calls iEapMessageQueue->AddMessage(): iEapMessageQueue=0x%08x\n"), - iEapMessageQueue)); - - EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::process_data()"); - - TInt error = iEapMessageQueue->AddMessage(aMessageType, data, length); - - if (error != KErrNone) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: REapSession::process_data(): failed = %d\n"), - error)); - return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(error)); - } - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::process_data(): calls iProcessHandler->Activate(): iProcessHandler=0x%08x\n"), - iProcessHandler)); - - iProcessHandler->Activate(); - - return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(error)); - } - -//---------------------------------------------------------------- - -void REapSession::Receive(TDes8& aBuffer, TRequestStatus& aStatus) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::Receive()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::Receive()"); - - TIpcArgs args( &aBuffer ); - - SendReceive( EEapIfReqReceive, args, aStatus ); - } - -//---------------------------------------------------------------- - -void REapSession::CancelReceive() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::CancelReceive()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::CancelReceive()"); - - SendReceive(EEapIfCancelReceive, iStatus); - } - -//---------------------------------------------------------------- - -const EapMessageBuffer * REapSession::GetFirstMessage() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::GetFirstMessage()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::GetFirstMessage()"); - - return iEapMessageQueue->GetFirstMessage(); -} - -//---------------------------------------------------------------- - -TInt REapSession::DeleteFirstMessage() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::DeleteFirstMessage()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::DeleteFirstMessage()"); - - return iEapMessageQueue->DeleteFirstMessage(); -} - -//---------------------------------------------------------------- - -void REapSession::Process(const EapMessageBuffer * const buffer, TRequestStatus &aStatus) const -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::Process(): calls SendReceive(), aRequestType=%d=%s\n"), - buffer->GetRequestType(), - EapServerStrings::GetEapRequestsString(buffer->GetRequestType()))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: REapSession::Process()"); - - TIpcArgs args( buffer->GetData() ); - - SendReceive(buffer->GetRequestType(), args, aStatus); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("REapSession::Process(): end iStatus=%d\n"), - iStatus.Int())); -} - -//---------------------------------------------------------------- -//---------------------------------------------------------------- -//---------------------------------------------------------------- - -/* - CSendHandler -*/ - -// construct/destruct - -CSendHandler::CSendHandler( - abs_eap_am_tools_c * const tools, - REapSession& aSession) - : CActive(0) - , iTools(tools) - , iSession(aSession) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CSendHandler::CSendHandler()\n"))); - EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::CSendHandler()"); - - } - -//---------------------------------------------------------------- - -CSendHandler::~CSendHandler() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CSendHandler::~CSendHandler()\n"))); - EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::~CSendHandler()"); - - Cancel(); - } - -//---------------------------------------------------------------- - -// operation - -void CSendHandler::Receive() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CSendHandler::Receive()\n"))); - EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::Receive()"); - - iSession.Receive(iBuffer, iStatus); - - if(!IsActive()) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CSendHandler::Receive(): calls SetActive()\n"))); - - SetActive(); - } - } - -//---------------------------------------------------------------- - -// from CActive - -void CSendHandler::RunL() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CSendHandler::RunL(): iStatus=%d\n"), - iStatus.Int())); - EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::RunL()"); - - if (iStatus.Int() == KErrNone) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CSendHandler::RunL(): iStatus = KErrNone, calls send_data()\n"))); - - iSession.iClient->send_data(iBuffer); - - // initiate next receive - Receive(); - } - else if (iStatus.Int() == KErrCancel) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CSendHandler::RunL(): iStatus = KErrCancel, calls Close()\n"))); - - iSession.Close(); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CSendHandler::RunL(): does nothing\n"))); - - } -} - -//---------------------------------------------------------------- - -void CSendHandler::DoCancel() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CSendHandler::DoCancel()\n"))); - EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::DoCancel()"); - - iSession.CancelReceive(); - } - -//---------------------------------------------------------------------------- - -TInt CSendHandler::RunError(TInt aError) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CSendHandler::RunError(): aError=%d, this=0x%08x\n"), - aError, - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CSendHandler::RunError()"); - - Cancel(); - - return aError; -} - -//---------------------------------------------------------------- -//---------------------------------------------------------------- -//---------------------------------------------------------------- - -void CEapolPacketHandler::EapolHandleL(const TDesC8& /* data */) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapolPacketHandler::EapolHandleL(): (do nothing now)"))); - } - -//---------------------------------------------------------------- -//---------------------------------------------------------------- -//---------------------------------------------------------------- - -CEapClientProcessHandler::CEapClientProcessHandler( - abs_eap_am_tools_c * const tools, - REapSession& aSession) - : CActive(0) - , iTools(tools) - , iSession(aSession) - , iProcessPending(false) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapClientProcessHandler::CEapClientProcessHandler()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::CEapClientProcessHandler()"); - -} - -//---------------------------------------------------------------- - -CEapClientProcessHandler::~CEapClientProcessHandler() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapClientProcessHandler::~CEapClientProcessHandler()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::~CEapClientProcessHandler()"); - - Cancel(); -} - -//---------------------------------------------------------------- - -// from CActive -void CEapClientProcessHandler::RunL() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("=start=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=\n"))); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapClientProcessHandler::RunL()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::RunL()"); - - TInt error(KErrNone); - - if (iProcessPending == true) - { - error = iSession.DeleteFirstMessage(); - if (error != KErrNone) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapClientProcessHandler::RunL(): iSession.DeleteFirstMessage() failed = %d\n"), - error)); - - User::Leave(error); - } - } - - const EapMessageBuffer * buffer = iSession.GetFirstMessage(); - - if (buffer != 0) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapClientProcessHandler::RunL(): calls SendReceive(), buffer->GetRequestType()=%d=%s\n"), - buffer->GetRequestType(), - EapServerStrings::GetEapRequestsString(buffer->GetRequestType()))); - - TIpcArgs args( buffer->GetData() ); - - iSession.Process( buffer, iStatus ); - - SetActive(); - - iProcessPending = true; - } - else - { - iProcessPending = false; - } - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapClientProcessHandler::RunL(): end error=%d, iStatus=%d\n"), - error, - iStatus.Int())); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("=end=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=c=\n"))); -} - -//---------------------------------------------------------------- - -void CEapClientProcessHandler::Activate() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapClientProcessHandler::Activate()\n"))); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::Activate()"); - - if(!IsActive()) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapClientProcessHandler::Activate(): calls User::RequestComplete()\n"))); - - TRequestStatus* status = &iStatus; - User::RequestComplete(status, KErrNone); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapClientProcessHandler::Activate(): calls SetActive()\n"))); - - SetActive(); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapClientProcessHandler::Activate(): Already active.\n"))); - } -} - -//---------------------------------------------------------------- - -void CEapClientProcessHandler::DoCancel() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapClientProcessHandler::DoCancel()\n"))); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::DoCancel()"); -} - -//---------------------------------------------------------------------------- - -TInt CEapClientProcessHandler::RunError(TInt aError) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapClientProcessHandler::RunError(): aError=%d, this=0x%08x\n"), - aError, - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapClientProcessHandler::RunError()"); - - Cancel(); - - return aError; -} - -//---------------------------------------------------------------- -//---------------------------------------------------------------- -//---------------------------------------------------------------- - -/* - DLL harness -*/ -#ifndef EKA2 -EAP_FUNC_EXPORT TInt E32Dll(TDllReason) - { - return KErrNone; - } -#endif - -//---------------------------------------------------------------- -// end - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_if/src/eap_am_message_if_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_if/src/eap_am_message_if_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,249 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 19 % -*/ - -// INCLUDES -#include - -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_am_message_if_symbian.h" -#include "eap_variable_data.h" -#include "eap_automatic_variable.h" -#include "EapServerStrings.h" - -//----------------------------------------------------------------------------------------- - -/** - * C++ default constructor. - */ -EAP_FUNC_EXPORT eap_am_message_if_symbian_c::eap_am_message_if_symbian_c( - abs_eap_am_tools_c * const tools, - const TEapRequests if_request) -: m_am_tools(tools) -, m_partner(0) -, m_if_request(if_request) -, m_is_valid(false) -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_am_message_if_symbian_c::eap_am_message_if_symbian_c(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::eap_am_message_if_symbian_c()"); - - if (m_am_tools == 0 - || m_am_tools->get_is_valid() == false) - { - return; - } - - m_is_valid = true; -} - -//----------------------------------------------------------------------------------------- - -/** - * Destructor. - */ -EAP_FUNC_EXPORT eap_am_message_if_symbian_c::~eap_am_message_if_symbian_c() -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_am_message_if_symbian_c::~eap_am_message_if_symbian_c(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::~eap_am_message_if_symbian_c()"); - - m_partner = 0; -} - -//----------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT void eap_am_message_if_symbian_c::set_partner(abs_eap_am_message_if_c * const client) -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_am_message_if_symbian_c::set_partner(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::set_partner()"); - - m_partner = client; - - if (m_partner == 0) - { - m_is_valid = false; - } - -} - -//----------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_am_message_if_symbian_c::configure( - const eap_variable_data_c * const client_configuration) -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_am_message_if_symbian_c::configure(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::configure()"); - - TBuf ServerName; - TBuf ServerExe; - - GetServerNameAndExe(&ServerName, &ServerExe); - - const void * aConfigurationData = 0; - TInt aConfigurationDataLength = 0ul; - - if (client_configuration != 0) - { - aConfigurationData = client_configuration->get_data(); - aConfigurationDataLength = client_configuration->get_data_length(); - } - - TRAPD(err, iSession.ConnectL(m_am_tools, this, ServerName, ServerExe, aConfigurationData, aConfigurationDataLength, m_if_request)); - - if(err) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_message_if_symbian_c::configure(): - iSession.ConnectL err=%d\n"), err )); - } - - return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err)); -} - -//----------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_am_message_if_symbian_c::shutdown() -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_am_message_if_symbian_c::shutdown(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::shutdown()"); - - iSession.Close(); - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -//----------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_am_message_if_symbian_c::process_data(const void * const data, const u32_t length) -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_am_message_if_symbian_c::process_data(): this = 0x%08x, m_if_request=%d=%s.\n"), - this, - m_if_request, - EapServerStrings::GetEapRequestsString(m_if_request))); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::process_data()"); - - TEapRequests aRequest(EEapNone); - - if (m_if_request == EEapPluginNew) - { - aRequest = EEapPluginProcessData; - } - else if (m_if_request == EEapSettingsNew) - { - aRequest = EEapSettingsProcessData; - } - else if (m_if_request == EEapPacStoreNew) - { - aRequest = EEapPacStoreProcessData; - } - else if (m_if_request == EWapiCoreIfNew) - { - aRequest = EWapiCoreProcessData; - } - else if (m_if_request == EWapiSettingsNew) - { - aRequest = EWapiSettingsProcessData; - } - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_am_message_if_symbian_c::process_data(): calls iSession.process_data(), this = 0x%08x, aRequest=%d=%s.\n"), - this, - aRequest, - EapServerStrings::GetEapRequestsString(aRequest))); - - return EAP_STATUS_RETURN( - m_am_tools, - m_am_tools->convert_am_error_to_eapol_error( - iSession.process_data(aRequest, data, length))); -} - -//----------------------------------------------------------------------------------------- - -EAP_FUNC_EXPORT bool eap_am_message_if_symbian_c::get_is_valid() -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_am_message_if_symbian_c::get_is_valid(): this = 0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::get_is_valid()"); - - return m_is_valid; -} - -//----------------------------------------------------------------------------------------- - -/// Function sends the data message to lower layer. -/// Data is formatted to Attribute-Value Pairs. -/// Look at eap_tlv_header_c and eap_tlv_message_data_c. -EAP_FUNC_EXPORT eap_status_e eap_am_message_if_symbian_c::send_data(const TDesC8& message) -{ - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("eap_am_message_if_symbian_c::send_data(): this = 0x%08x, data=0x%08x, length=%d.\n"), - this, - message.Ptr(), - message.Length())); - - EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, EAP_TRACE_FLAGS_MESSAGE_DATA, "returns: eap_am_message_if_symbian_c::send_data()"); - - return EAP_STATUS_RETURN( - m_am_tools, - m_partner->send_data(message.Ptr(), message.Length())); -} - -//----------------------------------------------------------------------------------------- - -// End of file. - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/AbsEapProcessSendInterface.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/AbsEapProcessSendInterface.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 5 % -*/ - -#ifndef ABSEAPPROCESSSENDINTERFACE_H_ -#define ABSEAPPROCESSSENDINTERFACE_H_ - -#include "eap_am_tools.h" -#include "eap_am_export.h" - -class EapMessageBuffer; - -class EAP_EXPORT AbsEapProcessSendInterface - { - -private: - -public: - - virtual ~AbsEapProcessSendInterface() - { - } - - /// Function sends the data message to lower layer. - /// Data is formatted to Attribute-Value Pairs. - /// Look at eap_tlv_header_c and eap_tlv_message_data_c. - virtual eap_status_e SendData(EapMessageBuffer * const message) = 0; - - virtual TBool GetReceiveActive() = 0; - - }; - -#endif /* ABSEAPPROCESSSENDINTERFACE_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/AbsEapSendInterface.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/AbsEapSendInterface.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 5 % -*/ - -#ifndef ABSEAPSENDINTERFACE_H_ -#define ABSEAPSENDINTERFACE_H_ - -#include "eap_am_tools.h" -#include "eap_am_export.h" -#include "EapServerClientDef.h" - -class EAP_EXPORT AbsEapSendInterface - { - -private: - -public: - - virtual ~AbsEapSendInterface() - { - } - - /// Function sends the data message to lower layer. - /// Data is formatted to Attribute-Value Pairs. - /// Look at eap_tlv_header_c and eap_tlv_message_data_c. - virtual eap_status_e SendData(const void * const data, const u32_t length, TEapRequests message) = 0; - - }; -#endif /* ABSEAPSENDINTERFACE_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/EapCoreIf.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapCoreIf.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ -/* -* Copyright (c) 2001-2010 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-authentication interface in EAP-server. -* -*/ - -/* -* %version: 12 % -*/ - - -#ifndef EAPCOREIF_H_ -#define EAPCOREIF_H_ - -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_tools.h" -#include "AbsEapSendInterface.h" - -class eap_file_config_c; - -//-------------------------------------------------- - -/** @file */ - -/// This class is the EAP-authentication interface in EAP-server. -class CEapCoreIf -: public CBase -, public abs_eap_am_message_if_c -{ - -private: - - // ---------------------------------------------------------------------- - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - // client interface - AbsEapSendInterface * m_client_if; - - /// CEapCoreIf deletes m_server_if in destructor. - eap_am_message_if_c * m_server_if; - - eap_file_config_c * m_fileconfig; - - bool m_use_asyncronous_test; - - bool iIsValid; - - // ---------------------------------------------------------------------- - -public: - - // ---------------------------------------------------------------------- - - CEapCoreIf( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const server, - AbsEapSendInterface * client); - - virtual ~CEapCoreIf(); - - bool get_is_valid(); - - eap_status_e configure( - const eap_variable_data_c * const client_configuration); - - eap_status_e send_data(const void * const data, const u32_t length); - - eap_status_e process_data(const void * const data, const u32_t length); - - eap_status_e shutdown(); - - // ------------------------------------------------------ - - static CEapCoreIf * new_CEapCoreIf( - abs_eap_am_tools_c * const tools, - const bool is_client_when_true, - const u32_t MTU, - AbsEapSendInterface * client); - - // ---------------------------------------------------------------------- -}; - -#endif /* EAPCOREIF_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/EapPluginIf.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapPluginIf.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,95 +0,0 @@ -/* -* Copyright (c) 2001-2010 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-configuration interface in the EAP-server. -* -*/ - -/* -* %version: 11 % -*/ - - -#ifndef _EAP_PLUGIN_IF_H_ -#define _EAP_PLUGIN_IF_H_ - -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "abs_eap_am_plugin.h" -#include "eap_am_plugin.h" -#include "eap_tools.h" -#include "AbsEapSendInterface.h" - -//-------------------------------------------------- - -/** @file */ - -/// This class is the EAP-configuration interface in the EAP-server. -class CEapPluginIf -: public CBase -, public abs_eap_am_message_if_c -{ - -public: - - // ---------------------------------------------------------------------- - - CEapPluginIf( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const server); - - virtual ~CEapPluginIf(); - - bool get_is_valid(); - - eap_status_e configure( - const eap_variable_data_c * const client_configuration); - - void set_partner(AbsEapSendInterface * const client); - - eap_status_e send_data(const void * const data, const u32_t length); - - eap_status_e process_data(const void * const data, const u32_t length); - - eap_status_e shutdown(); - - // ------------------------------------------------------ - - static CEapPluginIf * new_CEapPluginIf( - abs_eap_am_tools_c * const tools); - - // ---------------------------------------------------------------------- - -private: - - // ---------------------------------------------------------------------- - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - // client interface - AbsEapSendInterface * m_client_if; - - /// CEapPluginIf deletes m_server_if in destructor. - eap_am_message_if_c * m_server_if; - - bool m_use_asyncronous_test; - - bool m_is_valid; - - // ---------------------------------------------------------------------- - -}; - - -#endif /* _EAP_PLUGIN_IF_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/EapScheduler.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapScheduler.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 10 % -*/ - - -#ifndef EAPSCHEDULER_H_ -#define EAPSCHEDULER_H_ - -#include "EapServerClientDef.h" -#include "abs_eap_am_tools.h" -#include "EapClientIf.h" -#include - -class CEapServer; - -// ------------------------------------------------------------------------- - -class CEapScheduler -: public CActiveScheduler -, public EapClientIf -{ - -public: - - EAP_FUNC_IMPORT static CEapScheduler* NewL(); - - EAP_FUNC_IMPORT static TInt LaunchFromClient(const TBuf Server); - - class TServerStart - { - - public: - - TServerStart(TRequestStatus& aStatus); - - TPtrC AsCommand() const; - - inline TServerStart() {}; - - void SignalL(); - - private: - - TThreadId iId; - - TRequestStatus* iStatus; - - }; - -public: - -#ifdef __WINS__ - static TInt ThreadFunction(TAny* aThreadParms); -#endif - - EAP_FUNC_IMPORT static TInt ThreadStart(TServerStart& aSignal); - - static void ConstructL(TServerStart& aStart); - - virtual ~CEapScheduler(); - - void Error(TInt aError) const; // from CActiveScheduler - -private: - - CEapServer* iServer; - -}; - -// ------------------------------------------------------------------------- - -inline CEapScheduler::TServerStart::TServerStart(TRequestStatus& aStatus) - : iId(RThread().Id()) - , iStatus(&aStatus) -{ - aStatus=KRequestPending; -} - -// ------------------------------------------------------------------------- - -inline TPtrC CEapScheduler::TServerStart::AsCommand() const -{ - return TPtrC(reinterpret_cast(this),sizeof(TServerStart)/sizeof(TText)); -} - -// ------------------------------------------------------------------------- - -#endif /* EAPSCHEDULER_H_ */ - -// ------------------------------------------------------------------------- -// End of file. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/EapServer.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServer.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -/* -* Copyright (c) 2001-2010 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-server class. -* -*/ - -/* -* %version: 12 % -*/ - - -#ifndef EAPAUTHSERVER_H_ -#define EAPAUTHSERVER_H_ - -#include -#include -#include -#include -#include "EapServerClientDef.h" -#include "EapScheduler.h" -#include "EapSession.h" -#include "abs_eap_am_tools.h" -#include "EapClientIf.h" -#include "EapServerBackup.h" - -class CEapDelayedShutdown; - -class CEapServer -: public CServer2 -, public EapClientIf -, public AbsEapserverBackup - { - -public: - - // construct - CEapServer(); - void ConstructL(); - static CEapServer* NewL(); - virtual ~CEapServer(); - // from CServer2 - CSession2* NewSessionL(const TVersion& aVersion, const RMessage2 &aMessage ) const; - // session counting - void IncrementSessions(); - void DecrementSessions(); - // utility - void PanicClient(TInt aPanic) const; - - void StopL(); - - void BackupOrRestoreCompleteL(); - - void BackupOrRestoreStartingL(); - -private: - - TInt RunError(TInt aErr); - CEapDelayedShutdown* iShutdown; - CEapserverBackup * iBackupRestore; - - TInt iSessionCount; - abs_eap_am_tools_c * iTools; - TBool iIsValid; - }; - - -// Handles timer that stops EAP-server after some idle time. -class CEapDelayedShutdown : public CActive - { -public: - CEapDelayedShutdown(abs_eap_am_tools_c * const tools, CEapServer * const aServer); - void ConstructL(); - virtual ~CEapDelayedShutdown(); - void Start(); -private: - void DoCancel(); - void RunL(); - TInt RunError(TInt aError); - -private: - abs_eap_am_tools_c * const iTools; - RTimer iTimer; - CEapServer * const iServer; - }; - - -#endif /* EAPAUTHSERVER_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerBackup.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerBackup.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -/* -* Copyright (c) 2001-2010 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-server backup and restore. -* -*/ - -/* -* %version: 4 % -*/ - - -#ifndef _EAP_SERVER_BACKUP_H_ -#define _EAP_SERVER_BACKUP_H_ - -#include -#include - -/** - @file -*/ - -//------------------------------------------------------------------------------------------------ - -class AbsEapserverBackup -{ - -public: - - virtual void BackupOrRestoreCompleteL() = 0; - - virtual void BackupOrRestoreStartingL() = 0; -}; - -//------------------------------------------------------------------------------------------------ - -class CEapserverBackup -: public CActive -{ - -public: - - static CEapserverBackup* NewL(AbsEapserverBackup * const aBackupAndRestoreObserver); - - virtual ~CEapserverBackup(); - - TBool IsBackupOrRestoreInProgress(); - - CEapserverBackup(AbsEapserverBackup * const aBackupAndRestoreObserver); - - void ConstructL(); - -private: - - void RunL(); - - void DoCancel(); - -private: - - AbsEapserverBackup * iBackupAndRestoreObserver; - - RProperty iBackupProperty; - - TBool iBackupOrRestoreInProgress; -}; - -#endif // _EAP_SERVER_BACKUP_H_ - -// End of file. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerClientDef.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerClientDef.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -/* -* Copyright (c) 2001-2010 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-server and client definitions. -* -*/ - -/* -* %version: 20 % -*/ - - -#ifndef EAPSERVERCLIENTDEF_H_ -#define EAPSERVERCLIENTDEF_H_ - -#include - -enum TEapPanic // both client-side and server-side - see category to distinguish - { - ECannotStartServer, - EBadRequest, - EBadDescriptor, - EListenAlreadyListening, - EErrorFromNonClientObject, - EReceiveReceiveAlreadyActive, - }; - -enum TEapRequests - { - EEapNone = 0, - EEapCoreIfNew = 1, - EEapPluginNew = 2, - EEapSettingsNew = 3, - EEapCoreProcessData = 4, - EEapPluginProcessData = 5, - EEapSettingsProcessData = 6, - EEapCoreSendData = 7, - EEapPluginSendData = 8, - EEapSettingsSendData = 9, - EEapIfReqReceive = 10, - EEapIfCancelReceive = 11, - EEapPacStoreNew = 12, - EEapPacStoreProcessData = 13, - EEapPacStoreSendData = 14, - EWapiCoreIfNew = 15, - EWapiSettingsNew = 16, - EWapiCoreProcessData = 17, - EWapiSettingsProcessData = 18, - EWapiCoreSendData = 19, - EWapiSettingsSendData = 20, - }; - -//the server version. A version must be specifyed when creating a session with the server -const TUint KEapMajorVersionNumber = 0; -const TUint KEapMinorVersionNumber = 1; -const TUint KEapBuildVersionNumber = 1; - -_LIT(KEapAuthServerSemaphore, "EapAuthServerSemaphore"); -const TInt KMaxServerExe = 24; -const TInt KEapShutdownInterval=5000000; // 5 seconds. -const TInt KMaxCategoryLength = 16; -const TInt KMaxEapData = 30000; -const TInt KMaxEapMessageSlots = 50; - -#endif /* EAPSERVERCLIENTDEF_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerProcessHandler.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerProcessHandler.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,95 +0,0 @@ -/* -* Copyright (c) 2001-2010 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-server process handler. -* -*/ - -/* -* %version: 22 % -*/ - - -#ifndef EAPPROCESSHANDLER_H_ -#define EAPPROCESSHANDLER_H_ - -#include "EapServerClientDef.h" -#include "AbsEapSendInterface.h" -#include "EapCoreIf.h" -#include "EapPluginIf.h" -#include "EapSettingsIf.h" - -#if defined (USE_WAPI_CORE) -#include "WapiCoreIf.h" -#include "WapiSettingsIf.h" -#endif - -#if defined(USE_EAP_PAC_STORE_IF) -#include "PacStoreIf.h" -#endif //#if defined(USE_EAP_PAC_STORE_IF) - -#include "EapMessageQueue.h" -#include "AbsEapProcessSendInterface.h" - -class CEapServerProcessHandler -: public CActive -, public AbsEapSendInterface -{ - -public: - - virtual ~CEapServerProcessHandler(); - - void ConstructL(AbsEapProcessSendInterface* const client, abs_eap_am_tools_c * const tools); - - static CEapServerProcessHandler* NewL(); - - void SaveMessage(TEapRequests message, const void * const data, const TUint length); - - eap_status_e SendData(const void * const data, const u32_t length, TEapRequests message); - - void Activate(); - -private: - - CEapServerProcessHandler(); - - - //from CActive - - void DoCancel(); - void RunL(); - TInt RunError(TInt aError); - - - AbsEapProcessSendInterface * iClient; - abs_eap_am_tools_c * iTools; - CEapCoreIf * iEapCore; - CEapPluginIf* iEapPlugin; - CEapSettingsIf* iEapSettings; - -#if defined (USE_WAPI_CORE) - CWapiCoreIf * iWapiCore; - CWapiSettingsIf* iWapiSettings; -#endif - -#if defined(USE_EAP_PAC_STORE_IF) // JPH: does not compile anymore - CPacStoreIf* iPacStore; -#endif //#if defined(USE_EAP_PAC_STORE_IF) // JPH: does not compile anymore - - EapMessageQueue* iEapMessageQueue; - - -}; - -#endif /* EAPPROCESSHANDLER_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerStrings.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerStrings.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 5 % -*/ - -#if !defined( _EAP_SERVER_STRINGS_H_ ) -#define _EAP_SERVER_STRINGS_H_ - -/** @file */ - -#include "EapServerClientDef.h" -#include "eap_am_types.h" - -//---------------------------------------------------------------------------------- - -/// This class includes the debug strings of the EAP-SERVER. -class EapServerStrings -{ -public: - - IMPORT_C virtual ~EapServerStrings(); - - IMPORT_C EapServerStrings(); - - /** - * Function returns string of TEapRequests. - * @param request is the queried string. - */ - IMPORT_C static eap_const_string GetEapRequestsString(const TEapRequests request); - - /** - * Function returns string of TEapRequests. - * @param request is the queried string. - */ - IMPORT_C static eap_const_string GetEapRequestsString(const TInt request); - -}; - -//---------------------------------------------------------------------------------- - -#endif //#if !defined( _EAP_SERVER_STRINGS_H_ ) - -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/EapSession.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapSession.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ -/* -* Copyright (c) 2001-2010 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-session inside the EAP-server. -* -*/ - -/* -* %version: 15 % -*/ - - -#ifndef EAPSESSION_H_ -#define EAPSESSION_H_ - -#include -#include -#include -#include -#include "AbsEapProcessSendInterface.h" - - -class CEapServer; -class CEapServerProcessHandler; -class EapMessageBuffer; - -class CEapSession -: public CSession2 -, public AbsEapProcessSendInterface - { - -public: - - CEapSession(); - - void ConstructL(CEapServer& aServer, abs_eap_am_tools_c * const tools); - - virtual ~CEapSession(); - - // service dispatcher - from CSession2 - void ServiceL(const RMessage2& aMessage); - - void ReceiveAll(); - - void Receive(RMessage2& aBuffer); - - void CancelReceive(); - - eap_status_e SendData(EapMessageBuffer * const message); - - TBool GetReceiveActive(); - - private: - - CEapServer* Server() const; - - void CheckCapabilityL( - const RMessage2& aMessage, - const TBool aMustHaveCapabilityWhenTrue, - const TCapability aCapability, - const char *aDiagnostic); - - // receive support - TBool iReceiveActive; - - RMessage2 iReceiveMessage; - - CEapServerProcessHandler* iEapProcessHandler; - - TRequestStatus iStatus; - - abs_eap_am_tools_c * iTools; - }; - -#endif /* EAPSESSION_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/EapSettingsIf.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/EapSettingsIf.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ -/* -* Copyright (c) 2001-2010 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-general-settings interface inside the EAP-server. -* -*/ - -/* -* %version: 10 % -*/ - -#ifndef _EAP_SETTINGS_IF_H_ -#define _EAP_SETTINGS_IF_H_ - -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "abs_eap_am_plugin.h" -#include "eap_am_plugin.h" -#include "eap_tools.h" -#include "AbsEapSendInterface.h" - -//-------------------------------------------------- - -/** @file */ - -/// This class is the EAP-general-settings interface inside the EAP-server. -class CEapSettingsIf -: public CBase -, public abs_eap_am_message_if_c -{ - -public: - - // ---------------------------------------------------------------------- - - CEapSettingsIf( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const server); - - virtual ~CEapSettingsIf(); - - bool get_is_valid(); - - eap_status_e configure( - const eap_variable_data_c * const client_configuration); - - void set_partner(AbsEapSendInterface * const client); - - eap_status_e send_data(const void * const data, const u32_t length); - - eap_status_e process_data(const void * const data, const u32_t length); - - eap_status_e shutdown(); - - // ------------------------------------------------------ - - static CEapSettingsIf * new_CEapSettingsIf( - abs_eap_am_tools_c * const tools); - - // ---------------------------------------------------------------------- - -private: - - // ---------------------------------------------------------------------- - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - // client interface - AbsEapSendInterface * m_client_if; - - /// CEapSettingsIf deletes m_server_if in destructor. - eap_am_message_if_c * m_server_if; - - bool m_use_asyncronous_test; - - bool m_is_valid; - - // ---------------------------------------------------------------------- - -}; - - -#endif /* _EAP_PLUGIN_IF_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/PacStoreIf.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/PacStoreIf.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,99 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: PAC-store interface inside the EAP-server. -* -*/ - -/* -* %version: 10 % -*/ - - -#ifndef PACSTOREIF_H_ -#define PACSTOREIF_H_ - -#include "abs_eap_am_message_if.h" -#include "eap_am_message_if.h" -#include "eap_tools.h" -#include "AbsEapSendInterface.h" -#include "eap_pac_store_server_message_if.h" - -class eap_file_config_c; - -//-------------------------------------------------- - -/** @file */ - -/// This class is the PAC-store interface inside the EAP-server. -class CPacStoreIf -: public CBase -, public abs_eap_am_message_if_c -{ - -public: - - // ---------------------------------------------------------------------- - - EAP_FUNC_IMPORT CPacStoreIf( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const server, - AbsEapSendInterface * client); - - EAP_FUNC_IMPORT virtual ~CPacStoreIf(); - - EAP_FUNC_IMPORT bool get_is_valid(); - - EAP_FUNC_IMPORT eap_status_e configure( - const eap_variable_data_c * const client_configuration); - - EAP_FUNC_IMPORT eap_status_e send_data(const void * const data, const u32_t length); - - EAP_FUNC_IMPORT eap_status_e process_data(const void * const data, const u32_t length); - - EAP_FUNC_IMPORT eap_status_e shutdown(); - - // ------------------------------------------------------ - - EAP_FUNC_IMPORT static CPacStoreIf * new_CPacStoreIf( - abs_eap_am_tools_c * const tools, - const bool is_client_when_true, - const u32_t MTU, - AbsEapSendInterface * client); - - // ---------------------------------------------------------------------- - -private: - - // ---------------------------------------------------------------------- - - /// This is pointer to the tools class. - abs_eap_am_tools_c * const m_am_tools; - - // client interface - AbsEapSendInterface * m_client_if; - - /// CPacStoreIf deletes m_server_if in destructor. - eap_am_message_if_c * m_server_if; - - eap_file_config_c * m_fileconfig; - - bool m_use_asyncronous_test; - - bool iIsValid; - - // ---------------------------------------------------------------------- - -}; - -#endif /* PACSTOREIF_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_general_settings_symbian.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_general_settings_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,187 +0,0 @@ -/* -* Copyright (c) 2009-2010 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. -* -*/ - -/* -* %version: 26 % -*/ - -#if !defined(_EAP_AM_GENERAL_SETTINGS_SYMBIAN_H_) -#define _EAP_AM_GENERAL_SETTINGS_SYMBIAN_H_ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" -#include "eap_expanded_type.h" -#include "eap_array.h" -#include "eap_database_reference_if.h" -#include "eap_am_general_settings.h" -#include "eap_process_tlv_message_data.h" -#include -#include -#include - -class eap_method_settings_c; -class CEapTlsPeapCertFetcher; - -/** @file */ - -/// This class is the common part of EAP message interface. -/// This class is interface to the message creation and parsing function. -class EAP_EXPORT eap_am_general_settings_symbian_c -: public eap_am_general_settings_c -, public CAbsEapCertificateFetcher -{ - -public: - - // ---------------------------------------------------------------------- - - eap_am_general_settings_symbian_c( - abs_eap_am_tools_c * const tools, - abs_eap_am_general_settings_c * const partner); - - eap_am_general_settings_symbian_c( - abs_eap_am_tools_c * const tools); - - virtual ~eap_am_general_settings_symbian_c(); - - bool get_is_valid(); - - // This is documented in abs_eap_stack_interface_c::configure(). - eap_status_e configure(); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - eap_status_e shutdown(); - - eap_status_e get_eap_methods(const eap_method_settings_c * const internal_settings); - - eap_status_e set_eap_methods(const eap_method_settings_c * const internal_settings); - - eap_status_e get_certificate_lists(const eap_method_settings_c * const internal_settings); - - eap_status_e delete_all_eap_settings(const eap_method_settings_c * const internal_settings); - - eap_status_e copy_all_eap_settings(const eap_method_settings_c * const internal_settings); - - - void CompleteReadCertificatesL( - const RPointerArray& aUserCerts, - const RPointerArray& aCACerts); - - // This function reads synchronously enabled and disabled EAP-methods from database. - // This function is used only by EAP-SERVER directly. - // Use constructor without partner parameter. - eap_status_e read_eap_methods_synchronously( - const TUint indexType, - const TUint index, - eap_array_c * const aEnabledEapMethodsArray, - eap_array_c * const aDisabledEapMethodsArray); - - // ---------------------------------------------------------------------- - -private: - - // ---------------------------------------------------------------------- - - abs_eap_am_tools_c * const m_am_tools; - - abs_eap_am_general_settings_c * m_partner; - - bool m_is_valid; - - /// Function shutdown() is called already. - bool m_shutdown_was_called; - - RDbNamedDatabase iGeneralSettingsDb; - RFs iGeneralSettingsFileServerSession; - - TBool iGeneralSettingsDbCreated; - TBool iGeneralSettingsSessionOpened; - - CEapTlsPeapCertFetcher * iCertificateFetcher; - - /// Status of the operation. - eap_status_e m_completion_status; - - /// Specifies the EAP-method these settings are for. - eap_type_value_e m_EAPType; - - /// Specifies the index type (bearer protocol) these settings are for. - /// Values are ELan or EVpn. - u32_t m_IndexType; - - /// Specifies unique index in the settings of the bearer protocol. - u32_t m_Index; - - // ---------------------------------------------------------------------- - - void CloseGeneralSettings(); - - void OpenGeneralSettingsL(); - - void CreateGeneralSettingsL(); - - void GetGeneralSettingsLongBinaryL( - RDbView &aViev, - const TDesC &aColName, - HBufC8** const aMethods); - - void GetGeneralSettingsDataL( - const TUint indexType, - const TUint index, - HBufC8** const aEnabledEapMethods, - HBufC8** const aDisabledEapMethods); - - - void SetGeneralSettingsLongBinaryL( - RDbView &aViev, - const TDesC &aColName, - const TDesC8& aMethods); - - void SetGeneralSettingsDataL( - const TUint indexType, - const TUint index, - const TDesC8& aEnabledEapMethods, - const TDesC8& aDisabledEapMethods); - - void DeleteGeneralSettingsDataL( - const TUint indexType, - const TUint index); - - void CopyGeneralSettingsDataL( - const TUint aSourceIndexType, - const TUint aSourceIndex, - const TUint aDestinationIndexType, - const TUint aDestinationIndex); - - eap_status_e error_complete( - const eap_status_e completion_status, - const eap_method_settings_c * const internal_settings, - const eap_tlv_message_type_function_e error_completion_function); - - eap_status_e filter_eap_methods( - eap_array_c * const disabled_eap_methods, - RPointerArray * const aPlugins); - - // ---------------------------------------------------------------------- -}; - -#endif //#if !defined(_EAP_AM_GENERAL_SETTINGS_SYMBIAN_H_) - - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_pac_store_symbian.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_pac_store_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,121 +0,0 @@ -/* -* Copyright (c) 2009-2010 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: interface to PAC-store. -* -*/ - -/* -* %version: 8 % -*/ - -#if !defined(_EAP_AM_PAC_STORE_SYMBIAN_H_) -#define _EAP_AM_PAC_STORE_SYMBIAN_H_ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" -#include "eap_expanded_type.h" -#include "eap_array.h" -#include "eap_database_reference_if.h" -#include "eap_am_pac_store.h" -#include "eap_process_tlv_message_data.h" -#include "pac_store_db_symbian.h" -#include - -class eap_method_settings_c; -class abs_eap_am_pac_store_c; - -/** @file */ - -/// This class is the interface to PAC-store. -class EAP_EXPORT eap_am_pac_store_symbian_c -: public eap_am_pac_store_c -{ - -private: - - // ---------------------------------------------------------------------- - - abs_eap_am_tools_c * const m_am_tools; - - abs_eap_am_pac_store_c * m_partner; - - bool m_is_valid; - - /// Function shutdown() is called already. - bool m_shutdown_was_called; - - TBool iClientCreated; - TBool iPacStoreSessionOpened; - - CPacStoreDatabase* iClient; - - eap_variable_data_c m_PAC_store_password; - - // ---------------------------------------------------------------------- - - // ---------------------------------------------------------------------- - -public: - - // ---------------------------------------------------------------------- - - static eap_am_pac_store_c* new_eap_am_pac_store_symbian_c( - abs_eap_am_tools_c * const tools, - abs_eap_am_pac_store_c * const partner); - - eap_am_pac_store_symbian_c( - abs_eap_am_tools_c * const tools, - abs_eap_am_pac_store_c * const partner); - - virtual ~eap_am_pac_store_symbian_c(); - - EAP_FUNC_IMPORT bool get_is_valid(); - - // This is documented in abs_eap_stack_interface_c::configure(). - EAP_FUNC_IMPORT eap_status_e configure(); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - EAP_FUNC_IMPORT eap_status_e shutdown(); - - EAP_FUNC_IMPORT eap_status_e open_pac_store(); - - EAP_FUNC_IMPORT eap_status_e create_device_seed(); - - EAP_FUNC_IMPORT eap_status_e is_master_key_present(); - - EAP_FUNC_IMPORT eap_status_e is_master_key_and_password_matching( - const eap_variable_data_c * const pac_store_password); - - EAP_FUNC_IMPORT eap_status_e create_and_save_master_key( - const eap_variable_data_c * const pac_store_password); - - EAP_FUNC_IMPORT eap_status_e compare_pac_store_password( - eap_variable_data_c * const pac_store_password); - - EAP_FUNC_IMPORT eap_status_e is_pacstore_password_present(); - - EAP_FUNC_IMPORT eap_status_e set_pac_store_password( - const eap_variable_data_c * pac_store_password); - - EAP_FUNC_IMPORT eap_status_e destroy_pac_store(); - - // ---------------------------------------------------------------------- -}; - -#endif //#if !defined(_EAP_AM_PAC_STORE_SYMBIAN_H_) - - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_plugin_symbian.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_plugin_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ -/* -* Copyright (c) 2009-2010 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-plugin adaptation. -* -*/ - -/* -* %version: 16 % -*/ - -#if !defined(_EAP_AM_PLUGIN_SYMBIAN_H_) -#define _EAP_AM_PLUGIN_SYMBIAN_H_ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" -#include "eap_expanded_type.h" -#include "eap_array.h" -#include "eap_database_reference_if.h" -#include "eap_am_plugin.h" -#include "eap_process_tlv_message_data.h" -#include "eap_loaded_type.h" - -class eap_method_settings_c; -class abs_eap_am_plugin_c; -class CEapTypePlugin; - -/** @file */ - -/// This class is EAP-plugin adaptation. -class EAP_EXPORT eap_am_plugin_symbian_c -: public eap_am_plugin_c -{ - -private: - - // ---------------------------------------------------------------------- - - abs_eap_am_tools_c * const m_am_tools; - - abs_eap_am_plugin_c * m_partner; - - eap_array_c m_loaded_types; - - bool m_is_valid; - - bool m_shutdown_was_called; - - // ---------------------------------------------------------------------- - - eap_status_e error_complete( - const eap_status_e completion_status, - const eap_method_settings_c * const internal_settings, - const eap_tlv_message_type_function_e completion_function); - - CEapTypePlugin * get_eap_type( - const eap_type_value_e eap_type, - u32_t index_type, - u32_t index); - - // ---------------------------------------------------------------------- - -public: - - // ---------------------------------------------------------------------- - - eap_am_plugin_symbian_c( - abs_eap_am_tools_c * const tools, - abs_eap_am_plugin_c * const partner); - - virtual ~eap_am_plugin_symbian_c(); - - bool get_is_valid(); - - // This is documented in abs_eap_stack_interface_c::configure(). - eap_status_e configure(); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - eap_status_e shutdown(); - - eap_status_e get_configuration(const eap_method_settings_c * const internal_settings); - - eap_status_e set_configuration(const eap_method_settings_c * const internal_settings); - - eap_status_e copy_configuration(const eap_method_settings_c * const internal_settings); - - eap_status_e delete_configuration(const eap_method_settings_c * const internal_settings); - - eap_status_e set_index(const eap_method_settings_c * const internal_settings); - - eap_status_e get_type_info(const eap_method_settings_c * const internal_settings); - - - - // ---------------------------------------------------------------------- -}; - -#endif //#if !defined(_EAP_AM_PLUGIN_SYMBIAN_H_) - - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_stack_symbian.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_stack_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,186 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 27 % -*/ - -#ifndef EAP_AM_STACK_SYMBIAN_H_ -#define EAP_AM_STACK_SYMBIAN_H_ - -#include "eap_am_stack.h" -#include "abs_eap_am_stack.h" -#include "abs_eap_am_tools.h" -#include "eap_automatic_variable.h" -#include -#include -#include -#include "eap_config.h" -#include "eap_file_config.h" -#include "eap_am_file_input_symbian.h" -#include "eap_type_selection.h" -#include "eapol_key_types.h" - -#include "eapol_wlan_database_reference.h" -#include -#include "eap_base_type.h" -#include "abs_eap_configuration_if.h" -#include "eap_tlv_header.h" - -class EAP_EXPORT eap_am_stack_symbian_c -: public CActive -, public eap_am_stack_c -, public abs_eap_configuration_if_c -{ -public: - - EAP_FUNC_IMPORT eap_am_stack_symbian_c(class abs_eap_am_tools_c * tools, bool is_client_when_true); - - EAP_FUNC_IMPORT virtual ~eap_am_stack_symbian_c(); - - EAP_FUNC_IMPORT bool get_is_valid(); - - EAP_FUNC_IMPORT eap_status_e set_partner( - abs_eap_am_stack_c * const partner - , abs_eap_configuration_if_c * const configuration_if - ); - - // This is documented in abs_eap_stack_interface_c::configure(). - EAP_FUNC_IMPORT eap_status_e configure( - const eap_variable_data_c * const client_configuration); - - // This is documented in abs_eap_stack_interface_c::shutdown(). - EAP_FUNC_IMPORT eap_status_e shutdown(); - - EAP_FUNC_IMPORT eap_status_e read_configure( - const eap_configuration_field_c * const field, - eap_variable_data_c * const data); - - EAP_FUNC_IMPORT eap_status_e set_timer( - abs_eap_base_timer_c * const p_initializer, - const u32_t p_id, - void * const p_data, - const u32_t p_time_ms); - - EAP_FUNC_IMPORT eap_status_e cancel_timer( - abs_eap_base_timer_c * const p_initializer, - const u32_t p_id); - - EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type( - const eap_type_value_e eap_type); - - EAP_FUNC_IMPORT eap_status_e get_eap_type_list( - eap_array_c * const eap_type_list); - - EAP_FUNC_IMPORT 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, - eap_base_type_c ** const eap_type, - const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id); - - EAP_FUNC_IMPORT eap_status_e save_simple_config_session( - const simple_config_state_e state, - EAP_TEMPLATE_CONST eap_array_c * const credential_array, - const eap_variable_data_c * const new_password, - const simple_config_Device_Password_ID_e Device_Password_ID, - const simple_config_payloads_c * const other_configuration); - - EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values( - const eap_variable_data_c * const reference); - - EAP_FUNC_IMPORT eap_status_e get_802_11_authentication_mode( - const eap_am_network_id_c * const receive_network_id, - const eapol_key_authentication_type_e authentication_type); - -private: - - /// Function reads one configuration value from database. - void read_configureL( - const TDesC& aDbName, - const TDesC& aTableName, - eap_config_string field, - const u32_t /*field_length*/, - eap_variable_data_c * const data); - - /// Control function of this active-object. - void RunL(); - - /// Cancel function for active-object. - void DoCancel(); - - /// RunError function for active-object. - TInt RunError(TInt aError); - - - void SetToTopPriorityL(const eap_type_value_e aEapType); - - eap_status_e reset_eap_configuration(); - - void ReadEAPSettingsL(); - - eap_status_e reset_eap_plugins(); - - TInt get_current_eap_index(); - - void set_current_eap_index(const TInt ind); - - - abs_eap_am_tools_c * const iTools; - - TBool iIsValid; - - const TBool iIsClient; - - abs_eap_am_stack_c* iPartner; - - /// Handle of database session. - RDbs iSession; - - /// Handle of database file. - RFs iFs; - - eap_file_config_c m_client_config; - - eap_file_config_c * iFileconfig; - - RPointerArray m_plugin_if_array; - - - eap_array_c iEnabledEapMethodsArray; - eap_array_c iDisabledEapMethodsArray; - - - /// Array which corresponds with m_plugin_if_array and indicates the types of the loaded EAP types. - eap_array_c m_eap_type_array; - - abs_eap_configuration_if_c* iConfigurationIf; - - TIndexType iIndexType; - - TUint iIndex; - - TInt iCurrentEapIndex; - - /// WLAN authentication type. - eapol_key_authentication_type_e m_selected_eapol_key_authentication_type; -}; - -#endif /* EAP_AM_STACK_SYMBIAN_H_ */ - -// end diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/include/eap_loaded_type.h --- a/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_loaded_type.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ -/* -* Copyright (c) 2009-2010 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: This class stores the information on loaded EAP-type plugin. -* -*/ - -/* -* %version: 5 % -*/ - -#if !defined(_EAP_LOADED_TYPE_H_) -#define _EAP_LOADED_TYPE_H_ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" -#include "eap_expanded_type.h" -#include "eap_array.h" -#include "eap_database_reference_if.h" -#include "eap_am_plugin.h" -#include "eap_process_tlv_message_data.h" -#include - -/** @file */ - -/// This class stores the information on loaded EAP-type plugin. -class EAP_EXPORT eap_loaded_type_c -{ - -private: - - // ---------------------------------------------------------------------- - - abs_eap_am_tools_c * const m_am_tools; - - CEapTypePlugin * const m_type_plugin; - - const eap_type_value_e m_eap_type; - - const u32_t m_index_type; - - const u32_t m_index; - - // ---------------------------------------------------------------------- - -public: - - // ---------------------------------------------------------------------- - - // Destructor will delete type_plugin. So pass only object allocated from heap. - eap_loaded_type_c( - abs_eap_am_tools_c * const tools, - CEapTypePlugin * const type_plugin, - const eap_type_value_e eap_type, - const u32_t index_type, - const u32_t index); - - virtual ~eap_loaded_type_c(); - - i32_t compare(const eap_loaded_type_c * const right); - - CEapTypePlugin * get_type_plugin(); - - eap_type_value_e get_eap_type() const; - - u32_t get_index_type() const; - - u32_t get_index() const; - - // ---------------------------------------------------------------------- -}; - -#endif //#if !defined(_EAP_LOADED_TYPE_H_) - - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/EapCoreIf.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapCoreIf.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,219 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 17 % -*/ - - -#include "eap_am_tools.h" -#include "eap_am_export.h" -#include "EapCoreIf.h" -#include "eap_automatic_variable.h" -#include "eap_config.h" -#include "eap_file_config.h" -#include "abs_eap_am_mutex.h" -#include "EapServerClientDef.h" - -/** @file */ - -//-------------------------------------------------- - -/** - * This is the timer ID used with abs_eap_am_tools_c::set_timer() and abs_eap_am_tools_c::cancel_timer(). - */ -enum eap_am_core_message_if_timer_id -{ - EAP_AM_CORE_MESSAGE_IF_TIMER_PROCESS_DATA_ID, - EAP_AM_CORE_MESSAGE_IF_TIMER_SEND_DATA_ID, -}; - -//-------------------------------------------------- - -CEapCoreIf::CEapCoreIf( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const server, - AbsEapSendInterface * client) - : m_am_tools(tools) - , m_client_if(client) - , m_server_if(server) - , m_fileconfig(0) - , m_use_asyncronous_test(false) - , iIsValid(false) -{ - if (m_am_tools == 0 || m_am_tools->get_is_valid() == false) - { - return; - } - - if (m_client_if == 0) - { - return; - } - - if (m_server_if == 0 || m_server_if->get_is_valid() == false) - { - return; - } - - iIsValid = true; -} - -//-------------------------------------------------- - -CEapCoreIf::~CEapCoreIf() -{ - if (m_server_if != 0) - { - m_server_if->shutdown(); - } - delete m_server_if; - m_server_if = 0; - - delete m_fileconfig; - m_fileconfig = 0; -} - -//-------------------------------------------------- - -bool CEapCoreIf::get_is_valid() -{ - return iIsValid; -} - -//-------------------------------------------------- - -eap_status_e CEapCoreIf::configure( - const eap_variable_data_c * const client_configuration) -{ - return m_server_if->configure(client_configuration); -} - -// ---------------------------------------------------------------- - -eap_status_e CEapCoreIf::send_data(const void * const data, const u32_t length) -{ - return m_client_if->SendData(data, length, EEapCoreSendData); -} - -// ---------------------------------------------------------------- - -eap_status_e CEapCoreIf::process_data(const void * const data, const u32_t length) -{ - return m_server_if->process_data(data, length); -} - -//-------------------------------------------------- - -// -eap_status_e CEapCoreIf::shutdown() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("CEapCoreIf::shutdown(): this = 0x%08x.\n"), - this)); - - eap_status_e status(eap_status_process_general_error); - - if (m_server_if != 0) - { - m_server_if->shutdown(); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -CEapCoreIf* CEapCoreIf::new_CEapCoreIf( - abs_eap_am_tools_c * const tools, - const bool is_client_when_true, - const u32_t MTU, - AbsEapSendInterface * client) -{ - eap_am_message_if_c *server = eap_am_message_if_c::new_eap_am_server_message_if_c( - tools, - is_client_when_true, - MTU); - - eap_automatic_variable_c automatic_server( - tools, - server); - - if (server == 0 - || server->get_is_valid() == false) - { - // ERROR. - if (server != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: CEapCoreIf(): server->shutdown(): %s.\n"), - (is_client_when_true == true) ? "client": "server")); - - server->shutdown(); - } - - return 0; - } - - CEapCoreIf * core_if = new CEapCoreIf( - tools, - server, - client); - - eap_automatic_variable_c automatic_core_if( - tools, - core_if); - - if (core_if == 0 - || core_if->get_is_valid() == false) - { - // ERROR. - if (core_if != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: CEapCoreIf(): core_if->shutdown(): %s.\n"), - (is_client_when_true == true) ? "client": "server")); - - // automatic_core_if will delete core_if and core_if will delete server too. - automatic_server.do_not_free_variable(); - core_if->shutdown(); - } - - return 0; - } - - server->set_partner(core_if); - - automatic_server.do_not_free_variable(); - automatic_core_if.do_not_free_variable(); - - return core_if; -} - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/EapPluginIf.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapPluginIf.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,321 +0,0 @@ -/* -* Copyright (c) 2001-2010 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-plugin interface. -* -*/ - -/* -* %version: 17 % -*/ - -#include "eap_am_tools.h" -#include "eap_am_export.h" -#include "EapPluginIf.h" -#include "eap_automatic_variable.h" -#include "eap_config.h" -#include "eap_file_config.h" -#include "abs_eap_am_mutex.h" -#include "eap_am_plugin.h" -#include "eap_am_plugin_symbian.h" -#include "eap_plugin_server_message_if.h" - -/** @file */ - -//-------------------------------------------------- - -CEapPluginIf::CEapPluginIf( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const server) - : m_am_tools(tools) - , m_client_if(0) - , m_server_if(server) - , m_use_asyncronous_test(false) - , m_is_valid(false) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapPluginIf::CEapPluginIf()\n"))); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapPluginIf::CEapPluginIf()"); - - if (m_am_tools == 0 || m_am_tools->get_is_valid() == false) - { - return; - } - - if (m_server_if == 0 || m_server_if->get_is_valid() == false) - { - return; - } - - m_is_valid = true; - - -} - -//-------------------------------------------------- - -CEapPluginIf::~CEapPluginIf() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapPluginIf::~CEapPluginIf()\n"))); - - if (m_server_if != 0) - { - m_server_if->shutdown(); - } - delete m_server_if; - m_server_if = 0; -} - -//-------------------------------------------------- - -bool CEapPluginIf::get_is_valid() -{ - return m_is_valid; -} - -//-------------------------------------------------- - -eap_status_e CEapPluginIf::configure( - const eap_variable_data_c * const client_configuration) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapPluginIf::configure()\n"))); - - return m_server_if->configure(client_configuration); -} - -//-------------------------------------------------- - -void CEapPluginIf::set_partner(AbsEapSendInterface * const client) -{ - m_client_if = client; -} - -// ---------------------------------------------------------------- - -eap_status_e CEapPluginIf::send_data(const void * const data, const u32_t length) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapPluginIf::send_data()\n"))); - - return EAP_STATUS_RETURN(m_am_tools, m_client_if->SendData(data, length, EEapPluginSendData)); -} - -// ---------------------------------------------------------------- - -eap_status_e CEapPluginIf::process_data(const void * const data, const u32_t length) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapPluginIf::process_data()\n"))); - - return EAP_STATUS_RETURN(m_am_tools, m_server_if->process_data(data, length)); -} - -//-------------------------------------------------- - -// -eap_status_e CEapPluginIf::shutdown() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("CEapPluginIf::shutdown(): this = 0x%08x.\n"), - this)); - - eap_status_e status(eap_status_ok); - - if (m_server_if != 0) - { - status = m_server_if->shutdown(); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_am_plugin_c * new_eap_am_plugin_c( - abs_eap_am_tools_c * const tools, - abs_eap_am_plugin_c * const partner) -{ - eap_am_plugin_c * const plugin = new eap_am_plugin_symbian_c(tools, partner); - - eap_automatic_variable_c automatic_plugin( - tools, - plugin); - - if (plugin == 0 - || plugin->get_is_valid() == false) - { - // ERROR. - if (plugin != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: new_eap_am_plugin_c(): plugin->shutdown()\n"))); - - plugin->shutdown(); - } - return 0; - } - - eap_status_e status = plugin->configure(); - if (status != eap_status_ok) - { - plugin->shutdown(); - return 0; - } - - automatic_plugin.do_not_free_variable(); - - return plugin; -} - -//-------------------------------------------------- - -eap_am_message_if_c * eap_am_message_if_c::new_eap_plugin_server_message_if_c( - abs_eap_am_tools_c * const tools) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_message_if_c::new_eap_plugin_server_message_if_c()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: eap_am_message_if_c::new_eap_plugin_server_message_if_c()"); - - eap_am_message_if_c * const server = new eap_plugin_server_message_if_c( - tools); - - eap_automatic_variable_c automatic_server( - tools, - server); - - if (server == 0 - || server->get_is_valid() == false) - { - // ERROR. - if (server != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: CEapPluginIf::new_CEapPluginIf(): server->shutdown()\n"))); - - server->shutdown(); - } - return 0; - } - - eap_status_e status = server->configure(0); - if (status != eap_status_ok) - { - server->shutdown(); - return 0; - } - - automatic_server.do_not_free_variable(); - - return server; -} - -//-------------------------------------------------- - -CEapPluginIf* CEapPluginIf::new_CEapPluginIf( - abs_eap_am_tools_c * const tools) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapPluginIf::new_CEapPluginIf()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: CEapPluginIf::new_CEapPluginIf()"); - - eap_am_message_if_c * const server = eap_am_message_if_c::new_eap_plugin_server_message_if_c( - tools); - - eap_automatic_variable_c automatic_server( - tools, - server); - - if (server == 0 - || server->get_is_valid() == false) - { - // ERROR. - if (server != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: CEapPluginIf::new_CEapPluginIf(): server->shutdown()\n"))); - - server->shutdown(); - } - - return 0; - } - - CEapPluginIf * const plugin_if = new CEapPluginIf( - tools, - server); - - eap_automatic_variable_c automatic_plugin_if( - tools, - plugin_if); - - if (plugin_if == 0 - || plugin_if->get_is_valid() == false) - { - // ERROR. - if (plugin_if != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: CEapPluginIf::new_CEapPluginIf(): plugin_if->shutdown()\n"))); - - // automatic_plugin_if will delete plugin_if and plugin_if will delete server too. - automatic_server.do_not_free_variable(); - plugin_if->shutdown(); - } - - return 0; - } - - server->set_partner(plugin_if); - - automatic_server.do_not_free_variable(); - automatic_plugin_if.do_not_free_variable(); - - return plugin_if; -} - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/EapScheduler.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapScheduler.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,197 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: scheduler of EAP-server. -* -*/ - -/* -* %version: 18 % -*/ - -#include "EapScheduler.h" -#include "EapTraceSymbian.h" -#include "EapServer.h" - -void CEapScheduler::TServerStart::SignalL() -// -// Signal the owning thread that the server has started successfully -// This may itself fail -// - { - EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::SignalL()"))); - TBuf ServerName; - TBuf ServerExe; - - //EapClientIf * aClientIf = new (ELeave)EapClientIf(); - - GetServerNameAndExe(&ServerName, &ServerExe); - TFindThread aProcess(ServerName); - TFullName result; - - while(aProcess.Next(result) == KErrNone) - { - RThread starter; - User::LeaveIfError(starter.Open(aProcess)); - starter.RequestComplete(iStatus,KErrNone); - starter.Close(); - } - EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::SignalL(): end"))); - } - -/* - class CEapScheduler -*/ - -EAP_FUNC_EXPORT CEapScheduler* CEapScheduler::NewL() - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::NewL()"))); - - CEapScheduler* self = new(ELeave)CEapScheduler(); - CleanupStack::PushL(self); - - TRequestStatus started; - TServerStart start(started); - - self->ConstructL(start); - - CleanupStack::Pop(self); - return self; - - } - -EAP_FUNC_EXPORT TInt CEapScheduler::LaunchFromClient(const TBuf Server) - { - TRequestStatus started; - TServerStart start(started); - - EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::LaunchFromClient()"))); - - // - // EPOC is easy, we just create a new server process. Simultaneous - // launching of two such processes should be detected when the - // second one attempts to create the server object, failing with - // KErrAlreadyExists. - // - RProcess server; - TInt r=server.Create(Server,KNullDesC); - - if (r!=KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: TServerStart::LaunchFromClient(): server create error"))); - return r; - } - EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::LaunchFromClient(): server created"))); - - EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::LaunchFromClient(): server.SetPriority(EPriorityHigh)"))); - server.SetPriority(EPriorityHigh); - - TRequestStatus stat; - server.Rendezvous( stat ); - EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::LaunchFromClient(): server.Rendezvous(), stat.Int()=%d"), - stat.Int())); - if ( stat!=KRequestPending ) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: TServerStart::LaunchFromClient(): server.Kill()"))); - server.Kill(0); // abort startup - } - else - { - EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::LaunchFromClient(): server.Resume(), OK"))); - server.Resume(); // logon OK - start the server - } - - - User::WaitForRequest(stat); - EAP_TRACE_DEBUG_SYMBIAN((_L("TServerStart::LaunchFromClient(): User::WaitForRequest(stat), stat.Int()=%d"), - stat.Int())); - - r = ( server.ExitType()==EExitPanic ) ? KErrGeneral : stat.Int(); - - server.Close(); - - return r; - } - -EAP_FUNC_EXPORT TInt CEapScheduler::ThreadStart(TServerStart& aStart) - { - // get cleanup stack - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ThreadStart()"))); - -#if defined(USE_EAP_HEAP_CHECK) - __UHEAP_MARK; -#endif //#if defined(USE_EAP_HEAP_CHECK) - - CTrapCleanup* cleanup=CTrapCleanup::New(); - - // initialize all up to and including starting scheduler - TInt err = KErrNoMemory; - if (cleanup) - { - TRAP(err, ConstructL(aStart)); - delete cleanup; - } - -#if defined(USE_EAP_HEAP_CHECK) - __UHEAP_MARKEND; -#endif //#if defined(USE_EAP_HEAP_CHECK) - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ThreadStart end err=%d"), err)); - return err; - } - -void CEapScheduler::ConstructL(TServerStart& aStart) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ConstructL()"))); - - // construct active scheduler - CEapScheduler* self=new(ELeave) CEapScheduler; - CleanupStack::PushL(self); - CActiveScheduler::Install(self); - - // construct server - self->iServer=new(ELeave) CEapServer; - self->iServer->ConstructL(); - - // Let the client know we've started OK - aStart.SignalL(); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ThreadStart Rendezvous"))); - RProcess::Rendezvous(KErrNone); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ThreadStart Rendezvous end"))); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ConstructL(): CActiveScheduler::Start() starts"))); - CActiveScheduler::Start(); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ConstructL(): CActiveScheduler::Start() ends"))); - - // Destroy the scheduler - CleanupStack::PopAndDestroy(self); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::ConstructL(): end"))); - } - -CEapScheduler::~CEapScheduler() - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::~CEapScheduler()"))); - - delete iServer; - } - -void CEapScheduler::Error(TInt aError) const - { - EAP_UNREFERENCED_PARAMETER(aError); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapScheduler::Error(): aError=%d"), - aError)); - - __DEBUGGER(); -// PanicServer(EErrorFromNonClientObject); - } diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/EapServer.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServer.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,539 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: scheduler of EAP-server. -* -*/ - -/* -* %version: 35 % -*/ - -#include "EapServer.h" -#include "EapTraceSymbian.h" -#include -#include "eap_automatic_variable.h" - -/* - class CEapServer -*/ - -//---------------------------------------------------------------------------- - -CEapServer::CEapServer() - : CServer2(0, EGlobalSharableSessions) // //ESharableSessions - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapServer::CEapServer(): this=0x%08x"), - this)); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapServer::CEapServer()")); - } - -//---------------------------------------------------------------------------- - -void CEapServer::ConstructL() - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapServer::ConstructL(): start"))); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iIsValid = EFalse; - iTools = abs_eap_am_tools_c::new_abs_eap_am_tools_c(); - - // Check if creation went ok and the the iIsValid variable - if (iTools == 0 - || iTools->get_is_valid() == false) - { - if (iTools != 0) - { - iTools->am_cancel_all_timers(); - } - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools); - User::Leave(KErrNoMemory); - } - else - { - iIsValid = iTools->get_is_valid(); - } - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::ConstructL()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { - const u8_t DEFAULT_PREFIX[] = "EAP-SERVER"; - eap_variable_data_c tmp_prefix(iTools); - - if (tmp_prefix.get_is_valid() == false) - { - iTools->am_cancel_all_timers(); - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools); - User::Leave(KErrNoMemory); - } - - eap_status_e status = tmp_prefix.set_copy_of_buffer(DEFAULT_PREFIX, sizeof(DEFAULT_PREFIX)-1ul);; - if (status != eap_status_ok) - { - iTools->am_cancel_all_timers(); - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools); - User::Leave(KErrNoMemory); - } - - status = tmp_prefix.add_end_null(); - if (status != eap_status_ok) - { - iTools->am_cancel_all_timers(); - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools); - User::Leave(KErrNoMemory); - } - - status = iTools->set_trace_prefix(&tmp_prefix); - if (status != eap_status_ok) - { - iTools->am_cancel_all_timers(); - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools); - User::Leave(KErrNoMemory); - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { - TInt error; - RFs aFileServerSession; - - // Open file server session - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::ConstructL(): - calls aFileServerSession.Connect()\n"))); - - error = aFileServerSession.Connect(); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::ConstructL(): - aFileServerSession.Connect(), error=%d\n"), - error)); - - User::LeaveIfError(error); - - // Create the private path - it is not automatically created by Symbian OS. - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::ConstructL(): - calls aFileServerSession.CreatePrivatePath(%d)\n"), - RFs::GetSystemDrive())); - - error = aFileServerSession.CreatePrivatePath(RFs::GetSystemDrive()); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::ConstructL(): - aFileServerSession.CreatePrivatePath(%d), error=%d\n"), - RFs::GetSystemDrive(), - error)); - - User::LeaveIfError(error); - - // Set the session path to the private directory - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::ConstructL(): - calls aFileServerSession.SetSessionToPrivate(%d)\n"), - RFs::GetSystemDrive())); - - error = aFileServerSession.SetSessionToPrivate(RFs::GetSystemDrive()); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::ConstructL(): - aFileServerSession.SetSessionToPrivate(%d), error=%d\n"), - RFs::GetSystemDrive(), - error)); - - User::LeaveIfError(error); - - // Close the session with the file server. - aFileServerSession.Close(); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { - // construct shutdown timer - iShutdown = new(ELeave) CEapDelayedShutdown(iTools, this); - iShutdown->ConstructL(); - // identify ourselves and open for service - TBuf ServerName; - TBuf ServerExe; - - GetServerNameAndExe(&ServerName, &ServerExe); - - StartL(ServerName); - - // Initiates shut down timer. Timer will close server unless we get client connections. - iShutdown->Start(); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { - // construct backup and restore observer - iBackupRestore = new(ELeave) CEapserverBackup(this); - iBackupRestore->ConstructL(); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - } - -//---------------------------------------------------------------------------- - -CEapServer* CEapServer::NewL() - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapServer::NewL(): starts"))); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapServer::NewL()")); - - CEapServer* self = new(ELeave)CEapServer(); - CleanupStack::PushL(self); - - self->ConstructL(); - - CleanupStack::Pop(self); - - return self; - } - -//---------------------------------------------------------------------------- - -CEapServer::~CEapServer() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::~CEapServer(): this=0x%08x\n"), - this)); - - // Do not use iTools, because it will be destroyed before return. - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapServer::~CEapServer()")); - - delete iShutdown; - delete iBackupRestore; - - if (iTools) - { - iTools->am_cancel_all_timers(); - abs_eap_am_tools_c::delete_abs_eap_am_tools_c(iTools); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("REComSession::FinalClose(): start"))); - - REComSession::FinalClose(); - - EAP_TRACE_DEBUG_SYMBIAN((_L("REComSession::FinalClose(): ready"))); - - } - -//---------------------------------------------------------------------------- - -// from CServer - -CSession2* CEapServer::NewSessionL(const TVersion& /* aVersion */, const RMessage2& /* aMessage */) const - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::NewSessionL(): starts\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::NewSessionL()"); - - CEapSession* session = new(ELeave) CEapSession(); - CleanupStack::PushL(session); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::NewSessionL(): session=0x%08x\n"), - session)); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::NewSessionL(): session->ConstructL() starts"))); - - session->ConstructL(*const_cast(this), iTools); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::NewSessionL(): session->ConstructL() ends"))); - - CleanupStack::Pop(session); - - const_cast(this)->IncrementSessions(); - - return session; - } - -//---------------------------------------------------------------------------- - -TInt CEapServer::RunError(TInt aErr) - /** - Handle leaves from ServiceL. - - Any leave from a ServiceL() will land up here. - */ - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::RunError(), aErr=%d\n"), - aErr)); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::RunError()"); - - // if it's a bad descriptor, panic the client - if (aErr==KErrBadDescriptor) // client had a bad descriptor - { - PanicClient(EBadDescriptor); - } - - // anyway, complete the outstanding message - Message().Complete(aErr); - ReStart(); // really means just continue reading client requests - return KErrNone; - } - -//---------------------------------------------------------------------------- - -/** - session count support -*/ -void CEapServer::IncrementSessions() -{ - iSessionCount++; - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::IncrementSessions(): iSessionCount=%d\n"), - iSessionCount)); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::IncrementSessions()"); - - iShutdown->Cancel(); -} - -//---------------------------------------------------------------------------- - -void CEapServer::DecrementSessions() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::DecrementSessions(): iSessionCount=%d\n"), - iSessionCount)); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::DecrementSessions()"); - - iSessionCount--; - if (iSessionCount>0) - return; - - iShutdown->Start(); -} - -//---------------------------------------------------------------------------- - -void CEapServer::PanicClient(TInt aPanic) const -{ - EAP_UNREFERENCED_PARAMETER(aPanic); - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::PanicClient(): aPanic=%d\n"), - aPanic)); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::PanicClient()"); - - // let's have a look before we panic the client - __DEBUGGER() - // ok, go for it - - const TBufC aCategory; - Message().Panic(aCategory, EBadRequest); -} - -//---------------------------------------------------------------------------- - -void CEapServer::StopL() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::StopL()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::StopL()"); - - for (iSessionIter.SetToFirst(); iSessionIter; iSessionIter++) - { - CSession2 * aSession = iSessionIter; - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServer::StopL(): aSession=0x%08x calls CancelReceive()\n"), - aSession)); - - if (static_cast(aSession) != NULL) - { - static_cast(aSession)->CancelReceive(); - } - } -} - -//---------------------------------------------------------------------------- - -void CEapServer::BackupOrRestoreCompleteL() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServer::BackupOrRestoreCompleteL(): Do something\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::BackupOrRestoreCompleteL()"); -} - -//---------------------------------------------------------------------------- - -void CEapServer::BackupOrRestoreStartingL() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: CEapServer::BackupOrRestoreStartingL(): Terminates EAP-SERVER. All sessions are also closed. All files are unlocked for backup or restore.\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServer::BackupOrRestoreStartingL()"); - - StopL(); -} - -//---------------------------------------------------------------------------- - -/* - class CEapDelayedShutdown -*/ - -CEapDelayedShutdown::CEapDelayedShutdown(abs_eap_am_tools_c * const tools, CEapServer * const aServer) - : CActive(0) - , iTools(tools) - , iServer(aServer) - { - } - -//---------------------------------------------------------------------------- - -void CEapDelayedShutdown::ConstructL() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapDelayedShutdown::ConstructL()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapDelayedShutdown::ConstructL()"); - - CActiveScheduler::Add(this); - User::LeaveIfError(iTimer.CreateLocal()); - } - -//---------------------------------------------------------------------------- - -CEapDelayedShutdown::~CEapDelayedShutdown() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapDelayedShutdown::~CEapDelayedShutdown()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapDelayedShutdown::~CEapDelayedShutdown()"); - - Cancel(); - iTimer.Close(); - } - -//---------------------------------------------------------------------------- - -void CEapDelayedShutdown::Start() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapDelayedShutdown::Start()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapDelayedShutdown::Start()"); - - iTimer.After(iStatus, KEapShutdownInterval); - SetActive(); - } - -//---------------------------------------------------------------------------- - -void CEapDelayedShutdown::DoCancel() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapDelayedShutdown::DoCancel()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapDelayedShutdown::DoCancel()"); - - iTimer.Cancel(); -} - -//---------------------------------------------------------------------------- - -TInt CEapDelayedShutdown::RunError(TInt aError) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapDelayedShutdown::RunError(): aError=%d, this=0x%08x\n"), - aError, - this)); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapDelayedShutdown::RunError()"); - - iTimer.Cancel(); - - return aError; -} - -//---------------------------------------------------------------------------- - -void CEapDelayedShutdown::RunL() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapDelayedShutdown::RunL(), calls CActiveScheduler::Stop()\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapDelayedShutdown::RunL()"); - - CActiveScheduler::Stop(); -} - -//---------------------------------------------------------------------------- - -// end diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerBackup.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerBackup.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,150 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: scheduler of EAP-server. -* -*/ - -/* -* %version: % -*/ - -/** - @file -*/ - -#include -#include "EapServerBackup.h" -#include -#include "EapTraceSymbian.h" - -using namespace conn; - -//---------------------------------------------------------------------------- - -CEapserverBackup* CEapserverBackup::NewL(AbsEapserverBackup * const aBackupAndRestoreObserver) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::NewL()"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapserverBackup::NewL()\n")); - - CEapserverBackup* self = new(ELeave) CEapserverBackup(aBackupAndRestoreObserver); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; -} - -//---------------------------------------------------------------------------- - -CEapserverBackup::CEapserverBackup(AbsEapserverBackup * const aBackupAndRestoreObserver) -:CActive(EPriorityStandard) -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::CEapserverBackup()"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapserverBackup::CEapserverBackup()\n")); - - iBackupAndRestoreObserver = aBackupAndRestoreObserver; -} - -//---------------------------------------------------------------------------- - -void CEapserverBackup::ConstructL() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::ConstructL()"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapserverBackup::ConstructL()\n")); - - iBackupOrRestoreInProgress = EFalse; - User::LeaveIfError(iBackupProperty.Attach(KUidSystemCategory,KUidBackupRestoreKey)); - CActiveScheduler::Add(this); - iBackupProperty.Subscribe(iStatus); - SetActive(); -} - -//---------------------------------------------------------------------------- - -CEapserverBackup::~CEapserverBackup() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::~CEapserverBackup()"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapserverBackup::~CEapserverBackup()\n")); - - Cancel(); - iBackupProperty.Close(); -} - -//---------------------------------------------------------------------------- - -void CEapserverBackup::DoCancel() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::DoCancel()"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapserverBackup::DoCancel()\n")); - - iBackupProperty.Cancel(); -} - -//---------------------------------------------------------------------------- - -TBool CEapserverBackup::IsBackupOrRestoreInProgress() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::IsBackupOrRestoreInProgress()"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapserverBackup::IsBackupOrRestoreInProgress()\n")); - - return iBackupOrRestoreInProgress; -} - -//---------------------------------------------------------------------------- - -/** - * @leave KErrNotSupported if unknown backup flag is found - */ -void CEapserverBackup::RunL() -{ - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::RunL()"))); - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapserverBackup::RunL()\n")); - - iBackupProperty.Subscribe(iStatus); - SetActive(); - - - TInt backupRestoreFlag; - iBackupProperty.Get(backupRestoreFlag); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::RunL(): backupRestoreFlag=0x%08x"), - backupRestoreFlag)); - - switch(backupRestoreFlag & KBURPartTypeMask) - { - case EBURUnset: - case EBURNormal: - if(iBackupOrRestoreInProgress) //only report complete if already reported starting - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::RunL(): Backup or restore complete"))); - iBackupAndRestoreObserver->BackupOrRestoreCompleteL(); - iBackupOrRestoreInProgress=EFalse; - } - break; - case EBURBackupFull: - case EBURBackupPartial: - case EBURRestoreFull: - case EBURRestorePartial: - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapserverBackup::RunL(): Backup or restore starts"))); - iBackupOrRestoreInProgress=ETrue; - iBackupAndRestoreObserver->BackupOrRestoreStartingL(); - } - break; - default: - User::Leave(KErrNotSupported); //unexpected value - }; -} - -//---------------------------------------------------------------------------- -// End of file. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerExe.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerExe.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: scheduler of EAP-server. -* -*/ - -/* -* %version: 4 % -*/ - -#include "EapServer.h" - -GLDEF_C TInt E32Main() -{ - CEapScheduler::TServerStart start; - TInt r=CEapScheduler::ThreadStart(start); - return r; -} - -// End of file. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerProcessHandler.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerProcessHandler.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,921 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 41 % -*/ - -#include "EapServerProcessHandler.h" -#include "EapTraceSymbian.h" -#if defined(USE_FAST_EAP_TYPE) -#include "PacStoreIf.h" -#endif //#if defined(USE_FAST_EAP_TYPE) -#include "EapServerStrings.h" -#include "eap_automatic_variable.h" - -//---------------------------------------------------------------------------- - -CEapServerProcessHandler::CEapServerProcessHandler() -: CActive (0) -, iClient(0) -, iTools(0) -, iEapCore(0) -, iEapPlugin(0) -, iEapSettings(0) -#if defined (USE_WAPI_CORE) -, iWapiCore(0) -, iWapiSettings(0) -#endif -#if defined(USE_FAST_EAP_TYPE) -, iPacStore(0) -#endif //#if defined(USE_FAST_EAP_TYPE) -, iEapMessageQueue(0) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::CEapServerProcessHandler(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::CEapServerProcessHandler()"); -} - -//---------------------------------------------------------------------------- - -CEapServerProcessHandler::~CEapServerProcessHandler() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::~CEapServerProcessHandler(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::~CEapServerProcessHandler()"); - - if(IsActive()) - { - Cancel(); - } - - delete iEapCore; - iEapCore = 0; - - delete iEapPlugin; - iEapPlugin = 0; - - delete iEapSettings; - iEapSettings = 0; - -#if defined (USE_WAPI_CORE) - delete iWapiCore; - iWapiCore = 0; - - delete iWapiSettings; - iWapiSettings = 0; -#endif - -#if defined(USE_FAST_EAP_TYPE) - delete iPacStore; - iPacStore = 0; -#endif //#if defined(USE_FAST_EAP_TYPE) - - delete iEapMessageQueue; - iEapMessageQueue = 0; -} - -//---------------------------------------------------------------------------- - -CEapServerProcessHandler* CEapServerProcessHandler::NewL() -{ - return new (ELeave) CEapServerProcessHandler(); -} - -//---------------------------------------------------------------------------- - -void CEapServerProcessHandler::ConstructL(AbsEapProcessSendInterface* const client, abs_eap_am_tools_c * const tools) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::ConstructL(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(tools, "returns: CEapServerProcessHandler::ConstructL()"); - - iClient = client; - iTools = tools; - - iEapMessageQueue = new(ELeave) EapMessageQueue(iTools); -} - -//---------------------------------------------------------------------------- - -eap_status_e CEapServerProcessHandler::SendData(const void * const data, const u32_t length, TEapRequests message) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::SendData(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::SendData()"); - - eap_status_e status(eap_status_ok); - - SaveMessage(message, data, length); - - return status; -} - -//---------------------------------------------------------------------------- - -void CEapServerProcessHandler::SaveMessage(TEapRequests message, const void * const data, const TUint length) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::SaveMessage(): this=0x%08x, message=%d=%s\n"), - this, - message, - EapServerStrings::GetEapRequestsString(message))); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::SaveMessage()"); - - EAP_TRACE_DATA_DEBUG( - iTools, - EAP_TRACE_FLAGS_NEVER, - (EAPL("CEapServerProcessHandler::SaveMessage()"), - data, - length)); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::SaveMessage(): calls iEapMessageQueue->AddMessage()\n"))); - - TInt error = iEapMessageQueue->AddMessage(message, data, length); - - if (error != KErrNone) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::SaveMessage(): failed = %d\n"), - error)); - return; - } - - Activate(); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::SaveMessage(): returns this=0x%08x, message=%d=%s\n"), - this, - message, - EapServerStrings::GetEapRequestsString(message))); -} - -//---------------------------------------------------------------------------- - -void CEapServerProcessHandler::Activate() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::Activate(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::Activate()"); - - if(!IsActive()) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::Activate(): calls User::RequestComplete()\n"))); - - TRequestStatus* status = &iStatus; - User::RequestComplete(status, KErrNone); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::Activate(): calls SetActive()\n"))); - - SetActive(); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::Activate(): Already active.\n"))); - } -} - -//---------------------------------------------------------------------------- - -void CEapServerProcessHandler::RunL() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("=start=====================================================================\n"))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::RunL()"); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL(): this=0x%08x\n"), - this)); - - EapMessageBuffer * const message = iEapMessageQueue->GetFirstMessage(); - - if (message != 0) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL(): message->GetRequestType()=%d=%s, data=0x%08x, size=%d\n"), - message->GetRequestType(), - EapServerStrings::GetEapRequestsString(message->GetRequestType()), - message->GetData()->Ptr(), - message->GetData()->Size())); - - eap_status_e status(eap_status_ok); - - switch (message->GetRequestType()) - { - - case EEapCoreIfNew: - - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapCoreIfNew\n"))); - - CEapCoreIf * tmpEapCore = CEapCoreIf::new_CEapCoreIf( - iTools, - ETrue, - 0, - this); - - if (tmpEapCore != 0) - { - CleanupStack::PushL(tmpEapCore); - - if (tmpEapCore->get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): CEapCoreIf::new_CEapCoreIf() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - const void * const aData = reinterpret_cast(message->GetData()->Ptr()); - const TInt aLength = message->GetData()->Size(); - - const eap_variable_data_c client_configuration( - iTools, - aData, - aLength, - false, - false); - if (client_configuration.get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): eap_variable_data_c client_configuration() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - status = tmpEapCore->configure(&client_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): tmpEapCore->configure() failed, this=0x%08x, status=%d=%s\n"), - this, - status, - eap_status_string_c::get_status_string(status))); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status))); - } - - iEapCore = tmpEapCore; - - CleanupStack::Pop(tmpEapCore); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapCoreIfNew, iEapCore is NULL\n"))); - } - } - - break; - - case EEapPluginNew: - - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapPluginNew\n"))); - - CEapPluginIf * tmpEapPlugin = CEapPluginIf::new_CEapPluginIf(iTools); - - if (tmpEapPlugin != 0) - { - CleanupStack::PushL(tmpEapPlugin); - - if (tmpEapPlugin->get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): CEapPluginIf::new_CEapPluginIf() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - tmpEapPlugin->set_partner(this); - - const void * const aData = reinterpret_cast(message->GetData()->Ptr()); - const TInt aLength = message->GetData()->Size(); - - const eap_variable_data_c client_configuration( - iTools, - aData, - aLength, - false, - false); - if (client_configuration.get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): eap_variable_data_c client_configuration() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - status = tmpEapPlugin->configure(&client_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): tmpEapPlugin->configure() failed, this=0x%08x, status=%d=%s\n"), - this, - status, - eap_status_string_c::get_status_string(status))); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status))); - } - - iEapPlugin = tmpEapPlugin; - - CleanupStack::Pop(tmpEapPlugin); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapPluginNew, iEapPlugin is NULL\n"))); - } - } - - break; - - case EEapSettingsNew: - - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapSettingsNew\n"))); - - CEapSettingsIf * tmpEapSettings = CEapSettingsIf::new_CEapSettingsIf(iTools); - - if (tmpEapSettings != 0) - { - CleanupStack::PushL(tmpEapSettings); - - if (tmpEapSettings->get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): CEapSettingsIf::new_CEapSettingsIf() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - tmpEapSettings->set_partner(this); - - const void * const aData = reinterpret_cast(message->GetData()->Ptr()); - const TInt aLength = message->GetData()->Size(); - - const eap_variable_data_c client_configuration( - iTools, - aData, - aLength, - false, - false); - if (client_configuration.get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): eap_variable_data_c client_configuration() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - status = tmpEapSettings->configure(&client_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): tmpEapSettings->configure() failed, this=0x%08x, status=%d=%s\n"), - this, - status, - eap_status_string_c::get_status_string(status))); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status))); - } - - iEapSettings = tmpEapSettings; - - CleanupStack::Pop(tmpEapSettings); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapSettingsNew, iEapSettings is NULL\n"))); - } - } - - break; - -#if defined (USE_WAPI_CORE) - case EWapiCoreIfNew: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiCoreIfNew\n"))); - - iWapiCore = CWapiCoreIf::NewL(iTools, this); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiCoreIfNew - iWapiCore = 0x%08x.\n"), - iWapiCore)); - - - break; - - case EWapiSettingsNew: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiSettingsNew\n"))); - - iWapiSettings = CWapiSettingsIf::NewL(iTools, this); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiSettingsNew - iWapiSettings = 0x%08x.\n"), - iWapiSettings)); - break; -#endif - - case EEapPacStoreNew: - - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapPacStoreNew\n"))); - -#if defined(USE_FAST_EAP_TYPE) - - CPacStoreIf * tmpPacStore = CPacStoreIf::new_CPacStoreIf( - iTools, - ETrue, - 0, - this); - - if (tmpPacStore != 0) - { - CleanupStack::PushL(tmpPacStore); - - if (tmpPacStore->get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): CPacStoreIf::new_CPacStoreIf() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - const void * const aData = reinterpret_cast(message->GetData()->Ptr()); - const TInt aLength = message->GetData()->Size(); - - const eap_variable_data_c client_configuration( - iTools, - aData, - aLength, - false, - false); - if (client_configuration.get_is_valid() == false) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): eap_variable_data_c client_configuration() failed, this=0x%08x\n"), - this)); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, eap_status_allocation_error))); - } - - status = tmpPacStore->configure(&client_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): tmpPacStore->configure() failed, this=0x%08x, status=%d=%s\n"), - this, - status, - eap_status_string_c::get_status_string(status))); - - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status))); - } - - iPacStore = tmpPacStore; - - CleanupStack::Pop(tmpPacStore); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapPacStoreNew, iPacStore is NULL\n"))); - } - -#endif //#if defined(USE_FAST_EAP_TYPE) - - } - - break; - - case EEapCoreProcessData: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapCoreProcessData\n"))); - - if (iEapCore !=0) - { - void* aData = reinterpret_cast(const_cast(message->GetData()->Ptr())); - TInt aLength = message->GetData()->Size(); - iEapCore->process_data(aData, aLength); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapCoreProcessData, iEapCore is NULL\n"))); - } - - break; - - case EEapPacStoreProcessData: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapPacStoreProcessData\n"))); - -#if defined(USE_FAST_EAP_TYPE) - if (iPacStore !=0) - { - void* aData = reinterpret_cast(const_cast(message->GetData()->Ptr())); - TInt aLength = message->GetData()->Size(); - iPacStore->process_data(aData, aLength); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapPacStoreProcessData, iPacStore is NULL\n"))); - } -#endif //#if defined(USE_FAST_EAP_TYPE) - break; - - case EEapPluginProcessData: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapPluginProcessData\n"))); - - if (iEapPlugin !=0) - { - void* aData = reinterpret_cast(const_cast(message->GetData()->Ptr())); - TInt aLength = message->GetData()->Size(); - iEapPlugin->process_data(aData, aLength); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapPluginProcessData, iEapPlugin is NULL\n"))); - } - - break; - - case EEapSettingsProcessData: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapSettingsProcessData\n"))); - - if (iEapSettings !=0) - { - void* aData = reinterpret_cast(const_cast(message->GetData()->Ptr())); - TInt aLength = message->GetData()->Size(); - iEapSettings->process_data(aData, aLength); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEapSettingsProcessData, iEapSettings is NULL\n"))); - } - - break; - -#if defined (USE_WAPI_CORE) - case EWapiCoreProcessData: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiCoreProcessData\n"))); - - if (iWapiCore !=0) - { - void* aData = reinterpret_cast(const_cast(message->GetData()->Ptr())); - TInt aLength = message->GetData()->Size(); - iWapiCore->process_data(aData, aLength); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EWapiCoreProcessData, iWapiCore is NULL\n"))); - } - break; - - case EWapiSettingsProcessData: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiSettingsProcessData\n"))); - - if (iWapiSettings !=0) - { - void* aData = reinterpret_cast(const_cast(message->GetData()->Ptr())); - TInt aLength = message->GetData()->Size(); - iWapiSettings->process_data(aData, aLength); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EWapiSettingsProcessData, iWapiSettings is NULL\n"))); - } - - break; -#endif - - case EEapCoreSendData: - case EEapPluginSendData: - case EEapSettingsSendData: - case EEapPacStoreSendData: -#if defined (USE_WAPI_CORE) - case EWapiCoreSendData: - case EWapiSettingsSendData: -#endif - if (message->GetRequestType() == EEapCoreSendData) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapCoreSendData\n"))); - } - else if (message->GetRequestType() == EEapPluginSendData) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapPluginSendData\n"))); - } - else if (message->GetRequestType() == EEapSettingsSendData) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapSettingsSendData\n"))); - } - else if (message->GetRequestType() == EEapPacStoreSendData) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EEapPacStoreSendData\n"))); - } -#if defined (USE_WAPI_CORE) - else if (message->GetRequestType() == EWapiCoreSendData) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiCoreSendData\n"))); - } - else if (message->GetRequestType() == EWapiSettingsSendData) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL() EWapiSettingsSendData\n"))); - } -#endif - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL(): iClient=0x%08x\n"), - iClient)); - - if (iClient != 0) - { - status = iClient->SendData(message); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): SendData() failed, iClient=0x%08x, status=%d=%s\n"), - iClient, - status, - eap_status_string_c::get_status_string(status))); - - // We do not return here. Even the iClient->SendData() fails we run this function to the end. - } - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): EEap*SendData, iClient is NULL\n"))); - } - - break; - - default: - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapServerProcessHandler::RunL(): unknown message->GetRequestType()=%d=%s\n"), - message->GetRequestType(), - EapServerStrings::GetEapRequestsString(message->GetRequestType()))); - break; - - } // switch() - - if (status == eap_status_ok) - { - // First one handled, remove message. - // iClient->SendData() call may fail, then we do not remove the message. - iEapMessageQueue->DeleteFirstMessage(); - } - - } // if () - - if (iEapMessageQueue->GetFirstMessage() != 0) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL(): Still messages waiting.\n"))); - - if (iClient != NULL) - { - if (iClient->GetReceiveActive()) - { - Activate(); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: CEapServerProcessHandler::RunL(): cannot call User::RequestComplete() because no receive is active.\n"))); - } - } - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunL(): No more messages to process.\n"))); - } - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("=end======================================================================\n"))); -} - -//---------------------------------------------------------------------------- - -void CEapServerProcessHandler::DoCancel() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::DoCancel(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::DoCancel()"); - -} - -//---------------------------------------------------------------------------- - -TInt CEapServerProcessHandler::RunError(TInt aError) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapServerProcessHandler::RunError(): aError=%d, this=0x%08x\n"), - aError, - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapServerProcessHandler::RunError()"); - - Cancel(); - - return aError; -} - -//---------------------------------------------------------------------------- -// end diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerStrings.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerStrings.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ -/* -* Copyright (c) 2009-2010 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. -* -*/ - -/* -* %version: 7 % -*/ - -// This is enumeration of EAPOL source code. -#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - #undef EAP_FILE_NUMBER_ENUM - #define EAP_FILE_NUMBER_ENUM 714 - #undef EAP_FILE_NUMBER_DATE - #define EAP_FILE_NUMBER_DATE 1127594498 -#endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) - - - -/** @file */ - -#include "EapServerStrings.h" -#include "eap_tools.h" - -//------------------------------------------------------------------------------ - -EXPORT_C EapServerStrings::~EapServerStrings() -{ -} - -//------------------------------------------------------------------------------ - -EXPORT_C EapServerStrings::EapServerStrings() -{ -} - -//------------------------------------------------------------------------------ - -EXPORT_C eap_const_string EapServerStrings::GetEapRequestsString(const TEapRequests request) -{ - -#if defined(USE_EAP_TRACE_STRINGS) - EAP_IF_RETURN_STRING(request, EEapNone) - else EAP_IF_RETURN_STRING(request, EEapCoreIfNew) - else EAP_IF_RETURN_STRING(request, EEapPluginNew) - else EAP_IF_RETURN_STRING(request, EEapSettingsNew) - else EAP_IF_RETURN_STRING(request, EEapCoreProcessData) - else EAP_IF_RETURN_STRING(request, EEapPluginProcessData) - else EAP_IF_RETURN_STRING(request, EEapSettingsProcessData) - else EAP_IF_RETURN_STRING(request, EEapCoreSendData) - else EAP_IF_RETURN_STRING(request, EEapPluginSendData) - else EAP_IF_RETURN_STRING(request, EEapSettingsSendData) - else EAP_IF_RETURN_STRING(request, EEapIfReqReceive) - else EAP_IF_RETURN_STRING(request, EEapIfCancelReceive) - else EAP_IF_RETURN_STRING(request, EEapPacStoreNew) - else EAP_IF_RETURN_STRING(request, EEapPacStoreProcessData) - else EAP_IF_RETURN_STRING(request, EEapPacStoreSendData) - else EAP_IF_RETURN_STRING(request, EWapiCoreIfNew) - else EAP_IF_RETURN_STRING(request, EWapiSettingsNew) - else EAP_IF_RETURN_STRING(request, EWapiCoreProcessData) - else EAP_IF_RETURN_STRING(request, EWapiSettingsProcessData) - else EAP_IF_RETURN_STRING(request, EWapiCoreSendData) - else EAP_IF_RETURN_STRING(request, EWapiSettingsSendData) - - else -#endif // #if defined(USE_EAP_TRACE_STRINGS) - { - EAP_UNREFERENCED_PARAMETER(request); - return EAPL("Unknown TEapRequests"); - } - -} - -//------------------------------------------------------------------------------ - -EXPORT_C eap_const_string EapServerStrings::GetEapRequestsString(const TInt request) -{ - return EapServerStrings::GetEapRequestsString(static_cast(request)); -} - -//------------------------------------------------------------------------------ -// End. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/EapSession.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapSession.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,542 +0,0 @@ -/* -* Copyright (c) 2009-2010 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-session inside EAP-server. -* -*/ - -/* -* %version: 32 % -*/ - - -#define __REFERENCE_CAPABILITY_NAMES__ -#define __INCLUDE_CAPABILITY_NAMES__ - -#include "EapSession.h" -#include "EapServerStrings.h" -#include "EapServer.h" -#include "EapServerProcessHandler.h" -#include "EapServerClientDef.h" -#include "abs_eap_am_tools.h" -#include "EapTraceSymbian.h" - -#include "eap_automatic_variable.h" - -/* - CEapSession -*/ - -const TInt KMaxMessageLength = 1000000; - -// ----------------------------------------------------------------------------------------- - -// construct/destruct - -CEapSession::CEapSession() -: iReceiveActive(EFalse) -, iEapProcessHandler(0) -, iTools(0) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapSession::CEapSession(): this=0x%08x"), - this)); - - EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapSession::CEapSession()")); - - } - -// ----------------------------------------------------------------------------------------- - -void CEapSession::ConstructL(CEapServer& /* aServer */, abs_eap_am_tools_c * const tools) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ConstructL(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(tools, "returns: CEapSession::ConstructL()"); - - iTools = tools; - - iEapProcessHandler = CEapServerProcessHandler::NewL(); - iEapProcessHandler->ConstructL(this, iTools); - CActiveScheduler::Add(iEapProcessHandler); - } - -// ----------------------------------------------------------------------------------------- - -CEapSession::~CEapSession() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::~CEapSession(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::~CEapSession()"); - - // cancel any receive - CancelReceive(); - if (iEapProcessHandler != 0) - { - delete iEapProcessHandler; - iEapProcessHandler = 0; - } - // decrement session count, so server may terminate if no longer needed - Server()->DecrementSessions(); - } - -// ----------------------------------------------------------------------------------------- - -CEapServer* CEapSession::Server() const - /** - Return the EAP-server. - - This deliberately hides the ugly casts around the code. - */ - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::Server(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::Server()"); - - return const_cast(static_cast(CSession2::Server())); - } - -// ----------------------------------------------------------------------------------------- - -void CEapSession::CheckCapabilityL( - const RMessage2& aMessage, - const TBool aMustHaveCapabilityWhenTrue, - const TCapability aCapability, - const char *aDiagnostic) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::CheckCapabilityL(): this=0x%08x: aMessage.Function()=%d=%s\n"), - this, - aMessage.Function(), - EapServerStrings::GetEapRequestsString(aMessage.Function()))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::CheckCapabilityL()"); - - if (aMustHaveCapabilityWhenTrue != aMessage.HasCapability(aCapability, aDiagnostic)) - { - // Capability check failed. - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapSession::CheckCapability(): aMessage.Function()=%d=%s, failed capability check: %d=%s, %s\n"), - aMessage.Function(), - EapServerStrings::GetEapRequestsString(aMessage.Function()), - aCapability, - CapabilityNames[aCapability], - aDiagnostic)); - Server()->PanicClient(EBadRequest); - User::Leave(EBadRequest); - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::CheckCapability(): aMessage.Function()=%d=%s, OK capability check: %d=%s\n"), - aMessage.Function(), - EapServerStrings::GetEapRequestsString(aMessage.Function()), - aCapability, - CapabilityNames[aCapability])); - } -} - -// ----------------------------------------------------------------------------------------- - -// service dispatcher - from CSharableSession - -void CEapSession::ServiceL(const RMessage2& aMessage) - { - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("-start--------------------------------------------------------------------\n"))); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): this=0x%08x: starts, aMessage.Function()=%d=%s\n"), - this, - aMessage.Function(), - EapServerStrings::GetEapRequestsString(aMessage.Function()))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::ServiceL()"); - - - { -#if 0 - // Add this later. - CheckCapabilityL( - aMessage, - ETrue, - ECapabilityNetworkControl, - "EAP-SERVER: Missing ECapabilityNetworkControl"); -#endif - - CheckCapabilityL( - aMessage, - ETrue, - ECapabilityReadDeviceData, - "EAP-SERVER: Missing ECapabilityReadDeviceData"); - - CheckCapabilityL( - aMessage, - ETrue, - ECapabilityWriteDeviceData, - "EAP-SERVER: Missing ECapabilityWriteDeviceData"); - } - - - if (aMessage.Function() == EEapIfCancelReceive) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): aMessage.Function()=%d=%s, calls CancelReceive()\n"), - aMessage.Function(), - EapServerStrings::GetEapRequestsString(aMessage.Function()))); - CancelReceive(); - return; - } - - // length of passed descriptor (1st parameter passed from client) - TInt deslen = aMessage.GetDesLength(0); - - if (deslen > KMaxMessageLength) - { - Server()->PanicClient(EBadRequest); - return; - } - - // Passed data will be saved in this descriptor. - RBuf8 buffer; - - // Max length set to the value of "deslen", but current length is zero - buffer.CreateL(deslen); - - // Do the right cleanup if anything subsequently goes wrong - buffer.CleanupClosePushL(); - - // Copy the client's descriptor data into our buffer. - aMessage.ReadL(0,buffer,0); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): calls buffer.Length()\n"))); - - TUint aLength = buffer.Length(); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): calls buffer.Ptr(): aLength=%d\n"), - aLength)); - - const void * aData = buffer.Ptr(); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): aData=0x%08x, aLength=%d\n"), - aData, - aLength)); - - EAP_TRACE_DATA_DEBUG( - iTools, - EAP_TRACE_FLAGS_NEVER, - (EAPL("CEapSession::ServiceL()"), - aData, - aLength)); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): switch aMessage.Function()=%d=%s, iEapProcessHandler=0x%08x\n"), - aMessage.Function(), - EapServerStrings::GetEapRequestsString(aMessage.Function()), - iEapProcessHandler)); - - - switch (aMessage.Function()) - { - case EEapCoreIfNew: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): EEapCoreIfNew\n"))); - ReceiveAll(); - iEapProcessHandler->SaveMessage(EEapCoreIfNew, aData, aLength); - aMessage.Complete(KErrNone); - break; - case EEapPluginNew: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): EEapPluginNew\n"))); - iEapProcessHandler->SaveMessage(EEapPluginNew, aData, aLength); - aMessage.Complete(KErrNone); - break; - case EEapSettingsNew: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): EEapSettingsNew\n"))); - iEapProcessHandler->SaveMessage(EEapSettingsNew, aData, aLength); - aMessage.Complete(KErrNone); - break; - case EEapPacStoreNew: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): EEapPacStoreNew\n"))); - iEapProcessHandler->SaveMessage(EEapPacStoreNew, aData, aLength); - aMessage.Complete(KErrNone); - break; - case EWapiCoreIfNew: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): EWapiCoreIfNew\n"))); - ReceiveAll(); - iEapProcessHandler->SaveMessage(EWapiCoreIfNew, aData, aLength); - aMessage.Complete(KErrNone); - break; - case EWapiSettingsNew: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): EWapiSettingsNew\n"))); - ReceiveAll(); - iEapProcessHandler->SaveMessage(EWapiSettingsNew, aData, aLength); - aMessage.Complete(KErrNone); - break; - case EEapCoreProcessData: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): EEapCoreProcessData\n"))); - // Read message - iEapProcessHandler->SaveMessage(EEapCoreProcessData, aData, aLength); - aMessage.Complete(KErrNone); - break; - case EEapPluginProcessData: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): EEapPluginProcessData\n"))); - iEapProcessHandler->SaveMessage(EEapPluginProcessData, aData, aLength); - aMessage.Complete(KErrNone); - break; - case EEapSettingsProcessData: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): EEapSettingsProcessData\n"))); - iEapProcessHandler->SaveMessage(EEapSettingsProcessData, aData, aLength); - aMessage.Complete(KErrNone); - break; - case EEapPacStoreProcessData: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): EEapPacStoreProcessData\n"))); - iEapProcessHandler->SaveMessage(EEapPacStoreProcessData, aData, aLength); - aMessage.Complete(KErrNone); - break; - case EWapiCoreProcessData: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): EWapiCoreProcessData\n"))); - iEapProcessHandler->SaveMessage(EWapiCoreProcessData, aData, aLength); - aMessage.Complete(KErrNone); - break; - case EWapiSettingsProcessData: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): EWapiSettingsProcessData\n"))); - iEapProcessHandler->SaveMessage(EWapiSettingsProcessData, aData, aLength); - aMessage.Complete(KErrNone); - break; - case EEapIfReqReceive: // TAny& aBuffer - async - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): EEapIfReqReceive\n"))); - __ASSERT_DEBUG(!iReceiveActive, Server()->PanicClient(EReceiveReceiveAlreadyActive)); - // remember receive request - iReceiveMessage = aMessage; - iReceiveActive=ETrue; - iEapProcessHandler->Activate(); - break; - case EEapIfCancelReceive: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): EEapIfCancelReceive\n"))); - CancelReceive(); - break; - default: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapSession::ServiceL(): unknown aMessage.Function()=%d=%s, calls Server()->PanicClient()\n"), - aMessage.Function(), - EapServerStrings::GetEapRequestsString(aMessage.Function()))); - - Server()->PanicClient(EBadRequest); - }; - - CleanupStack::PopAndDestroy(&buffer); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ServiceL(): ends aMessage.Function()=%d=%s\n"), - aMessage.Function(), - EapServerStrings::GetEapRequestsString(aMessage.Function()))); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("-end----------------------------------------------------------------------\n"))); - } - -// ----------------------------------------------------------------------------------------- - -void CEapSession::ReceiveAll() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::ReceiveAll(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::ReceiveAll()"); - - } - -// ----------------------------------------------------------------------------------------- - -void CEapSession::Receive(RMessage2& aBuffer) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::Receive(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::Receive()"); - - __ASSERT_DEBUG(!iReceiveActive,Server()->PanicClient(EReceiveReceiveAlreadyActive)); - - // remember receive request - iReceiveMessage = aBuffer; - iReceiveActive=ETrue; - } - -// ----------------------------------------------------------------------------------------- - -void CEapSession::CancelReceive() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::CancelReceive(): this=0x%08x\n"), - this)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::CancelReceive()"); - - if (!iReceiveActive) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::CancelReceive(): No receive active\n"))); - return; - } - - iReceiveMessage.Complete(KErrCancel); - iReceiveActive=EFalse; - } - -// ----------------------------------------------------------------------------------------- - -TBool CEapSession::GetReceiveActive() -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::GetReceiveActive(): this=0x%08x: iReceiveActive=%d\n"), - this, - iReceiveActive)); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::GetReceiveActive()"); - - return iReceiveActive; -} - -// ----------------------------------------------------------------------------------------- - -eap_status_e CEapSession::SendData(EapMessageBuffer * const message) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::SendData(): this=0x%08x: message->GetRequestType()=%d=%s, message->GetData()->Length()=%d\n"), - this, - message->GetRequestType(), - EapServerStrings::GetEapRequestsString(message->GetRequestType()), - message->GetData()->Length())); - EAP_TRACE_RETURN_STRING(iTools, "returns: CEapSession::SendData()"); - - if (!iReceiveActive) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::SendData(): No receive active\n"))); - return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(KErrCancel)); - } - - TInt error(KErrNone); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::SendData(): calls iReceiveMessage.Write()\n"))); - - error = iReceiveMessage.Write(0, message->GetData()->Des()); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("CEapSession::SendData(): calls iReceiveMessage.Complete(): Write() error=%d\n"), - error)); - - iReceiveMessage.Complete(KErrNone); - iReceiveActive=EFalse; - - return EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(error)); - } - -// ----------------------------------------------------------------------------------------- -// end diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/EapSettingsIf.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/EapSettingsIf.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,288 +0,0 @@ -/* -* Copyright (c) 2009-2010 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-settings interface in EAP-server. -* -*/ - -/* -* %version: 18 % -*/ - - -#include "eap_am_tools.h" -#include "eap_am_export.h" -#include "EapSettingsIf.h" -#include "eap_automatic_variable.h" -#include "eap_config.h" -#include "eap_file_config.h" -#include "abs_eap_am_mutex.h" -#include "eap_am_general_settings.h" -#include "eap_am_general_settings_symbian.h" -#include "eap_general_settings_server_message_if.h" -#include "EapServerClientDef.h" - -/** @file */ - -//-------------------------------------------------- - -CEapSettingsIf::CEapSettingsIf( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const server) - : m_am_tools(tools) - , m_client_if(0) - , m_server_if(server) - , m_use_asyncronous_test(false) - , m_is_valid(false) -{ - if (m_am_tools == 0 || m_am_tools->get_is_valid() == false) - { - return; - } - - if (m_server_if == 0 || m_server_if->get_is_valid() == false) - { - return; - } - - m_is_valid = true; -} - -//-------------------------------------------------- - -CEapSettingsIf::~CEapSettingsIf() -{ - if (m_server_if != 0) - { - m_server_if->shutdown(); - } - delete m_server_if; - m_server_if = 0; -} - -//-------------------------------------------------- - -bool CEapSettingsIf::get_is_valid() -{ - return m_is_valid; -} - -//-------------------------------------------------- - -eap_status_e CEapSettingsIf::configure( - const eap_variable_data_c * const client_configuration) -{ - return m_server_if->configure(client_configuration); -} - -//-------------------------------------------------- - -void CEapSettingsIf::set_partner(AbsEapSendInterface * const client) -{ - m_client_if = client; -} - -// ---------------------------------------------------------------- - -eap_status_e CEapSettingsIf::send_data(const void * const data, const u32_t length) -{ - return EAP_STATUS_RETURN(m_am_tools, m_client_if->SendData(data, length, EEapSettingsSendData)); -} - -// ---------------------------------------------------------------- - -eap_status_e CEapSettingsIf::process_data(const void * const data, const u32_t length) -{ - return EAP_STATUS_RETURN(m_am_tools, m_server_if->process_data(data, length)); -} - -//-------------------------------------------------- - -// -eap_status_e CEapSettingsIf::shutdown() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("CEapSettingsIf::shutdown(): this = 0x%08x.\n"), - this)); - - eap_status_e status(eap_status_ok); - - if (m_server_if != 0) - { - status = m_server_if->shutdown(); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- - -eap_am_general_settings_c * new_eap_am_general_settings_c( - abs_eap_am_tools_c * const tools, - abs_eap_am_general_settings_c * const partner) -{ - eap_am_general_settings_c * const plugin = new eap_am_general_settings_symbian_c(tools, partner); - - // This will delete the plugin memory automatically. - eap_automatic_variable_c automatic_plugin( - tools, - plugin); - - if (plugin == 0 - || plugin->get_is_valid() == false) - { - // ERROR. - if (plugin != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: new_eap_am_general_settings_c(): plugin->shutdown()\n"))); - - (void) plugin->shutdown(); - } - return 0; - } - - eap_status_e status = plugin->configure(); - if (status != eap_status_ok) - { - (void) plugin->shutdown(); - return 0; - } - - // This will prevent automatic deletion of the plugin memory. - automatic_plugin.do_not_free_variable(); - - return plugin; -} - -//-------------------------------------------------- - -eap_am_message_if_c * eap_am_message_if_c::new_eap_general_settings_server_message_if_c( - abs_eap_am_tools_c * const tools) -{ - eap_am_message_if_c * const server = new eap_general_settings_server_message_if_c( - tools); - - // This will delete the server memory automatically. - eap_automatic_variable_c automatic_server( - tools, - server); - - if (server == 0 - || server->get_is_valid() == false) - { - // ERROR. - if (server != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: eap_am_message_if_c::new_eap_general_settings_server_message_if_c(): server->shutdown()\n"))); - - (void) server->shutdown(); - } - return 0; - } - - eap_status_e status = server->configure(0); - if (status != eap_status_ok) - { - (void) server->shutdown(); - return 0; - } - - // This will prevent automatic deletion of the server memory. - automatic_server.do_not_free_variable(); - - return server; -} - -//-------------------------------------------------- - -CEapSettingsIf* CEapSettingsIf::new_CEapSettingsIf( - abs_eap_am_tools_c * const tools) -{ - eap_am_message_if_c * const server = eap_am_message_if_c::new_eap_general_settings_server_message_if_c( - tools); - - // This will delete the server memory automatically. - eap_automatic_variable_c automatic_server( - tools, - server); - - if (server == 0 - || server->get_is_valid() == false) - { - // ERROR. - if (server != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: CEapSettingsIf::new_CEapPluginIf(): server->shutdown()\n"))); - - (void) server->shutdown(); - } - return 0; - } - - CEapSettingsIf * const settings_if = new CEapSettingsIf( - tools, - server); - - // This will delete the settings_if memory automatically. - eap_automatic_variable_c automatic_settings_if( - tools, - settings_if); - - if (settings_if == 0 - || settings_if->get_is_valid() == false) - { - // ERROR. - if (settings_if != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: CEapSettingsIf::new_CEapPluginIf(): settings_if->shutdown()\n"))); - - // This will prevent automatic deletion of the server memory. - // automatic_settings_if will delete settings_if and server too. - automatic_server.do_not_free_variable(); - - (void) settings_if->shutdown(); - } - return 0; - } - - server->set_partner(settings_if); - - // This will prevent automatic deletion of the server memory. - automatic_server.do_not_free_variable(); - // This will prevent automatic deletion of the settings_if memory. - automatic_settings_if.do_not_free_variable(); - - return settings_if; -} - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/PacStoreIf.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/PacStoreIf.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,263 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: PAC-store interface inside the EAP-server. -* -*/ - -/* -* %version: 11 % -*/ - -#include "eap_am_tools.h" -#include "eap_am_export.h" -#include "PacStoreIf.h" -#include "eap_automatic_variable.h" -#include "eap_config.h" -#include "eap_file_config.h" -#include "abs_eap_am_mutex.h" - - -/** @file */ - -//-------------------------------------------------- - -/** - * This is the timer ID used with abs_eap_am_tools_c::set_timer() and abs_eap_am_tools_c::cancel_timer(). - */ -enum pac_store_message_if_timer_id -{ - pac_store_message_IF_TIMER_PROCESS_DATA_ID, - pac_store_message_IF_TIMER_SEND_DATA_ID, -}; - -//-------------------------------------------------- - -EAP_FUNC_EXPORT CPacStoreIf::CPacStoreIf( - abs_eap_am_tools_c * const tools, - eap_am_message_if_c * const server, - AbsEapSendInterface * client) - : m_am_tools(tools) - , m_client_if(client) - , m_server_if(server) - , m_fileconfig(0) - , m_use_asyncronous_test(false) - , iIsValid(false) -{ - if (m_am_tools == 0 || m_am_tools->get_is_valid() == false) - { - return; - } - if (m_client_if == 0) - { - return; - } - if (m_server_if == 0 || m_server_if->get_is_valid() == false) - { - return; - } - - iIsValid = true; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT CPacStoreIf::~CPacStoreIf() -{ - if (m_server_if != 0) - { - m_server_if->shutdown(); - } - delete m_server_if; - m_server_if = 0; - - delete m_fileconfig; - m_fileconfig = 0; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT bool CPacStoreIf::get_is_valid() -{ - return iIsValid; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e CPacStoreIf::configure( - const eap_variable_data_c * const client_configuration) -{ - return m_server_if->configure(client_configuration); -} - -// ---------------------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e CPacStoreIf::send_data(const void * const data, const u32_t length) - { - return m_client_if->SendData(data, length, EEapPacStoreSendData); - } - -// ---------------------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e CPacStoreIf::process_data(const void * const data, const u32_t length) - { - return m_server_if->process_data(data, length); - } - -//-------------------------------------------------- - -// -EAP_FUNC_EXPORT eap_status_e CPacStoreIf::shutdown() -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - - EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true); - - EAP_TRACE_DEBUG( - m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, - (EAPL("CPacStoreIf::shutdown(): this = 0x%08x.\n"), - this)); - - eap_status_e status(eap_status_ok); - - if (m_server_if != 0) - { - status = m_server_if->shutdown(); - } - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); -} - -//-------------------------------------------------- -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_pac_store_server_message_if_c * eap_pac_store_server_message_if_c::new_eap_pac_store_server_message_if_c( - abs_eap_am_tools_c * const tools) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("eap_pac_store_server_message_if_c::new_eap_pac_store_server_message_if_c()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: eap_pac_store_server_message_if_c::new_eap_pac_store_server_message_if_c()"); - - eap_pac_store_server_message_if_c * const server = new eap_pac_store_server_message_if_c( - tools); - - eap_automatic_variable_c automatic_server( - tools, - server); - - if (server == 0 - || server->get_is_valid() == false) - { - // ERROR. - if (server != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: CPacStoreIf::CPacStoreIf(): server->shutdown()\n"))); - - (void) server->shutdown(); - } - return 0; - } - - eap_status_e status = server->configure(0); - if (status != eap_status_ok) - { - (void) server->shutdown(); - return 0; - } - - automatic_server.do_not_free_variable(); - - return server; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT CPacStoreIf* CPacStoreIf::new_CPacStoreIf( - abs_eap_am_tools_c * const tools, - const bool is_client_when_true, - const u32_t MTU, - AbsEapSendInterface * client) - { - EAP_UNREFERENCED_PARAMETER(is_client_when_true); - EAP_UNREFERENCED_PARAMETER(MTU); - eap_pac_store_server_message_if_c *server = eap_pac_store_server_message_if_c::new_eap_pac_store_server_message_if_c( - tools); - - eap_automatic_variable_c automatic_server( - tools, - server); - - if (server == 0 - || server->get_is_valid() == false) - { - // ERROR. - if (server != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: CPacStoreIf(): server->shutdown(): %s.\n"), - (is_client_when_true == true) ? "client": "server")); - - (void) server->shutdown(); - } - return 0; - } - - CPacStoreIf * pacstore_if = new CPacStoreIf( - tools, - server, - client); - - eap_automatic_variable_c automatic_pacstore_if( - tools, - pacstore_if); - - if (pacstore_if == 0 - || pacstore_if->get_is_valid() == false) - { - // ERROR. - if (pacstore_if != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: CPacStoreIf(): pacstore_if->shutdown(): %s.\n"), - (is_client_when_true == true) ? "client": "server")); - - // automatic_pacstore_if will delete pacstore_if and pacstore_if will delete server too. - automatic_server.do_not_free_variable(); - - (void) pacstore_if->shutdown(); - } - return 0; - } - - server->set_partner(pacstore_if); - - automatic_server.do_not_free_variable(); - automatic_pacstore_if.do_not_free_variable(); - - return pacstore_if; - } - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_general_settings_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_general_settings_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2660 +0,0 @@ -/* -* Copyright (c) 2009-2010 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 general settings configuration. -* -*/ - -/* -* %version: 60 % -*/ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" -#include "eap_expanded_type.h" -#include "eap_array.h" -#include "eap_database_reference_if.h" -#include "eap_am_general_settings_symbian.h" -#include "abs_eap_am_general_settings.h" -#include "eap_automatic_variable.h" -#include "EapTraceSymbian.h" -#include "EapConversion.h" -#include "EapTlsPeapCertFetcher.h" -#include "EapPluginTools.h" -#include -#include "EapAutomatic.h" - -/** @file */ - -// ---------------------------------------------------------------------- - -EAP_LITERAL_SYMBIAN(KGeneralsettingsDatabaseName, "eap_methods.dat"); - -EAP_LITERAL_SYMBIAN(KGeneralSettingsTableName, "eap_general_settings"); - -_LIT(KEapMethodEnabledValue, "enabled"); -_LIT(KEapMethodDisabledValue, "disabled"); - -_LIT(KServiceType, "service_type"); -_LIT(KServiceIndex, "service_index"); - -_LIT(KSQL, "SELECT %S, %S, %S, %S FROM %S WHERE %S=%d AND %S=%d"); - -const TUint KMaxSqlQueryLength = 512; -const TInt KDefaultColumnInView_One = 4; // For DB view. - -// ---------------------------------------------------------------------- - -eap_am_general_settings_symbian_c::eap_am_general_settings_symbian_c( - abs_eap_am_tools_c * const tools, - abs_eap_am_general_settings_c * const partner) - : m_am_tools(tools) - , m_partner(partner) - , m_is_valid(false) - , m_shutdown_was_called(false) - , iGeneralSettingsDbCreated(EFalse) - , iGeneralSettingsSessionOpened(EFalse) - , iCertificateFetcher(0) - , m_completion_status(eap_status_process_general_error) - , m_EAPType(eap_type_none) - , m_IndexType(0ul) - , m_Index(0ul) -{ - if (m_am_tools == 0 - || m_am_tools->get_is_valid() == false - || m_partner == 0) - { - return; - } - - m_is_valid = true; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::eap_am_general_settings_symbian_c(): this=0x%08x.\n"), - this)); -} - -// ---------------------------------------------------------------------- - -eap_am_general_settings_symbian_c::eap_am_general_settings_symbian_c( - abs_eap_am_tools_c * const tools) - : m_am_tools(tools) - , m_partner(0) - , m_is_valid(false) - , m_shutdown_was_called(false) - , iGeneralSettingsDbCreated(EFalse) - , iGeneralSettingsSessionOpened(EFalse) - , iCertificateFetcher(0) - , m_completion_status(eap_status_process_general_error) - , m_EAPType(eap_type_none) - , m_IndexType(0ul) - , m_Index(0ul) -{ - if (m_am_tools == 0 - || m_am_tools->get_is_valid() == false) - { - return; - } - - m_is_valid = true; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::eap_am_general_settings_symbian_c(): this=0x%08x.\n"), - this)); -} - -// ---------------------------------------------------------------------- - -eap_am_general_settings_symbian_c::~eap_am_general_settings_symbian_c() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::~eap_am_general_settings_symbian_c(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::~eap_am_general_settings_symbian_c()"); - - EAP_UNREFERENCED_PARAMETER(KGeneralsettingsDatabaseName_8bit); - - EAP_UNREFERENCED_PARAMETER(KGeneralSettingsTableName_8bit); - - CloseGeneralSettings(); - - delete iCertificateFetcher; - iCertificateFetcher = 0; - - EAP_ASSERT(m_shutdown_was_called == true); -} - -// ---------------------------------------------------------------------- - -bool eap_am_general_settings_symbian_c::get_is_valid() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::get_is_valid(): this=0x%08x, m_is_valid=%d.\n"), - this, - m_is_valid)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::get_is_valid()"); - - return m_is_valid; -} - -// ---------------------------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::configure(). -eap_status_e eap_am_general_settings_symbian_c::configure() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::configure(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::configure()"); - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -// ---------------------------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::shutdown(). -eap_status_e eap_am_general_settings_symbian_c::shutdown() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::shutdown(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::shutdown()"); - - m_shutdown_was_called = true; - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -// ---------------------------------------------------------------------- - -void eap_am_general_settings_symbian_c::CloseGeneralSettings() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::CloseGeneralSettings(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::CloseGeneralSettings()"); - - iGeneralSettingsDb.Close(); - iGeneralSettingsDbCreated = EFalse; - - iGeneralSettingsFileServerSession.Close(); - iGeneralSettingsSessionOpened = EFalse; -} - -// ---------------------------------------------------------------------- - -void eap_am_general_settings_symbian_c::OpenGeneralSettingsL() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::OpenGeneralSettingsL(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::OpenGeneralSettingsL()"); - - if(iGeneralSettingsDbCreated == EFalse - || iGeneralSettingsSessionOpened == EFalse) - { - // The general settings store DB and tables are not created. So create it. - CreateGeneralSettingsL(); - } -} - -// ---------------------------------------------------------------------- - -void eap_am_general_settings_symbian_c::CreateGeneralSettingsL() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::CreateGeneralSettingsL(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::CreateGeneralSettingsL()"); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 1. Open/create a database - - TInt error(KErrNone); - - // Connect to the DBMS server, if not connected already. - if(iGeneralSettingsSessionOpened == EFalse) - { - error = iGeneralSettingsFileServerSession.Connect(); - (void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); - User::LeaveIfError(error); - - iGeneralSettingsSessionOpened = ETrue; - } - - TFileName aPrivateDatabasePathName; - - EapPluginTools::CreateDatabaseLC( - iGeneralSettingsDb, - iGeneralSettingsFileServerSession, - error, - KGeneralsettingsDatabaseName, - aPrivateDatabasePathName); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::CreateGeneralSettingsL() - Created Secure DB for %S. error=%d (-11=DB already exist)\n"), - &KGeneralsettingsDatabaseName_8bit, - error) ); - - if(error == KErrNone) - { - // Database is closed if it was created in EapPluginTools::CreateDatabaseLC(). - // If database exists it was not opened in EapPluginTools::CreateDatabaseLC(). - iGeneralSettingsDb.Close(); - } - else if (error != KErrAlreadyExists) - { - (void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); - User::LeaveIfError(error); - } - - error = iGeneralSettingsDb.Open(iGeneralSettingsFileServerSession, aPrivateDatabasePathName); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::CreateGeneralSettingsL() - Open Secure DB for %S. error=%d (-11=DB already exist)\n"), - &KGeneralsettingsDatabaseName_8bit, - error) ); - - User::LeaveIfError(error); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // 2. Create the tables to database (ignore error if tables exist) - - HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); - TPtr sqlStatement = buf->Des(); - - // Create table for enabled and disabled EAP-types. - - //// NAME //////////////////// TYPE ///////////// Constant //////////////////// - //| ServiceType | UNSIGNED INTEGER | KServiceType |// - //| ServiceIndex | UNSIGNED INTEGER | KServiceIndex |// - //| Enabled EAP-methods | LONG VARBINARY | KEapMethodEnabledValue |// - //| Disabled EAP-methods | LONG VARBINARY | KEapMethodDisabledValue |// - /////////////////////////////////////////////////////////////////////////////// - - _LIT(KSQLCreateTable2, "CREATE TABLE %S (%S UNSIGNED INTEGER, \ - %S UNSIGNED INTEGER, \ - %S LONG VARBINARY, \ - %S LONG VARBINARY)"); - - sqlStatement.Format( - KSQLCreateTable2, - &KGeneralSettingsTableName, - &KServiceType, - &KServiceIndex, - &KEapMethodEnabledValue, - &KEapMethodDisabledValue); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::CreateGeneralSettingsL() - SQL query formated OK\n"))); - - error = iGeneralSettingsDb.Execute(sqlStatement); - if (error != KErrNone - && error != KErrAlreadyExists) - { - (void)EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); - User::Leave(error); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::CreateGeneralSettingsL() Created Groups table\n"))); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CleanupStack::PopAndDestroy( buf ); - CleanupStack::Pop(&iGeneralSettingsDb); - CleanupStack::Pop(&iGeneralSettingsFileServerSession); - - iGeneralSettingsDbCreated = ETrue; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::CreateGeneralSettingsL(): End \n"))); - -} // eap_am_general_settings_symbian_c::CreateGeneralSettingsL() - -// ---------------------------------------------------------------------- - -void eap_am_general_settings_symbian_c::GetGeneralSettingsLongBinaryL( - RDbView &aViev, - const TDesC &aColName, - HBufC8** const aMethods) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsLongBinaryL(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::GetGeneralSettingsLongBinaryL()"); - - // Get column set so we get the correct column numbers - CDbColSet* colSet = aViev.ColSetL(); - CleanupStack::PushL(colSet); - - TDbColNo colNoReference = 0; - colNoReference = colSet->ColNo(aColName); - - switch (aViev.ColType(colNoReference)) - { - case EDbColLongBinary: - { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsLongBinaryL() - Long Binary column"), - aColName.Ptr(), - aColName.Size())); - - // A stream is needed for LONG columns in DB. - RDbColReadStream readStream; - - // Get the value from DB. - HBufC8* valueBuf = HBufC8::NewLC(aViev.ColLength(colNoReference)); // Buffer for the data. - TPtr8 value8 = valueBuf->Des(); - - readStream.OpenLC(aViev, colNoReference); - readStream.ReadL(value8, aViev.ColLength(colNoReference)); - readStream.Close(); - CleanupStack::PopAndDestroy(&readStream); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsLongBinaryL(): LONG BINARY value from DB"), - value8.Ptr(), - value8.Size())); - - *aMethods = HBufC8::New(value8.Size()); - - // This to avoid the use of clean up stack for output parameter. - if ((*aMethods) != 0) - { - TPtr8 aDbBinaryColumnValuePtr = (*aMethods)->Des(); - - aDbBinaryColumnValuePtr.Copy(value8); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsLongBinaryL(): LONG BINARY value to caller"), - aDbBinaryColumnValuePtr.Ptr(), - aDbBinaryColumnValuePtr.Size())); - } - else - { - User::Leave(KErrNoMemory); - } - - CleanupStack::PopAndDestroy(valueBuf); - - break; - } - default: - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::GetGeneralSettingsLongBinaryL(): Unsupported DB field:%d = %S\n"), - aViev.ColType(colNoReference), - &aColName)); - - User::Leave(KErrNotSupported); - break; - } // End: switch () - - CleanupStack::PopAndDestroy(colSet); -} - -// ---------------------------------------------------------------------- - -void eap_am_general_settings_symbian_c::GetGeneralSettingsDataL( - const TUint indexType, - const TUint index, - HBufC8** const aEnabledEapMethods, - HBufC8** const aDisabledEapMethods) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL(): iGeneralSettingsSessionOpened=%d, iGeneralSettingsDbCreated=%d"), - iGeneralSettingsSessionOpened, - iGeneralSettingsDbCreated)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::GetGeneralSettingsDataL()"); - - *aEnabledEapMethods = 0; - *aDisabledEapMethods = 0; - - if(iGeneralSettingsSessionOpened == EFalse) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL(): ERROR: General settings session not opened!"))); - - User::Leave(KErrSessionClosed); - } - - HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); - TPtr sqlStatement = buf->Des(); - - sqlStatement.Format( - KSQL, - &KServiceType, - &KServiceIndex, - &KEapMethodEnabledValue, - &KEapMethodDisabledValue, - &KGeneralSettingsTableName, - &KServiceType, - indexType, - &KServiceIndex, - index); - - - RDbView view; - - User::LeaveIfError(view.Prepare( - iGeneralSettingsDb, - TDbQuery(sqlStatement), - TDbWindow::EUnlimited, - RDbView::EReadOnly)); - - CleanupClosePushL(view); - - User::LeaveIfError(view.EvaluateAll()); - - if (view.IsEmptyL()) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL(): No entries in this table (%S) RETURN EMPTY VALUE"), - &KGeneralSettingsTableName_8bit)); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL():sqlStatement"), - sqlStatement.Ptr(), - sqlStatement.Size())); - - CleanupStack::PopAndDestroy(&view); - - CleanupStack::PopAndDestroy(buf); - - return; - } - else - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL(): Number of entries in table %S=%d"), - &KGeneralSettingsTableName_8bit, view.CountL())); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL() - view evaluated OK\n"))); - - - if (view.FirstL()) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL() - First OK\n"))); - - view.GetL(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL() - First Got\n"))); - - GetGeneralSettingsLongBinaryL(view, KEapMethodEnabledValue, aEnabledEapMethods); - - GetGeneralSettingsLongBinaryL(view, KEapMethodDisabledValue, aDisabledEapMethods); - } - - CleanupStack::PopAndDestroy( &view ); - - CleanupStack::PopAndDestroy(buf); // We don't need buf or sqlStatement any more. - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::GetGeneralSettingsDataL(): End"))); -} - -// ---------------------------------------------------------------------- - -void eap_am_general_settings_symbian_c::SetGeneralSettingsLongBinaryL( - RDbView &aViev, - const TDesC &aColName, - const TDesC8& aMethods) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsLongBinaryL(): iGeneralSettingsSessionOpened=%d, iGeneralSettingsDbCreated=%d"), - iGeneralSettingsSessionOpened, - iGeneralSettingsDbCreated)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::SetGeneralSettingsLongBinaryL()"); - - // Get column set so we get the correct column numbers - CDbColSet* colSet = aViev.ColSetL(); - CleanupStack::PushL(colSet); - - TDbColNo colNoReference = 0; - colNoReference = colSet->ColNo(aColName); - - switch (aViev.ColType(colNoReference)) - { - case EDbColLongBinary: - { - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsLongBinaryL() - Long Binary column"), - aColName.Ptr(), - aColName.Size())); - - // A stream is needed for LONG columns in DB. - RDbColWriteStream writeStream; - writeStream.OpenLC( aViev, colNoReference ); - writeStream.WriteL( aMethods ); - writeStream.Close(); - CleanupStack::PopAndDestroy( &writeStream ); - break; - } - default: - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsLongBinaryL(): ERROR: Unsupported DB field:%d = %S\n"), - aViev.ColType(colNoReference), - &aColName)); - - User::Leave(KErrNotSupported); - break; - - } // End: switch (aViev.ColType(colNoReference)) - - CleanupStack::PopAndDestroy(colSet); -} - -//------------------------------------------------------------- - -void eap_am_general_settings_symbian_c::SetGeneralSettingsDataL( - const TUint indexType, - const TUint index, - const TDesC8& aEnabledEapMethods, - const TDesC8& aDisabledEapMethods) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsDataL(): iGeneralSettingsSessionOpened=%d, iGeneralSettingsDbCreated=%d"), - iGeneralSettingsSessionOpened, iGeneralSettingsDbCreated)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::SetGeneralSettingsDataL()"); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsDataL(): Set this value in general settings DB"), - aEnabledEapMethods.Ptr(), - aEnabledEapMethods.Size())); - - if(iGeneralSettingsSessionOpened == EFalse) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsDataL(): ERROR: General settings session not opened!"))); - - User::Leave(KErrSessionClosed); - } - - HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); - TPtr sqlStatement = buf->Des(); - - sqlStatement.Format( - KSQL, - &KServiceType, - &KServiceIndex, - &KEapMethodEnabledValue, - &KEapMethodDisabledValue, - &KGeneralSettingsTableName, - &KServiceType, - indexType, - &KServiceIndex, - index); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsDataL():sqlStatement"), - sqlStatement.Ptr(), - sqlStatement.Size())); - - RDbView view; - - User::LeaveIfError(view.Prepare( - iGeneralSettingsDb, - TDbQuery(sqlStatement), - TDbWindow::EUnlimited, - RDbView::EUpdatable)); - - CleanupClosePushL(view); - - User::LeaveIfError(view.EvaluateAll()); - - { - if(view.ColCount() != KDefaultColumnInView_One) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("eap_am_general_settings_symbian_c::SetGeneralSettingsDataL(): ERROR: Problem with rows or columns in DB view, view.IsEmptyL()=%d, row count=%d, col count=%d \n"), - view.IsEmptyL(), - view.CountL(), - view.ColCount())); - - User::Leave(KErrNotFound); - } - - if (view.FirstL()) - { - view.UpdateL(); // Here it is update. - } - else - { - view.InsertL(); // Here it is insert. - } - - { - CDbColSet* colSet = view.ColSetL(); - CleanupStack::PushL(colSet); - - TDbColNo colNoServiceType = 0; - TDbColNo colNoServiceIndex = 0; - - colNoServiceType = colSet->ColNo(KServiceType); - colNoServiceIndex = colSet->ColNo(KServiceIndex); - - CleanupStack::PopAndDestroy(colSet); // delete colSet. - - view.SetColL(colNoServiceType, indexType); - view.SetColL(colNoServiceIndex, index); - - SetGeneralSettingsLongBinaryL(view, KEapMethodEnabledValue, aEnabledEapMethods); - - SetGeneralSettingsLongBinaryL(view, KEapMethodDisabledValue, aDisabledEapMethods); - } - } - - // Now it should go to the DB. - view.PutL(); - - CleanupStack::PopAndDestroy( &view ); - - CleanupStack::PopAndDestroy(buf); -} - -//------------------------------------------------------------- - -void eap_am_general_settings_symbian_c::DeleteGeneralSettingsDataL( - const TUint indexType, - const TUint index) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::DeleteGeneralSettingsDataL(): iGeneralSettingsSessionOpened=%d, iGeneralSettingsDbCreated=%d"), - iGeneralSettingsSessionOpened, iGeneralSettingsDbCreated)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::DeleteGeneralSettingsDataL()"); - - if(iGeneralSettingsSessionOpened == EFalse) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("eap_am_general_settings_symbian_c::DeleteGeneralSettingsDataL(): ERROR: General settings session not opened!"))); - - User::Leave(KErrSessionClosed); - } - - HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); - TPtr sqlStatement = buf->Des(); - - sqlStatement.Format( - KSQL, - &KServiceType, - &KServiceIndex, - &KEapMethodEnabledValue, - &KEapMethodDisabledValue, - &KGeneralSettingsTableName, - &KServiceType, - indexType, - &KServiceIndex, - index); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::DeleteGeneralSettingsDataL():sqlStatement"), - sqlStatement.Ptr(), - sqlStatement.Size())); - - RDbView view; - - User::LeaveIfError(view.Prepare( - iGeneralSettingsDb, - TDbQuery(sqlStatement), - TDbWindow::EUnlimited, - RDbView::EUpdatable)); - - CleanupClosePushL(view); - - User::LeaveIfError(view.EvaluateAll()); - - { - // Delete old row and also rows that are for same IAP. - if (view.FirstL()) - { - CDbColSet* colSet = view.ColSetL(); - CleanupStack::PushL(colSet); - - do { - view.GetL(); - - if (view.ColUint32(colSet->ColNo(KServiceType)) == static_cast(indexType) - && view.ColUint32(colSet->ColNo(KServiceIndex)) == static_cast(index)) - { - view.DeleteL(); - } - - } while (view.NextL() != EFalse); - - CleanupStack::PopAndDestroy(colSet); // delete colSet. - } - } - - CleanupStack::PopAndDestroy( &view ); - - CleanupStack::PopAndDestroy(buf); -} - -// ---------------------------------------------------------------------- - -void eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL( - const TUint aSourceIndexType, - const TUint aSourceIndex, - const TUint aDestinationIndexType, - const TUint aDestinationIndex) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL(): iGeneralSettingsSessionOpened=%d, iGeneralSettingsDbCreated=%d"), - iGeneralSettingsSessionOpened, iGeneralSettingsDbCreated)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL()"); - - if(iGeneralSettingsSessionOpened == EFalse) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL(): ERROR: General settings session not opened!"))); - - User::Leave(KErrSessionClosed); - } - - if (aSourceIndexType == aDestinationIndexType - && aSourceIndex == aDestinationIndex) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL(): ERROR: aSourceIndexType == aDestinationIndexType && aSourceIndex == aDestinationIndex"))); - - User::Leave(KErrArgument); - } - - HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); - TPtr sqlStatement = buf->Des(); - - sqlStatement.Format( - KSQL, - &KServiceType, - &KServiceIndex, - &KEapMethodEnabledValue, - &KEapMethodDisabledValue, - &KGeneralSettingsTableName, - &KServiceType, - aDestinationIndexType, - &KServiceIndex, - aDestinationIndex); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL():sqlStatement"), - sqlStatement.Ptr(), - sqlStatement.Size())); - - RDbView view; - - User::LeaveIfError(view.Prepare( - iGeneralSettingsDb, - TDbQuery(sqlStatement), - TDbWindow::EUnlimited, - RDbView::EUpdatable)); - - CleanupClosePushL(view); - - User::LeaveIfError(view.EvaluateAll()); - - { - // Delete destination old data. - if (view.FirstL()) - { - CDbColSet* colSet = view.ColSetL(); - CleanupStack::PushL(colSet); - - do - { - view.GetL(); - - if (view.ColUint(colSet->ColNo(KServiceType)) == static_cast(aDestinationIndexType) - && view.ColUint(colSet->ColNo(KServiceIndex)) == static_cast(aDestinationIndex)) - { - EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL(): Delete old records\n") ) ); - view.DeleteL(); - } - } - while (view.NextL() != EFalse); - - view.Close(); - - CleanupStack::PopAndDestroy(colSet); // delete colSet. - } - - sqlStatement.Format( - KSQL, - &KServiceType, - &KServiceIndex, - &KEapMethodEnabledValue, - &KEapMethodDisabledValue, - &KGeneralSettingsTableName, - &KServiceType, - aSourceIndexType, - &KServiceIndex, - aSourceIndex); - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::CopyGeneralSettingsDataL():sqlStatement"), - sqlStatement.Ptr(), - sqlStatement.Size())); - - User::LeaveIfError(view.Prepare( - iGeneralSettingsDb, - TDbQuery(sqlStatement), - TDbWindow::EUnlimited, - RDbView::EUpdatable)); - - User::LeaveIfError(view.EvaluateAll()); - - // Copy source row to destination. - if (view.FirstL()) - { - CDbColSet* colSet = view.ColSetL(); - CleanupStack::PushL(colSet); - TDbBookmark bookmark; - - do - { - view.GetL(); - - if (view.ColUint32(colSet->ColNo(KServiceType)) == static_cast(aSourceIndexType) - && view.ColUint32(colSet->ColNo(KServiceIndex)) == static_cast(aSourceIndex)) - { - bookmark = view.Bookmark(); - - view.InsertCopyL(); - - view.SetColL(colSet->ColNo(KServiceType), static_cast(aDestinationIndexType)); - view.SetColL(colSet->ColNo(KServiceIndex), static_cast(aDestinationIndex)); - - view.PutL(); - - view.GotoL(bookmark); - } - - } - while (view.NextL() != EFalse); - - CleanupStack::PopAndDestroy(colSet); // delete colSet. - } - } - - CleanupStack::PopAndDestroy( &view ); - - CleanupStack::PopAndDestroy(buf); -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_general_settings_symbian_c::error_complete( - const eap_status_e completion_status, - const eap_method_settings_c * const internal_settings, - const eap_tlv_message_type_function_e error_completion_function) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::error_complete(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::error_complete()"); - - CloseGeneralSettings(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::error_complete(): this=0x%08x, CloseGeneralSettings()\n"), - this)); - - if (internal_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools, internal_settings); - - eap_automatic_variable_c automatic_complete_settings( - m_am_tools, - complete_settings); - - if (complete_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - complete_settings->m_completion_status = completion_status; - - eap_status_e status(eap_status_not_supported); - - switch(error_completion_function) - { - case eap_tlv_message_type_function_general_settings_complete_get_eap_methods: - status = m_partner->complete_get_eap_methods(complete_settings); - break; - case eap_tlv_message_type_function_general_settings_complete_set_eap_methods: - status = m_partner->complete_set_eap_methods(complete_settings); - break; - case eap_tlv_message_type_function_general_settings_complete_get_certificate_lists: - status = m_partner->complete_get_certificate_lists(complete_settings); - break; - case eap_tlv_message_type_function_general_settings_complete_delete_all_eap_settings: - status = m_partner->complete_delete_all_eap_settings(complete_settings); - break; - case eap_tlv_message_type_function_general_settings_complete_copy_all_eap_settings: - status = m_partner->complete_copy_all_eap_settings(complete_settings); - break; - default: - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::error_complete(): unknown function %d.\n"), - error_completion_function)); - - EAP_ASSERT_ANYWAY_TOOLS(m_am_tools); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_general_settings_symbian_c::filter_eap_methods( - eap_array_c * const eap_methods, - RPointerArray * const aPlugins) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::filter_eap_methods(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::filter_eap_methods()"); - - eap_status_e status(eap_status_ok); - - for (TInt act_ind = 0; act_ind < eap_methods->get_object_count(); ++act_ind) - { - const eap_type_value_e * active_type = eap_methods->get_object(act_ind); - if (active_type == 0) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::filter_eap_methods(): eap_methods[%d] EAP-type=0xfe%06x%08x\n"), - act_ind, - active_type->get_vendor_id(), - active_type->get_vendor_type())); - - bool exists(false); - - for (TInt plugin_ind = 0; plugin_ind < aPlugins->Count(); ++plugin_ind) - { - const TEapExpandedType * eap_type = (*aPlugins)[plugin_ind]; - if (eap_type == 0) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_general_settings_symbian_c::filter_eap_methods(): aPlugins[%d] EAP-type=0xfe%06x%08x\n"), - plugin_ind, - eap_type->GetVendorId(), - eap_type->GetVendorType())); - - const eap_type_value_e common_eap_type( - static_cast(eap_type->GetVendorId()), - eap_type->GetVendorType()); - - if (common_eap_type == *active_type) - { - // OK, this active EAP-method have implementation. - exists = true; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::filter_eap_methods(): Removes from aPlugins EAP-type=0xfe%06x%08x\n"), - common_eap_type.get_vendor_id(), - common_eap_type.get_vendor_type())); - - // Remove this plugin EAP-method because it is in the list of EAP-methods. - delete (*aPlugins)[plugin_ind]; - aPlugins->Remove(plugin_ind); - - break; - } - } // for() - - if (exists == false) - { - // Remove this EAP-method because there are no implementation. - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::filter_eap_methods(): Removes from eap_methods EAP-type=0xfe%06x%08x\n"), - active_type->get_vendor_id(), - active_type->get_vendor_type())); - - status = eap_methods->remove_object(act_ind); - if (status != eap_status_ok) - { - return EAP_STATUS_RETURN(m_am_tools, status); - } - - --act_ind; - } - } // for() - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_general_settings_symbian_c::read_eap_methods_synchronously( - const TUint indexType, - const TUint index, - eap_array_c * const aEnabledEapMethodsArray, - eap_array_c * const aDisabledEapMethodsArray) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::read_eap_methods_synchronously()"); - - TInt error = KErrNone; - - TRAP(error, (OpenGeneralSettingsL())); - - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): OpenGeneralSettingsL() failed, indexType=%d, index=%d, error=%d.\n"), - indexType, - index, - error)); - - CloseGeneralSettings(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): this=0x%08x, CloseGeneralSettings()\n"), - this)); - - return EAP_STATUS_RETURN( - m_am_tools, - m_am_tools->convert_am_error_to_eapol_error(error)); - } - - - HBufC8 *aEnabledEapMethods = 0; - HBufC8 *aDisabledEapMethods = 0; - - // The output parameters aEnabledEapMethods and aDisabledEapMethods are NOT in clean up stack. - TRAP(error, (GetGeneralSettingsDataL( - indexType, - index, - &aEnabledEapMethods, - &aDisabledEapMethods))); - - eap_automatic_variable_c automatic_aEnabledEapMethods( - m_am_tools, - aEnabledEapMethods); - - eap_automatic_variable_c automatic_aDisabledEapMethods( - m_am_tools, - aDisabledEapMethods); - - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): GetGeneralSettingsDataL() failed, index_type=%d, index=%d, error=%d.\n"), - indexType, - index, - error)); - - CloseGeneralSettings(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): this=0x%08x, CloseGeneralSettings()\n"), - this)); - - return EAP_STATUS_RETURN( - m_am_tools, - m_am_tools->convert_am_error_to_eapol_error(error)); - } - - if (aEnabledEapMethods != 0) - { - error = CEapConversion::ConvertHBufC8ToInternalTypes( - m_am_tools, - aEnabledEapMethods, - aEnabledEapMethodsArray); - - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): index_type=%d, index=%d.\n"), - indexType, - index)); - - CloseGeneralSettings(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): this=0x%08x, CloseGeneralSettings()\n"), - this)); - - return EAP_STATUS_RETURN( - m_am_tools, - m_am_tools->convert_am_error_to_eapol_error(error)); - } - } - - if (aDisabledEapMethods != 0) - { - error = CEapConversion::ConvertHBufC8ToInternalTypes( - m_am_tools, - aDisabledEapMethods, - aDisabledEapMethodsArray); - - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): index_type=%d, index=%d.\n"), - indexType, - index)); - - CloseGeneralSettings(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): this=0x%08x, CloseGeneralSettings()\n"), - this)); - - return EAP_STATUS_RETURN( - m_am_tools, - m_am_tools->convert_am_error_to_eapol_error(error)); - } - } - - iGeneralSettingsDb.Compact(); - - CloseGeneralSettings(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::read_eap_methods_synchronously(): this=0x%08x, CloseGeneralSettings()\n"), - this)); - - return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_general_settings_symbian_c::get_eap_methods(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::get_eap_methods(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::get_eap_methods()"); - - const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_general_settings_complete_get_eap_methods); - - HBufC8 *aEnabledEapMethods = 0; - HBufC8 *aDisabledEapMethods = 0; - - TInt error(KErrNone); - eap_status_e status(eap_status_ok); - - TRAP(error, (OpenGeneralSettingsL())); - - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::get_eap_methods(): OpenGeneralSettingsL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - - // The output parameters aEnabledEapMethods and aDisabledEapMethods are NOT in clean up stack. - TRAP(error, (GetGeneralSettingsDataL( - internal_settings->m_IndexType, - internal_settings->m_Index, - &aEnabledEapMethods, - &aDisabledEapMethods))); - - eap_automatic_variable_c automatic_aEnabledEapMethods( - m_am_tools, - aEnabledEapMethods); - - eap_automatic_variable_c automatic_aDisabledEapMethods( - m_am_tools, - aDisabledEapMethods); - - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::get_eap_methods(): GetGeneralSettingsDataL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - - RPointerArray plugins_array; - - PointerArrayResetAndDestroy aAutomaticPlugins(&plugins_array, EFalse); - - EapPluginTools aPluginTool; - - TEapExpandedType aTunnelingType(*EapExpandedTypeNone.GetType()); - - TRAP(error, (aPluginTool.ListAllEapPluginsL(static_cast(internal_settings->m_IndexType), aTunnelingType, plugins_array))); - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::get_eap_methods(): aPluginTool.ListAllEapPluginsL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_complete_settings( - m_am_tools, - complete_settings); - - if (complete_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - if (aEnabledEapMethods != 0) - { - error = CEapConversion::ConvertHBufC8ToInternalTypes( - m_am_tools, - aEnabledEapMethods, - &(complete_settings->m_active_eap_methods)); - - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::get_eap_methods(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - } - - if (aDisabledEapMethods != 0) - { - error = CEapConversion::ConvertHBufC8ToInternalTypes( - m_am_tools, - aDisabledEapMethods, - &(complete_settings->m_disabled_eap_methods)); - - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::get_eap_methods(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - } - - // Next filter out unimplemented EAP-methods. - status = filter_eap_methods( - &(complete_settings->m_active_eap_methods), - &plugins_array); - if (status != eap_status_ok) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - status, - internal_settings, - error_completion_function)); - } - - // Check the disabled EAP-method have implementation. - status = filter_eap_methods( - &(complete_settings->m_disabled_eap_methods), - &plugins_array); - if (status != eap_status_ok) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - status, - internal_settings, - error_completion_function)); - } - - // Add the rest of the implemented EAP-methods to the disabled EAP-methods. - for (TInt plugin_ind = 0; plugin_ind < plugins_array.Count(); ++plugin_ind) - { - const TEapExpandedType * eap_type = plugins_array[plugin_ind]; - if (eap_type == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - const eap_type_value_e common_eap_type( - static_cast(eap_type->GetVendorId()), - eap_type->GetVendorType()); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::get_eap_methods(): Adds disabled EAP-type=0xfe%06x%08x\n"), - eap_type->GetVendorId(), - eap_type->GetVendorType())); - - status = complete_settings->m_disabled_eap_methods.add_object(common_eap_type.copy(), true); - if (status != eap_status_ok) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - status, - internal_settings, - error_completion_function)); - } - } // for() - - complete_settings->m_SelectedEAPTypesPresent = true; - - complete_settings->m_completion_status = eap_status_ok; - complete_settings->m_EAPType = internal_settings->m_EAPType; - complete_settings->m_IndexType = internal_settings->m_IndexType; - complete_settings->m_Index = internal_settings->m_Index; - - status = m_partner->complete_get_eap_methods(complete_settings); - - - iGeneralSettingsDb.Compact(); - - CloseGeneralSettings(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::get_eap_methods(): this=0x%08x, CloseGeneralSettings()\n"), - this)); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_general_settings_symbian_c::set_eap_methods(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::set_eap_methods(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::set_eap_methods()"); - - const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_general_settings_complete_set_eap_methods); - - TInt error = KErrNone; - - TRAP(error, (OpenGeneralSettingsL())); - - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::set_eap_methods(): OpenGeneralSettingsL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - - HBufC8 *aEnabledEapMethods = 0; - HBufC8 *aDisabledEapMethods = 0; - - error = CEapConversion::ConvertInternalTypesToHBufC8( - m_am_tools, - &(internal_settings->m_active_eap_methods), - &aEnabledEapMethods); - - eap_automatic_variable_c automatic_aEnabledEapMethods( - m_am_tools, - aEnabledEapMethods); - - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::set_eap_methods(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - error = CEapConversion::ConvertInternalTypesToHBufC8( - m_am_tools, - &(internal_settings->m_disabled_eap_methods), - &aDisabledEapMethods); - - eap_automatic_variable_c automatic_aDisabledEapMethods( - m_am_tools, - aDisabledEapMethods); - - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::set_eap_methods(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - TRAP(error, (SetGeneralSettingsDataL( - internal_settings->m_IndexType, - internal_settings->m_Index, - *aEnabledEapMethods, - *aDisabledEapMethods))); - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::set_eap_methods(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_complete_settings( - m_am_tools, - complete_settings); - - if (complete_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - complete_settings->m_completion_status = eap_status_ok; - complete_settings->m_EAPType = internal_settings->m_EAPType; - complete_settings->m_IndexType = internal_settings->m_IndexType; - complete_settings->m_Index = internal_settings->m_Index; - - eap_status_e status = m_partner->complete_set_eap_methods(complete_settings); - - iGeneralSettingsDb.Compact(); - - CloseGeneralSettings(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::set_eap_methods(): this=0x%08x, CloseGeneralSettings()\n"), - this)); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_general_settings_symbian_c::get_certificate_lists(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::get_certificate_lists(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::get_certificate_lists()"); - - TInt error(KErrNone); - - const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_general_settings_complete_get_certificate_lists); - - if (iCertificateFetcher == 0) - { - TRAP(error, iCertificateFetcher = CEapTlsPeapCertFetcher::NewL(this)); - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::get_certificate_lists(): this=0x%08x: CEapTlsPeapCertFetcher::NewL() failed=%d\n"), - this, - error)); - - eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_complete_settings( - m_am_tools, - complete_settings); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - complete_settings, - error_completion_function)); - } - } - - m_completion_status = internal_settings->m_completion_status; - m_EAPType = internal_settings->m_EAPType; - m_IndexType = internal_settings->m_IndexType; - m_Index = internal_settings->m_Index; - - TRAP(error, (iCertificateFetcher->GetCertificatesL())); - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::get_certificate_lists(): iCertificateFetcher->GetCertificatesL(), error=%d\n"), - error)); - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - CloseGeneralSettings(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::get_certificate_lists(): this=0x%08x, CloseGeneralSettings()\n"), - this)); - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -// ---------------------------------------------------------- - -void eap_am_general_settings_symbian_c::CompleteReadCertificatesL( - const RPointerArray& aAvailableUserCerts, - const RPointerArray& aAvailableCACerts) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::CompleteReadCertificatesL(): - Available cert count in device - USER=%d, CA=%d \n"), - aAvailableUserCerts.Count(), - aAvailableCACerts.Count())); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::CompleteReadCertificatesL()"); - - // Now all available certificates have been read. - - const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_general_settings_complete_get_certificate_lists); - - eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_complete_settings( - m_am_tools, - complete_settings); - - if (complete_settings == 0) - { - (void) EAP_STATUS_RETURN(m_am_tools, error_complete( - eap_status_allocation_error, - complete_settings, - error_completion_function)); - } - - TInt error = CEapConversion::ConvertCertificatesToInternalType( - m_am_tools, - &aAvailableUserCerts, - &(complete_settings->m_Certificates)); - if (error != KErrNone) - { - (void) EAP_STATUS_RETURN(m_am_tools, error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - complete_settings, - error_completion_function)); - } - - error = CEapConversion::ConvertCertificatesToInternalType( - m_am_tools, - &aAvailableCACerts, - &(complete_settings->m_Certificates)); - if (error != KErrNone) - { - (void) EAP_STATUS_RETURN(m_am_tools, error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - complete_settings, - error_completion_function)); - } - - complete_settings->m_CertificatesPresent = true; - - complete_settings->m_completion_status = eap_status_ok; - complete_settings->m_EAPType = m_EAPType; - complete_settings->m_IndexType = m_IndexType; - complete_settings->m_Index = m_Index; - - eap_status_e status = m_partner->complete_get_certificate_lists(complete_settings); - - (void) EAP_STATUS_RETURN(m_am_tools, status); - EAP_UNREFERENCED_PARAMETER(status); -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_general_settings_symbian_c::delete_all_eap_settings(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::delete_all_eap_settings()"); - - const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_general_settings_complete_delete_all_eap_settings); - - TInt error(KErrNone); - - TRAP(error, (OpenGeneralSettingsL())); - - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): OpenGeneralSettingsL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_complete_settings( - m_am_tools, - complete_settings); - - if (complete_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x: DeleteGeneralSettingsDataL(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d\n"), - this, - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - - TRAP(error, (DeleteGeneralSettingsDataL( - internal_settings->m_IndexType, - internal_settings->m_Index))); - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - { - RPointerArray plugins_array; - - PointerArrayResetAndDestroy aAutomaticPlugins(&plugins_array, EFalse); - - EapPluginTools aPluginTool; - - TEapExpandedType aTunnelingType(*EapExpandedTypeNone.GetType()); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x: aPluginTool.ListAllEapPluginsL(): tunneling EAP-type=0xfe%06x%08x, index_type=%d, index=%d\n"), - this, - aTunnelingType.GetVendorId(), - aTunnelingType.GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - - // This will list all outer EAP-methods because aTunnelingType = None. - TRAP(error, (aPluginTool.ListAllEapPluginsL(static_cast(internal_settings->m_IndexType), aTunnelingType, plugins_array))); - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): aPluginTool.ListAllEapPluginsL() failed, tunneling EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"), - aTunnelingType.GetVendorId(), - aTunnelingType.GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - TUint ind_outer(0ul); - - for (ind_outer = 0ul; ind_outer < plugins_array.Count(); ++ind_outer) - { - - // List all plugins that could be used inside the each outer EAP-method on each plugin. - - RPointerArray tunneled_plugins; - - PointerArrayResetAndDestroy aAutomaticTunneledPlugins(&tunneled_plugins, EFalse); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x: aPluginTool.ListAllEapPluginsL(): tunneling EAP-type=0xfe%06x%08x, index_type=%d, index=%d\n"), - this, - plugins_array[ind_outer]->GetVendorId(), - plugins_array[ind_outer]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - - // This will list all inner EAP-methods of EAP-type. - TRAP(error, (aPluginTool.ListAllEapPluginsL(static_cast(internal_settings->m_IndexType), plugins_array[ind_outer], tunneled_plugins))); - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): aPluginTool.ListAllEapPluginsL() failed, tunneling EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"), - plugins_array[ind_outer]->GetVendorId(), - plugins_array[ind_outer]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - - // Delete possible configuration of each inner EAP-method that could be configured inside of outer EAP-method. - - TUint ind_inner(0ul); - - for (ind_inner = 0ul; ind_inner < tunneled_plugins.Count(); ++ind_inner) - { - CEapTypePlugin * eapType = NULL; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x: CEapTypePlugin::NewL(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d\n"), - this, - tunneled_plugins[ind_inner]->GetVendorId(), - tunneled_plugins[ind_inner]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - - TRAP(error, (eapType = CEapTypePlugin::NewL( - tunneled_plugins[ind_inner]->GetValue(), - static_cast(internal_settings->m_IndexType), - internal_settings->m_Index))); - - // This will automatically delete eapType. - eap_automatic_variable_c automatic_eap_type( - m_am_tools, - eapType); - - if(error != KErrNone - || eapType == NULL) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): CEapTypePlugin::NewL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"), - tunneled_plugins[ind_inner]->GetVendorId(), - tunneled_plugins[ind_inner]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - eapType->SetTunnelingType(plugins_array[ind_outer]); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x: eapType->DeleteConfigurationL(): EAP-type=0xfe%06x%08x, index_type=%d, index=%d\n"), - this, - tunneled_plugins[ind_inner]->GetVendorId(), - tunneled_plugins[ind_inner]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - - TRAP(error, (eapType->DeleteConfigurationL())); - if(error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): eapType->DeleteConfigurationL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"), - tunneled_plugins[ind_inner]->GetVendorId(), - tunneled_plugins[ind_inner]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - } // for() - - - { - - // Delete possible configuration of each outer EAP-method on each plugin. - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x: CEapTypePlugin::NewL(): outer EAP-type=0xfe%06x%08x, index_type=%d, index=%d\n"), - this, - plugins_array[ind_outer]->GetVendorId(), - plugins_array[ind_outer]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - - CEapTypePlugin * eapType = NULL; - - TRAP(error, (eapType = CEapTypePlugin::NewL( - plugins_array[ind_outer]->GetValue(), - static_cast(internal_settings->m_IndexType), - internal_settings->m_Index))); - - // This will automatically delete eapType. - eap_automatic_variable_c automatic_eap_type( - m_am_tools, - eapType); - - if(error != KErrNone - || eapType == NULL) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): CEapTypePlugin::NewL() failed, outer EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"), - plugins_array[ind_outer]->GetVendorId(), - plugins_array[ind_outer]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x: eapType->DeleteConfigurationL(): outer EAP-type=0xfe%06x%08x, index_type=%d, index=%d\n"), - this, - plugins_array[ind_outer]->GetVendorId(), - plugins_array[ind_outer]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - - TRAP(error, (eapType->DeleteConfigurationL())); - if(error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::delete_all_eap_settings(): eapType->DeleteConfigurationL() failed, outer EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"), - plugins_array[ind_outer]->GetVendorId(), - plugins_array[ind_outer]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - } - - } // for() - - } - - complete_settings->m_completion_status = eap_status_ok; - complete_settings->m_EAPType = internal_settings->m_EAPType; - complete_settings->m_IndexType = internal_settings->m_IndexType; - complete_settings->m_Index = internal_settings->m_Index; - - eap_status_e status = m_partner->complete_delete_all_eap_settings(complete_settings); - - iGeneralSettingsDb.Compact(); - - CloseGeneralSettings(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::delete_all_eap_settings(): this=0x%08x, CloseGeneralSettings()\n"), - this)); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_general_settings_symbian_c::copy_all_eap_settings(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_general_settings_symbian_c::copy_all_eap_settings()"); - - const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_general_settings_complete_copy_all_eap_settings); - - TInt error(KErrNone); - - TRAP(error, (OpenGeneralSettingsL())); - - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): OpenGeneralSettingsL() failed, EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_complete_settings( - m_am_tools, - complete_settings); - - if (complete_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - if (internal_settings == 0 - || internal_settings->m_DestinationIndexAndTypePresent == false) - { - // Cannot copy without destination. - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_illegal_parameter, - internal_settings, - error_completion_function)); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x: DeleteGeneralSettingsDataL(): EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d\n"), - this, - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex)); - - TRAP(error, (CopyGeneralSettingsDataL( - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex))); - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d, error=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex, - error)); - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - { - RPointerArray plugins; - - PointerArrayResetAndDestroy aAutomaticPlugins(&plugins, EFalse); - - EapPluginTools aPluginTool; - - TEapExpandedType aTunnelingType(*EapExpandedTypeNone.GetType()); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x: aPluginTool.ListAllEapPluginsL(): tunneling EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d\n"), - this, - aTunnelingType.GetVendorId(), - aTunnelingType.GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex)); - - // This will list all outer EAP-methods because aTunnelingType = None. - TRAP(error, (aPluginTool.ListAllEapPluginsL(static_cast(internal_settings->m_IndexType), aTunnelingType, plugins))); - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): aPluginTool.ListAllEapPluginsL() failed, tunneling EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d, error=%d.\n"), - aTunnelingType.GetVendorId(), - aTunnelingType.GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - TUint ind_outer(0ul); - - for (ind_outer = 0ul; ind_outer < plugins.Count(); ++ind_outer) - { - - // List all plugins that could be used inside the each outer EAP-method on each plugin. - - RPointerArray tunneled_plugins; - - PointerArrayResetAndDestroy aAutomaticTunneledPlugins(&tunneled_plugins, EFalse); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x: aPluginTool.ListAllEapPluginsL(): tunneling EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d\n"), - this, - plugins[ind_outer]->GetVendorId(), - plugins[ind_outer]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex)); - - // This will list all inner EAP-methods of EAP-type. - TRAP(error, (aPluginTool.ListAllEapPluginsL(static_cast(internal_settings->m_IndexType), plugins[ind_outer], tunneled_plugins))); - if (error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): aPluginTool.ListAllEapPluginsL() failed, tunneling EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d, error=%d.\n"), - plugins[ind_outer]->GetVendorId(), - plugins[ind_outer]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - - // Copy possible configuration of each inner EAP-method that could be configured inside of outer EAP-method. - - TUint ind_inner(0ul); - - for (ind_inner = 0ul; ind_inner < tunneled_plugins.Count(); ++ind_inner) - { - CEapTypePlugin * eapType = NULL; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x: CEapTypePlugin::NewL(): EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d\n"), - this, - tunneled_plugins[ind_inner]->GetVendorId(), - tunneled_plugins[ind_inner]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex)); - - TRAP(error, (eapType = CEapTypePlugin::NewL( - tunneled_plugins[ind_inner]->GetValue(), - static_cast(internal_settings->m_IndexType), - internal_settings->m_Index))); - - // This will automatically delete eapType. - eap_automatic_variable_c automatic_eap_type( - m_am_tools, - eapType); - - if(error != KErrNone - || eapType == NULL) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): CEapTypePlugin::NewL() failed, EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d, error=%d.\n"), - tunneled_plugins[ind_inner]->GetVendorId(), - tunneled_plugins[ind_inner]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - eapType->SetTunnelingType(plugins[ind_outer]); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x: eapType->CopySettingsL(): EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d\n"), - this, - tunneled_plugins[ind_inner]->GetVendorId(), - tunneled_plugins[ind_inner]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex)); - - TRAP(error, (eapType->CopySettingsL( - static_cast(internal_settings->m_DestinationIndexType), - internal_settings->m_DestinationIndex))); - if(error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): eapType->CopySettingsL() failed, EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d, error=%d.\n"), - tunneled_plugins[ind_inner]->GetVendorId(), - tunneled_plugins[ind_inner]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - } // for() - - - { - - // Copy possible configuration of each outer EAP-method on each plugin. - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x: CEapTypePlugin::NewL(): outer EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d\n"), - this, - plugins[ind_outer]->GetVendorId(), - plugins[ind_outer]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex)); - - CEapTypePlugin * eapType = NULL; - - TRAP(error, (eapType = CEapTypePlugin::NewL( - plugins[ind_outer]->GetValue(), - static_cast(internal_settings->m_IndexType), - internal_settings->m_Index))); - - // This will automatically delete eapType. - eap_automatic_variable_c automatic_eap_type( - m_am_tools, - eapType); - - if(error != KErrNone - || eapType == NULL) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): CEapTypePlugin::NewL() failed, outer EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d, error=%d.\n"), - plugins[ind_outer]->GetVendorId(), - plugins[ind_outer]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::copy_all_eap_settings(): this=0x%08x: eapType->CopySettingsL(): outer EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d\n"), - this, - plugins[ind_outer]->GetVendorId(), - plugins[ind_outer]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex)); - - TRAP(error, (eapType->CopySettingsL( - static_cast(internal_settings->m_DestinationIndexType), - internal_settings->m_DestinationIndex))); - if(error != KErrNone) - { - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_ERROR, - (EAPL("ERROR: eap_am_general_settings_symbian_c::copy_all_eap_settings(): eapType->CopySettingsL() failed, outer EAP-type=0xfe%06x%08x, m_IndexType=%d, m_Index=%d, m_DestinationIndexType=%d, m_DestinationIndex=%d, error=%d.\n"), - plugins[ind_outer]->GetVendorId(), - plugins[ind_outer]->GetVendorType(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex, - error)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - } - - } // for() - - } - - complete_settings->m_completion_status = eap_status_ok; - complete_settings->m_EAPType = internal_settings->m_EAPType; - complete_settings->m_IndexType = internal_settings->m_IndexType; - complete_settings->m_Index = internal_settings->m_Index; - - eap_status_e status = m_partner->complete_copy_all_eap_settings(complete_settings); - - iGeneralSettingsDb.Compact(); - - CloseGeneralSettings(); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_general_settings_symbian_c::get_eap_methods(): this=0x%08x, CloseGeneralSettings()\n"), - this)); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -// ---------------------------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_pac_store_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_pac_store_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,494 +0,0 @@ -/* -* Copyright (c) 2009-2010 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: interface to PAC-store. -* -*/ - -/* -* %version: 14 % -*/ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" -#include "eap_am_pac_store_symbian.h" -#include "abs_eap_am_pac_store.h" -#include "eap_automatic_variable.h" -#include "EapTraceSymbian.h" -#include "EapConversion.h" -#include "eap_type_tls_peap_types.h" -#include "pac_store_db_parameters.h" -#include "pac_store_db_symbian.h" -#include -#include "EapPluginDbDefaults.h" - -/** @file */ - -// ---------------------------------------------------------------------- -const TUint KMaxDBFieldNameLength = 255; - -// ---------------------------------------------------------------------- - -eap_am_pac_store_symbian_c::eap_am_pac_store_symbian_c( - abs_eap_am_tools_c * const tools, - abs_eap_am_pac_store_c * const partner) - : m_am_tools(tools) - , m_partner(partner) - , m_is_valid(false) - , m_shutdown_was_called(false) - , iClientCreated(false) - , iPacStoreSessionOpened(false) - , iClient(NULL) - , m_PAC_store_password(tools) - -{ - - if (m_am_tools == 0 - || m_am_tools->get_is_valid() == false - || m_partner == 0) - { - return; - } - - m_is_valid = true; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_pac_store_symbian_c::eap_am_pac_store_symbian_c(): this=0x%08x.\n"), - this)); - - return; -} - -// ---------------------------------------------------------------------- - -eap_am_pac_store_symbian_c::~eap_am_pac_store_symbian_c() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_pac_store_symbian_c::~eap_am_pac_store_symbian_c(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::~eap_am_pac_store_symbian_c()"); - - delete iClient; - iClient = NULL; - - EAP_ASSERT(m_shutdown_was_called == true); -} - -// ---------------------------------------------------------------------- - -EAP_FUNC_EXPORT bool eap_am_pac_store_symbian_c::get_is_valid() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_pac_store_symbian_c::get_is_valid(): this=0x%08x. valid=%d\n"), - this, m_is_valid)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::get_is_valid()"); - - return m_is_valid; -} - -// ---------------------------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::configure(). -EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::configure() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_pac_store_symbian_c::configure(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::configure()"); - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -// ---------------------------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::shutdown(). -EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::shutdown() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_pac_store_symbian_c::shutdown(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::shutdown()"); - - m_shutdown_was_called = true; - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -// ---------------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::open_pac_store() - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_pac_store_symbian_c::open_pac_store(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::open_pac_store()"); - - TRAPD(err, iClient = CPacStoreDatabase::NewL()); - if (err || iClient == NULL) - { - m_partner->complete_open_pac_store(eap_status_process_general_error); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - EAP_TRACE_DEBUG_SYMBIAN( - (_L("eap_am_pac_store_symbian_c::open_pac_store Created PAC store"))); - - TRAP(err, iClient->OpenPacStoreL()); - if (err || iClient == NULL) - { - m_partner->complete_open_pac_store(eap_status_process_general_error); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - EAP_TRACE_DEBUG_SYMBIAN( - (_L("eap_am_pac_store_symbian_c::open_pac_store Opened PAC store"))); - - iClientCreated = ETrue; - - m_partner->complete_open_pac_store(eap_status_ok); - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); - } - -// ---------------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::create_device_seed() - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_pac_store_symbian_c::create_device_seed(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::create_device_seed()"); - - if(iClientCreated == EFalse) - { - m_partner->complete_create_device_seed(eap_status_process_general_error); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - - eap_variable_data_c aDeviceSeed(m_am_tools); - - eap_status_e status = iClient->CreateDeviceSeed(&aDeviceSeed); - - m_partner->complete_create_device_seed(status); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - -// ---------------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::is_master_key_present() - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_pac_store_symbian_c::is_master_key_present(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::is_master_key_present()"); - - TBool present = EFalse; - if(iClientCreated == EFalse) - { - m_partner->complete_is_master_key_present(EFalse); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - - eap_status_e status(eap_status_ok); - - TRAPD(err, present = iClient->IsMasterKeyPresentL()); - if (err) - { - present = EFalse; - status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err)); - } - - m_partner->complete_is_master_key_present(present); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - -// ---------------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::is_master_key_and_password_matching( - const eap_variable_data_c * const pac_store_password) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_pac_store_symbian_c::is_master_key_and_password_matching(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::is_master_key_and_password_matching()"); - - TBool matching = EFalse; - - if(iClientCreated == EFalse) - { - m_partner->complete_is_master_key_and_password_matching(EFalse); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - - HBufC8* pacStorePW8(NULL); - - TRAPD(err, pacStorePW8 = HBufC8::NewL(pac_store_password->get_data_length())); - if (err) - { - m_partner->complete_is_master_key_and_password_matching(EFalse); - return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err)); - } - - TPtr8 pacStorePW8Ptr = pacStorePW8->Des(); - - pacStorePW8Ptr.Copy(pac_store_password->get_data(), pac_store_password->get_data_length()); - - eap_status_e status(eap_status_ok); - - TRAP(err, matching = iClient->IsMasterKeyAndPasswordMatchingL(pacStorePW8Ptr)); - if (err) - { - matching = EFalse; - status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err)); - } - - delete pacStorePW8; - - m_partner->complete_is_master_key_and_password_matching(matching); - - return EAP_STATUS_RETURN(m_am_tools, status); - - } - -// ---------------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::create_and_save_master_key( - const eap_variable_data_c * const pac_store_password) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_pac_store_symbian_c::create_and_save_master_key(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::create_and_save_master_key()"); - - if(iClientCreated == EFalse) - { - m_partner->complete_create_and_save_master_key(eap_status_process_general_error); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - - HBufC8* pacStorePW8(NULL); - - eap_status_e status(eap_status_ok); - - TRAPD(err, pacStorePW8 = HBufC8::NewL(pac_store_password->get_data_length())); - if (err) - { - status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err)); - m_partner->complete_create_and_save_master_key(status); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - TPtr8 pacStorePW8Ptr = pacStorePW8->Des(); - - pacStorePW8Ptr.Copy(pac_store_password->get_data(), pac_store_password->get_data_length()); - - TRAP(err, iClient->CreateAndSaveMasterKeyL(pacStorePW8Ptr)); - if (err) - { - status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err)); - } - - delete pacStorePW8; - - m_partner->complete_create_and_save_master_key(status); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - -// ---------------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::is_pacstore_password_present() - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_pac_store_symbian_c::is_pacstore_password_present(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::is_pacstore_password_present()"); - - TBool present = EFalse; - if(iClientCreated == EFalse) - { - m_partner->complete_is_pacstore_password_present(EFalse); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - - eap_status_e status(eap_status_ok); - - TRAPD(err, present = iClient->IsPacPasswordPresentL()); - if (err) - { - present = EFalse; - status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err)); - } - - m_partner->complete_is_pacstore_password_present(present); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - -// ---------------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::compare_pac_store_password( - eap_variable_data_c * const pac_store_password) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_pac_store_symbian_c::compare_pac_store_password(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::compare_pac_store_password()"); - - TBool matching = EFalse; - - if(iClientCreated == EFalse) - { - m_partner->complete_compare_pac_store_password(EFalse); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - - HBufC8* pacStorePW8(NULL); - - TRAPD(err, pacStorePW8 = HBufC8::NewL(pac_store_password->get_data_length())); - if (err) - { - m_partner->complete_compare_pac_store_password(EFalse); - return EAP_STATUS_RETURN(m_am_tools, EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err))); - } - - TPtr8 pacStorePW8Ptr = pacStorePW8->Des(); - - pacStorePW8Ptr.Copy(pac_store_password->get_data(), pac_store_password->get_data_length()); - - - eap_status_e status(eap_status_ok); - - TRAP(err, matching = iClient->ComparePacStorePasswordL(pacStorePW8Ptr)); - if (err) - { - matching = EFalse; - status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err)); - } - - delete pacStorePW8; - - m_partner->complete_compare_pac_store_password(matching); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - -// ---------------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::set_pac_store_password( - const eap_variable_data_c * pac_store_password) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_pac_store_symbian_c::set_pac_store_password(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::set_pac_store_password()"); - - if(iClientCreated == EFalse) - { - m_partner->complete_set_pac_store_password(eap_status_process_general_error); - return EAP_STATUS_RETURN(m_am_tools, eap_status_process_general_error); - } - - TBuf pacStoreDBColName; - HBufC8* pacStoreDBColValBuf8(NULL); - - pacStoreDBColName.Copy(cf_str_EAP_FAST_PAC_store_password_literal); - - eap_status_e status(eap_status_ok); - - TRAPD(err, pacStoreDBColValBuf8 = HBufC8::NewL(KMaxPasswordLengthInDB)); - if (err) - { - status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err)); - m_partner->complete_set_pac_store_password(status); - return EAP_STATUS_RETURN(m_am_tools, status); - } - - TPtr8 pacStoreDBColValPtr8 = pacStoreDBColValBuf8->Des(); - pacStoreDBColValPtr8.Copy(pac_store_password->get_data(), pac_store_password->get_data_length()); - - TRAP( err, iClient->SetPacStoreDataL(pacStoreDBColName, pacStoreDBColValPtr8)); - if (err) - { - status = EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(err)); - } - - delete pacStoreDBColValBuf8; - m_partner->complete_set_pac_store_password(status); - return EAP_STATUS_RETURN(m_am_tools, status); - } - -// ---------------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_pac_store_symbian_c::destroy_pac_store() - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_pac_store_symbian_c::destroy_pac_store(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_pac_store_symbian_c::destroy_pac_store()"); - - if(iClientCreated == EFalse) - { - eap_status_e status(eap_status_process_general_error); - - m_partner->complete_destroy_pac_store(status); - - return EAP_STATUS_RETURN(m_am_tools, status); - } - - iClient->DestroyPacStore(); - - EAP_TRACE_DEBUG_SYMBIAN((_L("eap_am_pac_store_symbian_c::open_pac_store destroy_pac_store end"))); - - m_partner->complete_destroy_pac_store(eap_status_ok); - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); - } - -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_plugin_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_plugin_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1110 +0,0 @@ -/* -* Copyright (c) 2009-2010 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-plugin adaptation. -* -*/ - -/* -* %version: 29 % -*/ - -#include "eap_tools.h" -#include "eap_status.h" -#include "eap_am_export.h" -#include "eap_expanded_type.h" -#include "eap_array.h" -#include "eap_database_reference_if.h" -#include "eap_am_plugin_symbian.h" -#include "eap_automatic_variable.h" -#include -#include -#include -#include "EapConversion.h" -#include "abs_eap_am_plugin.h" - -/** @file */ - -// ---------------------------------------------------------------------- - -eap_am_plugin_symbian_c::eap_am_plugin_symbian_c( - abs_eap_am_tools_c * const tools, - abs_eap_am_plugin_c * const partner) - : m_am_tools(tools) - , m_partner(partner) - , m_loaded_types(tools) - , m_is_valid(false) - , m_shutdown_was_called(false) -{ - if (m_am_tools == 0 - || m_am_tools->get_is_valid() == false - || m_partner == 0) - { - return; - } - - m_is_valid = true; - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_plugin_symbian_c::eap_am_plugin_symbian_c(): this=0x%08x.\n"), - this)); -} - -// ---------------------------------------------------------------------- - -eap_am_plugin_symbian_c::~eap_am_plugin_symbian_c() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_plugin_symbian_c::~eap_am_plugin_symbian_c(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::~eap_am_plugin_symbian_c()"); - - EAP_ASSERT(m_shutdown_was_called == true); -} - -// ---------------------------------------------------------------------- - -bool eap_am_plugin_symbian_c::get_is_valid() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_plugin_symbian_c::get_is_valid(): this=0x%08x, m_is_valid=%d.\n"), - this, - m_is_valid)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::get_is_valid()"); - - return m_is_valid; -} - -// ---------------------------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::configure(). -eap_status_e eap_am_plugin_symbian_c::configure() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_plugin_symbian_c::configure(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::configure()"); - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -// ---------------------------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::shutdown(). -eap_status_e eap_am_plugin_symbian_c::shutdown() -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_plugin_symbian_c::shutdown(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::shutdown()"); - - m_shutdown_was_called = true; - - return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_plugin_symbian_c::error_complete( - const eap_status_e completion_status, - const eap_method_settings_c * const internal_settings, - const eap_tlv_message_type_function_e error_completion_function) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_plugin_symbian_c::error_complete(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::error_complete()"); - - eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools, internal_settings); - - eap_automatic_variable_c automatic_complete_settings( - m_am_tools, - complete_settings); - - if (complete_settings == 0) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - complete_settings->m_completion_status = completion_status; - - eap_status_e status(eap_status_not_supported); - - switch(error_completion_function) - { - case eap_tlv_message_type_function_plugin_complete_get_configuration: - status = m_partner->complete_get_configuration(complete_settings); - break; - case eap_tlv_message_type_function_plugin_complete_set_configuration: - status = m_partner->complete_set_configuration(complete_settings); - break; - case eap_tlv_message_type_function_plugin_complete_copy_configuration: - status = m_partner->complete_copy_configuration(complete_settings); - break; - case eap_tlv_message_type_function_plugin_complete_delete_configuration: - status = m_partner->complete_delete_configuration(complete_settings); - break; - case eap_tlv_message_type_function_plugin_complete_set_index: - status = m_partner->complete_set_index(complete_settings); - break; - case eap_tlv_message_type_function_plugin_complete_get_type_info: - status = m_partner->complete_get_type_info(complete_settings); - break; - - default: - EAP_TRACE_ERROR( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: eap_am_plugin_symbian_c::error_complete(): unknown function %d.\n"), - error_completion_function)); - - EAP_ASSERT_ANYWAY_TOOLS(m_am_tools); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); - } - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -// ---------------------------------------------------------------------- - -CEapTypePlugin * eap_am_plugin_symbian_c::get_eap_type( - const eap_type_value_e eap_type, - u32_t index_type, - u32_t index) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_plugin_symbian_c::get_eap_type(): this=0x%08x, index_type=%d, index=%d, EAP-type=0xfe%06x%08x.\n"), - this, - index_type, - index, - eap_type.get_vendor_id(), - eap_type.get_vendor_type())); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::get_eap_type()"); - - CEapTypePlugin *eap_plugin = 0; - - eap_loaded_type_c search( - m_am_tools, - 0, - eap_type, - index_type, - index); - - i32_t found_index = find(&m_loaded_types, &search, m_am_tools); - - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_plugin_symbian_c::get_eap_type(): this=0x%08x, found_index=%d.\n"), - this, - found_index)); - - if (found_index >= 0) - { - // OK, EAP-type for index_type and index is already loaded. - eap_loaded_type_c * const loaded_type = m_loaded_types.get_object(found_index); - if (loaded_type == 0) - { - (void) EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - return 0; - } - - eap_plugin = loaded_type->get_type_plugin(); - - return eap_plugin; - } - else - { - // Load a new instance of EAP-type. - - TEapExpandedType expanded_type; - - eap_variable_data_c eap_data(m_am_tools); - - eap_status_e status = eap_type.get_expanded_type_data( - m_am_tools, - &eap_data); - if (status != eap_status_ok) - { - (void) EAP_STATUS_RETURN(m_am_tools, status); - return 0; - } - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_data"), - eap_data.get_data(), - eap_data.get_data_length())); - - TInt error = expanded_type.SetValue( - eap_data.get_data(), - eap_data.get_data_length()); - if (error != KErrNone) - { - (void) EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); - return 0; - } - - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("expanded_type.GetValue()"), - expanded_type.GetValue().Ptr(), - expanded_type.GetValue().Length())); - - TIndexType IndexType(static_cast(index_type)); - TUint Index(static_cast(index)); - - TRAP(error, (eap_plugin = CEapTypePlugin::NewL( - expanded_type.GetValue(), - IndexType, - Index))); - if (error != KErrNone - || eap_plugin == 0) - { - // Interface not found or implementation creation function failed - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: ECom could not find/initiate implementation for EAP-type=0xfe%06x%08x, index_type=%d, index=%d, error = %d.\n"), - eap_type.get_vendor_id(), - eap_type.get_vendor_type(), - index_type, - index, - error)); - (void) EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - return 0; - } - - eap_loaded_type_c * const new_eap_plugin = new eap_loaded_type_c( - m_am_tools, - eap_plugin, - eap_type, - index_type, - index); - if (new_eap_plugin == 0) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Could not allocate EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"), - eap_type.get_vendor_id(), - eap_type.get_vendor_type(), - index_type, - index)); - (void) EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - delete eap_plugin; - return 0; - } - - status = m_loaded_types.add_object( - new_eap_plugin, - true); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Could not add EAP-type=0xfe%06x%08x, index_type=%d, index=%d to array.\n"), - eap_type.get_vendor_id(), - eap_type.get_vendor_type(), - index_type, - index)); - (void) EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - return 0; - } - - return eap_plugin; - } -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_plugin_symbian_c::get_configuration(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_plugin_symbian_c::get_configuration(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::get_configuration()"); - - const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_plugin_complete_get_configuration); - - CEapTypePlugin* const eapType = get_eap_type(internal_settings->m_EAPType, internal_settings->m_IndexType, internal_settings->m_Index); - if (eapType == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - if (internal_settings->m_TunnelingTypePresent == true) - { - TEapExpandedType aExpandedType; - - TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType( - &(internal_settings->m_TunnelingType), - &aExpandedType); - - eapType->SetTunnelingType(aExpandedType); - } - - EAPSettings * local_settings = new EAPSettings; - - eap_automatic_variable_c automatic_aSettings( - m_am_tools, - local_settings); - - if (local_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - TInt error(KErrNone); - - TRAP(error, (eapType->GetConfigurationL(*local_settings))); - if (error != KErrNone) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Cannot read configuration from EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools); - - eap_automatic_variable_c automatic_complete_settings( - m_am_tools, - complete_settings); - - if (complete_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - complete_settings->m_EAPType = internal_settings->m_EAPType; - complete_settings->m_IndexType = internal_settings->m_IndexType; - complete_settings->m_Index = internal_settings->m_Index; - complete_settings->m_completion_status = eap_status_ok; - - error = CEapConversion::ConvertEAPSettingsToInternalType( - m_am_tools, - local_settings, - complete_settings); - if (error != KErrNone) - { - complete_settings->m_completion_status = m_am_tools->convert_am_error_to_eapol_error(error); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - eap_status_e status = m_partner->complete_get_configuration(complete_settings); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_plugin_symbian_c::set_configuration(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_plugin_symbian_c::set_configuration(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::set_configuration()"); - - const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_plugin_complete_set_configuration); - - CEapTypePlugin* const eapType = get_eap_type(internal_settings->m_EAPType, internal_settings->m_IndexType, internal_settings->m_Index); - if (eapType == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - if (internal_settings->m_TunnelingTypePresent == true) - { - TEapExpandedType aExpandedType; - - TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType( - &(internal_settings->m_TunnelingType), - &aExpandedType); - - eapType->SetTunnelingType(aExpandedType); - } - - EAPSettings * local_settings = new EAPSettings; - - eap_automatic_variable_c automatic_aSettings( - m_am_tools, - local_settings); - - if (local_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - TInt error = CEapConversion::ConvertInternalTypeToEAPSettings( - m_am_tools, - internal_settings, - local_settings); - if (error != KErrNone) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - TRAP(error, (eapType->SetConfigurationL(*local_settings))); - if (error != KErrNone) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Cannot write configuration to EAP-type=0xfe%06x%08x, index_type=%d, index=%d.\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools, internal_settings); - - eap_automatic_variable_c automatic_complete_settings( - m_am_tools, - complete_settings); - - if (complete_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - complete_settings->m_completion_status = eap_status_ok; - - eap_status_e status = m_partner->complete_set_configuration(complete_settings); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_plugin_symbian_c::copy_configuration(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_plugin_symbian_c::set_configuration(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::set_configuration()"); - - const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_plugin_complete_copy_configuration); - - CEapTypePlugin* const eapType = get_eap_type(internal_settings->m_EAPType, internal_settings->m_IndexType, internal_settings->m_Index); - if (eapType == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - if (internal_settings->m_TunnelingTypePresent == true) - { - TEapExpandedType aExpandedType; - - TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType( - &(internal_settings->m_TunnelingType), - &aExpandedType); - - eapType->SetTunnelingType(aExpandedType); - } - - EAPSettings * local_settings = new EAPSettings; - - eap_automatic_variable_c automatic_aSettings( - m_am_tools, - local_settings); - - if (local_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - TInt error = CEapConversion::ConvertInternalTypeToEAPSettings( - m_am_tools, - internal_settings, - local_settings); - if (error != KErrNone) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - if (internal_settings->m_DestinationIndexAndTypePresent == false) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_illegal_parameter, - internal_settings, - error_completion_function)); - } - - TIndexType aDestinationIndexType(static_cast(internal_settings->m_DestinationIndexType)); - TUint aDestinationIndex(static_cast(internal_settings->m_DestinationIndex)); - - TRAP(error, (eapType->CopySettingsL( - aDestinationIndexType, - aDestinationIndex))); - if (error != KErrNone) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Cannot copy configuration from EAP-type=0xfe%06x%08x, (index_type=%d, index=%d) to (index_type=%d, index=%d).\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools, internal_settings); - - eap_automatic_variable_c automatic_complete_settings( - m_am_tools, - complete_settings); - - if (complete_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - complete_settings->m_completion_status = eap_status_ok; - - eap_status_e status = m_partner->complete_copy_configuration(complete_settings); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_plugin_symbian_c::delete_configuration(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_plugin_symbian_c::delete_configuration(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::delete_configuration()"); - - const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_plugin_complete_delete_configuration); - - CEapTypePlugin* const eapType = get_eap_type(internal_settings->m_EAPType, internal_settings->m_IndexType, internal_settings->m_Index); - if (eapType == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - if (internal_settings->m_TunnelingTypePresent == true) - { - TEapExpandedType aExpandedType; - - TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType( - &(internal_settings->m_TunnelingType), - &aExpandedType); - - eapType->SetTunnelingType(aExpandedType); - } - - EAPSettings * local_settings = new EAPSettings; - - eap_automatic_variable_c automatic_aSettings( - m_am_tools, - local_settings); - - if (local_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - TInt error = CEapConversion::ConvertInternalTypeToEAPSettings( - m_am_tools, - internal_settings, - local_settings); - if (error != KErrNone) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - TRAP(error, (eapType->DeleteConfigurationL())); - if (error != KErrNone) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Cannot delete configuration from EAP-type=0xfe%06x%08x, (index_type=%d, index=%d).\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools, internal_settings); - - eap_automatic_variable_c automatic_complete_settings( - m_am_tools, - complete_settings); - - if (complete_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - complete_settings->m_completion_status = eap_status_ok; - - eap_status_e status = m_partner->complete_delete_configuration(complete_settings); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_plugin_symbian_c::set_index(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_plugin_symbian_c::set_index(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::set_index()"); - - const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_plugin_complete_set_index); - - CEapTypePlugin* const eapType = get_eap_type(internal_settings->m_EAPType, internal_settings->m_IndexType, internal_settings->m_Index); - if (eapType == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - if (internal_settings->m_TunnelingTypePresent == true) - { - TEapExpandedType aExpandedType; - - TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType( - &(internal_settings->m_TunnelingType), - &aExpandedType); - - eapType->SetTunnelingType(aExpandedType); - } - - EAPSettings * local_settings = new EAPSettings; - - eap_automatic_variable_c automatic_aSettings( - m_am_tools, - local_settings); - - if (local_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - TInt error = CEapConversion::ConvertInternalTypeToEAPSettings( - m_am_tools, - internal_settings, - local_settings); - if (error != KErrNone) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - if (internal_settings->m_DestinationIndexAndTypePresent == false) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_illegal_parameter, - internal_settings, - error_completion_function)); - } - - TIndexType aDestinationIndexType(static_cast(internal_settings->m_DestinationIndexType)); - TUint aDestinationIndex(static_cast(internal_settings->m_DestinationIndex)); - - TRAP(error, (eapType->SetIndexL( - aDestinationIndexType, - aDestinationIndex))); - if (error != KErrNone) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Cannot copy configuration from EAP-type=0xfe%06x%08x, (index_type=%d, index=%d) to (index_type=%d, index=%d).\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index, - internal_settings->m_DestinationIndexType, - internal_settings->m_DestinationIndex)); - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools, internal_settings); - - eap_automatic_variable_c automatic_complete_settings( - m_am_tools, - complete_settings); - - if (complete_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - complete_settings->m_completion_status = eap_status_ok; - - eap_status_e status = m_partner->complete_set_index(complete_settings); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -// ---------------------------------------------------------------------- - -eap_status_e eap_am_plugin_symbian_c::get_type_info(const eap_method_settings_c * const internal_settings) -{ - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_plugin_symbian_c::get_type_info(): this=0x%08x.\n"), - this)); - - EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_am_plugin_symbian_c::get_type_info()"); - - const eap_tlv_message_type_function_e error_completion_function(eap_tlv_message_type_function_plugin_complete_get_type_info); - - CEapTypePlugin* const eapType = get_eap_type(internal_settings->m_EAPType, internal_settings->m_IndexType, internal_settings->m_Index); - if (eapType == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - if (internal_settings->m_TunnelingTypePresent == true) - { - TEapExpandedType aExpandedType; - - TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType( - &(internal_settings->m_TunnelingType), - &aExpandedType); - - eapType->SetTunnelingType(aExpandedType); - } - - EAPSettings * local_settings = new EAPSettings; - - eap_automatic_variable_c automatic_aSettings( - m_am_tools, - local_settings); - - if (local_settings == 0) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - TInt error = CEapConversion::ConvertInternalTypeToEAPSettings( - m_am_tools, - internal_settings, - local_settings); - if (error != KErrNone) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - if (internal_settings->m_DestinationIndexAndTypePresent == false) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_illegal_parameter, - internal_settings, - error_completion_function)); - } - - CEapTypeInfo * type_info = 0; - - TRAP(error, (type_info = eapType->GetInfoL())); - if (error != KErrNone - || type_info == 0) - { - EAP_TRACE_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Cannot get type info configuration from EAP-type=0xfe%06x%08x, (index_type=%d, index=%d).\n"), - internal_settings->m_EAPType.get_vendor_id(), - internal_settings->m_EAPType.get_vendor_type(), - internal_settings->m_IndexType, - internal_settings->m_Index)); - - if (type_info != 0) - { - delete type_info; - type_info = 0; - } - - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - eap_method_settings_c * const complete_settings = new eap_method_settings_c(m_am_tools, internal_settings); - - eap_automatic_variable_c automatic_complete_settings( - m_am_tools, - complete_settings); - - if (complete_settings == 0) - { - delete type_info; - type_info = 0; - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - eap_status_allocation_error, - internal_settings, - error_completion_function)); - } - - error = CEapConversion::ConvertFromTDesCToInternal( - m_am_tools, - type_info->ReleaseDate(), - &(complete_settings->m_KReleaseDate)); - - if(error == KErrNone) - { - error = CEapConversion::ConvertFromTDesCToInternal( - m_am_tools, - type_info->Version(), - &(complete_settings->m_KEapTypeVersion)); - } - - if(error == KErrNone) - { - error = CEapConversion::ConvertFromTDesCToInternal( - m_am_tools, - type_info->Manufacturer(), - &(complete_settings->m_KManufacturer)); - } - - delete type_info; - type_info = 0; - - if(error != KErrNone) - { - return EAP_STATUS_RETURN( - m_am_tools, - error_complete( - m_am_tools->convert_am_error_to_eapol_error(error), - internal_settings, - error_completion_function)); - } - - complete_settings->m_completion_status = eap_status_ok; - - eap_status_e status = m_partner->complete_get_type_info(complete_settings); - - return EAP_STATUS_RETURN(m_am_tools, status); -} - -// ---------------------------------------------------------------------- - - - -// ---------------------------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_stack_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_stack_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1563 +0,0 @@ -/* -* Copyright (c) 2001-2010 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. -* -*/ - -/* -* %version: 49 % -*/ - -#include "eap_am_stack_symbian.h" -#include "eap_array_algorithms.h" -#include "eap_base_type.h" -#include "eap_header_string.h" -#include "EapConversion.h" -#include "eapol_key_state_string.h" -#include "eap_type_tls_peap_types.h" -#include "EapPluginDbDefaults.h" -#include "EapConfigToolsSymbian.h" -#include "eap_am_general_settings_symbian.h" - -class CEapTypePlugin; - -// LOCAL CONSTANTS -const TUint KMaxSqlQueryLength = 2048; - -const TUint KExpandedEAPSize = 8; - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_am_stack_symbian_c::eap_am_stack_symbian_c(class abs_eap_am_tools_c * tools, bool is_client_when_true) - : CActive(0) - , iTools (tools) - , iIsClient(is_client_when_true) - , iPartner(0) - , m_client_config(tools) - , iFileconfig(0) - , iEnabledEapMethodsArray(tools) - , iDisabledEapMethodsArray(tools) - , m_eap_type_array(tools) - , iConfigurationIf(0) - , iIndexType(ELan) - , iIndex(0UL) - , iCurrentEapIndex(0) - , m_selected_eapol_key_authentication_type(eapol_key_authentication_type_none) -{ - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::eap_am_stack_symbian_c()\n"))); - - EAP_TRACE_RETURN_STRING(tools, "returns: eap_am_stack_symbian_c::eap_am_stack_symbian_c()"); - - iIsValid = ETrue; - - return; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_am_stack_symbian_c::~eap_am_stack_symbian_c() - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::~eap_am_stack_symbian_c()\n"))); - - Cancel(); - - EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::~eap_am_stack_symbian_c()"); - } - -//-------------------------------------------------- - -EAP_FUNC_EXPORT bool eap_am_stack_symbian_c::get_is_valid() - { - return iIsValid; - } - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::set_partner(abs_eap_am_stack_c * partner, abs_eap_configuration_if_c * configuration_if) - { - eap_status_e aStatus(eap_status_ok); - iPartner = partner; - iConfigurationIf = configuration_if; - return aStatus; - } - -//-------------------------------------------------- - -eap_status_e eap_am_stack_symbian_c::reset_eap_configuration() -{ - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::reset_eap_configuration(): %s, this = 0x%08x\n"), - (iIsClient == true) ? "client": "server", - this)); - - EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::reset_eap_configuration()"); - - eap_status_e status(eap_status_ok); - - TRAPD(error, ReadEAPSettingsL()); - if (error != KErrNone) - { - EAP_TRACE_ERROR( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EAP settings reading from CommDb failed or cancelled(error %d).\n"), error)); - - status = iTools->convert_am_error_to_eapol_error(error); - } - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); -} - -//-------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::configure(). -EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::configure( - const eap_variable_data_c * const client_configuration) - { - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::configure(): %s, this = 0x%08x => 0x%08x\n"), - (iIsClient == true) ? "client": "server", - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::configure()"); - - TInt error(KErrNone); - eap_status_e status(eap_status_ok); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (client_configuration != 0 - && client_configuration->get_is_valid_data() == true) - { - status = m_client_config.read_configuration_message(client_configuration); - if (status != eap_status_ok) - { - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Open the database session - error = iSession.Connect(); - if (error != KErrNone) - { - status = EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(error)); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("RDbs::Connect() failed %d.\n"), - status)); - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("Database session initialized...\n"))); - - // Connect to FS - error = iFs.Connect(); - if (error != KErrNone) - { - status = EAP_STATUS_RETURN(iTools, iTools->convert_am_error_to_eapol_error(error)); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("RFs::Connect() failed %d.\n"), - status)); - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("Fileserver session initialized...\n"))); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = EapConfigToolsSymbian::EapReadDefaultConfigFileSymbian( - iTools, - &iFileconfig); - if (status != eap_status_ok) - { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#if defined(USE_EAP_FILE_TRACE) - { - eap_variable_data_c trace_output_file(iTools); - - status = read_configure( - cf_str_EAP_TRACE_output_file_name.get_field(), - &trace_output_file); - if (status == eap_status_ok - && trace_output_file.get_is_valid_data() == true) - { - status = iTools->set_trace_file_name(&trace_output_file); - if (status == eap_status_ok) - { - // OK, set the default trace mask. - iTools->set_trace_mask( - eap_am_tools_c::eap_trace_mask_debug - | eap_am_tools_c::eap_trace_mask_always - | eap_am_tools_c::eap_trace_mask_error - | eap_am_tools_c::eap_trace_mask_message_data); - } - } - } -#endif //#if defined(USE_EAP_FILE_TRACE) - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { - eap_variable_data_c EAP_TRACE_enable_timer_traces(iTools); - - status = read_configure( - cf_str_EAP_TRACE_enable_timer_traces.get_field(), - &EAP_TRACE_enable_timer_traces); - if (status == eap_status_ok - && EAP_TRACE_enable_timer_traces.get_is_valid_data() == true) - { - u32_t *enable_timer_traces = reinterpret_cast( - EAP_TRACE_enable_timer_traces.get_data(sizeof(u32_t))); - if (enable_timer_traces != 0 - && *enable_timer_traces != 0) - { - iTools->set_trace_mask( - iTools->get_trace_mask() - | TRACE_FLAGS_TIMER - ); - } - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { - eap_variable_data_c EAP_TRACE_enable_timer_queue_traces(iTools); - - status = read_configure( - cf_str_EAP_TRACE_enable_timer_queue_traces.get_field(), - &EAP_TRACE_enable_timer_queue_traces); - if (status == eap_status_ok - && EAP_TRACE_enable_timer_queue_traces.get_is_valid_data() == true) - { - u32_t *enable_timer_queue_traces = reinterpret_cast( - EAP_TRACE_enable_timer_queue_traces.get_data(sizeof(u32_t))); - if (enable_timer_queue_traces != 0 - && *enable_timer_queue_traces != 0) - { - iTools->set_trace_mask( - iTools->get_trace_mask() - | TRACE_FLAGS_TIMER_QUEUE - ); - } - } - } - - { - eap_variable_data_c EAP_TRACE_enable_function_traces(iTools); - - status = read_configure( - cf_str_EAP_TRACE_enable_function_traces.get_field(), - &EAP_TRACE_enable_function_traces); - if (status == eap_status_ok - && EAP_TRACE_enable_function_traces.get_is_valid_data() == true) - { - u32_t *enable_function_traces = reinterpret_cast( - EAP_TRACE_enable_function_traces.get_data(sizeof(u32_t))); - if (enable_function_traces != 0 - && *enable_function_traces != 0) - { - iTools->set_trace_mask( - iTools->get_trace_mask() - | eap_am_tools_c::eap_trace_mask_functions - ); - } - } - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("Created timer...\n"))); - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, eap_status_ok); - - } - -//-------------------------------------------------- - -eap_status_e eap_am_stack_symbian_c::reset_eap_plugins() -{ - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::reset_eap_plugins(): %s, this = 0x%08x => 0x%08x\n"), - (iIsClient == true) ? "client": "server", - this, - dynamic_cast(this))); - - // Unload all loaded plugins - for(int ind = 0; ind < m_plugin_if_array.Count(); ind++) - { - delete m_plugin_if_array[ind]; - } - - m_plugin_if_array.Close(); - - - iEnabledEapMethodsArray.reset(); - iDisabledEapMethodsArray.reset(); - - - m_eap_type_array.reset(); - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, eap_status_ok); -} - -//-------------------------------------------------- - -// This is documented in abs_eap_stack_interface_c::shutdown(). -EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::shutdown() -{ - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_ALWAYS( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::shutdown(): %s, this = 0x%08x => 0x%08x\n"), - (iIsClient == true) ? "client": "server", - this, - dynamic_cast(this))); - - delete iFileconfig; - iFileconfig = 0; - - (void) reset_eap_plugins(); - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, eap_status_ok); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::read_configure( - const eap_configuration_field_c * const field, - eap_variable_data_c * const data) -{ - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - EAP_ASSERT_ALWAYS_TOOLS(iTools, data != NULL); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::read_configure(): %s, %d=%s, this = 0x%08x => 0x%08x\n"), - (iIsClient == true) ? "client": "server", - m_selected_eapol_key_authentication_type, - eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_selected_eapol_key_authentication_type), - this, - dynamic_cast(this))); - - EAP_TRACE_DATA_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::read_configure()"), - field->get_field(), - field->get_field_length())); - - EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::read_configure()"); - - // Trap must be set here because the OS independent portion of EAPOL - // that calls this function does not know anything about Symbian. - eap_status_e status(eap_status_ok); - - // Check if the wanted parameter is default type - if (field->compare(iTools, cf_str_EAP_default_type_hex_data.get_field()) == true) - { - // First check do we have read configuration from databases. - if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("m_selected_eapol_key_authentication_type = eapol_key_authentication_type_WPS\n"))); - - status = eap_expanded_type_simple_config.get_type().get_expanded_type_data( - iTools, - data); - - if (status == eap_status_ok) - { - set_current_eap_index(0); - } - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - else if (iEnabledEapMethodsArray.get_object_count() == 0ul) - { - EAP_TRACE_ERROR( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EAP settings not read from CommsDat\n"))); - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, eap_status_process_general_error); - } - - // Now we need to return here the next EAP type we should try - - TInt ind = get_current_eap_index(); - - - if (get_current_eap_index() < iEnabledEapMethodsArray.get_object_count()) - { - eap_type_value_e * const next_eap_method = iEnabledEapMethodsArray.get_object(get_current_eap_index()); - if (next_eap_method != 0 - && next_eap_method->get_is_valid() == true) - { - status = data->set_buffer_length(eap_expanded_type_c::get_eap_expanded_type_size()); - if (status != eap_status_ok) - { - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, eap_status_allocation_error); - } - - status = data->set_data_length(eap_expanded_type_c::get_eap_expanded_type_size()); - if (status != eap_status_ok) - { - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - - status = eap_expanded_type_c::write_type( - iTools, - 0ul, - data->get_data(), - data->get_data_length(), - true, - *next_eap_method); - if (status != eap_status_ok) - { - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - } - } - - - - if (ind >= iEnabledEapMethodsArray.get_object_count()) - { - // Not found any other EAP type as enabled. - // Send WLM notification because there is no way that the authentication - // can be successful if we don't have any EAP types to use... - if (iIsClient) - { - EAP_TRACE_ERROR( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: read_configure: No configured EAP types or all tried unsuccessfully.\n"))); - } - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, eap_status_illegal_configure_field); - } - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - - } // if () - - -#if defined(USE_EAP_FILECONFIG) - { - status = m_client_config.read_configure(field, data); - if (status != eap_status_ok) - { - if (iFileconfig != 0 - && iFileconfig->get_is_valid() == true) - { - // Here we could try the final configuration option. - status = iFileconfig->read_configure( - field, - data); - } - } - } -#endif //#if defined(USE_EAP_FILECONFIG) - - - iTools->trace_configuration( - status, - field, - data); - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::set_timer( - abs_eap_base_timer_c * const p_initializer, - const u32_t p_id, - void * const p_data, - const u32_t p_time_ms) -{ - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - - const eap_status_e status = iTools->am_set_timer( - p_initializer, - p_id, - p_data, - p_time_ms); - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::cancel_timer( - abs_eap_base_timer_c * const p_initializer, - const u32_t p_id) -{ - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - - const eap_status_e status = iTools->am_cancel_timer( - p_initializer, - p_id); - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::check_is_valid_eap_type( - const eap_type_value_e eap_type) -{ - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::check_is_valid_eap_type(): %s, %d=%s, this = 0x%08x => 0x%08x, EAP-type=0xfe%06x%08x=%s\n"), - (iIsClient == true) ? "client": "server", - m_selected_eapol_key_authentication_type, - eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_selected_eapol_key_authentication_type), - this, - dynamic_cast(this), - eap_type.get_vendor_id(), - eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(eap_type))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::check_is_valid_eap_type()"); - - if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS - && eap_type == eap_expanded_type_simple_config.get_type()) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, (EAPL("eap_am_stack_symbian_c::check_is_valid_eap_type(): WPS does not use CommDbIf anymore.\n"))); - - return EAP_STATUS_RETURN(iTools, eap_status_ok); - } - - - for (int ind = 0; ind < iEnabledEapMethodsArray.get_object_count(); ++ind) - { - const eap_type_value_e * const allowed_eap_method = iEnabledEapMethodsArray.get_object(ind); - - if (allowed_eap_method != 0 - && eap_type == *allowed_eap_method) - { - // This is Allowed and Valid. - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, eap_status_ok); - } - } // for() - - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: %s: check_is_valid_eap_type(): not supported EAP-type=0xfe%06x%08x=%s\n"), - (iIsClient == true ? "client": "server"), - eap_type.get_vendor_id(), - eap_type.get_vendor_type(), - eap_header_string_c::get_eap_type_string(eap_type))); - - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, eap_status_illegal_eap_type); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::get_eap_type_list( - eap_array_c * const eap_type_list) -{ - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::get_eap_type_list(): %s, %d=%s, this = 0x%08x => 0x%08x\n"), - (iIsClient == true) ? "client": "server", - m_selected_eapol_key_authentication_type, - eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_selected_eapol_key_authentication_type), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::get_eap_type_list()"); - - eap_status_e status(eap_status_illegal_eap_type); - - status = eap_type_list->reset(); - if (status != eap_status_ok) - { - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - - if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, (EAPL("eap_am_stack_symbian_c::get_eap_type_list(): WPS does not use CommDbIf anymore.\n"))); - - // This is for one expanded EAP type (for the above one). - eap_expanded_type_c * expandedEAPType = new eap_type_value_e(eap_expanded_type_simple_config.get_type()); - - // Add WPS EAP-type to list. - status = eap_type_list->add_object(expandedEAPType, true); - if (status != eap_status_ok) - { - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - - return EAP_STATUS_RETURN(iTools, eap_status_ok); - } - - // This function is same as get_selected_eap_types in behavior. - - // We need to return only the EAP types available as enabled types. - // It means only the ones available in m_enabled_expanded_eap_array. - - - for (TInt ind = 0; ind < iEnabledEapMethodsArray.get_object_count(); ++ind) - { - const eap_type_value_e * const allowed_eap_method = iEnabledEapMethodsArray.get_object(ind); - - if (allowed_eap_method != 0 - && allowed_eap_method->get_is_valid() == true) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::ReadEAPSettingsL(): Enabled expanded EAP type at index=%d, EAP-type=0xfe%06x%08x\n"), - ind, - allowed_eap_method->get_vendor_id(), - allowed_eap_method->get_vendor_type())); - - status = eap_type_list->add_object(allowed_eap_method->copy(), true); - if (status != eap_status_ok) - { - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - } - } // for() - - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::load_module( - const eap_type_value_e type, - const eap_type_value_e tunneling_type, - abs_eap_base_type_c * const partner, - eap_base_type_c ** const eap_type, - const bool is_client_when_true, - const eap_am_network_id_c * const receive_network_id) -{ - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::load_module(type %d=%s, tunneling_type %d=%s)\n"), - convert_eap_type_to_u32_t(type), - eap_header_string_c::get_eap_type_string(type), - convert_eap_type_to_u32_t(tunneling_type), - eap_header_string_c::get_eap_type_string(tunneling_type))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::load_module()"); - - eap_status_e status(eap_status_process_general_error); - - CEapTypePlugin* eapType = 0; - TInt error(KErrNone); - - // Check if this EAP type has already been loaded - TInt eapArrayIndex = find( - &m_eap_type_array, - &type, - iTools); - - if (eapArrayIndex >= 0) - { - // We found the entry in the array. - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::load_module(type %d=%s, tunneling_type %d=%s) already loaded.\n"), - convert_eap_type_to_u32_t(type), - eap_header_string_c::get_eap_type_string(type), - convert_eap_type_to_u32_t(tunneling_type), - eap_header_string_c::get_eap_type_string(tunneling_type))); - - // Yep. It was loaded already. - eapType = m_plugin_if_array[eapArrayIndex]; - } - else - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::load_module(type %d=%s, tunneling_type %d=%s) load new, iIndexType=%d, iIndex=%d.\n"), - convert_eap_type_to_u32_t(type), - eap_header_string_c::get_eap_type_string(type), - convert_eap_type_to_u32_t(tunneling_type), - eap_header_string_c::get_eap_type_string(tunneling_type), - iIndexType, - iIndex)); - - TBuf8 expanded_type; - - // Some indirect way of forming the 8 byte string of an EAP type for the cue is needed here. - TUint8 tmp_expanded_type[KExpandedEAPSize]; - - // This is to make the tmp_expanded_type in 8 byte string with correct vendor type and vendor id details. - status = eap_expanded_type_c::write_type(iTools, - 0, // index should be zero here. - tmp_expanded_type, - KExpandedEAPSize, - true, - type); - if (status != eap_status_ok) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("load_module: eap_expanded_type_c::write_type(): failed status=%d=%s\n"), - status, - eap_status_string_c::get_status_string(status))); - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - - // Now copy the 8 byte string to the real expanded cue. - expanded_type.Copy(tmp_expanded_type, KExpandedEAPSize); - - EAP_TRACE_DATA_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("EAPOL:eap_am_stack_symbian_c::load_module(): expanded_type:"), - expanded_type.Ptr(), - expanded_type.Size())); - - - // We must have a trap here since the EAPOL core knows nothing about Symbian. - TRAP(error, (eapType = CEapTypePlugin::NewL( - expanded_type, - iIndexType, - iIndex))); - if (error != KErrNone - || eapType == 0) - { - // Interface not found or implementation creation function failed - status = iTools->convert_am_error_to_eapol_error(error); - if (status == eap_status_ok) - { - status = eap_status_allocation_error; - } - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: ECom could not find/initiate implementation, error=%d, status=%d=%s.\n"), - error, - status, - eap_status_string_c::get_status_string(status))); - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - } - - - { - TEapExpandedType expanded_type; - - error = CEapConversion::ConvertInternalTypeToExpandedEAPType( - &tunneling_type, - &expanded_type); - if (error != KErrNone) - { - status = iTools->convert_am_error_to_eapol_error(error); - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: CEapConversion::ConvertInternalTypeToExpandedEAPType(): failed error=%d, status=%d=%s\n"), - error, - status, - eap_status_string_c::get_status_string(status))); - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - - eapType->SetTunnelingType(expanded_type); - } - - // Create the EAP protocol interface implementation. - - TRAP(error, (*eap_type = eapType->GetStackInterfaceL(iTools, - partner, - is_client_when_true, - receive_network_id, - this))); - - if (error != KErrNone - || *eap_type == 0 - || (*eap_type)->get_is_valid() == false) - { - status = iTools->convert_am_error_to_eapol_error(error); - if (status == eap_status_ok) - { - status = eap_status_allocation_error; - } - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Could not create EAP type interface instance. error=%d, status=%d=%s\n"), - error, - status, - eap_status_string_c::get_status_string(status))); - - if (eapArrayIndex == KErrNotFound) - { - // No need to call shutdown here because GetStackInterfaceL has done it. - delete eapType; - } - // Note: even in error cases eap_core_c deletes eap_type - } - else - { - status = eap_status_ok; - if (eapArrayIndex == KErrNotFound) - { - // Add plugin information to the member arrays. There is no need to store eap_type pointer because - // the stack takes care of its deletion. - if (m_plugin_if_array.Append(eapType) != KErrNone) - { - delete eapType; - status = eap_status_allocation_error; - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - - eap_type_value_e * tmpEAPType = new eap_type_value_e(); - if(tmpEAPType == NULL) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: eap_am_stack_symbian_c::load_module() eap_type_value_e creation failed\n"))); - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, eap_status_allocation_error); - } - - *tmpEAPType = type; - - status = m_eap_type_array.add_object(tmpEAPType, true); - - if (status != eap_status_ok) - { - // Remove the eap type added just previously - m_plugin_if_array.Remove(m_plugin_if_array.Count() - 1); - delete eapType; - status = eap_status_allocation_error; - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - } - } - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); -} - -//-------------------------------------------------- - -void eap_am_stack_symbian_c::RunL() -{ - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::RunL(): iStatus.Int() = %d\n"), - iStatus.Int())); - - if (iStatus.Int() != KErrNone) - { - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return; - } - - // Authentication cancelled. - EAP_TRACE_ALWAYS( - iTools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("Authentication cancelled.\n"))); - - // Reset index of current EAP-type. - set_current_eap_index(0ul); - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -void eap_am_stack_symbian_c::read_configureL( - const TDesC& aDbName, - const TDesC& aTableName, - eap_config_string field, - const u32_t /*field_length*/, - eap_variable_data_c * const data) -{ - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::read_configureL(): %s, %d=%s, this = 0x%08x => 0x%08x\n"), - (iIsClient == true) ? "client": "server", - m_selected_eapol_key_authentication_type, - eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_selected_eapol_key_authentication_type), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::read_configureL()"); - - if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, (EAPL("eap_am_stack_symbian_c::read_configureL(): WPS does not use CommDbIf anymore.\n"))); - User::Leave(KErrNotSupported); - } - - // Open database - RDbNamedDatabase db; - - User::LeaveIfError(db.Open(iSession, aDbName, KEapSecureUIDFormat)); - - CleanupClosePushL(db); - - const TUint BUFFER_SIZE = 128ul; - - // Create a buffer for the ascii strings - initialised with the argument - HBufC8* asciibuf = HBufC8::NewLC(BUFFER_SIZE); - TPtr8 asciiString = asciibuf->Des(); - asciiString.Copy(reinterpret_cast(field)); - - // Buffer for unicode parameter - HBufC* unicodebuf = HBufC::NewLC(BUFFER_SIZE); - TPtr unicodeString = unicodebuf->Des(); - - // Convert to unicode - unicodeString.Copy(asciiString); - - // Now do the database query - HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); - TPtr sqlStatement = buf->Des(); - _LIT(KSQLQueryRow, "SELECT %S FROM %S"); - sqlStatement.Format( KSQLQueryRow, &unicodeString, &aTableName ); - - RDbView view; - User::LeaveIfError(view.Prepare(db, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); - CleanupClosePushL(view); - User::LeaveIfError(view.EvaluateAll()); - if (view.FirstL()) - { - eap_status_e status(eap_status_process_general_error); - const TDbColNo FIRST_COLUMN = 1ul; - view.GetL(); - switch (view.ColType(FIRST_COLUMN)) - { - case EDbColText: - { - unicodeString = view.ColDes(FIRST_COLUMN); - // Convert to 8-bit - asciiString.Copy(unicodeString); - if (asciiString.Size() > 0) - { - status = data->set_copy_of_buffer(asciiString.Ptr(), asciiString.Size()); - if (status != eap_status_ok) - { - User::Leave(KErrNoMemory); - } - } - } - break; - case EDbColUint32: - { - TUint value; - value = view.ColUint32(FIRST_COLUMN); - status = data->set_copy_of_buffer((const unsigned char *) &value, sizeof(value)); - if (status != eap_status_ok) - { - User::Leave(KErrNoMemory); - } - } - break; - default: - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("read_configureL: Unexpected column type.\n"))); - User::Panic(_L("EAPOL"), 1); - } - } - else - { - // Could not find parameter - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("read_configureL: Could not find configuration parameter.\n"))); - User::Leave(KErrNotFound); - } - - // Close database - CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(buf); - CleanupStack::PopAndDestroy(unicodebuf); - CleanupStack::PopAndDestroy(asciibuf); - CleanupStack::PopAndDestroy(&db); - - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -// -void eap_am_stack_symbian_c::DoCancel() -{ - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::DoCancel()\n"))); - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); -} - -//---------------------------------------------------------------------------- - -TInt eap_am_stack_symbian_c::RunError(TInt aError) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::RunError(): aError=%d, this=0x%08x\n"), - aError, - this)); - - return aError; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::save_simple_config_session( - const simple_config_state_e state, - EAP_TEMPLATE_CONST eap_array_c * const credential_array, - const eap_variable_data_c * const new_password, - const simple_config_Device_Password_ID_e Device_Password_ID, - const simple_config_payloads_c * const other_configuration) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("%s: eap_am_stack_symbian_c::save_simple_config_session()\n"), - (iIsClient == true ? "client": "server"))); - - eap_status_e status(eap_status_ok); - - status = iConfigurationIf->save_simple_config_session( - state, - credential_array, - new_password, - Device_Password_ID, - other_configuration); - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); -} - -//-------------------------------------------------- - -// -void eap_am_stack_symbian_c::ReadEAPSettingsL() -{ - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::ReadEAPSettingsL(): %s, %d=%s, this = 0x%08x => 0x%08x\n"), - (iIsClient == true) ? "client": "server", - m_selected_eapol_key_authentication_type, - eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_selected_eapol_key_authentication_type), - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::ReadEAPSettingsL()"); - - eap_status_e status(eap_status_ok); - - if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS - || iIndex == 0) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, (EAPL("eap_am_stack_symbian_c::ReadEAPSettingsL(): WPS does not use CommDbIf anymore.\n"))); - return; - } - - status = reset_eap_plugins(); - if (status != eap_status_ok) - { - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status))); - } - - if (iIndexType == ELan - || iIndexType == EVpn) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::ReadEAPSettingsL(): Beginning to read IAP settings - Type: %d, Index: %d.\n"), iIndexType, iIndex)); - - - { - { - eap_am_general_settings_symbian_c * const general_setting = new eap_am_general_settings_symbian_c(iTools); - - if (general_setting == 0) - { - User::Leave(KErrNoMemory); - } - if (general_setting->get_is_valid() == false) - { - general_setting->shutdown(); - delete general_setting; - User::Leave(KErrNoMemory); - } - - status = general_setting->configure(); - if (status != eap_status_ok) - { - general_setting->shutdown(); - delete general_setting; - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status))); - } - - status = general_setting->read_eap_methods_synchronously( - iIndexType, - iIndex, - &iEnabledEapMethodsArray, - &iDisabledEapMethodsArray); - - general_setting->shutdown(); - delete general_setting; - } - - if (status != eap_status_ok) - { - User::Leave(iTools->convert_eapol_error_to_am_error(EAP_STATUS_RETURN(iTools, status))); - } - - // Trace enabled. - for (TInt ind = 0; ind < iEnabledEapMethodsArray.get_object_count(); ++ind) - { - const eap_type_value_e * const allowed_eap_method = iEnabledEapMethodsArray.get_object(ind); - - if (allowed_eap_method != 0 - && allowed_eap_method->get_is_valid() == true) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::ReadEAPSettingsL(): Enabled expanded EAP type at index=%d, EAP-type=0xfe%06x%08x\n"), - ind, - allowed_eap_method->get_vendor_id(), - allowed_eap_method->get_vendor_type())); - } - } // for() - - // Trace disabled. - for (TInt ind = 0; ind < iDisabledEapMethodsArray.get_object_count(); ++ind) - { - const eap_type_value_e * const allowed_eap_method = iDisabledEapMethodsArray.get_object(ind); - - if (allowed_eap_method != 0 - && allowed_eap_method->get_is_valid() == true) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::ReadEAPSettingsL(): Disabled expanded EAP type at index=%d, EAP-type=0xfe%06x%08x\n"), - ind, - allowed_eap_method->get_vendor_id(), - allowed_eap_method->get_vendor_type())); - } - } // for() - } - - - } - else - { - // Unsupported bearer. - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: eap_am_stack_symbian_c::ReadEAPSettingsL() - LEAVE - unsupported bearer\n"))); - - User::Leave(KErrNotSupported); - } - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -void eap_am_stack_symbian_c::SetToTopPriorityL(const eap_type_value_e /* aEapType */) -{ - EAP_TRACE_BEGIN(iTools, TRACE_FLAGS_DEFAULT); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::SetToTopPriorityL() - for EXP EAP types, %d=%s\n"), - m_selected_eapol_key_authentication_type, - eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_selected_eapol_key_authentication_type))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::SetToTopPriorityL()"); - - if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, (EAPL("eap_am_stack_symbian_c::SetToTopPriorityL(): WPS does not use CommDbIf anymore.\n"))); - return; - } - - if (iIndexType == ELan - || iIndexType == EVpn) - { - - - - } - else - { - // Unsupported bearer. - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: eap_am_stack_symbian_c::SetToTopPriorityL() - LEAVE - unsupported bearer\n"))); - - User::Leave(KErrNotSupported); - } - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::set_eap_database_reference_values( - const eap_variable_data_c * const reference) -{ - eap_status_e status(eap_status_ok); - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::set_eap_database_reference_values(): %s, this = 0x%08x => 0x%08x\n"), - (iIsClient == true) ? "client": "server", - this, - dynamic_cast(this))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::set_eap_database_reference_values()"); - - const eapol_wlan_database_reference_values_s * const database_reference_values - = reinterpret_cast( - reference->get_data(sizeof(eapol_wlan_database_reference_values_s))); - if (database_reference_values == 0) - { - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, eap_status_allocation_error); - } - - iIndexType = static_cast(database_reference_values->m_database_index_type); - iIndex = database_reference_values->m_database_index; - - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::set_eap_database_reference_values(): iIndexType=%d, iIndex=%d.\n"), - iIndexType, - iIndex)); - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - return EAP_STATUS_RETURN(iTools, status); -} - -//-------------------------------------------------- - -TInt eap_am_stack_symbian_c::get_current_eap_index() -{ - return iCurrentEapIndex; -} - -//-------------------------------------------------- - -void eap_am_stack_symbian_c::set_current_eap_index(const TInt ind) -{ - iCurrentEapIndex = ind; -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_status_e eap_am_stack_symbian_c::get_802_11_authentication_mode( - const eap_am_network_id_c * const receive_network_id, - const eapol_key_authentication_type_e authentication_type) -{ - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("%s: eap_am_stack_symbian_c::get_802_11_authentication_mode(): %d=%s\n"), - ("client"), - authentication_type, - eapol_key_state_string_c::get_eapol_key_authentication_type_string(authentication_type))); - - EAP_TRACE_RETURN_STRING(iTools, "returns: eap_am_stack_symbian_c::get_802_11_authentication_mode()"); - - eap_status_e status(eap_status_ok); - eap_expanded_type_c expandedEAPType(eap_type_none); - u32_t ind_type = 0ul; - - m_selected_eapol_key_authentication_type = authentication_type; - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = reset_eap_configuration(); - if (status != eap_status_ok) - { - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - for (ind_type = 0; ind_type < iEnabledEapMethodsArray.get_object_count(); ++ind_type) - { - const eap_type_value_e * const allowed_eap_method = iEnabledEapMethodsArray.get_object(ind_type); - - if (allowed_eap_method != 0 - && allowed_eap_method->get_is_valid() == true) - { - EAP_TRACE_DEBUG( - iTools, - TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_stack_symbian_c::ReadEAPSettingsL(): Enabled expanded EAP type at index=%d, EAP-type=0xfe%06x%08x\n"), - ind_type, - allowed_eap_method->get_vendor_id(), - allowed_eap_method->get_vendor_type())); - - if (*allowed_eap_method != eap_type_none) - { - expandedEAPType = *allowed_eap_method; - break; - } - } - } // for() - - - if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS) - { - expandedEAPType = eap_expanded_type_simple_config.get_type(); - } - else if (ind_type >= iEnabledEapMethodsArray.get_object_count()) - { - // No enabled EAP types. - EAP_TRACE_ALWAYS( - iTools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: No enabled EAP types.\n"))); - EAP_TRACE_ALWAYS( - iTools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Indication sent to WLM: eap_status_failed_completely.\n"))); - - status = iPartner->complete_get_802_11_authentication_mode( - eap_status_illegal_eap_type, - receive_network_id, - eapol_key_802_11_authentication_mode_none); - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); - } - - eapol_key_802_11_authentication_mode_e a802_11_authentication_mode(eapol_key_802_11_authentication_mode_none); - - if (expandedEAPType == eap_type_leap) - { - if (authentication_type == eapol_key_authentication_type_dynamic_WEP) - { - // LEAP uses it's own 802.11 authentication mode when 802.1X (dynamic WEP) is used. - a802_11_authentication_mode = eapol_key_802_11_authentication_mode_leap; - - EAP_TRACE_ALWAYS( - iTools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("start_authentication(): Trying auth mode LEAP (802.1x mode).\n"))); - } - else - { - // If security mode is WPA or RSNA then even LEAP uses open authentication! - a802_11_authentication_mode = eapol_key_802_11_authentication_mode_open; - - EAP_TRACE_ALWAYS( - iTools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("start_authentication(): Trying auth mode OPEN (LEAP in WPA mode).\n"))); - } - - } - else - { - a802_11_authentication_mode = eapol_key_802_11_authentication_mode_open; - - EAP_TRACE_ALWAYS( - iTools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("start_authentication(): Trying auth mode OPEN.\n"))); - } - - status = iPartner->complete_get_802_11_authentication_mode( - status, - receive_network_id, - a802_11_authentication_mode); - - EAP_TRACE_END(iTools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(iTools, status); -} - -//-------------------------------------------------- - -EAP_FUNC_EXPORT eap_am_stack_c * new_eap_am_stack_c(class abs_eap_am_tools_c * tools, bool is_client_when_true) -{ - eap_am_stack_symbian_c * am_stack = new eap_am_stack_symbian_c(tools, is_client_when_true); - - eap_automatic_variable_c automatic_am_stack( - tools, - am_stack); - - if (am_stack == 0 - || am_stack->get_is_valid() == false) - { - // ERROR. - if (am_stack != 0) - { - EAP_TRACE_DEBUG( - tools, - TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, - (EAPL("calls: new_eap_am_stack_c(): am_stack->shutdown(): %s.\n"), - (is_client_when_true == true) ? "client": "server")); - - am_stack->shutdown(); - } - return 0; - } - - automatic_am_stack.do_not_free_variable(); - - return am_stack; -} - -//-------------------------------------------------- -// end - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/eap_server/src/eap_loaded_type.cpp --- a/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_loaded_type.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -/* -* 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. -* -*/ - -/* -* %version: 5 % -*/ - -#include "eap_loaded_type.h" -#include "eap_expanded_type.h" - -/** @file */ - -//-------------------------------------------------- - -eap_loaded_type_c::eap_loaded_type_c( - abs_eap_am_tools_c * const tools, - CEapTypePlugin * const type_plugin, - const eap_type_value_e eap_type, - const u32_t index_type, - const u32_t index) - : m_am_tools(tools) - , m_type_plugin(type_plugin) - , m_eap_type(eap_type) - , m_index_type(index_type) - , m_index(index) -{ -} - -//-------------------------------------------------- - -eap_loaded_type_c::~eap_loaded_type_c() -{ - delete m_type_plugin; -} - -//-------------------------------------------------- - -i32_t eap_loaded_type_c::compare(const eap_loaded_type_c * const right) -{ - if (get_index_type() != right->get_index_type()) - { - return static_cast(get_index_type()) - static_cast(right->get_index_type()); - } - else if (get_index() != right->get_index()) - { - return static_cast(get_index()) - static_cast(right->get_index()); - } - else - { - // Compares the EAP-type. - return get_eap_type().compare(&(right->get_eap_type())); - } -} - -//-------------------------------------------------- - -CEapTypePlugin * eap_loaded_type_c::get_type_plugin() -{ - return m_type_plugin; -} - -//-------------------------------------------------- - -eap_type_value_e eap_loaded_type_c::get_eap_type() const -{ - return m_eap_type; -} - -//-------------------------------------------------- - -u32_t eap_loaded_type_c::get_index_type() const -{ - return m_index_type; -} - -//-------------------------------------------------- - -u32_t eap_loaded_type_c::get_index() const -{ - return m_index; -} - -//-------------------------------------------------- -// End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/backup_registration.xml --- a/eapol/eapol_framework/eapol_symbian/group/backup_registration.xml Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ - - - - - - - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/bld.inf --- a/eapol/eapol_framework/eapol_symbian/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -16,7 +16,7 @@ */ /* -* %version: 37 % +* %version: 3 % */ #include @@ -26,57 +26,41 @@ PRJ_EXPORTS - +// Exporting IBY file (only for 5.0). ../rom/eapol.iby CORE_MW_LAYER_IBY_EXPORT_PATH(eapol.iby) -// Secure policy file for saving all EAPOL and EAP databases in DBMS. +// Secure policy file for saving all EAPOL AND EAP databases in DBMS. ../am/include/102072e9.spd /epoc32/data/z/private/100012a5/policy/102072e9.spd ../am/include/102072e9.spd /epoc32/release/winscw/udeb/z/private/100012a5/policy/102072e9.spd ../am/include/102072e9.spd /epoc32/release/winscw/urel/z/private/100012a5/policy/102072e9.spd -// Backup registration file for backing up all EAPOL databases. Exported to the private cage path of WLAN engine. +// Backup registration file for backing up all EAPOL related databases. Exported to the private cage path for WLAN engine. backup_registration_eapol.xml /epoc32/data/z/private/101F8EC5/backup_registration_eapol.xml backup_registration_eapol.xml /epoc32/release/winscw/udeb/z/private/101F8EC5/backup_registration_eapol.xml backup_registration_eapol.xml /epoc32/release/winscw/urel/z/private/101F8EC5/backup_registration_eapol.xml -// Backup registration file for backing up all EAP server databases. Exported to the private cage path of EAP server. -backup_registration.xml /epoc32/data/z/private/20026FCB/backup_registration.xml -backup_registration.xml /epoc32/release/udeb/urel/z/private/20026FCB/backup_registration.xml -backup_registration.xml /epoc32/release/winscw/urel/z/private/20026FCB/backup_registration.xml - -// copy EAPOL configuration file to WLAN server's private cage path +// Copies configuration file of EAPOL. ../am/core/symbian/file_config/eap_symbian.conf /epoc32/data/z/private/101F8EC5/eap.conf ../am/core/symbian/file_config/eap_symbian.conf /epoc32/release/winscw/udeb/z/private/101F8EC5/eap.conf ../am/core/symbian/file_config/eap_symbian.conf /epoc32/release/winscw/urel/z/private/101F8EC5/eap.conf -// copy EAP server configuration file to EAP server's the private cage path -../am/core/symbian/file_config/eap_symbian.conf /epoc32/data/z/private/20026FCB/eap.conf -../am/core/symbian/file_config/eap_symbian.conf /epoc32/release/winscw/udeb/z/private/20026FCB/eap.conf -../am/core/symbian/file_config/eap_symbian.conf /epoc32/release/winscw/urel/z/private/20026FCB/eap.conf +#ifndef __SERIES60_HELP +../am/type/securid/symbian/plugin/inc/eapgtc.hlp.hrh /epoc32/include/cshelp/eapgtc.hlp.hrh +../am/type/mschapv2/symbian/plugin/inc/eapmschap.hlp.hrh /epoc32/include/cshelp/eapmschap.hlp.hrh +../am/type/tls_peap/symbian/plugin/inc/eappeap.hlp.hrh /epoc32/include/cshelp/eappeap.hlp.hrh +../am/type/gsmsim/symbian/plugin/inc/eapsim.hlp.hrh /epoc32/include/cshelp/eapsim.hlp.hrh +../am/type/tls_peap/symbian/plugin/inc/eaptls.hlp.hrh /epoc32/include/cshelp/eaptls.hlp.hrh +#endif + +#ifndef __SERIES60_HELP +// EAP-LEAP is part of WPX. You need special release to compile this. However the header is needed. +../am/type/leap/symbian/plugin/inc/eapleap.hlp.hrh /epoc32/include/cshelp/eapleap.hlp.hrh +#endif + PRJ_MMPFILES -// Tools libraries are needed by other modules. Must be built first. -#include "../tools/group/bld.inf" - -eap_notifier.mmp - -// eap server -eapauthserver.mmp - -// eap server exe -eapauthserverexe.mmp - -// eapclientif -eapclientif.mmp - -// coreinterfaceimplementation -eapcoreinterfaceimplementation.mmp - -// coreinterface -eapcoreinterface.mmp - -// compiles EAPOL WPX stub +// This compiles stub of EAPOL WPX, the empty functions that implement WPX. eapolwpxstub.mmp // This is the basic set that should always be compiled for every environment. @@ -86,14 +70,14 @@ eapmschapv2.mmp eapsecurid.mmp eapaka.mmp -eapprotectedsetup.mmp -eapgeneric.mmp -eapgeneralsettings.mmp -// Interface for providing EAP authentication services to VPN +// API for VPN. eapvpnif.mmp -// Iterface for providing authentication services to WLAN +eapprotectedsetup.mmp + +// API for WLAN-engine. wlaneapolif.mmp + // End of file. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eap_notifier.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eap_notifier.mmp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Project definition file for eap_notifier -* -*/ - -/* -* %version: % -*/ - -#include -#include "eapol.mmh" - - -TARGET eap_notifier.dll -TARGETTYPE dll - -UID 0x1000008d 0x2002E6F1 - -CAPABILITY All -TCB - -deffile eap_notifier.def - -SOURCEPATH ../am/eap_notifier/src -SOURCE eap_auth_notifier.cpp -SOURCE eap_auth_observer.cpp - -USERINCLUDE ../am/eap_notifier/inc - -MW_LAYER_SYSTEMINCLUDE - -LIBRARY euser.lib -LIBRARY eapsymbiantools.lib -LIBRARY eaptools.lib -LIBRARY HbCore.lib -LIBRARY HbWidgets.lib - - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapaka.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapaka.mmp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapaka.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 17.1.12 % +* %version: 17.2.3 % */ #include @@ -29,8 +29,6 @@ TARGET eapaka.dll UID 0x10009d8d 0x102073c1 -deffile eapaka.def - SOURCEPATH ../am/type/aka/symbian/plugin/src START RESOURCE 102073c1.rss @@ -57,7 +55,15 @@ SOURCE eap_type_aka_header.cpp SOURCE eap_type_aka_authentication_vector.cpp +SOURCEPATH ../am/common/symbian +SOURCE eap_am_trace_symbian.cpp +SOURCEPATH ../am/type/aka/symbian/plugin/src +SOURCE EapAkaUiConnection.cpp +SOURCE EapAkaUiDataConnection.cpp +SOURCE EapAkaUiAkaData.cpp +LIBRARY avkon.lib +STATICLIBRARY eapakaui.lib USERINCLUDE ../am/include USERINCLUDE ../am/type/symbian/plugin/include @@ -68,9 +74,13 @@ USERINCLUDE ../am/type/aka/symbian/plugin/inc USERINCLUDE ../../eapol_common/type +//SYSTEMINCLUDE /epoc32/include/ecom +//SYSTEMINCLUDE /epoc32/include/libc +//SYSTEMINCLUDE /epoc32/include/cshelp + MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. -LIBRARY euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib +LIBRARY euser.lib ecom.lib eapol.lib edbms.lib efsrv.lib LIBRARY cone.lib eikcoctl.lib eikctl.lib bafl.lib LIBRARY estor.lib // For RReadStream @@ -88,7 +98,5 @@ LIBRARY eikcore.lib LIBRARY hlplch.lib LIBRARY featmgr.lib - - //------------------------------------------------------------------- // End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapauthserver.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapauthserver.mmp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,122 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Project definition file for eapauthserver -* -*/ - -/* -* %version: 33 % -*/ - -//------------------------------------------------------------------- - -#include -#include "eapol.mmh" - -//------------------------------------------------------------------- -CAPABILITY ALL -TCB -VENDORID VID_DEFAULT - -TARGET EapAuthServer.dll -TARGETTYPE dll -UID 0x1000008d 0x20026807 - -/////////////////////////////////////////////////////////////////// - -LANG SC - - -//USERINCLUDE ../../wapi_symbian/wapi_client/include/ -//USERINCLUDE ../../wapi_symbian/wapi_server/include/ -//USERINCLUDE ../../wapi_symbian/wapi_adaptation/ -USERINCLUDE ../eap_if/include -USERINCLUDE ../eap_server/include -USERINCLUDE ../../eapol_common/am/include -USERINCLUDE ../../eapol_common/include -USERINCLUDE ../../eapol_symbian/am/include -USERINCLUDE ../../eapol_symbian/am/include/eaptlspeap_db_api_inc -USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include -USERINCLUDE ../../eapol_symbian/am/type/fast/symbian/inc -USERINCLUDE ../../eapol_common/type/tls_peap/eap/include/ -USERINCLUDE ../../eapol_common/type/tls_peap/tls/include/ -#if defined(USE_FAST_EAP_TYPE) -USERINCLUDE ../../eapol_common/type/tls_peap/tls/include/wpx -#endif -USERINCLUDE ../am/type/tls_peap/symbian/plugin/inc -USERINCLUDE ../am/type/ttls_pap/symbian/inc -USERINCLUDE ../am/type/symbian/plugin/include - -SYSTEMINCLUDE /epoc32/include/ecom -SYSTEMINCLUDE /epoc32/include/kernel -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/libc/netinet - -SOURCEPATH ../eap_server/src/ -SOURCE EapCoreIf.cpp -SOURCE EapPluginIf.cpp -SOURCE EapServerProcessHandler.cpp -SOURCE EapScheduler.cpp -SOURCE EapServer.cpp -SOURCE EapServerExe.cpp -SOURCE EapSession.cpp -SOURCE EapSettingsIf.cpp -SOURCE eap_am_general_settings_symbian.cpp -SOURCE eap_am_plugin_symbian.cpp -SOURCE eap_am_stack_symbian.cpp -SOURCE eap_loaded_type.cpp -SOURCE EapServerBackup.cpp - -SOURCEPATH ../eap_if/src/ -SOURCE EapClientIf.cpp - -SOURCEPATH ../../eapol_common/core -SOURCE eap_core_server_message_if.cpp -SOURCE eap_plugin_server_message_if.cpp -SOURCE eap_general_settings_server_message_if.cpp -SOURCE eapol_key_state_string.cpp - - -SOURCEPATH ../../eapol_common/common -SOURCE eap_method_settings.cpp - -SOURCEPATH ../am/type/tls_peap/symbian/plugin/src -SOURCE EapTlsPeapCertFetcher.cpp - -SOURCEPATH ../am/common/symbian -SOURCE EapConfigToolsSymbian.cpp - -MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. - -LIBRARY eaptools.lib eaptrace.lib eapsymbiantools.lib - -LIBRARY euser.lib ecom.lib efsrv.lib cone.lib -LIBRARY etelmm.lib etel.lib // For ETel connection -LIBRARY hash.lib random.lib cryptography.lib asn1.lib -LIBRARY estor.lib edbms.lib // for RReadStream and RDbColReadStream -LIBRARY charconv.lib -LIBRARY bafl.lib -LIBRARY estlib.lib // For memcmp, used in NRC ECC library. - -// JPH: EapTlsPeapCertFetcher.cpp requires -LIBRARY x509certnameparser.lib // For parsing of certificate label. -LIBRARY x509.lib crypto.lib certstore.lib ctframework.lib pkixcert.lib -LIBRARY x500.lib eikctl.lib egul.lib fbscli.lib - -#if defined(USE_FAST_EAP_TYPE) -LIBRARY pacstoreif.lib -#endif - - -//------------------------------------------------------------------- -// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapauthserverexe.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapauthserverexe.mmp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Project definition file for eapauthserverexe -* -*/ - -/* -* %version: 14 % -*/ - -#include -#include "eapol.mmh" - -TARGET EapAuthServerExe.exe -TARGETTYPE exe -TARGETPATH /System/Libs -UID 0x1000008c 0x20026fcb -CAPABILITY CAP_SERVER CommDD NetworkControl -VENDORID VID_DEFAULT - -USERINCLUDE ../../eapol_symbian/am/include -USERINCLUDE ../../wapi_symbian/wapi_client/include/ -USERINCLUDE ../../wapi_symbian/wapi_server/include/ -USERINCLUDE ../../wapi_symbian/wapi_adaptation/ -USERINCLUDE ../eap_if/include -USERINCLUDE ../eap_server/include -USERINCLUDE ../../eapol_common/am/include -USERINCLUDE ../../eapol_common/include -USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include - -SYSTEMINCLUDE /epoc32/include/ecom -SYSTEMINCLUDE /epoc32/include/kernel -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/libc/netinet - -SOURCEPATH ../eap_server/src/ -SOURCE EapServerExe.cpp - -MW_LAYER_SYSTEMINCLUDE - - -LIBRARY euser.lib ecom.lib EapAuthServer.lib - - -EPOCSTACKSIZE 0x4000 - -// End of file. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapclientif.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapclientif.mmp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -/* -* 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: Project definition file for project EAPOL -* -*/ - -/* -* %version: 9 % -*/ - -#include -#include "eapol.mmh" - -CAPABILITY CAP_ECOM_PLUGIN -VENDORID VID_DEFAULT -TARGETTYPE DLL - -TARGET eapclientif.dll -UID 0x10009d8d 0x20027033 - - -SYSTEMINCLUDE /epoc32/include/ecom - -USERINCLUDE ../am/include -USERINCLUDE ../am/type/symbian/plugin/include -USERINCLUDE ../../eapol_common -USERINCLUDE ../../eapol_common/include -USERINCLUDE ../../eapol_common/am/include -USERINCLUDE ../am/type/generic/symbian/plugin/inc -USERINCLUDE ../../eapol_common/type -USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include/ -USERINCLUDE ../eap_server/include -USERINCLUDE ../eap_if/include - - -MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. - -SOURCEPATH ../eap_if/src -SOURCE REapSession.cpp -SOURCE EapClientIf.cpp - -LIBRARY euser.lib ecom.lib eapauthserver.lib eaptools.lib eaptrace.lib - - -// end diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapcoreinterface.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapcoreinterface.mmp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -/* -* 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: Project definition file for project EAPOL -* -*/ - -/* -* %version: 17 % -*/ - -#include -#include "eapol.mmh" - -CAPABILITY CAP_ECOM_PLUGIN -VENDORID VID_DEFAULT -TARGETTYPE DLL - -TARGET eapcoreinterface.dll -UID 0x10009d8d 0x20026FEC - -SYSTEMINCLUDE /epoc32/include/ecom - -USERINCLUDE ../am/include -USERINCLUDE ../am/type/symbian/plugin/include -USERINCLUDE ../../eapol_common -USERINCLUDE ../../eapol_common/include -USERINCLUDE ../../eapol_common/am/include -USERINCLUDE ../am/type/generic/symbian/plugin/inc -USERINCLUDE ../../eapol_common/type -USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include/ -USERINCLUDE ../eap_server/include -USERINCLUDE ../eap_if/include - - -MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. - -SOURCEPATH ../eap_if/src -//SOURCE eap_am_message_if_symbian.cpp -SOURCE EapCoreInterface.cpp - -LIBRARY eapclientif.lib eaptools.lib eapsymbiantools.lib eaptrace.lib -LIBRARY euser.lib edbms.lib efsrv.lib ecom.lib - - -// end diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapcoreinterfaceimplementation.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapcoreinterfaceimplementation.mmp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -/* -* 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: Project definition file for project EAPOL -* -*/ - -/* -* %version: 9 % -*/ - -#include -#include "eapol.mmh" - -CAPABILITY CAP_ECOM_PLUGIN -VENDORID VID_DEFAULT -TARGETTYPE PLUGIN - -TARGET EapCoreInterfaceImplementation.dll -UID 0x10009D8D 0x20026FCD -SECUREID 0x20026FCD - -deffile eapcoreinterfaceimplementation.def - -SOURCEPATH ../eap_if/data -START RESOURCE 20026fcd.rss -TARGET EapCoreInterfaceImplementation -END - -/* -SOURCEPATH ../eap_if/data -START RESOURCE 20026fd3.rss - TARGET EapPlugin.rsc -END -*/ - -SYSTEMINCLUDE /epoc32/include/ecom - -USERINCLUDE ../am/include -USERINCLUDE ../am/type/symbian/plugin/include -USERINCLUDE ../../eapol_common -USERINCLUDE ../../eapol_common/include -USERINCLUDE ../../eapol_common/am/include -USERINCLUDE ../am/type/generic/symbian/plugin/inc -USERINCLUDE ../../eapol_common/type -USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include/ -USERINCLUDE ../eap_server/include -USERINCLUDE ../eap_if/include - - -MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. - -SOURCEPATH ../eap_if/src -SOURCE EapCoreInterfaceImplementation.cpp -SOURCE EapClientIf.cpp - -LIBRARY euser.lib ecom.lib eapclientif.lib eaptools.lib eaptrace.lib eapsymbiantools.lib - - -// end diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapgeneralsettings.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapgeneralsettings.mmp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -/* -* 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: Project definition file for project EAP-general settings. -* -*/ - -/* -* %version: 22 % -*/ - -#include -#include "eapol.mmh" - -CAPABILITY CAP_ECOM_PLUGIN -VENDORID VID_DEFAULT -TARGETTYPE PLUGIN - -TARGET eapgeneralsettings.dll -UID 0x10009d8d 0x20026FD6 - -deffile eapgeneralsettings.def - -SOURCEPATH ../eap_if/data -START RESOURCE 20026fd6.rss - TARGET EapGeneralSettings -END - -SOURCEPATH ../../eapol_common/core -SOURCE eap_general_settings_client_message_if.cpp -SOURCE eap_general_settings_message.cpp - -SOURCEPATH ../../eapol_common/common -SOURCE eap_method_settings.cpp - -SOURCEPATH ../eap_if/src -SOURCE EapGeneralSettingsImpl.cpp -SOURCE EapGeneralSettingsProxy.cpp -SOURCE eap_am_message_if_symbian.cpp -SOURCE EapClientIf.cpp - -LIBRARY charconv.lib - -SYSTEMINCLUDE /epoc32/include/ecom - -USERINCLUDE ../am/include -USERINCLUDE ../am/type/symbian/plugin/include -USERINCLUDE ../../eapol_common -USERINCLUDE ../../eapol_common/include -USERINCLUDE ../../eapol_common/am/include -USERINCLUDE ../am/type/generic/symbian/plugin/inc -USERINCLUDE ../../eapol_common/type -USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include/ -USERINCLUDE ../eap_if/include -USERINCLUDE ../eap_server/include - -MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. - -LIBRARY euser.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib ecom.lib eapclientif.lib -LIBRARY cone.lib eikcoctl.lib eikctl.lib bafl.lib -LIBRARY estor.lib // For RReadStream - -LANG SC - -LIBRARY eikdlg.lib -LIBRARY eikcore.lib -LIBRARY hlplch.lib -LIBRARY featmgr.lib - - -//------------------------------------------------------------------- -// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapgeneric.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapgeneric.mmp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Project definition file for project EAP-generic. -* -*/ - -/* -* %version: 24 % -*/ - -#include -#include "eapol.mmh" - -CAPABILITY CAP_ECOM_PLUGIN -VENDORID VID_DEFAULT -TARGETTYPE PLUGIN - -TARGET eapgeneric.dll -UID 0x10009d8d 0x20026FD1 - -deffile eapgeneric.def - -SOURCEPATH ../am/type/generic/symbian/plugin/src -SOURCE EapGeneric.cpp -SOURCE EapGenericProxy.cpp - -SOURCEPATH ../eap_if/data -START RESOURCE 20026fd1.rss - TARGET EapGeneric -END - -SOURCEPATH ../am/type/symbian/plugin/common -SOURCE EapTypeInfo.cpp - -SOURCEPATH ../../eapol_common/core -SOURCE eap_plugin_client_message_if.cpp -SOURCE eap_plugin_message_base.cpp - -SOURCEPATH ../../eapol_common/common -SOURCE eap_method_settings.cpp - -SOURCEPATH ../../eapol_common/type/simple_config/simple_config/src -SOURCE simple_config_payloads.cpp -SOURCE simple_config_credential.cpp -SOURCE simple_config_types.cpp -SOURCE simple_config_tlv_header.cpp -SOURCE simple_config_message.cpp - -SOURCEPATH ../eap_if/src -SOURCE eap_am_message_if_symbian.cpp -SOURCE EapClientIf.cpp - -LIBRARY charconv.lib - -SYSTEMINCLUDE /epoc32/include/ecom - -USERINCLUDE ../am/include -USERINCLUDE ../am/type/symbian/plugin/include -USERINCLUDE ../../eapol_common -USERINCLUDE ../../eapol_common/include -USERINCLUDE ../../eapol_common/am/include -USERINCLUDE ../am/type/generic/symbian/plugin/inc -USERINCLUDE ../../eapol_common/type -USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include/ -USERINCLUDE ../eap_if/include -USERINCLUDE ../eap_server/include - -MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. - -LIBRARY euser.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib eapclientif.lib ecom.lib -LIBRARY cone.lib eikcoctl.lib eikctl.lib bafl.lib -LIBRARY estor.lib // For RReadStream - -LANG SC - -LIBRARY eikdlg.lib -LIBRARY eikcore.lib -LIBRARY hlplch.lib -LIBRARY featmgr.lib - - -//------------------------------------------------------------------- -// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapmschapv2.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapmschapv2.mmp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapmschapv2.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 15.1.14 % +* %version: 18 % */ #include @@ -29,8 +29,6 @@ TARGET eapmschapv2.dll UID 0x10009d8d 0x101F8E66 -deffile eapmschapv2.def - SOURCEPATH ../am/type/mschapv2/symbian/plugin/src START RESOURCE 101F8E66.rss @@ -60,6 +58,16 @@ SOURCE eap_type_mschapv2_server.cpp #endif +SOURCEPATH ../am/common/symbian +SOURCE eap_am_trace_symbian.cpp + +SOURCEPATH ../am/type/mschapv2/symbian/plugin/src +SOURCE EapMsChapV2UiConnection.cpp +SOURCE EapMsChapV2UiDataConnection.cpp +SOURCE EapMsChapV2UiMsChapV2Data.cpp +LIBRARY avkon.lib +STATICLIBRARY eapmschapv2ui.lib + USERINCLUDE ../am/type/mschapv2/symbian/plugin/inc USERINCLUDE ../../eapol_common/type/mschapv2/include USERINCLUDE ../../eapol_common/include @@ -67,14 +75,16 @@ USERINCLUDE ../../eapol_common/am/include USERINCLUDE ../am/type/symbian/plugin/include USERINCLUDE ../../eapol_common/type -USERINCLUDE ../am/eap_notifier/inc + +//SYSTEMINCLUDE /epoc32/include/ecom +//SYSTEMINCLUDE /epoc32/include/libc +//SYSTEMINCLUDE /epoc32/include/cshelp MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. LIBRARY euser.lib LIBRARY ecom.lib -LIBRARY eaptools.lib eaptrace.lib -LIBRARY eapsymbiantools.lib +LIBRARY eapol.lib LIBRARY edbms.lib LIBRARY efsrv.lib LIBRARY cone.lib @@ -86,14 +96,8 @@ LIBRARY hlplch.lib LIBRARY featmgr.lib -LIBRARY HbCore.lib -LIBRARY HbWidgets.lib -LIBRARY eap_notifier.lib - LANG SC - - //------------------------------------------------------------------- //------------------------------------------------------------------- diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapol.mmh --- a/eapol/eapol_framework/eapol_symbian/group/eapol.mmh Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapol.mmh Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 48.1.18 % +* %version: 53 % */ //------------------------------------------------------------------- @@ -70,6 +70,12 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// This flag enables EAP expanded types. +MACRO USE_EAP_EXPANDED_TYPES=1 +#define USE_EAP_EXPANDED_TYPES + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - + // This flag activates message based WLAN engine EAPOL interface. MACRO USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF #define USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF @@ -85,8 +91,6 @@ #if defined(FF_WLAN_EXTENSIONS) -#warning FF_WLAN_EXTENSIONS enabled - MACRO USE_FAST_EAP_TYPE=1 #define USE_FAST_EAP_TYPE @@ -142,6 +146,11 @@ // These following macros should be adjusted depending on the test environment. // For WLM compatibility only NO_EAP_MUTEX should be defined. MACRO NO_EAP_MUTEX=1 +MACRO USE_EAPOL_KEY_STATE=1 + +// The following marco activates optimized 4-Way Handshake. +// Note the interface between WLAN engine and EAPOL changes too. +MACRO USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE=1 // Enables configuration option to skips user interactions in selected test cases. MACRO USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS=1 @@ -149,9 +158,6 @@ // Enables timer to stop authentication with broken authentication server or access point configuration that blocks WLAN connection for too long time. MACRO USE_EAP_CORE_WAIT_REQUEST_TYPE_TIMER=1 -// Enables EAP-timer traces. -MACRO USE_EAP_TIMER_QUEUE_TRACE=1 - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - #if defined(FF_WLAN_EXTENSIONS) @@ -160,9 +166,6 @@ // You need all EAPOL WPX sources or binary eapolwpx.lib to compile WPX version. MACRO EAP_USE_WPXM=1 #define EAP_USE_WPXM - - MACRO USE_EAP_PAC_STORE_IF=1 - #define USE_EAP_PAC_STORE_IF #else // The WPX stub is needed even without WPX functionality. #define USE_EAPOL_WLAN_WPX_STUB @@ -172,9 +175,6 @@ MACRO EAP_NO_STDINT_H_HEADER=1 #define EAP_NO_STDINT_H_HEADER -// This is disabled because QT leaks memory and EAP-server panics on __UHEAP_MARKEND always. -// Define this after QT fixes memory leks. -//MACRO USE_EAP_HEAP_CHECK=1 //------------------------------------------------------------------- // End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapol.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapol.mmp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapol.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -16,7 +16,7 @@ */ /* -* %version: 48 % +* %version: 42.1.2.1.2 % */ //------------------------------------------------------------------- @@ -25,24 +25,65 @@ #include "eapol.mmh" //------------------------------------------------------------------- -CAPABILITY CAP_GENERAL_DLL +CAPABILITY ALL -TCB VENDORID VID_DEFAULT TARGET eapol.dll TARGETTYPE dll UID 0x1000008d 0x101f8e48 -deffile eapolprotected.def +deffile EAPOLPROTECTED.DEF + +SOURCEPATH ../am/common/symbian +SOURCE dll_entry.cpp +SOURCE eap_am_tools_symbian.cpp + +// This source uses Symbian crypto library. +SOURCEPATH ../am/common/symbian +SOURCE eap_am_crypto_symbian.cpp +SOURCE eap_am_mutex_symbian.cpp + +SOURCEPATH ../am/common/DSS_random +SOURCE dss_random_symbian.cpp + +#if defined(USE_EAP_ASSERT_STACK_TRACE) +SOURCEPATH ../../eapol_common/am/common/stack +SOURCE eap_am_stack_trace.cpp +#endif //#if defined(USE_EAP_ASSERT_STACK_TRACE) + +SOURCEPATH ../../eapol_common/am/common/crypto/md4 +SOURCE eap_am_crypto_md4.cpp + +SOURCEPATH ../../eapol_common/am/common/crypto/rc4 +SOURCE eap_am_crypto_rc4.cpp + +SOURCEPATH ../../eapol_common/am/common/crypto/sha1 +SOURCE eap_am_crypto_sha1.cpp + +SOURCEPATH ../../eapol_common/am/common/crypto/sha-256 +SOURCE eap_am_crypto_sha_256.cpp + +SOURCEPATH ../../eapol_common/am/common +SOURCE eap_am_memory.cpp +SOURCE eap_am_network_id.cpp +SOURCE eap_am_tools.cpp +SOURCE eap_timer_queue.cpp +SOURCE eap_am_memory_store.cpp +SOURCE eap_am_memory_store_data.cpp +SOURCE abs_eap_am_mutex.cpp + +SOURCEPATH ../../eapol_common/am/common +SOURCE eap_file_config.cpp +SOURCEPATH ../am/common/file_io/symbian +SOURCE eap_am_file_input_symbian.cpp SOURCEPATH ../../eapol_common/am/core SOURCE eapol_am_wlan_authentication.cpp SOURCEPATH ../am/core/symbian + SOURCE eapol_am_wlan_authentication_symbian.cpp -SOURCEPATH ../am/common/symbian -SOURCE EapConfigToolsSymbian.cpp - LIBRARY bafl.lib LIBRARY wlandbif.lib @@ -50,12 +91,39 @@ LANG SC +SOURCEPATH ../../eapol_common/common +SOURCE eap_base_type.cpp +SOURCE eap_buffer.cpp +SOURCE eap_crypto_api.cpp +SOURCE eap_header.cpp +SOURCE eap_expanded_type.cpp +SOURCE eap_header_string.cpp +SOURCE eap_state_notification.cpp +SOURCE eap_tools.cpp +SOURCE eap_status_string.cpp +SOURCE eap_variable_data.cpp +SOURCE eap_master_session_key.cpp +SOURCE eap_general_header_base.cpp +SOURCE eap_rogue_ap_entry.cpp +SOURCE eap_memory_store_variable_data.cpp +SOURCE eapol_session_key.cpp +SOURCE eap_network_id_selector.cpp +SOURCE eapol_ethernet_header.cpp +SOURCE eapol_header.cpp +SOURCE eap_tlv_header.cpp +SOURCE eap_tlv_message_data.cpp + #if defined(USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF) SOURCEPATH ../../eapol_common/common SOURCE wlan_eap_if_send_status.cpp #endif //#if defined(USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF) SOURCEPATH ../../eapol_common/core +SOURCE eap_core.cpp +SOURCE eap_core_nak_info.cpp +SOURCE eap_core_retransmission.cpp +SOURCE eap_session_core.cpp +SOURCE eap_type_selection.cpp SOURCE eapol_core.cpp SOURCE ethernet_core.cpp SOURCE eapol_key_state_common.cpp @@ -69,7 +137,6 @@ SOURCE eapol_rsna_key_data_gtk_header.cpp SOURCE eapol_wlan_authentication.cpp SOURCE eapol_wlan_database_reference.cpp -SOURCE eap_core_client_message_if.cpp #if defined(USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF) SOURCEPATH ../../eapol_common/core @@ -77,47 +144,55 @@ SOURCE eapol_handle_tlv_message_data.cpp #endif //#if defined(USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF) +SOURCEPATH ../am/eap_test_timer/symbian +SOURCE eap_test_timer.cpp + +SOURCEPATH ../../eapol_common/type/tls_peap/tls/src +SOURCE tls_peap_tlv_header.cpp + +SOURCEPATH ../../eapol_common/type/simple_config/simple_config/src +SOURCE simple_config_credential.cpp +SOURCE simple_config_types.cpp + +#if !defined(USE_EAPOL_WLAN_WPX_STUB) +// This library includes real WPX functionality. +STATICLIBRARY eapolwpx.lib +#endif //#if !defined(USE_EAPOL_WLAN_WPX_STUB) + +#if defined(USE_EAPOL_WLAN_WPX_STUB) +// This library includes stubs of non working WPX functions. +STATICLIBRARY eapolwpxstub.lib +#endif //#if defined(USE_EAPOL_WLAN_WPX_STUB) + USERINCLUDE .. USERINCLUDE ../am/type/symbian/plugin/include USERINCLUDE ../am/common USERINCLUDE ../../eapol_common/am/common USERINCLUDE ../am/include -USERINCLUDE ../../eapol_common/am/include -USERINCLUDE ../../eapol_common/include -USERINCLUDE ../../eapol_common/type +USERINCLUDE ../../eapol_common/am/include +USERINCLUDE ../../eapol_common/include +USERINCLUDE ../../eapol_common/type USERINCLUDE ../../eapol_common/am/common/DSS_random USERINCLUDE ../../eapol_common/type/tls_peap/tls/include -USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include -USERINCLUDE ../../eapol_common/type/simple_config/eap/include +USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include +USERINCLUDE ../../eapol_common/type/simple_config/eap/include #if defined(EAP_USE_WPXM) USERINCLUDE ../../eapol_common/wpx_include #endif //#if defined(EAP_USE_WPXM) -USERINCLUDE ../eap_if/include -USERINCLUDE ../eap_server/include -SYSTEMINCLUDE /epoc32/include/ecom +//SYSTEMINCLUDE /epoc32/include/ecom SYSTEMINCLUDE /epoc32/include/kernel SYSTEMINCLUDE /epoc32/include/libc SYSTEMINCLUDE /epoc32/include/libc/netinet MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. -#if !defined(USE_EAPOL_WLAN_WPX_STUB) -#warning STATICLIBRARY eapolwpx.lib -STATICLIBRARY eapolwpx.lib -#else -STATICLIBRARY eapolwpxstub.lib -#endif //#if !defined(USE_EAPOL_WLAN_WPX_STUB) - -LIBRARY eaptools.lib eaptrace.lib eapsymbiantools.lib eapcoreinterface.lib -LIBRARY ecom.lib EapAuthServer.lib +LIBRARY ecom.lib LIBRARY euser.lib hash.lib random.lib cryptography.lib efsrv.lib asn1.lib edbms.lib -LIBRARY charconv.lib +LIBRARY charconv.lib MACRO USE_EAP_INTERFACE_EXPORTS - - //------------------------------------------------------------------- // End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapolwpxstub.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapolwpxstub.mmp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapolwpxstub.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 12.1.5 % +* %version: 12.2.2 % */ //------------------------------------------------------------------- @@ -49,7 +49,6 @@ USERINCLUDE ../../eapol_common/include USERINCLUDE ../../eapol_common/type USERINCLUDE ../../eapol_common/am/common/DSS_random -USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include SYSTEMINCLUDE /epoc32/include/ecom SYSTEMINCLUDE /epoc32/include/kernel @@ -58,6 +57,5 @@ MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. - //------------------------------------------------------------------- // End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapprotectedsetup.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapprotectedsetup.mmp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapprotectedsetup.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 16 % +* %version: 12.2.3 % */ #include @@ -29,8 +29,6 @@ TARGET eapprotectedsetup.dll UID 0x10009d8d 0x2000b003 -deffile eapprotectedsetup.def - SOURCEPATH ../am/type/protected_setup/symbian/plugin/src START RESOURCE 2000b003.rss @@ -45,10 +43,16 @@ SOURCEPATH ../am/type/symbian/plugin/common SOURCE EapTypeInfo.cpp +//SOURCEPATH ../am/type/symbian/plugin/common +//SOURCE EapProtectedSetupInfo.cpp + SOURCEPATH ../am/type/protected_setup SOURCE eap_am_type_protected_setup_symbian.cpp SOURCE EapProtectedSetupInterface.cpp +SOURCEPATH ../am/common/symbian +SOURCE eap_am_trace_symbian.cpp + // For Common Side SOURCEPATH ../../eapol_common/type/simple_config/eap/src SOURCE eap_type_simple_config.cpp @@ -75,16 +79,77 @@ USERINCLUDE ../am/include USERINCLUDE ../am/type/protected_setup/symbian/plugin/inc +/* + +//USERINCLUDE ../am/type/tls_peap/symbian/plugin/inc + +USERINCLUDE ../../eapol_common/am/include +USERINCLUDE ../../eapol_common/type +USERINCLUDE ../../eapol_common/type/diameter/include + +#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) +USERINCLUDE ../../eapol_common/type/mschapv2/include +#endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) + +#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) +SOURCEPATH ../../eapol_common/type/mschapv2/core +SOURCE eap_type_mschapv2_header.cpp +#endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) + +*/ + +//SOURCEPATH ../am/type/tls_peap/symbian/plugin/inc +//DOCUMENT 101f8e4c.loc + +/* +// UI +SOURCEPATH ../am/type/tls_peap/symbian/plugin/src +SOURCE EapTlsPeapUiConnection.cpp +SOURCE EapTlsPeapUiDataConnection.cpp +SOURCE EapTlsPeapUiTlsPeapData.cpp +SOURCE EapTlsPeapCertFetcher.cpp +SOURCE EapTlsPeapUiEapTypes.cpp +SOURCE EapTlsPeapUiCertificates.cpp +SOURCE EapTlsPeapUiCipherSuites.cpp +*/ +/* +LIBRARY avkon.lib +LIBRARY AknSkins.lib +LIBRARY AknIcon.lib +STATICLIBRARY eaptlsui.lib +STATICLIBRARY eappeapui.lib +STATICLIBRARY eapttlsui.lib +LIBRARY x509certnameparser.lib // For parsing of certificate label. + +//SYSTEMINCLUDE /epoc32/include/ecom +//SYSTEMINCLUDE /epoc32/include/libc +//SYSTEMINCLUDE /epoc32/include/cshelp +*/ + LANG SC MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. -LIBRARY euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib +LIBRARY euser.lib ecom.lib eapol.lib //edbms.lib efsrv.lib LIBRARY cone.lib eikcoctl.lib LIBRARY etelmm.lib etel.lib // For ETel connection +LIBRARY wlandbif.lib +//LIBRARY x509.lib crypto.lib certstore.lib ctframework.lib pkixcert.lib +//LIBRARY asn1.lib x500.lib bafl.lib eikctl.lib egul.lib fbscli.lib +/* +LIBRARY gdi.lib +LIBRARY cryptography.lib +LIBRARY eikdlg.lib +LIBRARY eikcore.lib +LIBRARY CommonEngine.lib +LIBRARY hlplch.lib +LIBRARY featmgr.lib +*/ + +//------------------------------------------------------------------- //------------------------------------------------------------------- // End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapsecurid.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapsecurid.mmp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapsecurid.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 16.1.14 % +* %version: 16.2.3 % */ #include @@ -29,8 +29,6 @@ TARGET eapsecurid.dll UID 0x10009d8d 0x101F8E74 -deffile eapsecurid.def - SOURCEPATH ../am/type/securid/symbian/plugin/src START RESOURCE 101F8E74.rss @@ -58,6 +56,16 @@ SOURCE eap_type_securid_server.cpp #endif +SOURCEPATH ../am/common/symbian +SOURCE eap_am_trace_symbian.cpp + +SOURCEPATH ../am/type/securid/symbian/plugin/src +SOURCE EapGtcUiConnection.cpp +SOURCE EapGtcUiDataConnection.cpp +SOURCE EapGtcUiGtcData.cpp +LIBRARY avkon.lib +STATICLIBRARY eapgtcui.lib + USERINCLUDE ../am/type/securid/symbian/plugin/inc USERINCLUDE ../../eapol_common/type/securid/include USERINCLUDE ../../eapol_common/include @@ -65,24 +73,22 @@ USERINCLUDE ../../eapol_common/am/include USERINCLUDE ../am/type/symbian/plugin/include USERINCLUDE ../../eapol_common/type -USERINCLUDE ../am/eap_notifier/inc + +//SYSTEMINCLUDE /epoc32/include/ecom +//SYSTEMINCLUDE /epoc32/include/libc +//SYSTEMINCLUDE /epoc32/include/cshelp MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. -LIBRARY euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib cone.lib eikcoctl.lib +LIBRARY euser.lib ecom.lib eapol.lib edbms.lib efsrv.lib cone.lib eikcoctl.lib LIBRARY bafl.lib LIBRARY eikdlg.lib LIBRARY eikcore.lib LIBRARY hlplch.lib LIBRARY featmgr.lib -LIBRARY HbCore.lib -LIBRARY HbWidgets.lib -LIBRARY eap_notifier.lib - LANG SC - //------------------------------------------------------------------- //------------------------------------------------------------------- diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapsim.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapsim.mmp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapsim.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 18.1.14 % +* %version: 18.2.3 % */ #include @@ -29,8 +29,6 @@ TARGET eapsim.dll UID 0x10009d8d 0x101f8e49 -deffile eapsim.def - SOURCEPATH ../am/type/gsmsim/symbian/plugin/src START RESOURCE 101f8e49.rss @@ -60,7 +58,16 @@ SOURCEPATH ../../eapol_common/common SOURCE eap_sim_triplets.cpp +SOURCEPATH ../am/common/symbian +SOURCE eap_am_trace_symbian.cpp +SOURCEPATH ../am/type/gsmsim/symbian/plugin/src +SOURCE EapSimUiConnection.cpp +SOURCE EapSimUiDataConnection.cpp +SOURCE EapSimUiSimData.cpp + +LIBRARY avkon.lib +STATICLIBRARY eapsimui.lib USERINCLUDE ../am/type/gsmsim/symbian/plugin/inc USERINCLUDE ../../eapol_common/type/gsmsim/include @@ -68,11 +75,10 @@ USERINCLUDE ../am/include USERINCLUDE ../../eapol_common/am/include USERINCLUDE ../../eapol_common/type -USERINCLUDE ../am/type/symbian/plugin/include MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. -LIBRARY euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib +LIBRARY euser.lib ecom.lib eapol.lib edbms.lib efsrv.lib LIBRARY cone.lib eikcoctl.lib eikctl.lib bafl.lib LIBRARY estor.lib // For RReadStream @@ -93,6 +99,5 @@ LIBRARY hlplch.lib LIBRARY featmgr.lib - //------------------------------------------------------------------- // End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eaptlspeap.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eaptlspeap.mmp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eaptlspeap.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 44.1.18 % +* %version: 44.2.3 % */ #include @@ -29,8 +29,6 @@ TARGET eaptlspeap.dll UID 0x10009d8d 0x101f8e4c -deffile eaptlspeap.def - SOURCEPATH ../am/type/tls_peap/symbian/plugin/src START RESOURCE 101f8e4c.rss @@ -51,12 +49,6 @@ SOURCEPATH ../am/type/tls_peap/symbian SOURCE eap_am_type_tls_peap_symbian.cpp -SOURCEPATH ../../eapol_common/core -SOURCE dummy_eap_core.cpp - -SOURCEPATH ../am/common/symbian -SOURCE EapConfigToolsSymbian.cpp - SOURCEPATH ../../eapol_common/type/tls_peap/eap/src SOURCE eap_type_tls_peap_state_notification.cpp SOURCE eap_type_tls_peap.cpp @@ -88,7 +80,11 @@ SOURCE eap_diameter_payloads.cpp SOURCE eap_diameter_avp_code.cpp +SOURCEPATH ../am/common/symbian +SOURCE eap_am_trace_symbian.cpp +SOURCEPATH ../am/type/ttls_pap/symbian/src +SOURCE eap_ttls_pap_active.cpp USERINCLUDE ../am/type/tls_peap/symbian/plugin/inc USERINCLUDE ../../eapol_common/type/tls_peap/eap/include @@ -102,13 +98,10 @@ USERINCLUDE ../../eapol_common/type USERINCLUDE ../../eapol_common/type/diameter/include USERINCLUDE ../am/type/ttls_pap/symbian/inc -USERINCLUDE ../eap_if/include -USERINCLUDE ../eap_server/include -USERINCLUDE ../am/type/symbian/plugin/include + #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) USERINCLUDE ../../eapol_common/type/mschapv2/include #endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) -USERINCLUDE ../am/eap_notifier/inc #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) SOURCEPATH ../../eapol_common/type/mschapv2/core @@ -123,10 +116,7 @@ SOURCEPATH ../am/type/tls_peap/symbian/plugin/inc DOCUMENT 101f8e4c.loc -// old ui -USERINCLUDE ../am/include/eaptlspeap_db_api_inc - -// UI +// UI SOURCEPATH ../am/type/tls_peap/symbian/plugin/src SOURCE EapTlsPeapUiConnection.cpp SOURCE EapTlsPeapUiDataConnection.cpp @@ -136,11 +126,26 @@ SOURCE EapTlsPeapUiCertificates.cpp SOURCE EapTlsPeapUiCipherSuites.cpp +LIBRARY avkon.lib +LIBRARY AknSkins.lib +LIBRARY AknIcon.lib +LIBRARY aknnotify.lib +LIBRARY eiksrv.lib +STATICLIBRARY eaptlsui.lib +STATICLIBRARY eappeapui.lib +STATICLIBRARY eapttlsui.lib + +STATICLIBRARY papui.lib + LIBRARY x509certnameparser.lib // For parsing of certificate label. +//SYSTEMINCLUDE /epoc32/include/ecom +//SYSTEMINCLUDE /epoc32/include/libc +//SYSTEMINCLUDE /epoc32/include/cshelp + MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. -LIBRARY euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib cone.lib eikcoctl.lib +LIBRARY euser.lib ecom.lib eapol.lib edbms.lib efsrv.lib cone.lib eikcoctl.lib LIBRARY x509.lib crypto.lib certstore.lib ctframework.lib pkixcert.lib LIBRARY asn1.lib x500.lib bafl.lib eikctl.lib egul.lib fbscli.lib LIBRARY gdi.lib @@ -155,10 +160,6 @@ LIBRARY charconv.lib //------------------------------------------------------------------- -LIBRARY HbCore.lib -LIBRARY HbWidgets.lib -LIBRARY eap_notifier.lib - //------------------------------------------------------------------- // End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/eapvpnif.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapvpnif.mmp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapvpnif.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 11.1.10 % +* %version: 11.2.3 % */ #include @@ -31,20 +31,12 @@ // ECom Dll recognition UID followed by the unique UID for this dll UID 0x10009D8D 0x10200ec9 -deffile eapvpnif.def - SOURCEPATH ../am/eapvpnif/src //SOURCE eap_vpn_if_main.cpp SOURCE eap_vpn_if_proxy.cpp SOURCE eap_vpn_if_implementation.cpp SOURCE eap_vpn_if_timer.cpp -SOURCEPATH ../eap_if/src -SOURCE EapCoreInterface.cpp - -SOURCEPATH ../../eapol_common/core -SOURCE eap_core_client_message_if.cpp - USERINCLUDE ../am/eapvpnif/inc USERINCLUDE ../../eapol_common/include USERINCLUDE ../am/include @@ -54,10 +46,6 @@ USERINCLUDE ../am/type/gsmsim/symbian/plugin/inc USERINCLUDE ../am/type/aka/symbian/plugin/inc -USERINCLUDE ../../eapol_common/type/simple_config/simple_config/include -USERINCLUDE ../eap_if/include -USERINCLUDE ../eap_server/include -USERINCLUDE ../am/type/symbian/plugin/include SYSTEMINCLUDE /epoc32/include/ecom SYSTEMINCLUDE /epoc32/include/libc @@ -70,8 +58,7 @@ TARGET eapvpnif.rsc END -LIBRARY euser.lib ECom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib PlatformEnv.lib +LIBRARY euser.lib ECom.lib eapol.lib edbms.lib efsrv.lib PlatformEnv.lib DEBUGLIBRARY flogger.lib - // End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/group/wlaneapolif.mmp --- a/eapol/eapol_framework/eapol_symbian/group/wlaneapolif.mmp Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/wlaneapolif.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.8 % +* %version: 8.2.3 % */ #include @@ -63,7 +63,7 @@ TARGET wlaneapolif.rsc END -LIBRARY euser.lib ECom.lib eapol.lib edbms.lib efsrv.lib eaptools.lib eaptrace.lib eapsymbiantools.lib +LIBRARY euser.lib ECom.lib eapol.lib edbms.lib efsrv.lib DEBUGLIBRARY flogger.lib #else @@ -72,5 +72,4 @@ #endif //#if defined(USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF) - // End diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/rom/eapol.iby --- a/eapol/eapol_framework/eapol_symbian/rom/eapol.iby Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/rom/eapol.iby Wed Sep 01 12:23:57 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,35 +11,23 @@ * * Contributors: * -* Description: Image description file for EAPOL framework +* Description: Image description file for project EAPOL * */ /* -* %version: 34 % +* %version: 16.1.2 % */ #ifndef __EAPOL_IBY__ #define __EAPOL_IBY__ - -#include #include #ifdef __PROTOCOL_WLAN - -/* tools */ -file=ABI_DIR\BUILD_DIR\eaptools.dll SHARED_LIB_DIR\eaptools.dll - -/* Symbian tools */ -file=ABI_DIR\BUILD_DIR\eapsymbiantools.dll SHARED_LIB_DIR\eapsymbiantools.dll - -/* Symbian trace */ -file=ABI_DIR\BUILD_DIR\eaptrace.dll SHARED_LIB_DIR\eaptrace.dll - /* EAPOL + EAP types */ -file=ABI_DIR\BUILD_DIR\eapol.dll SHARED_LIB_DIR\eapol.dll +file=ABI_DIR\BUILD_DIR\eapol.dll SHARED_LIB_DIR\Eapol.dll // EAP SIM ECOM_PLUGIN( eapsim.dll,101f8e49.rsc ) @@ -47,57 +35,38 @@ // EAP AKA ECOM_PLUGIN( eapaka.dll,102073c1.rsc ) -// EAP MSCHAPv2 / Plain-MSCHAPv2 +// EAP MSCHAPV2 ECOM_PLUGIN( eapmschapv2.dll,101f8e66.rsc ) -// EAP TLS PEAP TTLS +// EAP TLS PEAP ECOM_PLUGIN( eaptlspeap.dll,101f8e4c.rsc ) -// EAP Secure ID / GTC +// EAP Secure ID ECOM_PLUGIN( eapsecurid.dll,101f8e74.rsc ) -// VPN interface +#ifdef FF_WLAN_EXTENSIONS +// EAP LEAP +ECOM_PLUGIN( eapleap.dll,101f8ea6.rsc ) +#endif //#ifdef FF_WLAN_EXTENSIONS + +// The VPN interface ECOM_PLUGIN(eapvpnif.dll, 10200ec9.rsc) // The Engine EAPOL interface ECOM_PLUGIN(wlaneapolif.dll, 2000b05a.rsc) -// Protected Setup +// EAP Protected Setup ECOM_PLUGIN( eapprotectedsetup.dll,2000b003.rsc ) // For database policy file (For secured databases of different EAP types and EAPOL.dat) data=ZPRIVATE\100012A5\policy\102072e9.spd private\100012A5\policy\102072e9.spd + // For additional backup registration file for EAPOL. data=ZPRIVATE\101F8EC5\backup_registration_eapol.xml private\101F8EC5\backup_registration_eapol.xml // Copies configuration file of EAPOL. data=ZPRIVATE\101F8EC5\eap.conf private\101F8EC5\eap.conf -// Copies configuration file of EAP-server. -data=ZPRIVATE\20026FCB\eap.conf private\20026FCB\eap.conf - -// Copies backup registration file of EAP-server. -data=ZPRIVATE\20026FCB\backup_registration.xml private\20026FCB\backup_registration.xml - - -file=ABI_DIR\BUILD_DIR\EapAuthServer.dll SHARED_LIB_DIR\EapAuthServer.dll - -file=ABI_DIR\BUILD_DIR\EapAuthServerExe.exe SHARED_LIB_DIR\EapAuthServerExe.exe - -file=ABI_DIR\BUILD_DIR\eapcoreinterface.dll SHARED_LIB_DIR\eapcoreinterface.dll - -file=ABI_DIR\BUILD_DIR\eapclientif.dll SHARED_LIB_DIR\eapclientif.dll - -ECOM_PLUGIN( EapCoreInterfaceImplementation.dll, 20026fcd.rsc) - -ECOM_PLUGIN( EapGeneric.dll, 20026fd1.rsc ) - -ECOM_PLUGIN( EapGeneralSettings.dll, 20026fd6.rsc) - -file=ABI_DIR\BUILD_DIR\eap_notifier.dll SHARED_LIB_DIR\eap_notifier.dll - - #endif // __PROTOCOL_WLAN - -#endif // __EAPOL_IBY__ +#endif // #ifndef __EAPOL_IBY__ diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/tools/bwins/eapsymbiantoolsu.def --- a/eapol/eapol_framework/eapol_symbian/tools/bwins/eapsymbiantoolsu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -EXPORTS - ?SetValue@TEapExpandedType@@QAEHII@Z @ 1 NONAME ; int TEapExpandedType::SetValue(unsigned int, unsigned int) - ??4TEapExpandedType@@QAEAAV0@ABV0@@Z @ 2 NONAME ; class TEapExpandedType & TEapExpandedType::operator=(class TEapExpandedType const &) - ?SetValue@TEapExpandedType@@QAEHPBXI@Z @ 3 NONAME ; int TEapExpandedType::SetValue(void const *, unsigned int) - ?GetVendorId@TEapExpandedType@@QBEIXZ @ 4 NONAME ; unsigned int TEapExpandedType::GetVendorId(void) const - ??0TEapExpandedType@@QAE@ABV?$TBufC8@$07@@@Z @ 5 NONAME ; TEapExpandedType::TEapExpandedType(class TBufC8<8> const &) - ??0TEapExpandedType@@QAE@ABV0@@Z @ 6 NONAME ; TEapExpandedType::TEapExpandedType(class TEapExpandedType const &) - ??1EapPluginTools@@UAE@XZ @ 7 NONAME ; EapPluginTools::~EapPluginTools(void) - ?CreateDatabaseLC@EapPluginTools@@SAXAAVRDbNamedDatabase@@AAVRFs@@AAHABVTDesC16@@AAV?$TBuf@$0BAA@@@@Z @ 8 NONAME ; void EapPluginTools::CreateDatabaseLC(class RDbNamedDatabase &, class RFs &, int &, class TDesC16 const &, class TBuf<256> &) - ??0TEapExpandedType@@QAE@XZ @ 9 NONAME ; TEapExpandedType::TEapExpandedType(void) - ?GetPrivatePathL@EapPluginTools@@SAXAAV?$TBuf@$0BAA@@@@Z @ 10 NONAME ; void EapPluginTools::GetPrivatePathL(class TBuf<256> &) - ??0TEapExpandedType@@QAE@ABVTDesC8@@@Z @ 11 NONAME ; TEapExpandedType::TEapExpandedType(class TDesC8 const &) - ??9TEapExpandedType@@QBE_NABV0@@Z @ 12 NONAME ; bool TEapExpandedType::operator!=(class TEapExpandedType const &) const - ??8TEapExpandedType@@QBE_NABV0@@Z @ 13 NONAME ; bool TEapExpandedType::operator==(class TEapExpandedType const &) const - ?ListAllEapPluginsL@EapPluginTools@@QAEXW4TIndexType@@ABVTEapExpandedType@@AAV?$RPointerArray@VTEapExpandedType@@@@@Z @ 14 NONAME ; void EapPluginTools::ListAllEapPluginsL(enum TIndexType, class TEapExpandedType const &, class RPointerArray &) - ??4TEapExpandedType@@QAEAAV0@ABVTDesC8@@@Z @ 15 NONAME ; class TEapExpandedType & TEapExpandedType::operator=(class TDesC8 const &) - ??0TEapExpandedType@@QAE@PBV0@@Z @ 16 NONAME ; TEapExpandedType::TEapExpandedType(class TEapExpandedType const *) - ??4TEapExpandedType@@QAEAAV0@ABV?$TBufC8@$07@@@Z @ 17 NONAME ; class TEapExpandedType & TEapExpandedType::operator=(class TBufC8<8> const &) - ?Compare@TEapExpandedType@@QBEHABV1@@Z @ 18 NONAME ; int TEapExpandedType::Compare(class TEapExpandedType const &) const - ?CleanupImplArray@EapPluginTools@@SAXPAX@Z @ 19 NONAME ; void EapPluginTools::CleanupImplArray(void *) - ??0EapPluginTools@@QAE@XZ @ 20 NONAME ; EapPluginTools::EapPluginTools(void) - ??1TEapExpandedType@@UAE@XZ @ 21 NONAME ; TEapExpandedType::~TEapExpandedType(void) - ?GetVendorType@TEapExpandedType@@QBEIXZ @ 22 NONAME ; unsigned int TEapExpandedType::GetVendorType(void) const - ?GetPrivatePathL@EapPluginTools@@SAXAAVRFs@@AAV?$TBuf@$0BAA@@@@Z @ 23 NONAME ; void EapPluginTools::GetPrivatePathL(class RFs &, class TBuf<256> &) - ?GetValue@TEapExpandedType@@QBEABV?$TBuf8@$07@@XZ @ 24 NONAME ; class TBuf8<8> const & TEapExpandedType::GetValue(void) const - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/tools/bwins/eaptoolsu.def --- a/eapol/eapol_framework/eapol_symbian/tools/bwins/eaptoolsu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1263 +0,0 @@ -EXPORTS - dss_pseudo_random @ 1 NONAME - ?md5_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 2 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *) - ?get_type@eap_tlv_header_c@@QBEKXZ @ 3 NONAME ; unsigned long eap_tlv_header_c::get_type(void) const - ?set_use_timer_queue@eap_am_tools_c@@QAEXXZ @ 4 NONAME ; void eap_am_tools_c::set_use_timer_queue(void) - ?copy@eap_buf_chain_wr_c@@QAEPAV1@XZ @ 5 NONAME ; class eap_buf_chain_wr_c * eap_buf_chain_wr_c::copy(void) - ?reset_data_buffer@eap_buf_chain_base_c@@AAEXXZ @ 6 NONAME ; void eap_buf_chain_base_c::reset_data_buffer(void) - ?get_network_id@eap_am_network_id_c@@QBEPBV1@XZ @ 7 NONAME ; class eap_am_network_id_c const * eap_am_network_id_c::get_network_id(void) const - ?GetLabel@EapCertificateEntry@@QBEPBVTDes16@@XZ @ 8 NONAME ; class TDes16 const * EapCertificateEntry::GetLabel(void) const - ?memory_store_get_data@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVeap_tlv_message_data_c@@@Z @ 9 NONAME ; enum eap_status_e eap_am_tools_c::memory_store_get_data(class eap_variable_data_c const *, class eap_tlv_message_data_c *) - ??1eap_am_network_id_c@@UAE@XZ @ 10 NONAME ; eap_am_network_id_c::~eap_am_network_id_c(void) - ?set_is_invalid@eap_variable_data_c@@QAEXXZ @ 11 NONAME ; void eap_variable_data_c::set_is_invalid(void) - ?get_data_length@eap_core_retransmission_c@@QBEKXZ @ 12 NONAME ; unsigned long eap_core_retransmission_c::get_data_length(void) const - ?add_rand_seed_hw_ticks@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@XZ @ 13 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::add_rand_seed_hw_ticks(void) - ??0eap_am_crypto_sha_256_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 14 NONAME ; eap_am_crypto_sha_256_c::eap_am_crypto_sha_256_c(class abs_eap_am_tools_c *) - ??0crypto_dsa_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 15 NONAME ; crypto_dsa_c::crypto_dsa_c(class abs_eap_am_tools_c *) - ?reset@crypto_cbc_c@@AAEXXZ @ 16 NONAME ; void crypto_cbc_c::reset(void) - ?check_is_valid_eap_type@eap_session_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 17 NONAME ; enum eap_status_e eap_session_core_c::check_is_valid_eap_type(class eap_expanded_type_c) - ?set_is_valid@eap_am_crypto_sha_256_c@@AAEXXZ @ 18 NONAME ; void eap_am_crypto_sha_256_c::set_is_valid(void) - ?add_rand_seed@crypto_random_c@@QAE?AW4eap_status_e@@PBXK@Z @ 19 NONAME ; enum eap_status_e crypto_random_c::add_rand_seed(void const *, unsigned long) - ?set_eap_type_values@eap_expanded_type_c@@QAEXW4eap_type_vendor_id_e@@K@Z @ 20 NONAME ; void eap_expanded_type_c::set_eap_type_values(enum eap_type_vendor_id_e, unsigned long) - ?get_data_length@eap_header_base_c@@QBEGXZ @ 21 NONAME ; unsigned short eap_header_base_c::get_data_length(void) const - ?get_send_network_id@eap_state_notification_c@@UBEPBVeap_am_network_id_c@@XZ @ 22 NONAME ; class eap_am_network_id_c const * eap_state_notification_c::get_send_network_id(void) const - ?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVeap_variable_data_c@@@Z @ 23 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_variable_data_c const *) const - ?get_use_timer_queue@eap_am_tools_c@@UAE_NXZ @ 24 NONAME ; bool eap_am_tools_c::get_use_timer_queue(void) - ?get_is_valid@crypto_3des_ede_c@@UAE_NXZ @ 25 NONAME ; bool crypto_3des_ede_c::get_is_valid(void) - ??0eap_expanded_type_c@@QAE@W4eap_type_vendor_id_e@@K@Z @ 26 NONAME ; eap_expanded_type_c::eap_expanded_type_c(enum eap_type_vendor_id_e, unsigned long) - ?encrypt_with_public_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 27 NONAME ; enum eap_status_e crypto_rsa_c::encrypt_with_public_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAV?$eap_array_c@Vnetwork_key_and_index_c@@@@@Z @ 28 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_array_c *) - ?set_data_length@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@K@Z @ 29 NONAME ; enum eap_status_e eap_buf_chain_base_c::set_data_length(unsigned long) - ?set_is_invalid@crypto_tls_base_prf_c@@AAEXXZ @ 30 NONAME ; void crypto_tls_base_prf_c::set_is_invalid(void) - ?get_leap_password@eap_master_session_key_c@@QBEPBVeap_variable_data_c@@XZ @ 31 NONAME ; class eap_variable_data_c const * eap_master_session_key_c::get_leap_password(void) const - ?set_selector@eap_network_id_selector_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 32 NONAME ; enum eap_status_e eap_network_id_selector_c::set_selector(class eap_am_network_id_c const *) - ??0eap_core_nak_info_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@Veap_expanded_type_c@@E@Z @ 33 NONAME ; eap_core_nak_info_c::eap_core_nak_info_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, class eap_expanded_type_c, unsigned char) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 34 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_expanded_type_c) - ?set_timer@eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 35 NONAME ; enum eap_status_e eap_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ?get_block_size@crypto_md5_c@@UAEKXZ @ 36 NONAME ; unsigned long crypto_md5_c::get_block_size(void) - ??0crypto_hmac_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_crypto_hash_algorithm_c@@_N@Z @ 37 NONAME ; crypto_hmac_c::crypto_hmac_c(class abs_eap_am_tools_c *, class abs_crypto_hash_algorithm_c *, bool) - ??0crypto_random_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 38 NONAME ; crypto_random_c::crypto_random_c(class abs_eap_am_tools_c *) - ?get_eap_header@eapol_header_rd_c@@QBEPAEXZ @ 39 NONAME ; unsigned char * eapol_header_rd_c::get_eap_header(void) const - ?rc4_decrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAXK@Z @ 40 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_decrypt(class eap_variable_data_c const *, void *, unsigned long) - ?set_length@eap_header_base_c@@QAEXG_N@Z @ 41 NONAME ; void eap_header_base_c::set_length(unsigned short, bool) - ?check_guard_bytes@eap_buf_chain_base_c@@ABE_NPBE@Z @ 42 NONAME ; bool eap_buf_chain_base_c::check_guard_bytes(unsigned char const *) const - ??1eap_am_crypto_rc4_c@@UAE@XZ @ 43 NONAME ; eap_am_crypto_rc4_c::~eap_am_crypto_rc4_c(void) - ?get_protocol_string@eap_state_notification_c@@UBEPBDXZ @ 44 NONAME ; char const * eap_state_notification_c::get_protocol_string(void) const - ?aes_encrypt_block@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 45 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_encrypt_block(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long) - ?sha_256_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 46 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_init(class eap_variable_data_c *) - ?get_is_valid@eap_type_selection_c@@QBE_NXZ @ 47 NONAME ; bool eap_type_selection_c::get_is_valid(void) const - ?cancel_retransmission@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 48 NONAME ; enum eap_status_e eap_core_c::cancel_retransmission(void) - ?get_is_valid@eap_am_crypto_sha_256_c@@QAE_NXZ @ 49 NONAME ; bool eap_am_crypto_sha_256_c::get_is_valid(void) - ?copy_context@crypto_md4_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 50 NONAME ; enum eap_status_e crypto_md4_c::copy_context(class eap_variable_data_c const *) - ?cbc_copy_block@crypto_cbc_c@@AAEXPAXPBXKK@Z @ 51 NONAME ; void crypto_cbc_c::cbc_copy_block(void *, void const *, unsigned long, unsigned long) - ?load_module@eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 52 NONAME ; enum eap_status_e eap_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVabs_eap_state_notification_c@@@Z @ 53 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class abs_eap_state_notification_c const *) - ?get_is_valid@crypto_tls_md5_prf_c@@QAE_NXZ @ 54 NONAME ; bool crypto_tls_md5_prf_c::get_is_valid(void) - ?get_value@eap_tlv_header_c@@QBEPAEK@Z @ 55 NONAME ; unsigned char * eap_tlv_header_c::get_value(unsigned long) const - ?add_data@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@PBXK@Z @ 56 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data(void const *, unsigned long) - ?convert_selected_bytes_to_ascii_armor@eap_am_tools_c@@AAEXEPAKPAE10_N@Z @ 57 NONAME ; void eap_am_tools_c::convert_selected_bytes_to_ascii_armor(unsigned char, unsigned long *, unsigned char *, unsigned char *, unsigned long *, bool) - ?shutdown@eap_session_core_c@@UAE?AW4eap_status_e@@XZ @ 58 NONAME ; enum eap_status_e eap_session_core_c::shutdown(void) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAV?$eap_array_c@Vnetwork_key_and_index_c@@@@@Z @ 59 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, class eap_array_c *) - ??1crypto_hmac_c@@UAE@XZ @ 60 NONAME ; crypto_hmac_c::~crypto_hmac_c(void) - ?get_SSID@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 61 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_SSID(void) - ??1crypto_aes_c@@UAE@XZ @ 62 NONAME ; crypto_aes_c::~crypto_aes_c(void) - ?set_is_valid@crypto_tls_base_prf_c@@AAEXXZ @ 63 NONAME ; void crypto_tls_base_prf_c::set_is_valid(void) - ?GetVendorType@TEapExpandedType@@QBEIXZ @ 64 NONAME ; unsigned int TEapExpandedType::GetVendorType(void) const - ?pulse_timer@eap_am_tools_symbian_c@@UAEKK@Z @ 65 NONAME ; unsigned long eap_am_tools_symbian_c::pulse_timer(unsigned long) - ?get_network_key_index@network_key_and_index_c@@QBEEXZ @ 66 NONAME ; unsigned char network_key_and_index_c::get_network_key_index(void) const - ?get_message_data_length@eap_tlv_message_data_c@@QBEKXZ @ 67 NONAME ; unsigned long eap_tlv_message_data_c::get_message_data_length(void) const - ?get_encrypts@crypto_aes_wrap_c@@QAE_NXZ @ 68 NONAME ; bool crypto_aes_wrap_c::get_encrypts(void) - ?hash_final@crypto_sha1_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 69 NONAME ; enum eap_status_e crypto_sha1_c::hash_final(void *, unsigned long *) - ?get_block_size@eap_am_crypto_sha1_c@@QAEKXZ @ 70 NONAME ; unsigned long eap_am_crypto_sha1_c::get_block_size(void) - ?set_type@eapol_ethernet_header_base_c@@QAEXW4eapol_ethernet_type_e@@@Z @ 71 NONAME ; void eapol_ethernet_header_base_c::set_type(enum eapol_ethernet_type_e) - ?set_mem_guard_bytes@eap_buf_chain_base_c@@AAEXXZ @ 72 NONAME ; void eap_buf_chain_base_c::set_mem_guard_bytes(void) - ?get_is_valid_data@eap_expanded_type_c@@QBE_NXZ @ 73 NONAME ; bool eap_expanded_type_c::get_is_valid_data(void) const - ?get_function_string@eap_process_tlv_message_data_c@@QAEPBDW4eap_tlv_message_type_function_e@@@Z @ 74 NONAME ; char const * eap_process_tlv_message_data_c::get_function_string(enum eap_tlv_message_type_function_e) - ?copy_context@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_KPBK22@Z @ 75 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::copy_context(class eap_variable_data_c const *, unsigned long long, unsigned long const *, unsigned long const *, unsigned long const *) - ?get_attribute_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Attribute_Type_e@@@Z @ 76 NONAME ; char const * eap_simple_config_trace_string_c::get_attribute_type_string(enum simple_config_Attribute_Type_e) const - ?create_uuid_v5@eap_am_tools_c@@UAE?AW4eap_status_e@@PBXK0KPAVeap_variable_data_c@@@Z @ 77 NONAME ; enum eap_status_e eap_am_tools_c::create_uuid_v5(void const *, unsigned long, void const *, unsigned long, class eap_variable_data_c *) - ?rc4_decrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBXPAXK@Z @ 78 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_decrypt(class eap_variable_data_c const *, void const *, void *, unsigned long) - ?ConvertEAPSettingsToInternalType@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBVEAPSettings@@PAVeap_method_settings_c@@@Z @ 79 NONAME ; int CEapConversion::ConvertEAPSettingsToInternalType(class abs_eap_am_tools_c *, class EAPSettings const *, class eap_method_settings_c *) - ?add_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KKPBX@Z @ 80 NONAME ; enum eap_status_e eap_tlv_message_data_c::add_message_data(unsigned long, unsigned long, void const *) - ?get_is_valid@crypto_sha1_c@@UAE_NXZ @ 81 NONAME ; bool crypto_sha1_c::get_is_valid(void) - ?set_is_invalid@crypto_md5_c@@AAEXXZ @ 82 NONAME ; void crypto_md5_c::set_is_invalid(void) - ?get_is_reserved@eap_am_mutex_symbian_c@@UBE_NXZ @ 83 NONAME ; bool eap_am_mutex_symbian_c::get_is_reserved(void) const - ?set_eap_database_reference_values@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 84 NONAME ; enum eap_status_e eap_session_core_c::set_eap_database_reference_values(class eap_variable_data_c const *) - ?get_md5_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 85 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md5_digest_length(class eap_variable_data_c *) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PA_K@Z @ 86 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned long long *) - ?GetPrimaryNamePresent@EapCertificateEntry@@QBEHXZ @ 87 NONAME ; int EapCertificateEntry::GetPrimaryNamePresent(void) const - ??0crypto_rsa_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 88 NONAME ; crypto_rsa_c::crypto_rsa_c(class abs_eap_am_tools_c *) - ?rsa_encrypt_with_public_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 89 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_encrypt_with_public_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?get_block_size@crypto_sha_256_c@@UAEKXZ @ 90 NONAME ; unsigned long crypto_sha_256_c::get_block_size(void) - ??0eapol_header_wr_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 91 NONAME ; eapol_header_wr_c::eapol_header_wr_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long) - ?hash_cleanup@crypto_md4_c@@UAE?AW4eap_status_e@@XZ @ 92 NONAME ; enum eap_status_e crypto_md4_c::hash_cleanup(void) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 93 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, class eap_array_c *) - ?object_decrease_reference_count@eap_tlv_message_data_c@@QAEKXZ @ 94 NONAME ; unsigned long eap_tlv_message_data_c::object_decrease_reference_count(void) - ?init@crypto_dsa_c@@QAE?AW4eap_status_e@@XZ @ 95 NONAME ; enum eap_status_e crypto_dsa_c::init(void) - ?ConvertHBufC8ToInternalTypes@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBVHBufC8@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 96 NONAME ; int CEapConversion::ConvertHBufC8ToInternalTypes(class abs_eap_am_tools_c *, class HBufC8 const *, class eap_array_c *) - ?hmac_set_key@crypto_hmac_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 97 NONAME ; enum eap_status_e crypto_hmac_c::hmac_set_key(class eap_variable_data_c const *) - ?GetThumbprintWritable@EapCertificateEntry@@QAEPAVTDes16@@XZ @ 98 NONAME ; class TDes16 * EapCertificateEntry::GetThumbprintWritable(void) - ?get_eap_type_list@eap_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 99 NONAME ; enum eap_status_e eap_core_c::get_eap_type_list(class eap_array_c *) - ?get_type@eapol_ethernet_header_base_c@@QBEGXZ @ 100 NONAME ; unsigned short eapol_ethernet_header_base_c::get_type(void) const - ?encrypt_block@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 101 NONAME ; enum eap_status_e crypto_3des_ede_c::encrypt_block(void const *, void *, unsigned long) - ?get_length@eap_header_base_c@@QBEGXZ @ 102 NONAME ; unsigned short eap_header_base_c::get_length(void) const - ?set_buffer_length@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 103 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer_length(unsigned long) - ?set_is_invalid@crypto_sha1_c@@AAEXXZ @ 104 NONAME ; void crypto_sha1_c::set_is_invalid(void) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eap_tlv_message_type_function_e@@@Z @ 105 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(enum eap_tlv_message_type_function_e) - ?dsa_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 106 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_init(class eap_variable_data_c *) - ?get_is_valid@crypto_dsa_c@@QAE_NXZ @ 107 NONAME ; bool crypto_dsa_c::get_is_valid(void) - ?asynchronous_init_remove_eap_session@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_network_id_selector_c@@@Z @ 108 NONAME ; enum eap_status_e eap_session_core_c::asynchronous_init_remove_eap_session(class eap_network_id_selector_c const *) - ?unload_module@eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 109 NONAME ; enum eap_status_e eap_core_c::unload_module(class eap_expanded_type_c) - ?aes_decrypt_block@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 110 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_decrypt_block(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long) - ?ConvertInternalTypeToEAPSettings@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBVeap_method_settings_c@@PAVEAPSettings@@@Z @ 111 NONAME ; int CEapConversion::ConvertInternalTypeToEAPSettings(class abs_eap_am_tools_c *, class eap_method_settings_c const *, class EAPSettings *) - ?set_do_packet_retransmission@eap_buf_chain_base_c@@QAEX_N@Z @ 112 NONAME ; void eap_buf_chain_base_c::set_do_packet_retransmission(bool) - ?get_is_valid@crypto_rsa_c@@QAE_NXZ @ 113 NONAME ; bool crypto_rsa_c::get_is_valid(void) - ??1eapol_header_base_c@@UAE@XZ @ 114 NONAME ; eapol_header_base_c::~eapol_header_base_c(void) - ??8eap_expanded_type_c@@QBE_NW4eap_type_ietf_values_e@@@Z @ 115 NONAME ; bool eap_expanded_type_c::operator==(enum eap_type_ietf_values_e) const - ?get_type_partner@eap_base_type_c@@QAEPAVabs_eap_base_type_c@@XZ @ 116 NONAME ; class abs_eap_base_type_c * eap_base_type_c::get_type_partner(void) - ?read_configure@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 117 NONAME ; enum eap_status_e eap_session_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?memory_store_add_data@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVeap_tlv_message_data_c@@K@Z @ 118 NONAME ; enum eap_status_e eap_am_tools_c::memory_store_add_data(class eap_variable_data_c const *, class eap_tlv_message_data_c *, unsigned long) - ?get_sha_256_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 119 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha_256_digest_length(class eap_variable_data_c *) - ??0eap_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_core_c@@_NPBVeap_am_network_id_c@@2@Z @ 120 NONAME ; eap_core_c::eap_core_c(class abs_eap_am_tools_c *, class abs_eap_core_c *, bool, class eap_am_network_id_c const *, bool) - ?set_decryption_key@crypto_aes_c@@UAE?AW4eap_status_e@@PBXK@Z @ 121 NONAME ; enum eap_status_e crypto_aes_c::set_decryption_key(void const *, unsigned long) - ?get_is_manipulated@eap_buf_chain_base_c@@QAE_NXZ @ 122 NONAME ; bool eap_buf_chain_base_c::get_is_manipulated(void) - ?set_subsection@eap_config_value_c@@QAEXPAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@@Z @ 123 NONAME ; void eap_config_value_c::set_subsection(class eap_core_map_c *) - ?get_source@eap_am_network_id_c@@QBEPBEXZ @ 124 NONAME ; unsigned char const * eap_am_network_id_c::get_source(void) const - ??0crypto_3des_ede_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 125 NONAME ; crypto_3des_ede_c::crypto_3des_ede_c(class abs_eap_am_tools_c *) - ??0eap_am_memory_store_tlv_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 126 NONAME ; eap_am_memory_store_tlv_data_c::eap_am_memory_store_tlv_data_c(class abs_eap_am_tools_c *) - ??1crypto_md5_c@@UAE@XZ @ 127 NONAME ; crypto_md5_c::~crypto_md5_c(void) - ?SetThumbprintPresent@EapCertificateEntry@@QAEXXZ @ 128 NONAME ; void EapCertificateEntry::SetThumbprintPresent(void) - ?set_trace_file_name@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 129 NONAME ; enum eap_status_e eap_am_tools_symbian_c::set_trace_file_name(class eap_variable_data_c const *) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@K@Z @ 130 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(unsigned long) - ?set_is_valid@crypto_ephemeral_diffie_hellman_c@@QAEXXZ @ 131 NONAME ; void crypto_ephemeral_diffie_hellman_c::set_is_valid(void) - ??1eap_am_file_input_symbian_c@@UAE@XZ @ 132 NONAME ; eap_am_file_input_symbian_c::~eap_am_file_input_symbian_c(void) - ?SetIssuerNamePresent@EapCertificateEntry@@QAEXXZ @ 133 NONAME ; void EapCertificateEntry::SetIssuerNamePresent(void) - ??1eap_session_core_base_c@@UAE@XZ @ 134 NONAME ; eap_session_core_base_c::~eap_session_core_base_c(void) - ?get_Encryption_Type@simple_config_credential_c@@QAE?AW4simple_config_Encryption_Type_e@@XZ @ 135 NONAME ; enum simple_config_Encryption_Type_e simple_config_credential_c::get_Encryption_Type(void) - ?get_digest_length@crypto_md4_c@@UAEKXZ @ 136 NONAME ; unsigned long crypto_md4_c::get_digest_length(void) - ?eap_read_u16_t_little_endian_order@@YAGPBXK@Z @ 137 NONAME ; unsigned short eap_read_u16_t_little_endian_order(void const *, unsigned long) - ?get_vendor_id@eap_expanded_type_c@@QBE?AW4eap_type_vendor_id_e@@XZ @ 138 NONAME ; enum eap_type_vendor_id_e eap_expanded_type_c::get_vendor_id(void) const - ?decrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 139 NONAME ; enum eap_status_e crypto_rc4_c::decrypt_data(void const *, void *, unsigned long) - ?u64_struct_to_u64_t@eap_am_tools_symbian_c@@UAE_KUu64_struct@@@Z @ 140 NONAME ; unsigned long long eap_am_tools_symbian_c::u64_struct_to_u64_t(struct u64_struct) - ?get_eap_identifier@eap_core_nak_info_c@@QBEEXZ @ 141 NONAME ; unsigned char eap_core_nak_info_c::get_eap_identifier(void) const - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_buf_chain_wr_c@@@Z @ 142 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_buf_chain_wr_c const *) - ??0crypto_aes_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 143 NONAME ; crypto_aes_c::crypto_aes_c(class abs_eap_am_tools_c *) - ?md4_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 144 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_final(class eap_variable_data_c *, unsigned char *, unsigned long *) - ?t_prf_init@crypto_eap_fast_hmac_sha1_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 145 NONAME ; enum eap_status_e crypto_eap_fast_hmac_sha1_prf_c::t_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?SetThumbprint@EapCertificateEntry@@QAEHABV?$TBuf@$0EA@@@@Z @ 146 NONAME ; int EapCertificateEntry::SetThumbprint(class TBuf<64> const &) - ??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_variable_data_c@@1G@Z @ 147 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, unsigned short) - ??1abs_crypto_block_algorithm_c@@UAE@XZ @ 148 NONAME ; abs_crypto_block_algorithm_c::~abs_crypto_block_algorithm_c(void) - ?add_data_to_offset@eap_variable_data_c@@QAE?AW4eap_status_e@@KPBXK@Z @ 149 NONAME ; enum eap_status_e eap_variable_data_c::add_data_to_offset(unsigned long, void const *, unsigned long) - ?create_uuid_v5_from_mac_address@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAVeap_variable_data_c@@@Z @ 150 NONAME ; enum eap_status_e eap_am_tools_c::create_uuid_v5_from_mac_address(unsigned char const *, unsigned long, class eap_variable_data_c *) - ?shutdown_operation@eap_core_c@@CA?AW4eap_status_e@@PAVeap_base_type_c@@PAVabs_eap_am_tools_c@@@Z @ 151 NONAME ; enum eap_status_e eap_core_c::shutdown_operation(class eap_base_type_c *, class abs_eap_am_tools_c *) - ?stop_timer_thread@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 152 NONAME ; enum eap_status_e eap_am_tools_symbian_c::stop_timer_thread(void) - ?get_mac_address@eap_rogue_ap_entry_c@@QBEPAEXZ @ 153 NONAME ; unsigned char * eap_rogue_ap_entry_c::get_mac_address(void) const - ?compare_length@eap_variable_data_c@@QBEJPBV1@K@Z @ 154 NONAME ; long eap_variable_data_c::compare_length(class eap_variable_data_c const *, unsigned long) const - ?create_eap_session@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 155 NONAME ; enum eap_status_e eap_session_core_c::create_eap_session(class eap_am_network_id_c const *) - ??0eap_am_mutex_base_c@@QAE@XZ @ 156 NONAME ; eap_am_mutex_base_c::eap_am_mutex_base_c(void) - ?get_header_buffer_length@eap_general_header_base_c@@QBEKXZ @ 157 NONAME ; unsigned long eap_general_header_base_c::get_header_buffer_length(void) const - ?get_data_length@eap_variable_data_c@@QBEKXZ @ 158 NONAME ; unsigned long eap_variable_data_c::get_data_length(void) const - ?restart_authentication@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N11@Z @ 159 NONAME ; enum eap_status_e eap_session_core_c::restart_authentication(class eap_am_network_id_c const *, bool, bool, bool) - ?add_rand_seed@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBEK@Z @ 160 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::add_rand_seed(unsigned char const *, unsigned long) - ?SetSubjectName@EapCertificateEntry@@QAEHABV?$TBuf@$0PP@@@@Z @ 161 NONAME ; int EapCertificateEntry::SetSubjectName(class TBuf<255> const &) - ??0simple_config_credential_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 162 NONAME ; simple_config_credential_c::simple_config_credential_c(class abs_eap_am_tools_c *) - ??0EapMessageQueue@@QAE@PAVabs_eap_am_tools_c@@@Z @ 163 NONAME ; EapMessageQueue::EapMessageQueue(class abs_eap_am_tools_c *) - ?set_type@eap_am_network_id_c@@QAEXG@Z @ 164 NONAME ; void eap_am_network_id_c::set_type(unsigned short) - ?set_is_valid@eap_variable_data_c@@QAEXXZ @ 165 NONAME ; void eap_variable_data_c::set_is_valid(void) - ?get_trace_mask@eap_am_tools_c@@UBEKXZ @ 166 NONAME ; unsigned long eap_am_tools_c::get_trace_mask(void) const - ?set_trace_prefix@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 167 NONAME ; enum eap_status_e eap_am_tools_symbian_c::set_trace_prefix(class eap_variable_data_c const *) - ?get_owner_thread@eap_am_mutex_symbian_c@@QBEPBVRThread@@XZ @ 168 NONAME ; class RThread const * eap_am_mutex_symbian_c::get_owner_thread(void) const - ?copy@eap_am_crypto_sha_256_c@@QAEPAV1@XZ @ 169 NONAME ; class eap_am_crypto_sha_256_c * eap_am_crypto_sha_256_c::copy(void) - ??0crypto_md5_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 170 NONAME ; crypto_md5_c::crypto_md5_c(class abs_eap_am_tools_c *) - ??1eapol_ethernet_header_wr_c@@UAE@XZ @ 171 NONAME ; eapol_ethernet_header_wr_c::~eapol_ethernet_header_wr_c(void) - ?ConvertInternalTypeToExpandedEAPType@CEapConversion@@SAHPBVeap_expanded_type_c@@PAVTEapExpandedType@@@Z @ 172 NONAME ; int CEapConversion::ConvertInternalTypeToExpandedEAPType(class eap_expanded_type_c const *, class TEapExpandedType *) - ?parse_nai@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@1@Z @ 173 NONAME ; enum eap_status_e eap_am_tools_c::parse_nai(class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *) - ?get_eap_type@eap_state_notification_c@@UBE?AVeap_expanded_type_c@@XZ @ 174 NONAME ; class eap_expanded_type_c eap_state_notification_c::get_eap_type(void) const - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAE@Z @ 175 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, unsigned char *) - ?get_header_offset@eap_session_core_c@@UAEKPAK0@Z @ 176 NONAME ; unsigned long eap_session_core_c::get_header_offset(unsigned long *, unsigned long *) - ?ConvertCertificatesToInternalType@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$RPointerArray@VEapCertificateEntry@@@@PAV?$eap_array_c@Veap_certificate_entry_c@@@@@Z @ 177 NONAME ; int CEapConversion::ConvertCertificatesToInternalType(class abs_eap_am_tools_c *, class RPointerArray const *, class eap_array_c *) - ?decrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 178 NONAME ; enum eap_status_e crypto_cbc_c::decrypt_data(void const *, void *, unsigned long) - ?get_expanded_type_data@eap_expanded_type_c@@QBE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAVeap_variable_data_c@@@Z @ 179 NONAME ; enum eap_status_e eap_expanded_type_c::get_expanded_type_data(class abs_eap_am_tools_c *, class eap_variable_data_c *) const - ?hmac_128_final@crypto_hmac_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 180 NONAME ; enum eap_status_e crypto_hmac_c::hmac_128_final(void *, unsigned long *) - ?get_is_valid@crypto_rc4_c@@UAE_NXZ @ 181 NONAME ; bool crypto_rc4_c::get_is_valid(void) - ??0TEapExpandedType@@QAE@ABV0@@Z @ 182 NONAME ; TEapExpandedType::TEapExpandedType(class TEapExpandedType const &) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4eapol_tkip_mic_failure_type_e@eapol_RSNA_key_header_c@@@Z @ 183 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, enum eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e *) - ?set_is_valid@eap_session_core_c@@UAEXXZ @ 184 NONAME ; void eap_session_core_c::set_is_valid(void) - ?GetEapRequestsString@EapServerStrings@@SAPBDH@Z @ 185 NONAME ; char const * EapServerStrings::GetEapRequestsString(int) - ?re_activate_timer_queue@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 186 NONAME ; enum eap_status_e eap_am_tools_symbian_c::re_activate_timer_queue(void) - ?eap_host_to_little_endian_long_long@@YA_K_K@Z @ 187 NONAME ; unsigned long long eap_host_to_little_endian_long_long(unsigned long long) - ??1eap_buf_chain_rd_c@@UAE@XZ @ 188 NONAME ; eap_buf_chain_rd_c::~eap_buf_chain_rd_c(void) - ?set_decryption_key_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 189 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::set_decryption_key_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned long) - ??0eap_am_mutex_symbian_c@@QAE@PBV0@@Z @ 190 NONAME ; eap_am_mutex_symbian_c::eap_am_mutex_symbian_c(class eap_am_mutex_symbian_c const *) - ?eap_status_return_file_number@eap_am_tools_c@@UAE?AW4eap_status_e@@_NW42@KKJ@Z @ 191 NONAME ; enum eap_status_e eap_am_tools_c::eap_status_return_file_number(bool, enum eap_status_e, unsigned long, unsigned long, long) - ??1eap_core_c@@UAE@XZ @ 192 NONAME ; eap_core_c::~eap_core_c(void) - ?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBV?$eap_array_c@Vnetwork_key_and_index_c@@@@@Z @ 193 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_array_c const *) const - ?copy_context@crypto_sha_256_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 194 NONAME ; enum eap_status_e crypto_sha_256_c::copy_context(class eap_variable_data_c const *) - ??0eap_header_wr_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 195 NONAME ; eap_header_wr_c::eap_header_wr_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long) - ?hash_init@crypto_sha1_c@@UAE?AW4eap_status_e@@XZ @ 196 NONAME ; enum eap_status_e crypto_sha1_c::hash_init(void) - ?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVabs_eap_state_notification_c@@@Z @ 197 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class abs_eap_state_notification_c const *) const - ?GetSubjectNameWritable@EapCertificateEntry@@QAEPAVTDes16@@XZ @ 198 NONAME ; class TDes16 * EapCertificateEntry::GetSubjectNameWritable(void) - ?set_copy_of_network_id@eap_am_network_id_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 199 NONAME ; enum eap_status_e eap_am_network_id_c::set_copy_of_network_id(class eap_am_network_id_c const *) - ?hash@eap_variable_data_c@@QBEKK@Z @ 200 NONAME ; unsigned long eap_variable_data_c::hash(unsigned long) const - ?eap_status_return@eap_am_tools_c@@UAE?AW4eap_status_e@@_NW42@PBDJ@Z @ 201 NONAME ; enum eap_status_e eap_am_tools_c::eap_status_return(bool, enum eap_status_e, char const *, long) - ?object_increase_reference_count@eap_core_c@@QAEXXZ @ 202 NONAME ; void eap_core_c::object_increase_reference_count(void) - ?expand_key@crypto_kd_hmac_sha256_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@KPBV3@1@Z @ 203 NONAME ; enum eap_status_e crypto_kd_hmac_sha256_c::expand_key(class eap_variable_data_c *, unsigned long, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?set_is_invalid@crypto_tls_sha1_prf_c@@AAEXXZ @ 204 NONAME ; void crypto_tls_sha1_prf_c::set_is_invalid(void) - ?get_is_valid@crypto_eap_fast_hmac_sha1_prf_c@@QAE_NXZ @ 205 NONAME ; bool crypto_eap_fast_hmac_sha1_prf_c::get_is_valid(void) - ?copy@eap_rogue_ap_entry_c@@QBEPAV1@XZ @ 206 NONAME ; class eap_rogue_ap_entry_c * eap_rogue_ap_entry_c::copy(void) const - ?set_is_valid@crypto_cbc_c@@UAEXXZ @ 207 NONAME ; void crypto_cbc_c::set_is_valid(void) - ?tls_prf_cleanup@crypto_tls_prf_c@@QAE?AW4eap_status_e@@XZ @ 208 NONAME ; enum eap_status_e crypto_tls_prf_c::tls_prf_cleanup(void) - ?get_packet_type@eapol_header_base_c@@QBE?AW4eapol_packet_type_e@@XZ @ 209 NONAME ; enum eapol_packet_type_e eapol_header_base_c::get_packet_type(void) const - ?copy@crypto_sha1_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 210 NONAME ; class abs_crypto_hash_algorithm_c * crypto_sha1_c::copy(void) - ?timer_expired@eap_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 211 NONAME ; enum eap_status_e eap_core_c::timer_expired(unsigned long, void *) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAK@Z @ 212 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned long *) - ?get_data_length@eapol_ethernet_header_base_c@@QBEKXZ @ 213 NONAME ; unsigned long eapol_ethernet_header_base_c::get_data_length(void) const - ?file_read_line@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 214 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_read_line(class eap_variable_data_c *) - ?reset@eap_core_c@@QAE?AW4eap_status_e@@XZ @ 215 NONAME ; enum eap_status_e eap_core_c::reset(void) - ?eap_host_to_little_endian_short@@YAGG@Z @ 216 NONAME ; unsigned short eap_host_to_little_endian_short(unsigned short) - ?get_key_index@eapol_session_key_c@@QBEKXZ @ 217 NONAME ; unsigned long eapol_session_key_c::get_key_index(void) const - ?GetValue@TEapExpandedType@@QBEABV?$TBuf8@$07@@XZ @ 218 NONAME ; class TBuf8<8> const & TEapExpandedType::GetValue(void) const - ?get_message_type_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_Message_Type_e@@@Z @ 219 NONAME ; char const * eap_simple_config_trace_string_c::get_message_type_string(enum simple_config_Message_Type_e) const - ??0eap_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@PBXK_N2@Z @ 220 NONAME ; eap_variable_data_c::eap_variable_data_c(class abs_eap_am_tools_c *, void const *, unsigned long, bool, bool) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAVeapol_session_key_c@@@Z @ 221 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, class eapol_session_key_c *) - ?set_type@eap_config_value_c@@QAEXW4eap_configure_type_e@@@Z @ 222 NONAME ; void eap_config_value_c::set_type(enum eap_configure_type_e) - ??1abs_crypto_stream_algorithm_c@@UAE@XZ @ 223 NONAME ; abs_crypto_stream_algorithm_c::~abs_crypto_stream_algorithm_c(void) - ??1eapol_ethernet_header_base_c@@UAE@XZ @ 224 NONAME ; eapol_ethernet_header_base_c::~eapol_ethernet_header_base_c(void) - ?eap_read_u24_t_network_order@@YAKPBXK@Z @ 225 NONAME ; unsigned long eap_read_u24_t_network_order(void const *, unsigned long) - ?hash_init@eap_am_crypto_md4_c@@QAE?AW4eap_status_e@@XZ @ 226 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_init(void) - ?sleep@eap_am_tools_symbian_c@@UAEXK@Z @ 227 NONAME ; void eap_am_tools_symbian_c::sleep(unsigned long) - ?eap_sha1_process_data_host_order@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PBKK@Z @ 228 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::eap_sha1_process_data_host_order(unsigned long const *, unsigned long) - ?get_data@eapol_header_base_c@@QBEPAEK@Z @ 229 NONAME ; unsigned char * eapol_header_base_c::get_data(unsigned long) const - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAV?$eap_array_c@Vsimple_config_credential_c@@@@@Z @ 230 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_array_c *) - ?get_block_size@crypto_sha1_c@@UAEKXZ @ 231 NONAME ; unsigned long crypto_sha1_c::get_block_size(void) - ?set_is_valid@crypto_tls_sha1_prf_c@@AAEXXZ @ 232 NONAME ; void crypto_tls_sha1_prf_c::set_is_valid(void) - ?get_clock_ticks@eap_am_tools_symbian_c@@UAE_KXZ @ 233 NONAME ; unsigned long long eap_am_tools_symbian_c::get_clock_ticks(void) - ?GetSubjectName@EapCertificateEntry@@QBEPBVTDes16@@XZ @ 234 NONAME ; class TDes16 const * EapCertificateEntry::GetSubjectName(void) const - ?get_data@eap_buf_chain_base_c@@QBEPAEK@Z @ 235 NONAME ; unsigned char * eap_buf_chain_base_c::get_data(unsigned long) const - ?SetSerialNumber@EapCertificateEntry@@QAEHABV?$TBuf@$0PP@@@@Z @ 236 NONAME ; int EapCertificateEntry::SetSerialNumber(class TBuf<255> const &) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4eapol_key_authentication_type_e@@@Z @ 237 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, enum eapol_key_authentication_type_e *) - ?copy@network_key_and_index_c@@QAEPAV1@XZ @ 238 NONAME ; class network_key_and_index_c * network_key_and_index_c::copy(void) - ?copy@crypto_md5_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 239 NONAME ; class abs_crypto_hash_algorithm_c * crypto_md5_c::copy(void) - ?get_rand_bytes@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAEK@Z @ 240 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::get_rand_bytes(unsigned char *, unsigned long) - ?ConvertFromBuf16ToInternal@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBVTDes16@@PAVeap_variable_data_c@@@Z @ 241 NONAME ; int CEapConversion::ConvertFromBuf16ToInternal(class abs_eap_am_tools_c *, class TDes16 const *, class eap_variable_data_c *) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KW4eap_tlv_message_type_e@@PAW42@@Z @ 242 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, enum eap_tlv_message_type_e, enum eap_status_e *) - ?get_type@eap_am_network_id_c@@QBEGXZ @ 243 NONAME ; unsigned short eap_am_network_id_c::get_type(void) const - ?get_eap_type@eap_master_session_key_c@@QBE?AVeap_expanded_type_c@@XZ @ 244 NONAME ; class eap_expanded_type_c eap_master_session_key_c::get_eap_type(void) const - ??8TEapExpandedType@@QBE_NABV0@@Z @ 245 NONAME ; bool TEapExpandedType::operator==(class TEapExpandedType const &) const - ?get_key_length@crypto_cbc_c@@UAEKXZ @ 246 NONAME ; unsigned long crypto_cbc_c::get_key_length(void) - ?packet_process@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 247 NONAME ; enum eap_status_e eap_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) - ?hash_init@crypto_md5_c@@UAE?AW4eap_status_e@@XZ @ 248 NONAME ; enum eap_status_e crypto_md5_c::hash_init(void) - ?memmove@eap_am_tools_symbian_c@@UAEXPAXPBXK@Z @ 249 NONAME ; void eap_am_tools_symbian_c::memmove(void *, void const *, unsigned long) - ?set_marked_removed@eap_core_c@@QAEXXZ @ 250 NONAME ; void eap_core_c::set_marked_removed(void) - ?set_key_type@eapol_session_key_c@@QAEXW4eapol_key_type_e@@@Z @ 251 NONAME ; void eapol_session_key_c::set_key_type(enum eapol_key_type_e) - ?eap_htonl@@YAKK@Z @ 252 NONAME ; unsigned long eap_htonl(unsigned long) - ?sha_256_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 253 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_update(class eap_variable_data_c *, unsigned char const *, unsigned long) - ?eap_md4_transform_host_order@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PBKK@Z @ 254 NONAME ; enum eap_status_e eap_am_crypto_md4_c::eap_md4_transform_host_order(unsigned long const *, unsigned long) - ?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVeap_variable_data_c@@PBVeap_config_value_c@@@Z @ 255 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_variable_data_c const *, class eap_config_value_c const *) const - ??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 256 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPA_N@Z @ 257 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, bool *) - ?get_partner@eap_session_core_c@@QAEPAVabs_eap_session_core_c@@XZ @ 258 NONAME ; class abs_eap_session_core_c * eap_session_core_c::get_partner(void) - ?get_is_valid@eap_am_crypto_rc4_c@@QAE_NXZ @ 259 NONAME ; bool eap_am_crypto_rc4_c::get_is_valid(void) - ?set_version@eapol_header_base_c@@QAEXW4eapol_protocol_version_e@@@Z @ 260 NONAME ; void eapol_header_base_c::set_version(enum eapol_protocol_version_e) - ?set_encryption_key@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXK@Z @ 261 NONAME ; enum eap_status_e crypto_aes_wrap_c::set_encryption_key(void const *, unsigned long) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Vsimple_config_credential_c@@@@@Z @ 262 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_array_c const *) - ?write_configure@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 263 NONAME ; enum eap_status_e eap_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?ConvertFromTDesCToInternal@CEapConversion@@SAHPAVabs_eap_am_tools_c@@ABVTDesC16@@PAVeap_variable_data_c@@@Z @ 264 NONAME ; int CEapConversion::ConvertFromTDesCToInternal(class abs_eap_am_tools_c *, class TDesC16 const &, class eap_variable_data_c *) - ?cleanup@crypto_rsa_c@@QAE?AW4eap_status_e@@XZ @ 265 NONAME ; enum eap_status_e crypto_rsa_c::cleanup(void) - ?object_decrease_reference_count@eap_base_type_c@@QAEKXZ @ 266 NONAME ; unsigned long eap_base_type_c::object_decrease_reference_count(void) - ?get_is_valid@crypto_md4_c@@UAE_NXZ @ 267 NONAME ; bool crypto_md4_c::get_is_valid(void) - ?allocate_message_buffer@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KKPAPAX@Z @ 268 NONAME ; enum eap_status_e eap_tlv_message_data_c::allocate_message_buffer(unsigned long, unsigned long, void * *) - ??1eap_header_rd_c@@UAE@XZ @ 269 NONAME ; eap_header_rd_c::~eap_header_rd_c(void) - ?hash_cleanup@crypto_sha1_c@@UAE?AW4eap_status_e@@XZ @ 270 NONAME ; enum eap_status_e crypto_sha1_c::hash_cleanup(void) - ?GetSecondaryName@EapCertificateEntry@@QBEPBVTDes16@@XZ @ 271 NONAME ; class TDes16 const * EapCertificateEntry::GetSecondaryName(void) const - ?convert_hex_ascii_to_bytes@eap_am_tools_c@@UAE?AW4eap_status_e@@PBXKPAVeap_variable_data_c@@@Z @ 272 NONAME ; enum eap_status_e eap_am_tools_c::convert_hex_ascii_to_bytes(void const *, unsigned long, class eap_variable_data_c *) - ?hash_update@eap_am_crypto_md4_c@@QAE?AW4eap_status_e@@PBXK@Z @ 273 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_update(void const *, unsigned long) - ??0EapMessageBuffer@@QAE@PAVabs_eap_am_tools_c@@@Z @ 274 NONAME ; EapMessageBuffer::EapMessageBuffer(class abs_eap_am_tools_c *) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVnetwork_key_and_index_c@@@Z @ 275 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class network_key_and_index_c *) - ?get_is_reserved@eap_am_mutex_base_c@@QBE_NXZ @ 276 NONAME ; bool eap_am_mutex_base_c::get_is_reserved(void) const - ?hash_init@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@XZ @ 277 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_init(void) - ?get_is_valid@crypto_cbc_c@@UAE_NXZ @ 278 NONAME ; bool crypto_cbc_c::get_is_valid(void) - ?convert_bytes_to_ascii_armor@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 279 NONAME ; enum eap_status_e eap_am_tools_c::convert_bytes_to_ascii_armor(unsigned char const *, unsigned long, unsigned char *, unsigned long *) - ?copy@eap_network_id_selector_c@@QBEPAV1@XZ @ 280 NONAME ; class eap_network_id_selector_c * eap_network_id_selector_c::copy(void) const - ?get_mem_guard_length@eap_buf_chain_base_c@@QAEKXZ @ 281 NONAME ; unsigned long eap_buf_chain_base_c::get_mem_guard_length(void) - ?eap_write_u16_t_little_endian_order@@YA?AW4eap_status_e@@PAXKG@Z @ 282 NONAME ; enum eap_status_e eap_write_u16_t_little_endian_order(void *, unsigned long, unsigned short) - ?trace@EAPSettings@@QBEXXZ @ 283 NONAME ; void EAPSettings::trace(void) const - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAG@Z @ 284 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, unsigned short *) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4eapol_RSNA_cipher_e@eapol_RSNA_key_header_c@@@Z @ 285 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, enum eapol_RSNA_key_header_c::eapol_RSNA_cipher_e *) - ??1crypto_3des_ede_c@@UAE@XZ @ 286 NONAME ; crypto_3des_ede_c::~crypto_3des_ede_c(void) - ?get_saved_eap_identity@eap_core_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 287 NONAME ; enum eap_status_e eap_core_c::get_saved_eap_identity(class eap_variable_data_c *) - ?convert_ascii_to_uppercase@eap_am_tools_c@@UAE?AW4eap_status_e@@PAEK@Z @ 288 NONAME ; enum eap_status_e eap_am_tools_c::convert_ascii_to_uppercase(unsigned char *, unsigned long) - ?get_subsection@eap_config_value_c@@QAEPAV?$eap_core_map_c@Veap_config_value_c@@Vabs_eap_core_map_c@@Veap_variable_data_c@@@@XZ @ 289 NONAME ; class eap_core_map_c * eap_config_value_c::get_subsection(void) - ?decrypt_with_private_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 290 NONAME ; enum eap_status_e crypto_rsa_c::decrypt_with_private_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?GetSerialNumber@EapCertificateEntry@@QBEPBVTDes16@@XZ @ 291 NONAME ; class TDes16 const * EapCertificateEntry::GetSerialNumber(void) const - ?tls_prf_output@crypto_tls_prf_c@@QAE?AW4eap_status_e@@PAXK@Z @ 292 NONAME ; enum eap_status_e crypto_tls_prf_c::tls_prf_output(void *, unsigned long) - ?get_is_writable@eap_variable_data_c@@QBE_NXZ @ 293 NONAME ; bool eap_variable_data_c::get_is_writable(void) const - ?GetVendorId@TEapExpandedType@@QBEIXZ @ 294 NONAME ; unsigned int TEapExpandedType::GetVendorId(void) const - ?convert_eap_type_to_u64_t@@YA_KVeap_expanded_type_c@@@Z @ 295 NONAME ; unsigned long long convert_eap_type_to_u64_t(class eap_expanded_type_c) - ?hash_cleanup@crypto_sha_256_c@@UAE?AW4eap_status_e@@XZ @ 296 NONAME ; enum eap_status_e crypto_sha_256_c::hash_cleanup(void) - ?get_vendor_type@eap_expanded_type_c@@QBEKXZ @ 297 NONAME ; unsigned long eap_expanded_type_c::get_vendor_type(void) const - ?get_expanded_ietf_type_offset@eap_header_base_c@@SAKXZ @ 298 NONAME ; unsigned long eap_header_base_c::get_expanded_ietf_type_offset(void) - ?get_data@eap_variable_data_c@@QBEPAEK@Z @ 299 NONAME ; unsigned char * eap_variable_data_c::get_data(unsigned long) const - ?dublicate_mutex@eap_am_mutex_symbian_c@@UAEPAVabs_eap_am_mutex_c@@XZ @ 300 NONAME ; class abs_eap_am_mutex_c * eap_am_mutex_symbian_c::dublicate_mutex(void) - ?update_non_aligned@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 301 NONAME ; enum eap_status_e crypto_cbc_c::update_non_aligned(void const *, void *, unsigned long) - ?hmac_cleanup@crypto_hmac_c@@UAE?AW4eap_status_e@@XZ @ 302 NONAME ; enum eap_status_e crypto_hmac_c::hmac_cleanup(void) - ?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVeapol_session_key_c@@@Z @ 303 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eapol_session_key_c const *) const - ?set_copy@eap_master_session_key_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 304 NONAME ; enum eap_status_e eap_master_session_key_c::set_copy(class eap_master_session_key_c const *) - ?hash_init@eap_am_crypto_sha_256_c@@QAE?AW4eap_status_e@@XZ @ 305 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_init(void) - ?get_send_network_id@eap_core_retransmission_c@@QAEPAVeap_am_network_id_c@@XZ @ 306 NONAME ; class eap_am_network_id_c * eap_core_retransmission_c::get_send_network_id(void) - ??0eap_session_core_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_session_core_c@@_N@Z @ 307 NONAME ; eap_session_core_c::eap_session_core_c(class abs_eap_am_tools_c *, class abs_eap_session_core_c *, bool) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4simple_config_Authentication_Type_e@@@Z @ 308 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, enum simple_config_Authentication_Type_e *) - ?ConvertInternalTypeToCipherSuites@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$eap_array_c@G@@PAV?$RArray@I@@@Z @ 309 NONAME ; int CEapConversion::ConvertInternalTypeToCipherSuites(class abs_eap_am_tools_c *, class eap_array_c const *, class RArray *) - ?get_is_valid@eapol_session_key_c@@QBE_NXZ @ 310 NONAME ; bool eapol_session_key_c::get_is_valid(void) const - ?get_ietf_type_field_length@eap_header_base_c@@SAKXZ @ 311 NONAME ; unsigned long eap_header_base_c::get_ietf_type_field_length(void) - ?rsa_encrypt_with_private_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 312 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_encrypt_with_private_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 313 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_array_c const *) const - ??0crypto_sha_256_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 314 NONAME ; crypto_sha_256_c::crypto_sha_256_c(class abs_eap_am_tools_c *) - ??0eap_buf_chain_base_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 315 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned long) - ?eap_read_u64_t_little_endian_order@@YA_KPBXK@Z @ 316 NONAME ; unsigned long long eap_read_u64_t_little_endian_order(void const *, unsigned long) - ?decrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXK@Z @ 317 NONAME ; enum eap_status_e crypto_cbc_c::decrypt_data(void *, unsigned long) - ?get_is_valid@crypto_wpa_psk_password_hash_c@@QAE_NXZ @ 318 NONAME ; bool crypto_wpa_psk_password_hash_c::get_is_valid(void) - ??1crypto_aes_wrap_c@@UAE@XZ @ 319 NONAME ; crypto_aes_wrap_c::~crypto_aes_wrap_c(void) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@D@Z @ 320 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(char) - ?get_status_string@eap_status_string_c@@SAPBDW4eap_status_e@@@Z @ 321 NONAME ; char const * eap_status_string_c::get_status_string(enum eap_status_e) - ?get_is_valid@crypto_md5_c@@UAE_NXZ @ 322 NONAME ; bool crypto_md5_c::get_is_valid(void) - ?get_timer_queue_is_empty@eap_am_tools_symbian_c@@UAE_NXZ @ 323 NONAME ; bool eap_am_tools_symbian_c::get_timer_queue_is_empty(void) - ?compare_u64@eap_am_tools_c@@UAEJ_K0@Z @ 324 NONAME ; long eap_am_tools_c::compare_u64(unsigned long long, unsigned long long) - ?enter_crypto_cs@eap_am_tools_symbian_c@@QAEXXZ @ 325 NONAME ; void eap_am_tools_symbian_c::enter_crypto_cs(void) - ??0crypto_nt_hash_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 326 NONAME ; crypto_nt_hash_c::crypto_nt_hash_c(class abs_eap_am_tools_c *) - ?md5_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 327 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_final(class eap_variable_data_c *, unsigned char *, unsigned long *) - ??0crypto_tls_md5_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 328 NONAME ; crypto_tls_md5_prf_c::crypto_tls_md5_prf_c(class abs_eap_am_tools_c *) - ?object_increase_reference_count@eap_am_memory_store_tlv_data_c@@QAEXXZ @ 329 NONAME ; void eap_am_memory_store_tlv_data_c::object_increase_reference_count(void) - ?get_gmt_unix_time@eap_am_tools_symbian_c@@UAEKXZ @ 330 NONAME ; unsigned long eap_am_tools_symbian_c::get_gmt_unix_time(void) - ?cleanup@eap_am_crypto_rc4_c@@AAE?AW4eap_status_e@@XZ @ 331 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::cleanup(void) - ?file_copy@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0@Z @ 332 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_copy(class eap_variable_data_c const *, class eap_variable_data_c const *) - ??1eap_am_crypto_symbian_c@@UAE@XZ @ 333 NONAME ; eap_am_crypto_symbian_c::~eap_am_crypto_symbian_c(void) - ?get_use_seconds_timestamp_in_traces@eap_am_tools_c@@QAE_NXZ @ 334 NONAME ; bool eap_am_tools_c::get_use_seconds_timestamp_in_traces(void) - ?get_master_key@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@K@Z @ 335 NONAME ; enum eap_status_e crypto_nt_hash_c::get_master_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long) - ?packet_data_crypto_keys@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 336 NONAME ; enum eap_status_e eap_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *) - ?get_protocol_layer_string@eap_state_notification_c@@SAPBDK@Z @ 337 NONAME ; char const * eap_state_notification_c::get_protocol_layer_string(unsigned long) - ?SetSecondaryName@EapCertificateEntry@@QAEHABV?$TBuf@$0EA@@@@Z @ 338 NONAME ; int EapCertificateEntry::SetSecondaryName(class TBuf<64> const &) - ?get_MAC_address@simple_config_credential_c@@QAEPAVeap_variable_data_c@@XZ @ 339 NONAME ; class eap_variable_data_c * simple_config_credential_c::get_MAC_address(void) - ?decrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PAXK@Z @ 340 NONAME ; enum eap_status_e crypto_rc4_c::decrypt_data(void *, unsigned long) - ?add_rand_seed_hw_ticks@crypto_random_c@@QAE?AW4eap_status_e@@XZ @ 341 NONAME ; enum eap_status_e crypto_random_c::add_rand_seed_hw_ticks(void) - ?get_is_valid@eap_config_value_c@@QBE_NXZ @ 342 NONAME ; bool eap_config_value_c::get_is_valid(void) const - ?set_is_valid@eap_am_crypto_symbian_c@@UAEXXZ @ 343 NONAME ; void eap_am_crypto_symbian_c::set_is_valid(void) - ?set_buffer_length@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@K@Z @ 344 NONAME ; enum eap_status_e eap_buf_chain_base_c::set_buffer_length(unsigned long) - ?set_is_valid@crypto_hmac_c@@UAEXXZ @ 345 NONAME ; void crypto_hmac_c::set_is_valid(void) - ??4TEapExpandedType@@QAEAAV0@ABVTDesC8@@@Z @ 346 NONAME ; class TEapExpandedType & TEapExpandedType::operator=(class TDesC8 const &) - ?get_previous_state@eap_state_notification_c@@UBEKXZ @ 347 NONAME ; unsigned long eap_state_notification_c::get_previous_state(void) const - ?packet_send@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 348 NONAME ; enum eap_status_e eap_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ?get_md5_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 349 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md5_block_size(class eap_variable_data_c *) - ??0eap_buf_chain_wr_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@PAEK_N3K@Z @ 350 NONAME ; eap_buf_chain_wr_c::eap_buf_chain_wr_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned char *, unsigned long, bool, bool, unsigned long) - ??1eap_core_retransmission_c@@UAE@XZ @ 351 NONAME ; eap_core_retransmission_c::~eap_core_retransmission_c(void) - ??1eap_tlv_message_data_c@@UAE@XZ @ 352 NONAME ; eap_tlv_message_data_c::~eap_tlv_message_data_c(void) - ?hash_init@crypto_md4_c@@UAE?AW4eap_status_e@@XZ @ 353 NONAME ; enum eap_status_e crypto_md4_c::hash_init(void) - ?encrypt_data@eap_am_crypto_rc4_c@@QAE?AW4eap_status_e@@PBXPAXK@Z @ 354 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::encrypt_data(void const *, void *, unsigned long) - ?add_data@eap_variable_data_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 355 NONAME ; enum eap_status_e eap_variable_data_c::add_data(class eap_variable_data_c const *) - ?configure@eap_session_core_c@@UAE?AW4eap_status_e@@XZ @ 356 NONAME ; enum eap_status_e eap_session_core_c::configure(void) - ?get_destination_length@eap_am_network_id_c@@QBEKXZ @ 357 NONAME ; unsigned long eap_am_network_id_c::get_destination_length(void) const - ?tls_prf_init@crypto_tls_md5_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 358 NONAME ; enum eap_status_e crypto_tls_md5_prf_c::tls_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?get_timer_id@eap_am_memory_store_tlv_data_c@@QBEKXZ @ 359 NONAME ; unsigned long eap_am_memory_store_tlv_data_c::get_timer_id(void) const - ??9eap_expanded_type_c@@QBE_NABV0@@Z @ 360 NONAME ; bool eap_expanded_type_c::operator!=(class eap_expanded_type_c const &) const - ?eap_acknowledge@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 361 NONAME ; enum eap_status_e eap_core_c::eap_acknowledge(class eap_am_network_id_c const *) - ?md4_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 362 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_init(class eap_variable_data_c *) - ?get_is_tunneled_eap@eap_core_c@@UBE_NXZ @ 363 NONAME ; bool eap_core_c::get_is_tunneled_eap(void) const - ??1crypto_tls_base_prf_c@@UAE@XZ @ 364 NONAME ; crypto_tls_base_prf_c::~crypto_tls_base_prf_c(void) - ?octet_to_ascii@eap_am_tools_c@@UAEEJ@Z @ 365 NONAME ; unsigned char eap_am_tools_c::octet_to_ascii(long) - ?get_is_valid_data@eap_buf_chain_base_c@@QBE_NXZ @ 366 NONAME ; bool eap_buf_chain_base_c::get_is_valid_data(void) const - ??0eap_buf_chain_rd_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 367 NONAME ; eap_buf_chain_rd_c::eap_buf_chain_rd_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned long) - ?get_const_type@eap_config_value_c@@QBE?AW4eap_configure_type_e@@XZ @ 368 NONAME ; enum eap_configure_type_e eap_config_value_c::get_const_type(void) const - ?get_is_valid@eap_am_crypto_md4_c@@QAE_NXZ @ 369 NONAME ; bool eap_am_crypto_md4_c::get_is_valid(void) - ?get_next_retransmission_counter@eap_core_retransmission_c@@QAEKXZ @ 370 NONAME ; unsigned long eap_core_retransmission_c::get_next_retransmission_counter(void) - ?hash_final@crypto_md5_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 371 NONAME ; enum eap_status_e crypto_md5_c::hash_final(void *, unsigned long *) - ?dh_cleanup@crypto_ephemeral_diffie_hellman_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 372 NONAME ; enum eap_status_e crypto_ephemeral_diffie_hellman_c::dh_cleanup(class eap_variable_data_c const *) - ?send_eap_failure@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 373 NONAME ; enum eap_status_e eap_core_c::send_eap_failure(class eap_am_network_id_c const *, unsigned char) - ?set_sequence_number@eapol_session_key_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 374 NONAME ; enum eap_status_e eapol_session_key_c::set_sequence_number(class eap_variable_data_c *) - ?get_is_valid@eap_expanded_type_c@@QBE_NXZ @ 375 NONAME ; bool eap_expanded_type_c::get_is_valid(void) const - ?get_send_packet_index@eap_buf_chain_base_c@@QAEKXZ @ 376 NONAME ; unsigned long eap_buf_chain_base_c::get_send_packet_index(void) - ?packet_send@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKK@Z @ 377 NONAME ; enum eap_status_e eap_session_core_c::packet_send(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long) - ?get_state_string@eap_state_notification_c@@SAPBDKK@Z @ 378 NONAME ; char const * eap_state_notification_c::get_state_string(unsigned long, unsigned long) - ?copy_context@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_KPBK2@Z @ 379 NONAME ; enum eap_status_e eap_am_crypto_md4_c::copy_context(class eap_variable_data_c const *, unsigned long long, unsigned long const *, unsigned long const *) - ?initialize_pad@crypto_hmac_c@@AAE?AW4eap_status_e@@PAVeap_variable_data_c@@E@Z @ 380 NONAME ; enum eap_status_e crypto_hmac_c::initialize_pad(class eap_variable_data_c *, unsigned char) - ?sha_256_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 381 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_cleanup(class eap_variable_data_c *) - ??1EapMessageQueue@@UAE@XZ @ 382 NONAME ; EapMessageQueue::~EapMessageQueue(void) - ?aligned_data_length@crypto_cbc_c@@UAEKK@Z @ 383 NONAME ; unsigned long crypto_cbc_c::aligned_data_length(unsigned long) - ?reset_start_offset_and_data_length@eap_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 384 NONAME ; enum eap_status_e eap_variable_data_c::reset_start_offset_and_data_length(void) - ?begin_db_transaction@eap_am_tools_symbian_c@@QAE?AW4eap_status_e@@AAVRDbNamedDatabase@@@Z @ 385 NONAME ; enum eap_status_e eap_am_tools_symbian_c::begin_db_transaction(class RDbNamedDatabase &) - ?eap_shift_left_64_bit@@YA_K_KK@Z @ 386 NONAME ; unsigned long long eap_shift_left_64_bit(unsigned long long, unsigned long) - ?trace_configuration@eap_am_tools_c@@UAEXW4eap_status_e@@PBVeap_configuration_field_c@@PBVeap_variable_data_c@@@Z @ 387 NONAME ; void eap_am_tools_c::trace_configuration(enum eap_status_e, class eap_configuration_field_c const *, class eap_variable_data_c const *) - ?get_identifier@eap_header_base_c@@QBEEXZ @ 388 NONAME ; unsigned char eap_header_base_c::get_identifier(void) const - ?configure@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 389 NONAME ; enum eap_status_e eap_am_tools_symbian_c::configure(void) - ?ConvertEAPTypesToInternalTypes@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$RArray@I@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 390 NONAME ; int CEapConversion::ConvertEAPTypesToInternalTypes(class abs_eap_am_tools_c *, class RArray const *, class eap_array_c *) - ?copy_message_digest@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PAXPAK@Z @ 391 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::copy_message_digest(void *, unsigned long *) - ?get_data_length@eapol_header_base_c@@QBEGXZ @ 392 NONAME ; unsigned short eapol_header_base_c::get_data_length(void) const - ?get_block_size@eap_am_crypto_sha_256_c@@QAEKXZ @ 393 NONAME ; unsigned long eap_am_crypto_sha_256_c::get_block_size(void) - ?object_increase_reference_count@eap_base_type_c@@QAEXXZ @ 394 NONAME ; void eap_base_type_c::object_increase_reference_count(void) - ?file_exists@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 395 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_exists(class eap_variable_data_c const *) - ??0eap_buf_chain_base_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@PBEK_N@Z @ 396 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned char const *, unsigned long, bool) - ?get_do_length_checks@eap_buf_chain_base_c@@QBE_NXZ @ 397 NONAME ; bool eap_buf_chain_base_c::get_do_length_checks(void) const - ?get_key_type@eapol_session_key_c@@QBE?AW4eapol_key_type_e@@XZ @ 398 NONAME ; enum eapol_key_type_e eapol_session_key_c::get_key_type(void) const - ??1eap_file_config_c@@UAE@XZ @ 399 NONAME ; eap_file_config_c::~eap_file_config_c(void) - ?trace_data@eap_am_tools_c@@UAEXPBDPBXK@Z @ 400 NONAME ; void eap_am_tools_c::trace_data(char const *, void const *, unsigned long) - ?object_increase_reference_count@eap_tlv_message_data_c@@QAEXXZ @ 401 NONAME ; void eap_tlv_message_data_c::object_increase_reference_count(void) - ?hash_final@eap_am_crypto_sha_256_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 402 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_final(void *, unsigned long *) - ?set_use_eap_milli_second_timer@eap_am_tools_symbian_c@@UAEX_N@Z @ 403 NONAME ; void eap_am_tools_symbian_c::set_use_eap_milli_second_timer(bool) - ?restart_authentication@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 404 NONAME ; enum eap_status_e eap_core_c::restart_authentication(class eap_am_network_id_c const *, bool) - ?get_is_valid_data@eap_am_network_id_c@@QBE_NXZ @ 405 NONAME ; bool eap_am_network_id_c::get_is_valid_data(void) const - ?set_is_manipulated@eap_buf_chain_base_c@@QAEXXZ @ 406 NONAME ; void eap_buf_chain_base_c::set_is_manipulated(void) - ?GetSerialNumberPresent@EapCertificateEntry@@QBEHXZ @ 407 NONAME ; int EapCertificateEntry::GetSerialNumberPresent(void) const - ?dh_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 408 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dh_cleanup(class eap_variable_data_c const *) - ?hash_cleanup@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@XZ @ 409 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_cleanup(void) - ?get_data@eap_variable_data_c@@QBEPAEXZ @ 410 NONAME ; unsigned char * eap_variable_data_c::get_data(void) const - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_general_header_base_c@@@Z @ 411 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_general_header_base_c const *) - ?get_mac_address@eap_rogue_ap_entry_c@@QBEPAEPAE@Z @ 412 NONAME ; unsigned char * eap_rogue_ap_entry_c::get_mac_address(unsigned char *) const - ?set_is_valid@eap_core_c@@UAEXXZ @ 413 NONAME ; void eap_core_c::set_is_valid(void) - ?get_sha1_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 414 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha1_block_size(class eap_variable_data_c *) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAD@Z @ 415 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, char *) - ?get_eapol_header@eapol_ethernet_header_rd_c@@QBEPAEXZ @ 416 NONAME ; unsigned char * eapol_ethernet_header_rd_c::get_eapol_header(void) const - ?decrypt_data@eap_am_crypto_rc4_c@@QAE?AW4eap_status_e@@PBXPAXK@Z @ 417 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::decrypt_data(void const *, void *, unsigned long) - ?eap_read_u16_t_network_order@@YAGPBXK@Z @ 418 NONAME ; unsigned short eap_read_u16_t_network_order(void const *, unsigned long) - ?rsa_sign@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 419 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_sign(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?add_padding_bytes@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PAXK@Z @ 420 NONAME ; enum eap_status_e crypto_aes_wrap_c::add_padding_bytes(void *, unsigned long) - ?check_header@eapol_header_base_c@@UBE?AW4eap_status_e@@XZ @ 421 NONAME ; enum eap_status_e eapol_header_base_c::check_header(void) const - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4eapol_key_802_11_authentication_mode_e@@@Z @ 422 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, enum eapol_key_802_11_authentication_mode_e *) - ?send_eap_identity_response@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@E@Z @ 423 NONAME ; enum eap_status_e eap_core_c::send_eap_identity_response(class eap_am_network_id_c const *, class eap_variable_data_c const *, unsigned char) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@_N@Z @ 424 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(bool) - ?get_timer_resolution_ms@eap_am_tools_symbian_c@@UAEKXZ @ 425 NONAME ; unsigned long eap_am_tools_symbian_c::get_timer_resolution_ms(void) - ?set_is_invalid@crypto_tls_md5_prf_c@@AAEXXZ @ 426 NONAME ; void crypto_tls_md5_prf_c::set_is_invalid(void) - ?octet_to_ascii_armor@eap_am_tools_c@@AAEEE@Z @ 427 NONAME ; unsigned char eap_am_tools_c::octet_to_ascii_armor(unsigned char) - ?set_is_valid@crypto_tls_md5_prf_c@@AAEXXZ @ 428 NONAME ; void crypto_tls_md5_prf_c::set_is_valid(void) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 429 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_array_c *) - ?get_is_valid@eap_am_mutex_symbian_c@@UBE_NXZ @ 430 NONAME ; bool eap_am_mutex_symbian_c::get_is_valid(void) const - ??0crypto_ephemeral_diffie_hellman_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 431 NONAME ; crypto_ephemeral_diffie_hellman_c::crypto_ephemeral_diffie_hellman_c(class abs_eap_am_tools_c *) - ?get_source@eapol_ethernet_header_wr_c@@QAEPAEXZ @ 432 NONAME ; unsigned char * eapol_ethernet_header_wr_c::get_source(void) - ?set_key@eap_am_crypto_rc4_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 433 NONAME ; enum eap_status_e eap_am_crypto_rc4_c::set_key(class eap_variable_data_c const *) - ?set_timer@eap_session_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 434 NONAME ; enum eap_status_e eap_session_core_c::set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ??1crypto_random_c@@UAE@XZ @ 435 NONAME ; crypto_random_c::~crypto_random_c(void) - ??1eap_am_mutex_symbian_c@@UAE@XZ @ 436 NONAME ; eap_am_mutex_symbian_c::~eap_am_mutex_symbian_c(void) - ?read_configure@eap_file_config_c@@QAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 437 NONAME ; enum eap_status_e eap_file_config_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?delete_abs_eap_am_tools_c@abs_eap_am_tools_c@@SAXPAV1@@Z @ 438 NONAME ; void abs_eap_am_tools_c::delete_abs_eap_am_tools_c(class abs_eap_am_tools_c *) - ?get_clock_ticks_of_second@eap_am_tools_symbian_c@@UAE_KXZ @ 439 NONAME ; unsigned long long eap_am_tools_symbian_c::get_clock_ticks_of_second(void) - ??0crypto_md4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 440 NONAME ; crypto_md4_c::crypto_md4_c(class abs_eap_am_tools_c *) - ?set_packet_type@eapol_header_base_c@@QAEXW4eapol_packet_type_e@@@Z @ 441 NONAME ; void eapol_header_base_c::set_packet_type(enum eapol_packet_type_e) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_variable_data_c@@@Z @ 442 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_variable_data_c *) - ?get_header_length@eap_header_base_c@@SAKXZ @ 443 NONAME ; unsigned long eap_header_base_c::get_header_length(void) - ?rc4_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 444 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_cleanup(class eap_variable_data_c *) - ?AddMessage@EapMessageQueue@@QAEHW4TEapRequests@@PBXI@Z @ 445 NONAME ; int EapMessageQueue::AddMessage(enum TEapRequests, void const *, unsigned int) - ??0eap_am_mutex_reference_c@@QAE@XZ @ 446 NONAME ; eap_am_mutex_reference_c::eap_am_mutex_reference_c(void) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@F@Z @ 447 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(short) - ??Ieap_expanded_type_c@@QBEPBV0@XZ @ 448 NONAME ; class eap_expanded_type_c const * eap_expanded_type_c::operator&(void) const - ?get_expanded_type_field_length@eap_header_base_c@@SAKXZ @ 449 NONAME ; unsigned long eap_header_base_c::get_expanded_type_field_length(void) - ?sha1_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 450 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_cleanup(class eap_variable_data_c *) - ?dsa_sign@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 451 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_sign(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?get_retransmission_counter@eap_core_retransmission_c@@QBEKXZ @ 452 NONAME ; unsigned long eap_core_retransmission_c::get_retransmission_counter(void) const - ?get_header_length@eapol_ethernet_header_base_c@@SAGXZ @ 453 NONAME ; unsigned short eapol_ethernet_header_base_c::get_header_length(void) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAVeap_am_network_id_c@@@Z @ 454 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, class eap_am_network_id_c *) - ?eap_write_u64_t_little_endian_order@@YA?AW4eap_status_e@@PAXK_K@Z @ 455 NONAME ; enum eap_status_e eap_write_u64_t_little_endian_order(void *, unsigned long, unsigned long long) - ?set_eap_type@eap_master_session_key_c@@QAEXVeap_expanded_type_c@@@Z @ 456 NONAME ; void eap_master_session_key_c::set_eap_type(class eap_expanded_type_c) - ?check_guards@eap_buf_chain_base_c@@QBE_NXZ @ 457 NONAME ; bool eap_buf_chain_base_c::check_guards(void) const - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAVeap_method_settings_c@@@Z @ 458 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, class eap_method_settings_c *) - ??1eap_am_tools_symbian_c@@UAE@XZ @ 459 NONAME ; eap_am_tools_symbian_c::~eap_am_tools_symbian_c(void) - ?set_type@eap_tlv_header_c@@QAE?AW4eap_status_e@@K@Z @ 460 NONAME ; enum eap_status_e eap_tlv_header_c::set_type(unsigned long) - ?set_Authentication_Type@simple_config_credential_c@@QAEXW4simple_config_Authentication_Type_e@@@Z @ 461 NONAME ; void simple_config_credential_c::set_Authentication_Type(enum simple_config_Authentication_Type_e) - ?get_is_valid@crypto_tls_prf_c@@QAE_NXZ @ 462 NONAME ; bool crypto_tls_prf_c::get_is_valid(void) - ??0eap_rogue_ap_entry_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 463 NONAME ; eap_rogue_ap_entry_c::eap_rogue_ap_entry_c(class abs_eap_am_tools_c *) - ?get_const_data@eap_config_value_c@@QBEPBVeap_variable_data_c@@XZ @ 464 NONAME ; class eap_variable_data_c const * eap_config_value_c::get_const_data(void) const - ??0eap_tlv_message_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 465 NONAME ; eap_tlv_message_data_c::eap_tlv_message_data_c(class abs_eap_am_tools_c *) - ?force_inheritance@eap_buf_chain_rd_c@@EAEXXZ @ 466 NONAME ; void eap_buf_chain_rd_c::force_inheritance(void) - ?ConvertFromInternalToBuf16@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBVeap_variable_data_c@@PAVTDes16@@@Z @ 467 NONAME ; int CEapConversion::ConvertFromInternalToBuf16(class abs_eap_am_tools_c *, class eap_variable_data_c const *, class TDes16 *) - ?get_ethernet_header@eap_buf_chain_rd_c@@QBEPBEXZ @ 468 NONAME ; unsigned char const * eap_buf_chain_rd_c::get_ethernet_header(void) const - ?get_destination_id@eap_am_network_id_c@@QBEPBVeap_variable_data_c@@XZ @ 469 NONAME ; class eap_variable_data_c const * eap_am_network_id_c::get_destination_id(void) const - ??1eap_config_value_c@@UAE@XZ @ 470 NONAME ; eap_config_value_c::~eap_config_value_c(void) - ??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@PBV0@@Z @ 471 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *) - ?mutex_leave@eap_am_mutex_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@@Z @ 472 NONAME ; enum eap_status_e eap_am_mutex_symbian_c::mutex_leave(class abs_eap_am_tools_c *) - ??0crypto_cbc_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_crypto_block_algorithm_c@@_N@Z @ 473 NONAME ; crypto_cbc_c::crypto_cbc_c(class abs_eap_am_tools_c *, class abs_crypto_block_algorithm_c *, bool) - ?number_string_to_u32@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAK@Z @ 474 NONAME ; enum eap_status_e eap_am_tools_c::number_string_to_u32(unsigned char const *, unsigned long, unsigned long *) - ?DeleteFirstMessage@EapMessageQueue@@QAEHXZ @ 475 NONAME ; int EapMessageQueue::DeleteFirstMessage(void) - ?get_type_string@eapol_header_base_c@@QBEPBDXZ @ 476 NONAME ; char const * eapol_header_base_c::get_type_string(void) const - ?get_sha1_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 477 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha1_digest_length(class eap_variable_data_c *) - ??1eap_buf_chain_base_c@@UAE@XZ @ 478 NONAME ; eap_buf_chain_base_c::~eap_buf_chain_base_c(void) - ??1eap_am_tools_c@@UAE@XZ @ 479 NONAME ; eap_am_tools_c::~eap_am_tools_c(void) - ?resend_packet@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKKK@Z @ 480 NONAME ; enum eap_status_e eap_core_c::resend_packet(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long, unsigned long) - ?get_digest_length@crypto_hmac_c@@UAEKXZ @ 481 NONAME ; unsigned long crypto_hmac_c::get_digest_length(void) - ??0eap_buf_chain_rd_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@PBEK_N@Z @ 482 NONAME ; eap_buf_chain_rd_c::eap_buf_chain_rd_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned char const *, unsigned long, bool) - ?eap_sha1_dss_G_function@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@PBXKPAXPAK@Z @ 483 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::eap_sha1_dss_G_function(void const *, unsigned long, void *, unsigned long *) - ?send_eap_nak_response@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@EPBV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 484 NONAME ; enum eap_status_e eap_core_c::send_eap_nak_response(class eap_am_network_id_c const *, unsigned char, class eap_array_c const *) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAVeap_expanded_type_c@@@Z @ 485 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, class eap_expanded_type_c *) - ?get_reference_count@eap_am_mutex_reference_c@@QAEKXZ @ 486 NONAME ; unsigned long eap_am_mutex_reference_c::get_reference_count(void) - ?SetSubjectNamePresent@EapCertificateEntry@@QAEXXZ @ 487 NONAME ; void EapCertificateEntry::SetSubjectNamePresent(void) - ??0eap_session_core_base_c@@QAE@XZ @ 488 NONAME ; eap_session_core_base_c::eap_session_core_base_c(void) - ?rsa_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 489 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_init(class eap_variable_data_c *) - ?convert_eap_type_to_u32_t@@YAKVeap_expanded_type_c@@@Z @ 490 NONAME ; unsigned long convert_eap_type_to_u32_t(class eap_expanded_type_c) - ?set_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PAXK_N1@Z @ 491 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer(void *, unsigned long, bool, bool) - ?update_non_aligned@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXK@Z @ 492 NONAME ; enum eap_status_e crypto_cbc_c::update_non_aligned(void *, unsigned long) - ??1eapol_session_key_c@@UAE@XZ @ 493 NONAME ; eapol_session_key_c::~eapol_session_key_c(void) - ?file_close@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@XZ @ 494 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_close(void) - ?tls_prf_init@crypto_tls_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 495 NONAME ; enum eap_status_e crypto_tls_prf_c::tls_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?t_prf_output@crypto_eap_fast_hmac_sha1_prf_c@@QAE?AW4eap_status_e@@PAXG@Z @ 496 NONAME ; enum eap_status_e crypto_eap_fast_hmac_sha1_prf_c::t_prf_output(void *, unsigned short) - ?hash_nt_password_hash@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@K@Z @ 497 NONAME ; enum eap_status_e crypto_nt_hash_c::hash_nt_password_hash(class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long) - ?get_encrypts@crypto_cbc_c@@UAE_NXZ @ 498 NONAME ; bool crypto_cbc_c::get_encrypts(void) - ?get_is_valid_data@network_key_and_index_c@@QAE_NXZ @ 499 NONAME ; bool network_key_and_index_c::get_is_valid_data(void) - ??1eap_type_selection_c@@UAE@XZ @ 500 NONAME ; eap_type_selection_c::~eap_type_selection_c(void) - ??0eap_am_mutex_base_c@@QAE@PBV0@@Z @ 501 NONAME ; eap_am_mutex_base_c::eap_am_mutex_base_c(class eap_am_mutex_base_c const *) - ??1eap_rogue_ap_entry_c@@UAE@XZ @ 502 NONAME ; eap_rogue_ap_entry_c::~eap_rogue_ap_entry_c(void) - ?get_is_valid_data@eap_variable_data_c@@QBE_NXZ @ 503 NONAME ; bool eap_variable_data_c::get_is_valid_data(void) const - ?reset_header@eapol_ethernet_header_wr_c@@QAEXW4eapol_ethernet_type_e@@G@Z @ 504 NONAME ; void eapol_ethernet_header_wr_c::reset_header(enum eapol_ethernet_type_e, unsigned short) - ??1crypto_sha1_c@@UAE@XZ @ 505 NONAME ; crypto_sha1_c::~crypto_sha1_c(void) - ?check_header@eap_header_base_c@@UBE?AW4eap_status_e@@XZ @ 506 NONAME ; enum eap_status_e eap_header_base_c::check_header(void) const - ?set_type@eap_header_base_c@@QAE?AW4eap_status_e@@Veap_expanded_type_c@@_N@Z @ 507 NONAME ; enum eap_status_e eap_header_base_c::set_type(class eap_expanded_type_c, bool) - ?get_is_valid@eap_buf_chain_base_c@@QBE_NXZ @ 508 NONAME ; bool eap_buf_chain_base_c::get_is_valid(void) const - ?copy@eap_variable_data_c@@QBEPAV1@XZ @ 509 NONAME ; class eap_variable_data_c * eap_variable_data_c::copy(void) const - ?convert_bytes_to_hex_ascii@eap_am_tools_c@@UAE?AW4eap_status_e@@PBXKPAVeap_variable_data_c@@@Z @ 510 NONAME ; enum eap_status_e eap_am_tools_c::convert_bytes_to_hex_ascii(void const *, unsigned long, class eap_variable_data_c *) - ?set_is_invalid@crypto_sha_256_c@@AAEXXZ @ 511 NONAME ; void crypto_sha_256_c::set_is_invalid(void) - ?sprint@eap_am_tools_symbian_c@@AAAXAAVTDes16@@PBDZZ @ 512 NONAME ; void eap_am_tools_symbian_c::sprint(class TDes16 &, char const *, ...) - ??0eap_am_network_id_c@@QAE@PAVabs_eap_am_tools_c@@PBXK1KG_N2@Z @ 513 NONAME ; eap_am_network_id_c::eap_am_network_id_c(class abs_eap_am_tools_c *, void const *, unsigned long, void const *, unsigned long, unsigned short, bool, bool) - ??0eap_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 514 NONAME ; eap_header_base_c::eap_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?config_strlen@eap_am_tools_symbian_c@@UAEKPBD@Z @ 515 NONAME ; unsigned long eap_am_tools_symbian_c::config_strlen(char const *) - ?GetIsEnabledPresent@EapCertificateEntry@@QBEHXZ @ 516 NONAME ; int EapCertificateEntry::GetIsEnabledPresent(void) const - ?encrypt_block@crypto_aes_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 517 NONAME ; enum eap_status_e crypto_aes_c::encrypt_block(void const *, void *, unsigned long) - ?get_rand_bytes@crypto_random_c@@QAE?AW4eap_status_e@@PAXK@Z @ 518 NONAME ; enum eap_status_e crypto_random_c::get_rand_bytes(void *, unsigned long) - ?add_data@eap_variable_data_c@@QAE?AW4eap_status_e@@PBXK@Z @ 519 NONAME ; enum eap_status_e eap_variable_data_c::add_data(void const *, unsigned long) - ?get_destination@eap_am_network_id_c@@QBEPBEXZ @ 520 NONAME ; unsigned char const * eap_am_network_id_c::get_destination(void) const - ?get_data_offset@eap_header_base_c@@QBEPAEKK@Z @ 521 NONAME ; unsigned char * eap_header_base_c::get_data_offset(unsigned long, unsigned long) const - ??0eap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_generic_e@@W4eap_protocol_layer_e@@KKKE2@Z @ 522 NONAME ; eap_state_notification_c::eap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_generic_e, enum eap_protocol_layer_e, unsigned long, unsigned long, unsigned long, unsigned char, bool) - ?get_thread_stopped@eap_am_tools_c@@UAE_NXZ @ 523 NONAME ; bool eap_am_tools_c::get_thread_stopped(void) - ??1eap_tlv_header_c@@UAE@XZ @ 524 NONAME ; eap_tlv_header_c::~eap_tlv_header_c(void) - ?getenv@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@@Z @ 525 NONAME ; enum eap_status_e eap_am_tools_symbian_c::getenv(class eap_variable_data_c const *, class eap_variable_data_c *) - ?eap_read_u64_t_network_order@@YA_KPBXK@Z @ 526 NONAME ; unsigned long long eap_read_u64_t_network_order(void const *, unsigned long) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 527 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_variable_data_c const *) - ?rc4_encrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBXPAXK@Z @ 528 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_encrypt(class eap_variable_data_c const *, void const *, void *, unsigned long) - ?aes_set_decryption_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 529 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_set_decryption_key(class eap_variable_data_c *, unsigned char const *, unsigned long) - ?timer_expired@eap_session_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 530 NONAME ; enum eap_status_e eap_session_core_c::timer_expired(unsigned long, void *) - ??0eap_buf_chain_wr_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@@Z @ 531 NONAME ; eap_buf_chain_wr_c::eap_buf_chain_wr_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *) - ?get_rand_bytes@crypto_random_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@K@Z @ 532 NONAME ; enum eap_status_e crypto_random_c::get_rand_bytes(class eap_variable_data_c *, unsigned long) - ?get_is_valid@crypto_tls_base_prf_c@@QAE_NXZ @ 533 NONAME ; bool crypto_tls_base_prf_c::get_is_valid(void) - ?set_activate_trace_on_error@eap_am_tools_c@@UAEXXZ @ 534 NONAME ; void eap_am_tools_c::set_activate_trace_on_error(void) - ?get_eap_identifier@eap_state_notification_c@@UBEEXZ @ 535 NONAME ; unsigned char eap_state_notification_c::get_eap_identifier(void) const - ?set_decryption_key@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXK@Z @ 536 NONAME ; enum eap_status_e crypto_aes_wrap_c::set_decryption_key(void const *, unsigned long) - ?copy@eap_type_selection_c@@QBEPAV1@XZ @ 537 NONAME ; class eap_type_selection_c * eap_type_selection_c::copy(void) const - ??0crypto_kd_hmac_sha256_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 538 NONAME ; crypto_kd_hmac_sha256_c::crypto_kd_hmac_sha256_c(class abs_eap_am_tools_c *) - ?sign@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 539 NONAME ; enum eap_status_e crypto_rsa_c::sign(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAK@Z @ 540 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, unsigned long *) - ?get_key@eapol_session_key_c@@QBEPBVeap_variable_data_c@@XZ @ 541 NONAME ; class eap_variable_data_c const * eapol_session_key_c::get_key(void) const - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAF@Z @ 542 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, short *) - ?get_header_buffer@eap_general_header_base_c@@QBEPAEK@Z @ 543 NONAME ; unsigned char * eap_general_header_base_c::get_header_buffer(unsigned long) const - ??0abs_eap_am_memory_store_data_c@@QAE@XZ @ 544 NONAME ; abs_eap_am_memory_store_data_c::abs_eap_am_memory_store_data_c(void) - ??1abs_crypto_hmac_algorithm_c@@UAE@XZ @ 545 NONAME ; abs_crypto_hmac_algorithm_c::~abs_crypto_hmac_algorithm_c(void) - ??1crypto_tls_sha1_prf_c@@UAE@XZ @ 546 NONAME ; crypto_tls_sha1_prf_c::~crypto_tls_sha1_prf_c(void) - ?get_type_string@eap_header_base_c@@QBEPBDXZ @ 547 NONAME ; char const * eap_header_base_c::get_type_string(void) const - ?get_proposed_eap_type@eap_core_nak_info_c@@QBE?AVeap_expanded_type_c@@XZ @ 548 NONAME ; class eap_expanded_type_c eap_core_nak_info_c::get_proposed_eap_type(void) const - ?GetPrimaryNameWritable@EapCertificateEntry@@QAEPAVTDes16@@XZ @ 549 NONAME ; class TDes16 * EapCertificateEntry::GetPrimaryNameWritable(void) - ?get_is_valid@crypto_hmac_c@@UAE_NXZ @ 550 NONAME ; bool crypto_hmac_c::get_is_valid(void) - ?get_encrypt@eap_buf_chain_base_c@@QBE_NXZ @ 551 NONAME ; bool eap_buf_chain_base_c::get_encrypt(void) const - ?is_ietf_type@eap_expanded_type_c@@SA_NV1@@Z @ 552 NONAME ; bool eap_expanded_type_c::is_ietf_type(class eap_expanded_type_c) - ?add_data_to_offset@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@KPBXK@Z @ 553 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data_to_offset(unsigned long, void const *, unsigned long) - ?init@crypto_rsa_c@@QAE?AW4eap_status_e@@XZ @ 554 NONAME ; enum eap_status_e crypto_rsa_c::init(void) - ?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVeap_am_network_id_c@@@Z @ 555 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_am_network_id_c const *) const - ?GetLabelPresent@EapCertificateEntry@@QBEHXZ @ 556 NONAME ; int EapCertificateEntry::GetLabelPresent(void) const - ?set_session_timeout@eap_core_c@@UAE?AW4eap_status_e@@K@Z @ 557 NONAME ; enum eap_status_e eap_core_c::set_session_timeout(unsigned long) - ?compare@eap_variable_data_c@@QBEJPBV1@@Z @ 558 NONAME ; long eap_variable_data_c::compare(class eap_variable_data_c const *) const - ?set_encryption_key@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXK0K@Z @ 559 NONAME ; enum eap_status_e crypto_cbc_c::set_encryption_key(void const *, unsigned long, void const *, unsigned long) - ?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVeap_certificate_entry_c@@@Z @ 560 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_certificate_entry_c const *) const - ?copy_leap_password@eap_master_session_key_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 561 NONAME ; enum eap_status_e eap_master_session_key_c::copy_leap_password(class eap_variable_data_c const *) - ?verify@crypto_dsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00000@Z @ 562 NONAME ; enum eap_status_e crypto_dsa_c::verify(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?timer_sleep@eap_am_tools_symbian_c@@UAEXK@Z @ 563 NONAME ; void eap_am_tools_symbian_c::timer_sleep(unsigned long) - ??0crypto_aes_wrap_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 564 NONAME ; crypto_aes_wrap_c::crypto_aes_wrap_c(class abs_eap_am_tools_c *) - ?get_reference@eap_am_mutex_base_c@@QBEPAVeap_am_mutex_reference_c@@XZ @ 565 NONAME ; class eap_am_mutex_reference_c * eap_am_mutex_base_c::get_reference(void) const - ??1eap_buf_chain_wr_c@@UAE@XZ @ 566 NONAME ; eap_buf_chain_wr_c::~eap_buf_chain_wr_c(void) - ?get_expanded_vendor_type_offset@eap_header_base_c@@SAKXZ @ 567 NONAME ; unsigned long eap_header_base_c::get_expanded_vendor_type_offset(void) - ?md5_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 568 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_cleanup(class eap_variable_data_c *) - ?copy@eap_expanded_type_c@@QBEPAV1@XZ @ 569 NONAME ; class eap_expanded_type_c * eap_expanded_type_c::copy(void) const - ?encrypt_with_private_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 570 NONAME ; enum eap_status_e crypto_rsa_c::encrypt_with_private_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?set_is_invalid@eap_am_crypto_md4_c@@AAEXXZ @ 571 NONAME ; void eap_am_crypto_md4_c::set_is_invalid(void) - ?get_data@eap_buf_chain_rd_c@@QBEPBEK@Z @ 572 NONAME ; unsigned char const * eap_buf_chain_rd_c::get_data(unsigned long) const - ?get_type@eap_static_expanded_type_c@@QBEABVeap_expanded_type_c@@XZ @ 573 NONAME ; class eap_expanded_type_c const & eap_static_expanded_type_c::get_type(void) const - ?configure@eap_file_config_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_file_input_c@@@Z @ 574 NONAME ; enum eap_status_e eap_file_config_c::configure(class abs_eap_am_file_input_c *) - ?copy@eap_am_crypto_md4_c@@QAEPAV1@XZ @ 575 NONAME ; class eap_am_crypto_md4_c * eap_am_crypto_md4_c::copy(void) - ?set_rogue_reason@eap_rogue_ap_entry_c@@QAEXW4eap_rogue_ap_reason_e@@@Z @ 576 NONAME ; void eap_rogue_ap_entry_c::set_rogue_reason(enum eap_rogue_ap_reason_e) - ?get_data_length@eap_buf_chain_base_c@@QBEKXZ @ 577 NONAME ; unsigned long eap_buf_chain_base_c::get_data_length(void) const - ??1eap_header_string_c@@UAE@XZ @ 578 NONAME ; eap_header_string_c::~eap_header_string_c(void) - ?decrypt_block_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 579 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::decrypt_block_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long) - ??1crypto_nt_hash_c@@UAE@XZ @ 580 NONAME ; crypto_nt_hash_c::~crypto_nt_hash_c(void) - ?GetIsValid@EapCertificateEntry@@QBEHXZ @ 581 NONAME ; int EapCertificateEntry::GetIsValid(void) const - ?SetValue@TEapExpandedType@@QAEHPBXI@Z @ 582 NONAME ; int TEapExpandedType::SetValue(void const *, unsigned int) - ?tls_prf_cleanup@crypto_tls_sha1_prf_c@@QAE?AW4eap_status_e@@XZ @ 583 NONAME ; enum eap_status_e crypto_tls_sha1_prf_c::tls_prf_cleanup(void) - ?get_data_offset@eap_buf_chain_base_c@@QBEPAEKK@Z @ 584 NONAME ; unsigned char * eap_buf_chain_base_c::get_data_offset(unsigned long, unsigned long) const - ?set_copy_of_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBXK@Z @ 585 NONAME ; enum eap_status_e eap_variable_data_c::set_copy_of_buffer(void const *, unsigned long) - ?set_is_invalid@crypto_tls_prf_c@@AAEXXZ @ 586 NONAME ; void crypto_tls_prf_c::set_is_invalid(void) - ?check_header@eapol_ethernet_header_base_c@@UBE?AW4eap_status_e@@XZ @ 587 NONAME ; enum eap_status_e eapol_ethernet_header_base_c::check_header(void) const - ?restore_bytes_from_ascii_armor@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 588 NONAME ; enum eap_status_e eap_am_tools_c::restore_bytes_from_ascii_armor(unsigned char const *, unsigned long, unsigned char *, unsigned long *) - ?get_network_index@simple_config_credential_c@@QBEEXZ @ 589 NONAME ; unsigned char simple_config_credential_c::get_network_index(void) const - ??1eap_master_session_key_c@@UAE@XZ @ 590 NONAME ; eap_master_session_key_c::~eap_master_session_key_c(void) - ??0eapol_ethernet_header_rd_c@@QAE@PAVabs_eap_am_tools_c@@PBEK@Z @ 591 NONAME ; eapol_ethernet_header_rd_c::eapol_ethernet_header_rd_c(class abs_eap_am_tools_c *, unsigned char const *, unsigned long) - ?allocate_message_data_buffer@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@K@Z @ 592 NONAME ; enum eap_status_e eap_tlv_message_data_c::allocate_message_data_buffer(unsigned long) - ??0eap_network_id_selector_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@@Z @ 593 NONAME ; eap_network_id_selector_c::eap_network_id_selector_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *) - ?get_block_size@eap_am_crypto_md4_c@@QAEKXZ @ 594 NONAME ; unsigned long eap_am_crypto_md4_c::get_block_size(void) - ??0eap_am_crypto_rc4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 595 NONAME ; eap_am_crypto_rc4_c::eap_am_crypto_rc4_c(class abs_eap_am_tools_c *) - ??0eap_buf_chain_wr_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 596 NONAME ; eap_buf_chain_wr_c::eap_buf_chain_wr_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned long) - ?SetPrimaryNamePresent@EapCertificateEntry@@QAEXXZ @ 597 NONAME ; void EapCertificateEntry::SetPrimaryNamePresent(void) - ?get_is_valid@eap_am_crypto_symbian_c@@UBE_NXZ @ 598 NONAME ; bool eap_am_crypto_symbian_c::get_is_valid(void) const - ?formatted_print@eap_am_tools_symbian_c@@UAAXPBDZZ @ 599 NONAME ; void eap_am_tools_symbian_c::formatted_print(char const *, ...) - ?get_is_valid@eap_am_file_input_symbian_c@@UAE_NXZ @ 600 NONAME ; bool eap_am_file_input_symbian_c::get_is_valid(void) - ?get_digest_length@crypto_md5_c@@UAEKXZ @ 601 NONAME ; unsigned long crypto_md5_c::get_digest_length(void) - ?compare_network_id@eap_am_network_id_c@@QBE_NPBV1@@Z @ 602 NONAME ; bool eap_am_network_id_c::compare_network_id(class eap_am_network_id_c const *) const - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4eapol_wlan_authentication_state_e@@@Z @ 603 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, enum eapol_wlan_authentication_state_e *) - ?get_mutex@eap_am_mutex_symbian_c@@QBEPBVRMutex@@XZ @ 604 NONAME ; class RMutex const * eap_am_mutex_symbian_c::get_mutex(void) const - ?get_eapol_key_type_string@eapol_session_key_c@@SAPBDW4eapol_key_type_e@@@Z @ 605 NONAME ; char const * eapol_session_key_c::get_eapol_key_type_string(enum eapol_key_type_e) - ?get_network_keys_const@simple_config_credential_c@@QBEPBV?$eap_array_c@Vnetwork_key_and_index_c@@@@XZ @ 606 NONAME ; class eap_array_c const * simple_config_credential_c::get_network_keys_const(void) const - ?trace_eap_packet@eap_core_c@@QAEXPBDPBVeap_header_wr_c@@@Z @ 607 NONAME ; void eap_core_c::trace_eap_packet(char const *, class eap_header_wr_c const *) - ?CopyData@EapMessageBuffer@@QAEHW4TEapRequests@@PBXI@Z @ 608 NONAME ; int EapMessageBuffer::CopyData(enum TEapRequests, void const *, unsigned int) - ?hash_init@crypto_sha_256_c@@UAE?AW4eap_status_e@@XZ @ 609 NONAME ; enum eap_status_e crypto_sha_256_c::hash_init(void) - ??1abs_eap_am_memory_store_data_c@@UAE@XZ @ 610 NONAME ; abs_eap_am_memory_store_data_c::~abs_eap_am_memory_store_data_c(void) - ?get_protocol@eap_state_notification_c@@UBEKXZ @ 611 NONAME ; unsigned long eap_state_notification_c::get_protocol(void) const - ??0eap_am_tools_symbian_c@@QAE@PBD@Z @ 612 NONAME ; eap_am_tools_symbian_c::eap_am_tools_symbian_c(char const *) - ??1abs_crypto_hash_algorithm_c@@UAE@XZ @ 613 NONAME ; abs_crypto_hash_algorithm_c::~abs_crypto_hash_algorithm_c(void) - ??0eap_config_value_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 614 NONAME ; eap_config_value_c::eap_config_value_c(class abs_eap_am_tools_c *) - ?restart_authentication@eap_session_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@_N@Z @ 615 NONAME ; enum eap_status_e eap_session_core_c::restart_authentication(class eap_am_network_id_c const *, bool) - ?get_SSID_const@simple_config_credential_c@@QBEPBVeap_variable_data_c@@XZ @ 616 NONAME ; class eap_variable_data_c const * simple_config_credential_c::get_SSID_const(void) const - ?get_sha_256_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 617 NONAME ; unsigned long eap_am_crypto_symbian_c::get_sha_256_block_size(class eap_variable_data_c *) - ?get_block_size@crypto_cbc_c@@UAEKXZ @ 618 NONAME ; unsigned long crypto_cbc_c::get_block_size(void) - ?packet_process_type@eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 619 NONAME ; enum eap_status_e eap_core_c::packet_process_type(class eap_expanded_type_c, class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) - ??0eap_master_session_key_c@@QAE@PAVabs_eap_am_tools_c@@Veap_expanded_type_c@@@Z @ 620 NONAME ; eap_master_session_key_c::eap_master_session_key_c(class abs_eap_am_tools_c *, class eap_expanded_type_c) - ?get_value_offset@eap_tlv_header_c@@QBEPAEKK@Z @ 621 NONAME ; unsigned char * eap_tlv_header_c::get_value_offset(unsigned long, unsigned long) const - ?get_source_length@eap_am_network_id_c@@QBEKXZ @ 622 NONAME ; unsigned long eap_am_network_id_c::get_source_length(void) const - ?get_source@eapol_ethernet_header_base_c@@QBEPAEXZ @ 623 NONAME ; unsigned char * eapol_ethernet_header_base_c::get_source(void) const - ??1eap_am_crypto_sha1_c@@UAE@XZ @ 624 NONAME ; eap_am_crypto_sha1_c::~eap_am_crypto_sha1_c(void) - ??0eap_type_selection_c@@QAE@PAVabs_eap_am_tools_c@@Veap_expanded_type_c@@_N@Z @ 625 NONAME ; eap_type_selection_c::eap_type_selection_c(class abs_eap_am_tools_c *, class eap_expanded_type_c, bool) - ?get_is_valid@crypto_aes_wrap_c@@QAE_NXZ @ 626 NONAME ; bool crypto_aes_wrap_c::get_is_valid(void) - ?get_eap_header@eapol_header_wr_c@@QAEPAEXZ @ 627 NONAME ; unsigned char * eapol_header_wr_c::get_eap_header(void) - ?dsa_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 628 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_cleanup(class eap_variable_data_c *) - ?get_key_tx_bit@eapol_session_key_c@@QBE_NXZ @ 629 NONAME ; bool eapol_session_key_c::get_key_tx_bit(void) const - ?get_current_state@eap_state_notification_c@@UBEKXZ @ 630 NONAME ; unsigned long eap_state_notification_c::get_current_state(void) const - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAV?$eap_array_c@Veap_am_network_id_c@@@@@Z @ 631 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, class eap_array_c *) - ?block_size_3des_ede@eap_am_crypto_symbian_c@@UAEKXZ @ 632 NONAME ; unsigned long eap_am_crypto_symbian_c::block_size_3des_ede(void) - ?get_is_valid@eap_general_header_base_c@@QBE_NXZ @ 633 NONAME ; bool eap_general_header_base_c::get_is_valid(void) const - ??8eap_expanded_type_c@@QBE_NABV0@@Z @ 634 NONAME ; bool eap_expanded_type_c::operator==(class eap_expanded_type_c const &) const - ?set_expanded_type_data@eap_expanded_type_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PBVeap_variable_data_c@@@Z @ 635 NONAME ; enum eap_status_e eap_expanded_type_c::set_expanded_type_data(class abs_eap_am_tools_c *, class eap_variable_data_c const *) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAPAVeap_state_notification_c@@@Z @ 636 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_state_notification_c * *) - ??0crypto_tls_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 637 NONAME ; crypto_tls_prf_c::crypto_tls_prf_c(class abs_eap_am_tools_c *) - ?start_timer_thread@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 638 NONAME ; enum eap_status_e eap_am_tools_symbian_c::start_timer_thread(void) - ?is_expanded_type@eap_expanded_type_c@@SA_NW4eap_type_ietf_values_e@@@Z @ 639 NONAME ; bool eap_expanded_type_c::is_expanded_type(enum eap_type_ietf_values_e) - ?leave_crypto_cs@eap_am_tools_symbian_c@@QAEXXZ @ 640 NONAME ; void eap_am_tools_symbian_c::leave_crypto_cs(void) - ??1abs_eap_am_mutex_c@@UAE@XZ @ 641 NONAME ; abs_eap_am_mutex_c::~abs_eap_am_mutex_c(void) - ?hash_final@crypto_md4_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 642 NONAME ; enum eap_status_e crypto_md4_c::hash_final(void *, unsigned long *) - ??1EapMessageBuffer@@UAE@XZ @ 643 NONAME ; EapMessageBuffer::~EapMessageBuffer(void) - ?get_am_tools@eap_general_header_base_c@@QBEPAVabs_eap_am_tools_c@@XZ @ 644 NONAME ; class abs_eap_am_tools_c * eap_general_header_base_c::get_am_tools(void) const - ??1eap_header_wr_c@@UAE@XZ @ 645 NONAME ; eap_header_wr_c::~eap_header_wr_c(void) - ?handle_eap_identity_request@eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@EPBVeap_am_network_id_c@@@Z @ 646 NONAME ; enum eap_status_e eap_core_c::handle_eap_identity_request(class eap_expanded_type_c, unsigned char, class eap_am_network_id_c const *) - ?md4_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 647 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_cleanup(class eap_variable_data_c *) - ?SetIsEnabled@EapCertificateEntry@@QAEHH@Z @ 648 NONAME ; int EapCertificateEntry::SetIsEnabled(int) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4eap_certificate_type_e@eap_certificate_entry_c@@@Z @ 649 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, enum eap_certificate_entry_c::eap_certificate_type_e *) - ?read_configuration_message@eap_file_config_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 650 NONAME ; enum eap_status_e eap_file_config_c::read_configuration_message(class eap_variable_data_c const *) - ?get_network_key_const@network_key_and_index_c@@QBEPBVeap_variable_data_c@@XZ @ 651 NONAME ; class eap_variable_data_c const * network_key_and_index_c::get_network_key_const(void) const - ?load_module@eap_session_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@0PAVabs_eap_base_type_c@@PAPAVeap_base_type_c@@_NPBVeap_am_network_id_c@@@Z @ 652 NONAME ; enum eap_status_e eap_session_core_c::load_module(class eap_expanded_type_c, class eap_expanded_type_c, class abs_eap_base_type_c *, class eap_base_type_c * *, bool, class eap_am_network_id_c const *) - ?add_padding_bytes@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXKE@Z @ 653 NONAME ; enum eap_status_e crypto_cbc_c::add_padding_bytes(void *, unsigned long, unsigned char) - ?get_key_length@crypto_3des_ede_c@@UAEKXZ @ 654 NONAME ; unsigned long crypto_3des_ede_c::get_key_length(void) - ?initialize_members@eap_variable_data_c@@AAE?AW4eap_status_e@@XZ @ 655 NONAME ; enum eap_status_e eap_variable_data_c::initialize_members(void) - ?md5_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 656 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_update(class eap_variable_data_c *, unsigned char const *, unsigned long) - ?copy_message_data@eap_am_memory_store_tlv_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_message_data_c@@K@Z @ 657 NONAME ; enum eap_status_e eap_am_memory_store_tlv_data_c::copy_message_data(class eap_tlv_message_data_c const *, unsigned long) - ?hash_update@crypto_sha_256_c@@UAE?AW4eap_status_e@@PBXK@Z @ 658 NONAME ; enum eap_status_e crypto_sha_256_c::hash_update(void const *, unsigned long) - ?get_do_packet_retransmission@eap_buf_chain_base_c@@QAE_NXZ @ 659 NONAME ; bool eap_buf_chain_base_c::get_do_packet_retransmission(void) - ?enter_global_mutex@eap_am_tools_symbian_c@@UAEXXZ @ 660 NONAME ; void eap_am_tools_symbian_c::enter_global_mutex(void) - ?add_data_to_offset@eap_variable_data_c@@QAE?AW4eap_status_e@@KPBV1@@Z @ 661 NONAME ; enum eap_status_e eap_variable_data_c::add_data_to_offset(unsigned long, class eap_variable_data_c const *) - ?hash_cleanup@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@XZ @ 662 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_cleanup(void) - ?hash_update@crypto_md5_c@@UAE?AW4eap_status_e@@PBXK@Z @ 663 NONAME ; enum eap_status_e crypto_md5_c::hash_update(void const *, unsigned long) - ?set_start_offset@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 664 NONAME ; enum eap_status_e eap_variable_data_c::set_start_offset(unsigned long) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAV?$eap_array_c@G@@@Z @ 665 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_array_c *) - ??1eap_simple_config_trace_string_c@@UAE@XZ @ 666 NONAME ; eap_simple_config_trace_string_c::~eap_simple_config_trace_string_c(void) - ??1eapol_header_rd_c@@UAE@XZ @ 667 NONAME ; eapol_header_rd_c::~eapol_header_rd_c(void) - ?SetSubjectKeyIdPresent@EapCertificateEntry@@QAEXXZ @ 668 NONAME ; void EapCertificateEntry::SetSubjectKeyIdPresent(void) - ?set_is_invalid@eap_am_crypto_sha_256_c@@AAEXXZ @ 669 NONAME ; void eap_am_crypto_sha_256_c::set_is_invalid(void) - ?u64_t_to_u64_struct@eap_am_tools_symbian_c@@UAE?AUu64_struct@@_K@Z @ 670 NONAME ; struct u64_struct eap_am_tools_symbian_c::u64_t_to_u64_struct(unsigned long long) - ?copy@crypto_sha_256_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 671 NONAME ; class abs_crypto_hash_algorithm_c * crypto_sha_256_c::copy(void) - ?hash_update@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@PBXK@Z @ 672 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_update(void const *, unsigned long) - ?object_increase_reference_count@eap_process_tlv_message_data_c@@QAEXXZ @ 673 NONAME ; void eap_process_tlv_message_data_c::object_increase_reference_count(void) - ?shutdown_am_tools@eap_am_tools_c@@QAE?AW4eap_status_e@@XZ @ 674 NONAME ; enum eap_status_e eap_am_tools_c::shutdown_am_tools(void) - ?set_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KPBX@Z @ 675 NONAME ; enum eap_status_e eap_tlv_message_data_c::set_message_data(unsigned long, void const *) - ?set_is_invalid@eap_am_crypto_rc4_c@@AAEXXZ @ 676 NONAME ; void eap_am_crypto_rc4_c::set_is_invalid(void) - ?password_hash@crypto_wpa_psk_password_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@PAXP6A?AW42@2K@Z@Z @ 677 NONAME ; enum eap_status_e crypto_wpa_psk_password_hash_c::password_hash(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, void *, enum eap_status_e (*)(void *, unsigned long)) - ?get_eap_type_list@eap_session_core_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 678 NONAME ; enum eap_status_e eap_session_core_c::get_eap_type_list(class eap_array_c *) - ?hash_cleanup@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@XZ @ 679 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_cleanup(void) - ?state_notification@eap_session_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 680 NONAME ; void eap_session_core_c::state_notification(class abs_eap_state_notification_c const *) - ??0eapol_header_rd_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 681 NONAME ; eapol_header_rd_c::eapol_header_rd_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long) - ?get_type@eap_header_base_c@@QBE?AVeap_expanded_type_c@@XZ @ 682 NONAME ; class eap_expanded_type_c eap_header_base_c::get_type(void) const - ?GetSecondaryNameWritable@EapCertificateEntry@@QAEPAVTDes16@@XZ @ 683 NONAME ; class TDes16 * EapCertificateEntry::GetSecondaryNameWritable(void) - ?set_is_valid@crypto_dsa_c@@AAEXXZ @ 684 NONAME ; void crypto_dsa_c::set_is_valid(void) - ?aes_set_encryption_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 685 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_set_encryption_key(class eap_variable_data_c *, unsigned char const *, unsigned long) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@J@Z @ 686 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(long) - ??1crypto_cbc_c@@UAE@XZ @ 687 NONAME ; crypto_cbc_c::~crypto_cbc_c(void) - ?leave_global_mutex@eap_am_tools_symbian_c@@UAEXXZ @ 688 NONAME ; void eap_am_tools_symbian_c::leave_global_mutex(void) - ??4TEapExpandedType@@QAEAAV0@ABV0@@Z @ 689 NONAME ; class TEapExpandedType & TEapExpandedType::operator=(class TEapExpandedType const &) - ?set_is_valid@crypto_md4_c@@EAEXXZ @ 690 NONAME ; void crypto_md4_c::set_is_valid(void) - ?get_code@eap_header_base_c@@QBE?AW4eap_code_value_e@@XZ @ 691 NONAME ; enum eap_code_value_e eap_header_base_c::get_code(void) const - ??Ieap_expanded_type_c@@QAEPAV0@XZ @ 692 NONAME ; class eap_expanded_type_c * eap_expanded_type_c::operator&(void) - ?md4_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 693 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *) - ??4eap_expanded_type_c@@QAEAAV0@W4eap_type_ietf_values_e@@@Z @ 694 NONAME ; class eap_expanded_type_c & eap_expanded_type_c::operator=(enum eap_type_ietf_values_e) - ?eap_write_u16_t_network_order@@YA?AW4eap_status_e@@PAXKG@Z @ 695 NONAME ; enum eap_status_e eap_write_u16_t_network_order(void *, unsigned long, unsigned short) - ?get_type_data@eap_expanded_type_c@@QBE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAW4eap_type_ietf_values_e@@@Z @ 696 NONAME ; enum eap_status_e eap_expanded_type_c::get_type_data(class abs_eap_am_tools_c *, enum eap_type_ietf_values_e *) const - ?strlen@eap_am_tools_symbian_c@@UAEKPBD@Z @ 697 NONAME ; unsigned long eap_am_tools_symbian_c::strlen(char const *) - ?get_previous_state_string@eap_state_notification_c@@UBEPBDXZ @ 698 NONAME ; char const * eap_state_notification_c::get_previous_state_string(void) const - ?SetSecondaryNamePresent@EapCertificateEntry@@QAEXXZ @ 699 NONAME ; void EapCertificateEntry::SetSecondaryNamePresent(void) - ?Compare@TEapExpandedType@@QBEHABV1@@Z @ 700 NONAME ; int TEapExpandedType::Compare(class TEapExpandedType const &) const - ?GetSubjectKeyIdWritable@EapCertificateEntry@@QAEPAV?$TBuf8@$0BE@@@XZ @ 701 NONAME ; class TBuf8<20> * EapCertificateEntry::GetSubjectKeyIdWritable(void) - ?get_block_size@crypto_3des_ede_c@@UAEKXZ @ 702 NONAME ; unsigned long crypto_3des_ede_c::get_block_size(void) - ?get_type_data_start_offset@eap_header_base_c@@SAK_N@Z @ 703 NONAME ; unsigned long eap_header_base_c::get_type_data_start_offset(bool) - ??0eap_am_crypto_sha1_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 704 NONAME ; eap_am_crypto_sha1_c::eap_am_crypto_sha1_c(class abs_eap_am_tools_c *) - ?convert_hex_ascii_to_bytes@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 705 NONAME ; enum eap_status_e eap_am_tools_c::convert_hex_ascii_to_bytes(unsigned char const *, unsigned long, unsigned char *, unsigned long *) - ?set_authentication_role@eap_core_c@@UAE?AW4eap_status_e@@_N@Z @ 706 NONAME ; enum eap_status_e eap_core_c::set_authentication_role(bool) - ??1TEapExpandedType@@UAE@XZ @ 707 NONAME ; TEapExpandedType::~TEapExpandedType(void) - ?eap_write_u32_t_little_endian_order@@YA?AW4eap_status_e@@PAXKK@Z @ 708 NONAME ; enum eap_status_e eap_write_u32_t_little_endian_order(void *, unsigned long, unsigned long) - ?set_data_length@eapol_header_base_c@@QAEXG@Z @ 709 NONAME ; void eapol_header_base_c::set_data_length(unsigned short) - ?get_digest_length@crypto_sha_256_c@@UAEKXZ @ 710 NONAME ; unsigned long crypto_sha_256_c::get_digest_length(void) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAPAVeap_state_notification_c@@@Z @ 711 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, class eap_state_notification_c * *) - ?reset@eap_am_network_id_c@@QAEXXZ @ 712 NONAME ; void eap_am_network_id_c::reset(void) - ??0abs_eap_am_mutex_c@@QAE@XZ @ 713 NONAME ; abs_eap_am_mutex_c::abs_eap_am_mutex_c(void) - ?configure@eap_core_c@@UAE?AW4eap_status_e@@XZ @ 714 NONAME ; enum eap_status_e eap_core_c::configure(void) - ?get_is_valid@eap_session_core_c@@UAE_NXZ @ 715 NONAME ; bool eap_session_core_c::get_is_valid(void) - ?get_rand_integer@crypto_random_c@@QAEKKK@Z @ 716 NONAME ; unsigned long crypto_random_c::get_rand_integer(unsigned long, unsigned long) - ?check_activate_trace_on_error@eap_am_tools_c@@UAEXXZ @ 717 NONAME ; void eap_am_tools_c::check_activate_trace_on_error(void) - ?get_sent_packet@eap_core_retransmission_c@@QBEPAVeap_buf_chain_wr_c@@XZ @ 718 NONAME ; class eap_buf_chain_wr_c * eap_core_retransmission_c::get_sent_packet(void) const - ?asynchronous_init_remove_eap_session@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 719 NONAME ; enum eap_status_e eap_core_c::asynchronous_init_remove_eap_session(void) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPA_K@Z @ 720 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, unsigned long long *) - ?get_type_data_length@eap_header_base_c@@QBEGXZ @ 721 NONAME ; unsigned short eap_header_base_c::get_type_data_length(void) const - ??1eap_core_nak_info_c@@UAE@XZ @ 722 NONAME ; eap_core_nak_info_c::~eap_core_nak_info_c(void) - ?get_asymmetric_start_key@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@K_N2@Z @ 723 NONAME ; enum eap_status_e crypto_nt_hash_c::get_asymmetric_start_key(class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long, bool, bool) - ?get_is_valid@eap_am_network_id_c@@QBE_NXZ @ 724 NONAME ; bool eap_am_network_id_c::get_is_valid(void) const - ?set_is_valid@eap_am_crypto_md4_c@@AAEXXZ @ 725 NONAME ; void eap_am_crypto_md4_c::set_is_valid(void) - ??1eap_am_mutex_reference_c@@UAE@XZ @ 726 NONAME ; eap_am_mutex_reference_c::~eap_am_mutex_reference_c(void) - ?ConvertInternalTypesToEAPTypes@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$eap_array_c@Veap_expanded_type_c@@@@PAV?$RArray@I@@@Z @ 727 NONAME ; int CEapConversion::ConvertInternalTypesToEAPTypes(class abs_eap_am_tools_c *, class eap_array_c const *, class RArray *) - ?check_is_valid_eap_type@eap_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 728 NONAME ; enum eap_status_e eap_core_c::check_is_valid_eap_type(class eap_expanded_type_c) - ?get_is_valid@eap_tlv_message_data_c@@QAE_NXZ @ 729 NONAME ; bool eap_tlv_message_data_c::get_is_valid(void) - ?get_buffer_offset@eap_variable_data_c@@QBEPAEKK@Z @ 730 NONAME ; unsigned char * eap_variable_data_c::get_buffer_offset(unsigned long, unsigned long) const - ?get_encrypts@crypto_3des_ede_c@@UAE_NXZ @ 731 NONAME ; bool crypto_3des_ede_c::get_encrypts(void) - ?GetFirstMessage@EapMessageQueue@@QAEPAVEapMessageBuffer@@XZ @ 732 NONAME ; class EapMessageBuffer * EapMessageQueue::GetFirstMessage(void) - ?add_end_null@eap_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 733 NONAME ; enum eap_status_e eap_variable_data_c::add_end_null(void) - ?get_802_11_authentication_mode@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@W4eapol_key_authentication_type_e@@PBVeap_variable_data_c@@2@Z @ 734 NONAME ; enum eap_status_e eap_session_core_c::get_802_11_authentication_mode(class eap_am_network_id_c const *, enum eapol_key_authentication_type_e, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?initialize_session_timeout@eap_core_c@@AAE?AW4eap_status_e@@K@Z @ 735 NONAME ; enum eap_status_e eap_core_c::initialize_session_timeout(unsigned long) - ?GetSecondaryNamePresent@EapCertificateEntry@@QBEHXZ @ 736 NONAME ; int EapCertificateEntry::GetSecondaryNamePresent(void) const - ?get_is_valid@crypto_nt_hash_c@@QAE_NXZ @ 737 NONAME ; bool crypto_nt_hash_c::get_is_valid(void) - ?get_use_eap_milli_second_timer@eap_am_tools_symbian_c@@UAE_NXZ @ 738 NONAME ; bool eap_am_tools_symbian_c::get_use_eap_milli_second_timer(void) - ??1crypto_eap_fast_hmac_sha1_prf_c@@UAE@XZ @ 739 NONAME ; crypto_eap_fast_hmac_sha1_prf_c::~crypto_eap_fast_hmac_sha1_prf_c(void) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeapol_session_key_c@@@Z @ 740 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eapol_session_key_c *) - ?set_mac_address@eap_rogue_ap_entry_c@@QAEXPBE@Z @ 741 NONAME ; void eap_rogue_ap_entry_c::set_mac_address(unsigned char const *) - ?copy@eap_am_network_id_c@@QBEPAV1@XZ @ 742 NONAME ; class eap_am_network_id_c * eap_am_network_id_c::copy(void) const - ??0eap_header_string_c@@QAE@XZ @ 743 NONAME ; eap_header_string_c::eap_header_string_c(void) - ?get_type_data@eap_header_base_c@@QBEPAEK@Z @ 744 NONAME ; unsigned char * eap_header_base_c::get_type_data(unsigned long) const - ?eap_write_u64_t_network_order@@YA?AW4eap_status_e@@PAXK_K@Z @ 745 NONAME ; enum eap_status_e eap_write_u64_t_network_order(void *, unsigned long, unsigned long long) - ?get_tmp_IV@crypto_cbc_c@@UAEPBVeap_variable_data_c@@XZ @ 746 NONAME ; class eap_variable_data_c const * crypto_cbc_c::get_tmp_IV(void) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAD@Z @ 747 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, char *) - ?eap_sha1_process_data_network_order@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PBKK@Z @ 748 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::eap_sha1_process_data_network_order(unsigned long const *, unsigned long) - ?load_type@eap_core_c@@QAEPAVeap_base_type_c@@Veap_expanded_type_c@@0PBVeap_am_network_id_c@@@Z @ 749 NONAME ; class eap_base_type_c * eap_core_c::load_type(class eap_expanded_type_c, class eap_expanded_type_c, class eap_am_network_id_c const *) - ?convert_unicode_to_utf8@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 750 NONAME ; enum eap_status_e eap_am_tools_symbian_c::convert_unicode_to_utf8(class eap_variable_data_c &, class eap_variable_data_c const &) - ?encrypt_block_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEPAEK@Z @ 751 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::encrypt_block_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned char *, unsigned long) - ?send_eap_success@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 752 NONAME ; enum eap_status_e eap_core_c::send_eap_success(class eap_am_network_id_c const *, unsigned char) - ?sha1_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 753 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_final(class eap_variable_data_c *, unsigned char *, unsigned long *) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_method_settings_c@@@Z @ 754 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_method_settings_c const *) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4eap_tlv_message_type_function_e@@@Z @ 755 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, enum eap_tlv_message_type_function_e *) - ?eap_htons@@YAGG@Z @ 756 NONAME ; unsigned short eap_htons(unsigned short) - ?reset@eap_variable_data_c@@QAE?AW4eap_status_e@@XZ @ 757 NONAME ; enum eap_status_e eap_variable_data_c::reset(void) - ?get_key_length@crypto_aes_wrap_c@@QAEKXZ @ 758 NONAME ; unsigned long crypto_aes_wrap_c::get_key_length(void) - ?get_crypto@eap_am_tools_symbian_c@@UAEPAVabs_eap_am_crypto_c@@XZ @ 759 NONAME ; class abs_eap_am_crypto_c * eap_am_tools_symbian_c::get_crypto(void) - ?eap_sha_256_process_data_network_order@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PBKK@Z @ 760 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::eap_sha_256_process_data_network_order(unsigned long const *, unsigned long) - ?set_network_index@simple_config_credential_c@@QAEXE@Z @ 761 NONAME ; void simple_config_credential_c::set_network_index(unsigned char) - ?get_needs_confirmation_from_user@eap_state_notification_c@@UBE_NXZ @ 762 NONAME ; bool eap_state_notification_c::get_needs_confirmation_from_user(void) const - ?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBV?$eap_array_c@G@@@Z @ 763 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_array_c const *) const - ?set_value_length@eap_tlv_header_c@@QAE?AW4eap_status_e@@K@Z @ 764 NONAME ; enum eap_status_e eap_tlv_header_c::set_value_length(unsigned long) - ?get_digest_length@eap_am_crypto_sha1_c@@QAEKXZ @ 765 NONAME ; unsigned long eap_am_crypto_sha1_c::get_digest_length(void) - ?generate_diffie_hellman_keys@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@0PBEK1K@Z @ 766 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::generate_diffie_hellman_keys(class eap_variable_data_c *, class eap_variable_data_c *, unsigned char const *, unsigned long, unsigned char const *, unsigned long) - ?get_is_valid@crypto_kd_hmac_sha256_c@@QAE_NXZ @ 767 NONAME ; bool crypto_kd_hmac_sha256_c::get_is_valid(void) - ?GetLabelWritable@EapCertificateEntry@@QAEPAVTDes16@@XZ @ 768 NONAME ; class TDes16 * EapCertificateEntry::GetLabelWritable(void) - ?hash_final@eap_am_crypto_md4_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 769 NONAME ; enum eap_status_e eap_am_crypto_md4_c::hash_final(void *, unsigned long *) - ?eap_sha_256_process_data_host_order@eap_am_crypto_sha_256_c@@AAE?AW4eap_status_e@@PBKK@Z @ 770 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::eap_sha_256_process_data_host_order(unsigned long const *, unsigned long) - ?add_data@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 771 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data(class eap_variable_data_c const *) - ?mutex_enter@eap_am_mutex_symbian_c@@UAE?AW4eap_status_e@@XZ @ 772 NONAME ; enum eap_status_e eap_am_mutex_symbian_c::mutex_enter(void) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_certificate_entry_c@@@Z @ 773 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_certificate_entry_c const *) - ?file_read@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 774 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_read(class eap_variable_data_c *) - ?set_expanded_type_data@eap_expanded_type_c@@QAE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PBXK@Z @ 775 NONAME ; enum eap_status_e eap_expanded_type_c::set_expanded_type_data(class abs_eap_am_tools_c *, void const *, unsigned long) - ?SetLabelPresent@EapCertificateEntry@@QAEXXZ @ 776 NONAME ; void EapCertificateEntry::SetLabelPresent(void) - ?GetThumbprint@EapCertificateEntry@@QBEPBVTDes16@@XZ @ 777 NONAME ; class TDes16 const * EapCertificateEntry::GetThumbprint(void) const - ?eap_htonll@@YA_K_K@Z @ 778 NONAME ; unsigned long long eap_htonll(unsigned long long) - ??0eap_am_mutex_symbian_c@@QAE@XZ @ 779 NONAME ; eap_am_mutex_symbian_c::eap_am_mutex_symbian_c(void) - ?set_is_valid@crypto_eap_fast_hmac_sha1_prf_c@@AAEXXZ @ 780 NONAME ; void crypto_eap_fast_hmac_sha1_prf_c::set_is_valid(void) - ??0TEapExpandedType@@QAE@PBV0@@Z @ 781 NONAME ; TEapExpandedType::TEapExpandedType(class TEapExpandedType const *) - ?get_is_timer_thread_active@eap_am_tools_symbian_c@@UAE_NXZ @ 782 NONAME ; bool eap_am_tools_symbian_c::get_is_timer_thread_active(void) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAJ@Z @ 783 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, long *) - ?object_decrease_reference_count@eap_core_c@@QAEKXZ @ 784 NONAME ; unsigned long eap_core_c::object_decrease_reference_count(void) - ?get_type_data@eap_expanded_type_c@@QBE?AW4eap_status_e@@PAVabs_eap_am_tools_c@@PAV1@@Z @ 785 NONAME ; enum eap_status_e eap_expanded_type_c::get_type_data(class abs_eap_am_tools_c *, class eap_expanded_type_c *) const - ?discard_stream@crypto_rc4_c@@UAE?AW4eap_status_e@@K@Z @ 786 NONAME ; enum eap_status_e crypto_rc4_c::discard_stream(unsigned long) - ?generic_convert_unicode_to_utf8@eap_am_tools_c@@QAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 787 NONAME ; enum eap_status_e eap_am_tools_c::generic_convert_unicode_to_utf8(class eap_variable_data_c &, class eap_variable_data_c const &) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAW4simple_config_Encryption_Type_e@@@Z @ 788 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, enum simple_config_Encryption_Type_e *) - ?restore_selected_bytes_from_ascii_armor@eap_am_tools_c@@AAEXEPAKPAE0_N@Z @ 789 NONAME ; void eap_am_tools_c::restore_selected_bytes_from_ascii_armor(unsigned char, unsigned long *, unsigned char *, unsigned long *, bool) - ??1eap_expanded_type_c@@QAE@XZ @ 790 NONAME ; eap_expanded_type_c::~eap_expanded_type_c(void) - ?shutdown_operation@eap_session_core_c@@CA?AW4eap_status_e@@PAVeap_core_c@@PAVabs_eap_am_tools_c@@@Z @ 791 NONAME ; enum eap_status_e eap_session_core_c::shutdown_operation(class eap_core_c *, class abs_eap_am_tools_c *) - ?set_copy_of_am_network_id@eap_am_network_id_c@@QAE?AW4eap_status_e@@PBXK0KG@Z @ 792 NONAME ; enum eap_status_e eap_am_network_id_c::set_copy_of_am_network_id(void const *, unsigned long, void const *, unsigned long, unsigned short) - ??4EapCertificateEntry@@QAEAAV0@ABV0@@Z @ 793 NONAME ; class EapCertificateEntry & EapCertificateEntry::operator=(class EapCertificateEntry const &) - ?get_eapol_header@eapol_ethernet_header_wr_c@@QBEPAEXZ @ 794 NONAME ; unsigned char * eapol_ethernet_header_wr_c::get_eapol_header(void) const - ?memrchr@eap_am_tools_symbian_c@@UAEPAXPBXEK@Z @ 795 NONAME ; void * eap_am_tools_symbian_c::memrchr(void const *, unsigned char, unsigned long) - ?encrypt_block@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXKPAXK@Z @ 796 NONAME ; enum eap_status_e crypto_aes_wrap_c::encrypt_block(void const *, unsigned long, void *, unsigned long) - ??0eap_header_rd_c@@QAE@PAVabs_eap_am_tools_c@@PAEK@Z @ 797 NONAME ; eap_header_rd_c::eap_header_rd_c(class abs_eap_am_tools_c *, unsigned char *, unsigned long) - ?rsa_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 798 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_cleanup(class eap_variable_data_c *) - ?rsa_decrypt_with_public_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 799 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_decrypt_with_public_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?set_is_valid@crypto_random_c@@QAEXXZ @ 800 NONAME ; void crypto_random_c::set_is_valid(void) - ?ascii_to_octet@eap_am_tools_c@@UAEEJ@Z @ 801 NONAME ; unsigned char eap_am_tools_c::ascii_to_octet(long) - ?convert_utf8_to_unicode@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 802 NONAME ; enum eap_status_e eap_am_tools_symbian_c::convert_utf8_to_unicode(class eap_variable_data_c &, class eap_variable_data_c const &) - ?set_is_valid@eap_am_network_id_c@@AAEXXZ @ 803 NONAME ; void eap_am_network_id_c::set_is_valid(void) - ?hash_update@crypto_sha1_c@@UAE?AW4eap_status_e@@PBXK@Z @ 804 NONAME ; enum eap_status_e crypto_sha1_c::hash_update(void const *, unsigned long) - ?verify@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 805 NONAME ; enum eap_status_e crypto_rsa_c::verify(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ??1EapServerStrings@@UAE@XZ @ 806 NONAME ; EapServerStrings::~EapServerStrings(void) - ?get_block_size@crypto_aes_wrap_c@@QAEKXZ @ 807 NONAME ; unsigned long crypto_aes_wrap_c::get_block_size(void) - ?write_configure@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 808 NONAME ; enum eap_status_e eap_session_core_c::write_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?get_expanded_vendor_id_offset@eap_header_base_c@@SAKXZ @ 809 NONAME ; unsigned long eap_header_base_c::get_expanded_vendor_id_offset(void) - ?get_data@eap_config_value_c@@QAEPAVeap_variable_data_c@@XZ @ 810 NONAME ; class eap_variable_data_c * eap_config_value_c::get_data(void) - ?use_test_random@eap_am_crypto_symbian_c@@UAEXPBEK_N@Z @ 811 NONAME ; void eap_am_crypto_symbian_c::use_test_random(unsigned char const *, unsigned long, bool) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@W42@@Z @ 812 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(enum eap_status_e) - ?set_is_valid@crypto_rc4_c@@EAEXXZ @ 813 NONAME ; void crypto_rc4_c::set_is_valid(void) - ?memset@eap_am_tools_symbian_c@@UAEXPAXJK@Z @ 814 NONAME ; void eap_am_tools_symbian_c::memset(void *, long, unsigned long) - ?initialize_asynchronous_init_remove_eap_session@eap_core_c@@AAE?AW4eap_status_e@@K@Z @ 815 NONAME ; enum eap_status_e eap_core_c::initialize_asynchronous_init_remove_eap_session(unsigned long) - ?aes_key_length@eap_am_crypto_symbian_c@@UAEKXZ @ 816 NONAME ; unsigned long eap_am_crypto_symbian_c::aes_key_length(void) - ?get_is_valid@crypto_aes_c@@UAE_NXZ @ 817 NONAME ; bool crypto_aes_c::get_is_valid(void) - ?reset_header@eap_tlv_header_c@@QAE?AW4eap_status_e@@KK@Z @ 818 NONAME ; enum eap_status_e eap_tlv_header_c::reset_header(unsigned long, unsigned long) - ?add_data@eap_am_memory_store_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVeap_tlv_message_data_c@@K@Z @ 819 NONAME ; enum eap_status_e eap_am_memory_store_c::add_data(class eap_variable_data_c const *, class eap_tlv_message_data_c const *, unsigned long) - ?get_is_valid@eap_variable_data_c@@QBE_NXZ @ 820 NONAME ; bool eap_variable_data_c::get_is_valid(void) const - ?set_is_invalid@crypto_dsa_c@@AAEXXZ @ 821 NONAME ; void crypto_dsa_c::set_is_invalid(void) - ??1eap_header_base_c@@UAE@XZ @ 822 NONAME ; eap_header_base_c::~eap_header_base_c(void) - ?read_type@eap_expanded_type_c@@SA?AW4eap_status_e@@PAVabs_eap_am_tools_c@@KPBXKPAV1@@Z @ 823 NONAME ; enum eap_status_e eap_expanded_type_c::read_type(class abs_eap_am_tools_c *, unsigned long, void const *, unsigned long, class eap_expanded_type_c *) - ?get_message_data_length@eap_am_memory_store_tlv_data_c@@QBEKXZ @ 824 NONAME ; unsigned long eap_am_memory_store_tlv_data_c::get_message_data_length(void) const - ?ConvertCipherSuitesToInternalType@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$RArray@I@@PAV?$eap_array_c@G@@@Z @ 825 NONAME ; int CEapConversion::ConvertCipherSuitesToInternalType(class abs_eap_am_tools_c *, class RArray const *, class eap_array_c *) - ??1simple_config_credential_c@@UAE@XZ @ 826 NONAME ; simple_config_credential_c::~simple_config_credential_c(void) - ?set_timer_resolution_ms@eap_am_tools_symbian_c@@UAEXK@Z @ 827 NONAME ; void eap_am_tools_symbian_c::set_timer_resolution_ms(unsigned long) - ??0eap_file_config_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 828 NONAME ; eap_file_config_c::eap_file_config_c(class abs_eap_am_tools_c *) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeapol_session_key_c@@@Z @ 829 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eapol_session_key_c const *) - ?get_header_length@eapol_header_base_c@@SAKXZ @ 830 NONAME ; unsigned long eapol_header_base_c::get_header_length(void) - ?am_cancel_all_timers@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 831 NONAME ; enum eap_status_e eap_am_tools_symbian_c::am_cancel_all_timers(void) - ?get_md4_block_size@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 832 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md4_block_size(class eap_variable_data_c *) - ?set_encryption_key_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 833 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::set_encryption_key_3des_ede(class eap_variable_data_c *, unsigned char const *, unsigned long) - ?remove_eap_session@eap_session_core_c@@UAE?AW4eap_status_e@@_NPBVeap_am_network_id_c@@@Z @ 834 NONAME ; enum eap_status_e eap_session_core_c::remove_eap_session(bool, class eap_am_network_id_c const *) - ?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVeap_method_settings_c@@@Z @ 835 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_method_settings_c const *) const - ?set_stack_address@eap_buf_chain_base_c@@QAEXPBX@Z @ 836 NONAME ; void eap_buf_chain_base_c::set_stack_address(void const *) - ?nt_password_hash@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAV3@K@Z @ 837 NONAME ; enum eap_status_e crypto_nt_hash_c::nt_password_hash(class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long) - ?encrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PAXK@Z @ 838 NONAME ; enum eap_status_e crypto_cbc_c::encrypt_data(void *, unsigned long) - ?get_code_string@eap_header_base_c@@QBEPBDXZ @ 839 NONAME ; char const * eap_header_base_c::get_code_string(void) const - ?remove_reference@eap_am_mutex_reference_c@@QAEXXZ @ 840 NONAME ; void eap_am_mutex_reference_c::remove_reference(void) - ?rsa_verify@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@11@Z @ 841 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_verify(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?open_crypto_memory_leaks@eap_am_crypto_symbian_c@@AAEXXZ @ 842 NONAME ; void eap_am_crypto_symbian_c::open_crypto_memory_leaks(void) - ?set_is_valid@eap_am_crypto_rc4_c@@AAEXXZ @ 843 NONAME ; void eap_am_crypto_rc4_c::set_is_valid(void) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAW4eap_tlv_message_type_function_e@@@Z @ 844 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, enum eap_tlv_message_type_function_e *) - ?force_inheritance@eap_buf_chain_wr_c@@EAEXXZ @ 845 NONAME ; void eap_buf_chain_wr_c::force_inheritance(void) - ?set_is_client@eap_buf_chain_base_c@@QAEX_N@Z @ 846 NONAME ; void eap_buf_chain_base_c::set_is_client(bool) - ?SetIssuerName@EapCertificateEntry@@QAEHABV?$TBuf@$0PP@@@@Z @ 847 NONAME ; int EapCertificateEntry::SetIssuerName(class TBuf<255> const &) - ?set_is_valid@crypto_aes_c@@UAEXXZ @ 848 NONAME ; void crypto_aes_c::set_is_valid(void) - ?set_is_invalid@crypto_eap_fast_hmac_sha1_prf_c@@AAEXXZ @ 849 NONAME ; void crypto_eap_fast_hmac_sha1_prf_c::set_is_invalid(void) - ?set_partner@eap_core_c@@QAEXPAVabs_eap_core_c@@@Z @ 850 NONAME ; void eap_core_c::set_partner(class abs_eap_core_c *) - ?get_version@eapol_header_base_c@@QBE?AW4eapol_protocol_version_e@@XZ @ 851 NONAME ; enum eapol_protocol_version_e eapol_header_base_c::get_version(void) const - ??0crypto_tls_sha1_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 852 NONAME ; crypto_tls_sha1_prf_c::crypto_tls_sha1_prf_c(class abs_eap_am_tools_c *) - ?get_block_size@crypto_md4_c@@UAEKXZ @ 853 NONAME ; unsigned long crypto_md4_c::get_block_size(void) - ?timer_thread_function@eap_am_tools_c@@UAE?AW4eap_status_e@@XZ @ 854 NONAME ; enum eap_status_e eap_am_tools_c::timer_thread_function(void) - ?begin_db_update@eap_am_tools_symbian_c@@QAE?AW4eap_status_e@@AAVRDbView@@@Z @ 855 NONAME ; enum eap_status_e eap_am_tools_symbian_c::begin_db_update(class RDbView &) - ?generic_convert_utf8_to_unicode@eap_am_tools_c@@QAE?AW4eap_status_e@@AAVeap_variable_data_c@@ABV3@@Z @ 856 NONAME ; enum eap_status_e eap_am_tools_c::generic_convert_utf8_to_unicode(class eap_variable_data_c &, class eap_variable_data_c const &) - ?add_rogue_ap@eap_session_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 857 NONAME ; enum eap_status_e eap_session_core_c::add_rogue_ap(class eap_array_c &) - ?set_key@crypto_rc4_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 858 NONAME ; enum eap_status_e crypto_rc4_c::set_key(class eap_variable_data_c const *) - ?encrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PAXK@Z @ 859 NONAME ; enum eap_status_e crypto_rc4_c::encrypt_data(void *, unsigned long) - ??0eapol_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 860 NONAME ; eapol_header_base_c::eapol_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?get_is_valid@crypto_ephemeral_diffie_hellman_c@@QAE_NXZ @ 861 NONAME ; bool crypto_ephemeral_diffie_hellman_c::get_is_valid(void) - ?get_is_valid@eap_core_retransmission_c@@QBE_NXZ @ 862 NONAME ; bool eap_core_retransmission_c::get_is_valid(void) const - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_certificate_entry_c@@@Z @ 863 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_certificate_entry_c *) - ??1crypto_dsa_c@@UAE@XZ @ 864 NONAME ; crypto_dsa_c::~crypto_dsa_c(void) - ?SetCertType@EapCertificateEntry@@QAEHABW4TCertType@1@@Z @ 865 NONAME ; int EapCertificateEntry::SetCertType(enum EapCertificateEntry::TCertType const &) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eapol_key_authentication_type_e@@@Z @ 866 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(enum eapol_key_authentication_type_e) - ?set_is_valid@crypto_sha_256_c@@EAEXXZ @ 867 NONAME ; void crypto_sha_256_c::set_is_valid(void) - ??0eap_variable_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 868 NONAME ; eap_variable_data_c::eap_variable_data_c(class abs_eap_am_tools_c *) - ?get_trace_mutex@eap_am_tools_symbian_c@@QAEPAVabs_eap_am_mutex_c@@XZ @ 869 NONAME ; class abs_eap_am_mutex_c * eap_am_tools_symbian_c::get_trace_mutex(void) - ?decrypt_block@crypto_aes_wrap_c@@QAE?AW4eap_status_e@@PBXKPAXK@Z @ 870 NONAME ; enum eap_status_e crypto_aes_wrap_c::decrypt_block(void const *, unsigned long, void *, unsigned long) - ?file_delete@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 871 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_delete(class eap_variable_data_c const *) - ?get_eap_type_string@eap_header_string_c@@SAPBDVeap_expanded_type_c@@@Z @ 872 NONAME ; char const * eap_header_string_c::get_eap_type_string(class eap_expanded_type_c) - ??1eap_state_notification_c@@UAE@XZ @ 873 NONAME ; eap_state_notification_c::~eap_state_notification_c(void) - ?hmac_final@crypto_hmac_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 874 NONAME ; enum eap_status_e crypto_hmac_c::hmac_final(void *, unsigned long *) - ?get_is_client@eap_state_notification_c@@UBE_NXZ @ 875 NONAME ; bool eap_state_notification_c::get_is_client(void) const - ??0crypto_wpa_psk_password_hash_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 876 NONAME ; crypto_wpa_psk_password_hash_c::crypto_wpa_psk_password_hash_c(class abs_eap_am_tools_c *) - ??0network_key_and_index_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 877 NONAME ; network_key_and_index_c::network_key_and_index_c(class abs_eap_am_tools_c *) - ?get_header_offset@eap_general_header_base_c@@QBEPAEKK@Z @ 878 NONAME ; unsigned char * eap_general_header_base_c::get_header_offset(unsigned long, unsigned long) const - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAF@Z @ 879 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, short *) - ?cancel_eap_failure_timeout@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 880 NONAME ; enum eap_status_e eap_core_c::cancel_eap_failure_timeout(void) - ?get_protocol_layer@eap_state_notification_c@@UBE?AW4eap_protocol_layer_e@@XZ @ 881 NONAME ; enum eap_protocol_layer_e eap_state_notification_c::get_protocol_layer(void) const - ?set_do_length_checks@eap_buf_chain_base_c@@QAEX_N@Z @ 882 NONAME ; void eap_buf_chain_base_c::set_do_length_checks(bool) - ?SetValue@TEapExpandedType@@QAEHII@Z @ 883 NONAME ; int TEapExpandedType::SetValue(unsigned int, unsigned int) - ?get_buffer_length@eap_buf_chain_base_c@@QBEKXZ @ 884 NONAME ; unsigned long eap_buf_chain_base_c::get_buffer_length(void) const - ?set_encryption_key@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXK@Z @ 885 NONAME ; enum eap_status_e crypto_3des_ede_c::set_encryption_key(void const *, unsigned long) - ??0eap_general_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 886 NONAME ; eap_general_header_base_c::eap_general_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?get_state_string@eap_simple_config_trace_string_c@@QBEPBDW4simple_config_state_e@@@Z @ 887 NONAME ; char const * eap_simple_config_trace_string_c::get_state_string(enum simple_config_state_e) const - ?get_data@eap_header_base_c@@QBEPAEK@Z @ 888 NONAME ; unsigned char * eap_header_base_c::get_data(unsigned long) const - ?reset_header@eapol_header_wr_c@@QAEXG@Z @ 889 NONAME ; void eapol_header_wr_c::reset_header(unsigned short) - ?xor_u64@eap_am_tools_c@@UAE_K_K0@Z @ 890 NONAME ; unsigned long long eap_am_tools_c::xor_u64(unsigned long long, unsigned long long) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@_K@Z @ 891 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(unsigned long long) - ?swap@eap_am_crypto_rc4_c@@AAEXPAE0@Z @ 892 NONAME ; void eap_am_crypto_rc4_c::swap(unsigned char *, unsigned char *) - ?eap_read_u32_t_network_order@@YAKPBXK@Z @ 893 NONAME ; unsigned long eap_read_u32_t_network_order(void const *, unsigned long) - ?get_key_length@crypto_aes_c@@UAEKXZ @ 894 NONAME ; unsigned long crypto_aes_c::get_key_length(void) - ?get_partner@eap_core_c@@QAEPAVabs_eap_core_c@@XZ @ 895 NONAME ; class abs_eap_core_c * eap_core_c::get_partner(void) - ??1eap_am_memory_store_tlv_data_c@@UAE@XZ @ 896 NONAME ; eap_am_memory_store_tlv_data_c::~eap_am_memory_store_tlv_data_c(void) - ?set_is_valid@crypto_rsa_c@@AAEXXZ @ 897 NONAME ; void crypto_rsa_c::set_is_valid(void) - ?set_max_trace_file_size@eap_am_tools_symbian_c@@UAEXK@Z @ 898 NONAME ; void eap_am_tools_symbian_c::set_max_trace_file_size(unsigned long) - ?set_is_invalid@crypto_md4_c@@AAEXXZ @ 899 NONAME ; void crypto_md4_c::set_is_invalid(void) - ?GetThumbprintPresent@EapCertificateEntry@@QBEHXZ @ 900 NONAME ; int EapCertificateEntry::GetThumbprintPresent(void) const - ?enter_trace_mutex@eap_am_tools_symbian_c@@QAEXXZ @ 901 NONAME ; void eap_am_tools_symbian_c::enter_trace_mutex(void) - ?md4_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 902 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md4_update(class eap_variable_data_c *, unsigned char const *, unsigned long) - ??0eap_expanded_type_c@@QAE@W4eap_type_ietf_values_e@@@Z @ 903 NONAME ; eap_expanded_type_c::eap_expanded_type_c(enum eap_type_ietf_values_e) - ?allocate_buffer@eap_variable_data_c@@AAE?AW4eap_status_e@@K@Z @ 904 NONAME ; enum eap_status_e eap_variable_data_c::allocate_buffer(unsigned long) - ?get_md4_digest_length@eap_am_crypto_symbian_c@@UAEKPAVeap_variable_data_c@@@Z @ 905 NONAME ; unsigned long eap_am_crypto_symbian_c::get_md4_digest_length(class eap_variable_data_c *) - ?set_authentication_error@eap_state_notification_c@@UAEXW4eap_status_e@@@Z @ 906 NONAME ; void eap_state_notification_c::set_authentication_error(enum eap_status_e) - ?rc4_set_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 907 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_set_key(class eap_variable_data_c *, class eap_variable_data_c const *) - ?GetIssuerNamePresent@EapCertificateEntry@@QBEHXZ @ 908 NONAME ; int EapCertificateEntry::GetIssuerNamePresent(void) const - ?get_header_length@eap_tlv_header_c@@SAKXZ @ 909 NONAME ; unsigned long eap_tlv_header_c::get_header_length(void) - ?initialize@eap_buf_chain_base_c@@AAE?AW4eap_status_e@@K@Z @ 910 NONAME ; enum eap_status_e eap_buf_chain_base_c::initialize(unsigned long) - ??0eap_expanded_type_c@@QAE@XZ @ 911 NONAME ; eap_expanded_type_c::eap_expanded_type_c(void) - ??0eap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@Veap_expanded_type_c@@KKE2@Z @ 912 NONAME ; eap_state_notification_c::eap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, class eap_expanded_type_c, unsigned long, unsigned long, unsigned char, bool) - ?copy@eap_am_crypto_sha1_c@@QAEPAV1@XZ @ 913 NONAME ; class eap_am_crypto_sha1_c * eap_am_crypto_sha1_c::copy(void) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAV?$eap_array_c@G@@@Z @ 914 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, class eap_array_c *) - ??1eap_variable_data_c@@UAE@XZ @ 915 NONAME ; eap_variable_data_c::~eap_variable_data_c(void) - ?object_decrease_reference_count@eap_am_memory_store_tlv_data_c@@QAEKXZ @ 916 NONAME ; unsigned long eap_am_memory_store_tlv_data_c::object_decrease_reference_count(void) - ?restart_with_new_type@eap_core_c@@AAE?AW4eap_status_e@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@E@Z @ 917 NONAME ; enum eap_status_e eap_core_c::restart_with_new_type(class eap_expanded_type_c, class eap_am_network_id_c const *, unsigned char) - ??0eap_core_retransmission_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKKKW4eap_code_value_e@@EVeap_expanded_type_c@@@Z @ 918 NONAME ; eap_core_retransmission_c::eap_core_retransmission_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, unsigned long, unsigned long, enum eap_code_value_e, unsigned char, class eap_expanded_type_c) - ?init@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 919 NONAME ; enum eap_status_e eap_variable_data_c::init(unsigned long) - ?get_eap_code_string@eap_header_string_c@@SAPBDW4eap_code_value_e@@@Z @ 920 NONAME ; char const * eap_header_string_c::get_eap_code_string(enum eap_code_value_e) - ??4TEapExpandedType@@QAEAAV0@ABV?$TBufC8@$07@@@Z @ 921 NONAME ; class TEapExpandedType & TEapExpandedType::operator=(class TBufC8<8> const &) - ??1network_key_and_index_c@@UAE@XZ @ 922 NONAME ; network_key_and_index_c::~network_key_and_index_c(void) - ?copy_context@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PBVeap_variable_data_c@@_KPBK22@Z @ 923 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::copy_context(class eap_variable_data_c const *, unsigned long long, unsigned long const *, unsigned long const *, unsigned long const *) - ??0eap_network_id_selector_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 924 NONAME ; eap_network_id_selector_c::eap_network_id_selector_c(class abs_eap_am_tools_c *) - ?compare@eap_variable_data_c@@QBEJPBXK@Z @ 925 NONAME ; long eap_variable_data_c::compare(void const *, unsigned long) const - ?copy@crypto_md4_c@@UAEPAVabs_crypto_hash_algorithm_c@@XZ @ 926 NONAME ; class abs_crypto_hash_algorithm_c * crypto_md4_c::copy(void) - ?generate_g_power_to_xy@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@PBEK2K@Z @ 927 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::generate_g_power_to_xy(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned char const *, unsigned long, unsigned char const *, unsigned long) - ?directory_read@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAV?$eap_array_c@Vabs_eap_file_stat_c@@@@@Z @ 928 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::directory_read(class eap_array_c *) - ?get_is_valid@simple_config_credential_c@@QAE_NXZ @ 929 NONAME ; bool simple_config_credential_c::get_is_valid(void) - ?set_trace_mask@eap_am_tools_c@@UAEXK@Z @ 930 NONAME ; void eap_am_tools_c::set_trace_mask(unsigned long) - ?Copy@EapCertificateEntry@@QAEPAV1@XZ @ 931 NONAME ; class EapCertificateEntry * EapCertificateEntry::Copy(void) - ?dsa_verify@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@11111@Z @ 932 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dsa_verify(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?file_read_word@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 933 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_read_word(class eap_variable_data_c *) - ?set_is_valid@eap_am_memory_store_c@@AAEXXZ @ 934 NONAME ; void eap_am_memory_store_c::set_is_valid(void) - ?set_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 935 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer(class eap_variable_data_c const *) - ?get_network_key@network_key_and_index_c@@QAEPAVeap_variable_data_c@@XZ @ 936 NONAME ; class eap_variable_data_c * network_key_and_index_c::get_network_key(void) - ?handle_eap_identity_response@eap_core_c@@AAE?AW4eap_status_e@@PAVeap_base_type_c@@Veap_expanded_type_c@@PBVeap_am_network_id_c@@PAVeap_header_wr_c@@K@Z @ 937 NONAME ; enum eap_status_e eap_core_c::handle_eap_identity_response(class eap_base_type_c *, class eap_expanded_type_c, class eap_am_network_id_c const *, class eap_header_wr_c *, unsigned long) - ?send_eap_identity_request@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 938 NONAME ; enum eap_status_e eap_session_core_c::send_eap_identity_request(class eap_am_network_id_c const *) - ?set_type_data_length@eap_header_base_c@@QAEXG_N@Z @ 939 NONAME ; void eap_header_base_c::set_type_data_length(unsigned short, bool) - ?get_eap_expanded_type_size@eap_expanded_type_c@@SAKXZ @ 940 NONAME ; unsigned long eap_expanded_type_c::get_eap_expanded_type_size(void) - ?init_retransmission@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_buf_chain_wr_c@@KKW4eap_code_value_e@@EVeap_expanded_type_c@@@Z @ 941 NONAME ; enum eap_status_e eap_core_c::init_retransmission(class eap_am_network_id_c const *, class eap_buf_chain_wr_c *, unsigned long, unsigned long, enum eap_code_value_e, unsigned char, class eap_expanded_type_c) - ??1crypto_md4_c@@UAE@XZ @ 942 NONAME ; crypto_md4_c::~crypto_md4_c(void) - ?leave_trace_mutex@eap_am_tools_symbian_c@@QAEXXZ @ 943 NONAME ; void eap_am_tools_symbian_c::leave_trace_mutex(void) - ?get_is_valid@eap_am_memory_store_c@@QAE_NXZ @ 944 NONAME ; bool eap_am_memory_store_c::get_is_valid(void) - ?get_digest_length@crypto_sha1_c@@UAEKXZ @ 945 NONAME ; unsigned long crypto_sha1_c::get_digest_length(void) - ?timer_delete_data@eap_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 946 NONAME ; enum eap_status_e eap_core_c::timer_delete_data(unsigned long, void *) - ??0eap_buf_chain_base_c@@QAE@W4eap_read_buffer_e@@PAVabs_eap_am_tools_c@@K@Z @ 947 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_read_buffer_e, class abs_eap_am_tools_c *, unsigned long) - ?set_Encryption_Type@simple_config_credential_c@@QAEXW4simple_config_Encryption_Type_e@@@Z @ 948 NONAME ; void simple_config_credential_c::set_Encryption_Type(enum simple_config_Encryption_Type_e) - ??0eap_am_file_input_symbian_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 949 NONAME ; eap_am_file_input_symbian_c::eap_am_file_input_symbian_c(class abs_eap_am_tools_c *) - ?get_ethernet_header@eap_buf_chain_wr_c@@QAEPAEXZ @ 950 NONAME ; unsigned char * eap_buf_chain_wr_c::get_ethernet_header(void) - ?get_is_valid@eap_process_tlv_message_data_c@@QAE_NXZ @ 951 NONAME ; bool eap_process_tlv_message_data_c::get_is_valid(void) - ?tls_prf_A_value@crypto_tls_base_prf_c@@QAE?AW4eap_status_e@@PAVabs_crypto_hmac_algorithm_c@@PAVeap_variable_data_c@@11@Z @ 952 NONAME ; enum eap_status_e crypto_tls_base_prf_c::tls_prf_A_value(class abs_crypto_hmac_algorithm_c *, class eap_variable_data_c *, class eap_variable_data_c *, class eap_variable_data_c *) - ?convert_eapol_error_to_am_error@eap_am_tools_symbian_c@@UAEJW4eap_status_e@@@Z @ 953 NONAME ; long eap_am_tools_symbian_c::convert_eapol_error_to_am_error(enum eap_status_e) - ?get_current_state_string@eap_state_notification_c@@UBEPBDXZ @ 954 NONAME ; char const * eap_state_notification_c::get_current_state_string(void) const - ?get_type@eap_config_value_c@@QAE?AW4eap_configure_type_e@@XZ @ 955 NONAME ; enum eap_configure_type_e eap_config_value_c::get_type(void) - ?set_data_length@eap_variable_data_c@@QAE?AW4eap_status_e@@K@Z @ 956 NONAME ; enum eap_status_e eap_variable_data_c::set_data_length(unsigned long) - ?set_key_tx_bit@eapol_session_key_c@@QAEX_N@Z @ 957 NONAME ; void eapol_session_key_c::set_key_tx_bit(bool) - ?aes_cleanup@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 958 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::aes_cleanup(class eap_variable_data_c *) - ?get_data_offset@eap_buf_chain_rd_c@@QBEPBEKK@Z @ 959 NONAME ; unsigned char const * eap_buf_chain_rd_c::get_data_offset(unsigned long, unsigned long) const - ?cancel_timer@eap_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 960 NONAME ; enum eap_status_e eap_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ??0eapol_ethernet_header_base_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 961 NONAME ; eapol_ethernet_header_base_c::eapol_ethernet_header_base_c(class abs_eap_am_tools_c *, void *, unsigned long) - ?get_data_offset@eap_variable_data_c@@QBEPAEKK@Z @ 962 NONAME ; unsigned char * eap_variable_data_c::get_data_offset(unsigned long, unsigned long) const - ?sha1_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 963 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *) - ??0crypto_eap_fast_hmac_sha1_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 964 NONAME ; crypto_eap_fast_hmac_sha1_prf_c::crypto_eap_fast_hmac_sha1_prf_c(class abs_eap_am_tools_c *) - ?tls_prf_cleanup@crypto_tls_base_prf_c@@QAE?AW4eap_status_e@@XZ @ 965 NONAME ; enum eap_status_e crypto_tls_base_prf_c::tls_prf_cleanup(void) - ?get_is_valid@network_key_and_index_c@@QAE_NXZ @ 966 NONAME ; bool network_key_and_index_c::get_is_valid(void) - ?internal_encrypt_data@crypto_cbc_c@@AAE?AW4eap_status_e@@PBXPAXK@Z @ 967 NONAME ; enum eap_status_e crypto_cbc_c::internal_encrypt_data(void const *, void *, unsigned long) - ??0eap_simple_config_trace_string_c@@QAE@XZ @ 968 NONAME ; eap_simple_config_trace_string_c::eap_simple_config_trace_string_c(void) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eapol_key_802_11_authentication_mode_e@@@Z @ 969 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(enum eapol_key_802_11_authentication_mode_e) - ?set_encryption_key@crypto_aes_c@@UAE?AW4eap_status_e@@PBXK@Z @ 970 NONAME ; enum eap_status_e crypto_aes_c::set_encryption_key(void const *, unsigned long) - ?GetPrimaryName@EapCertificateEntry@@QBEPBVTDes16@@XZ @ 971 NONAME ; class TDes16 const * EapCertificateEntry::GetPrimaryName(void) const - ??1eap_am_crypto_sha_256_c@@UAE@XZ @ 972 NONAME ; eap_am_crypto_sha_256_c::~eap_am_crypto_sha_256_c(void) - ?get_new_key_from_sha@crypto_nt_hash_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@K@Z @ 973 NONAME ; enum eap_status_e crypto_nt_hash_c::get_new_key_from_sha(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, unsigned long) - ?shutdown@eap_am_memory_store_c@@QAE?AW4eap_status_e@@XZ @ 974 NONAME ; enum eap_status_e eap_am_memory_store_c::shutdown(void) - ?reset_operation@eap_core_c@@CA?AW4eap_status_e@@PAVeap_base_type_c@@PAVabs_eap_am_tools_c@@@Z @ 975 NONAME ; enum eap_status_e eap_core_c::reset_operation(class eap_base_type_c *, class abs_eap_am_tools_c *) - ?cbc_xor_block@crypto_cbc_c@@AAEXPBXPAXKK@Z @ 976 NONAME ; void crypto_cbc_c::cbc_xor_block(void const *, void *, unsigned long, unsigned long) - ?close_crypto_memory_leaks@eap_am_crypto_symbian_c@@AAEXXZ @ 977 NONAME ; void eap_am_crypto_symbian_c::close_crypto_memory_leaks(void) - ?unset_marked_removed@eap_core_c@@QAEXXZ @ 978 NONAME ; void eap_core_c::unset_marked_removed(void) - ?directory_open@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 979 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::directory_open(class eap_variable_data_c const *) - ?memory_store_remove_data@eap_am_tools_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 980 NONAME ; enum eap_status_e eap_am_tools_c::memory_store_remove_data(class eap_variable_data_c const *) - ?set_is_reserved@eap_am_mutex_reference_c@@QAEX_N@Z @ 981 NONAME ; void eap_am_mutex_reference_c::set_is_reserved(bool) - ?hash_update@crypto_md4_c@@UAE?AW4eap_status_e@@PBXK@Z @ 982 NONAME ; enum eap_status_e crypto_md4_c::hash_update(void const *, unsigned long) - ?set_encrypt@eap_buf_chain_base_c@@QAEX_N@Z @ 983 NONAME ; void eap_buf_chain_base_c::set_encrypt(bool) - ?set_code@eap_header_base_c@@QAEXW4eap_code_value_e@@@Z @ 984 NONAME ; void eap_header_base_c::set_code(enum eap_code_value_e) - ?directory_close@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@XZ @ 985 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::directory_close(void) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_am_network_id_c@@@Z @ 986 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_am_network_id_c *) - ?parse_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@PAV?$eap_array_c@Veap_tlv_header_c@@@@@Z @ 987 NONAME ; enum eap_status_e eap_tlv_message_data_c::parse_message_data(class eap_array_c *) - ??1crypto_kd_hmac_sha256_c@@UAE@XZ @ 988 NONAME ; crypto_kd_hmac_sha256_c::~crypto_kd_hmac_sha256_c(void) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eap_tlv_message_type_e@@K@Z @ 989 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(enum eap_tlv_message_type_e, unsigned long) - ?check_header@eap_tlv_header_c@@UBE?AW4eap_status_e@@XZ @ 990 NONAME ; enum eap_status_e eap_tlv_header_c::check_header(void) const - ??1EapCertificateEntry@@UAE@XZ @ 991 NONAME ; EapCertificateEntry::~EapCertificateEntry(void) - ?eap_write_u24_t_network_order@@YA?AW4eap_status_e@@PAXKK@Z @ 992 NONAME ; enum eap_status_e eap_write_u24_t_network_order(void *, unsigned long, unsigned long) - ?get_is_valid@crypto_sha_256_c@@UAE_NXZ @ 993 NONAME ; bool crypto_sha_256_c::get_is_valid(void) - ?new_abs_eap_am_tools_c@abs_eap_am_tools_c@@SAPAV1@XZ @ 994 NONAME ; class abs_eap_am_tools_c * abs_eap_am_tools_c::new_abs_eap_am_tools_c(void) - ?SetIsValid@EapCertificateEntry@@QAEHH@Z @ 995 NONAME ; int EapCertificateEntry::SetIsValid(int) - ?copy_message_digest@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PAXPAK@Z @ 996 NONAME ; enum eap_status_e eap_am_crypto_md4_c::copy_message_digest(void *, unsigned long *) - ?timer_delete_data@eap_session_core_c@@UAE?AW4eap_status_e@@KPAX@Z @ 997 NONAME ; enum eap_status_e eap_session_core_c::timer_delete_data(unsigned long, void *) - ?convert_am_error_to_eapol_error@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@J@Z @ 998 NONAME ; enum eap_status_e eap_am_tools_symbian_c::convert_am_error_to_eapol_error(long) - ?sha_256_final@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PAEPAK@Z @ 999 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_final(class eap_variable_data_c *, unsigned char *, unsigned long *) - ??0eapol_session_key_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1000 NONAME ; eapol_session_key_c::eapol_session_key_c(class abs_eap_am_tools_c *) - ?copy_context@crypto_md5_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1001 NONAME ; enum eap_status_e crypto_md5_c::copy_context(class eap_variable_data_c const *) - ?get_destination_length@eapol_ethernet_header_base_c@@QBEKXZ @ 1002 NONAME ; unsigned long eapol_ethernet_header_base_c::get_destination_length(void) const - ?eap_host_to_little_endian_long@@YAKK@Z @ 1003 NONAME ; unsigned long eap_host_to_little_endian_long(unsigned long) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAV?$eap_array_c@Vsimple_config_credential_c@@@@@Z @ 1004 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, class eap_array_c *) - ?set_is_valid@crypto_tls_prf_c@@AAEXXZ @ 1005 NONAME ; void crypto_tls_prf_c::set_is_valid(void) - ?set_is_invalid@crypto_rc4_c@@AAEXXZ @ 1006 NONAME ; void crypto_rc4_c::set_is_invalid(void) - ??1eap_network_id_selector_c@@UAE@XZ @ 1007 NONAME ; eap_network_id_selector_c::~eap_network_id_selector_c(void) - ?get_allow_send_eap_success@eap_state_notification_c@@UBE_NXZ @ 1008 NONAME ; bool eap_state_notification_c::get_allow_send_eap_success(void) const - ?get_type@eap_type_selection_c@@QBE?AVeap_expanded_type_c@@XZ @ 1009 NONAME ; class eap_expanded_type_c eap_type_selection_c::get_type(void) const - ?get_authentication_error@eap_state_notification_c@@UBE?AW4eap_status_e@@XZ @ 1010 NONAME ; enum eap_status_e eap_state_notification_c::get_authentication_error(void) const - ?get_source_id@eap_am_network_id_c@@QBEPBVeap_variable_data_c@@XZ @ 1011 NONAME ; class eap_variable_data_c const * eap_am_network_id_c::get_source_id(void) const - ?get_protocol_string@eap_state_notification_c@@SAPBDKK@Z @ 1012 NONAME ; char const * eap_state_notification_c::get_protocol_string(unsigned long, unsigned long) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_expanded_type_c@@@Z @ 1013 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_expanded_type_c *) - ?add_structured_parameter_header@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@W4eap_tlv_message_type_e@@K@Z @ 1014 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_structured_parameter_header(enum eap_tlv_message_type_e, unsigned long) - ?client_proposes_eap_types@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 1015 NONAME ; enum eap_status_e eap_core_c::client_proposes_eap_types(class eap_am_network_id_c const *, unsigned char) - ??0eapol_session_key_c@@QAE@PAVabs_eap_am_tools_c@@PAVeap_variable_data_c@@W4eapol_key_type_e@@K_NPBEK@Z @ 1016 NONAME ; eapol_session_key_c::eapol_session_key_c(class abs_eap_am_tools_c *, class eap_variable_data_c *, enum eapol_key_type_e, unsigned long, bool, unsigned char const *, unsigned long) - ?get_is_reserved@eap_am_mutex_reference_c@@QAE_NXZ @ 1017 NONAME ; bool eap_am_mutex_reference_c::get_is_reserved(void) - ?set_key@eapol_session_key_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1018 NONAME ; enum eap_status_e eapol_session_key_c::set_key(class eap_variable_data_c const *) - ?set_is_invalid@crypto_rsa_c@@AAEXXZ @ 1019 NONAME ; void crypto_rsa_c::set_is_invalid(void) - ?eap_write_u32_t_network_order@@YA?AW4eap_status_e@@PAXKK@Z @ 1020 NONAME ; enum eap_status_e eap_write_u32_t_network_order(void *, unsigned long, unsigned long) - ?get_hardware_ticks_of_second@eap_am_tools_symbian_c@@UAE_KXZ @ 1021 NONAME ; unsigned long long eap_am_tools_symbian_c::get_hardware_ticks_of_second(void) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 1022 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_array_c const *) - ??0TEapExpandedType@@QAE@ABV?$TBufC8@$07@@@Z @ 1023 NONAME ; TEapExpandedType::TEapExpandedType(class TBufC8<8> const &) - ?get_data@eap_am_memory_store_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAVeap_tlv_message_data_c@@@Z @ 1024 NONAME ; enum eap_status_e eap_am_memory_store_c::get_data(class eap_variable_data_c const *, class eap_tlv_message_data_c *) - ?aes_block_size@eap_am_crypto_symbian_c@@UAEKXZ @ 1025 NONAME ; unsigned long eap_am_crypto_symbian_c::aes_block_size(void) - ?get_global_mutex@eap_am_tools_symbian_c@@UAEPAVabs_eap_am_mutex_c@@XZ @ 1026 NONAME ; class abs_eap_am_mutex_c * eap_am_tools_symbian_c::get_global_mutex(void) - ?ConvertExpandedEAPTypesToInternalTypes@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$RArray@VTEapExpandedType@@@@PAV?$eap_array_c@Veap_expanded_type_c@@@@@Z @ 1027 NONAME ; int CEapConversion::ConvertExpandedEAPTypesToInternalTypes(class abs_eap_am_tools_c *, class RArray const *, class eap_array_c *) - ?get_encrypts@crypto_aes_c@@UAE_NXZ @ 1028 NONAME ; bool crypto_aes_c::get_encrypts(void) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@E@Z @ 1029 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(unsigned char) - ?eap_shift_right_64_bit@@YA_K_KK@Z @ 1030 NONAME ; unsigned long long eap_shift_right_64_bit(unsigned long long, unsigned long) - ?add_rogue_ap@eap_core_c@@UAE?AW4eap_status_e@@AAV?$eap_array_c@Veap_rogue_ap_entry_c@@@@@Z @ 1031 NONAME ; enum eap_status_e eap_core_c::add_rogue_ap(class eap_array_c &) - ?timer_expired@eap_am_memory_store_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1032 NONAME ; enum eap_status_e eap_am_memory_store_c::timer_expired(unsigned long, void *) - ?GetSubjectKeyId@EapCertificateEntry@@QBEABV?$TBuf8@$0BE@@@XZ @ 1033 NONAME ; class TBuf8<20> const & EapCertificateEntry::GetSubjectKeyId(void) const - ??9eap_expanded_type_c@@QBE_NW4eap_type_ietf_values_e@@@Z @ 1034 NONAME ; bool eap_expanded_type_c::operator!=(enum eap_type_ietf_values_e) const - ?get_sequence_number@eapol_session_key_c@@QBEPBVeap_variable_data_c@@XZ @ 1035 NONAME ; class eap_variable_data_c const * eapol_session_key_c::get_sequence_number(void) const - ?tls_prf_one_round@crypto_tls_base_prf_c@@QAE?AW4eap_status_e@@PAVabs_crypto_hmac_algorithm_c@@PBVeap_variable_data_c@@PAV4@2PAXK@Z @ 1036 NONAME ; enum eap_status_e crypto_tls_base_prf_c::tls_prf_one_round(class abs_crypto_hmac_algorithm_c *, class eap_variable_data_c const *, class eap_variable_data_c *, class eap_variable_data_c *, void *, unsigned long) - ??1crypto_rc4_c@@UAE@XZ @ 1037 NONAME ; crypto_rc4_c::~crypto_rc4_c(void) - ?memchr@eap_am_tools_symbian_c@@UAEPAXPBXEK@Z @ 1038 NONAME ; void * eap_am_tools_symbian_c::memchr(void const *, unsigned char, unsigned long) - ??1eap_status_string_c@@UAE@XZ @ 1039 NONAME ; eap_status_string_c::~eap_status_string_c(void) - ?get_buffer@eap_variable_data_c@@QBEPAEK@Z @ 1040 NONAME ; unsigned char * eap_variable_data_c::get_buffer(unsigned long) const - ?packet_data_crypto_keys@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_master_session_key_c@@@Z @ 1041 NONAME ; enum eap_status_e eap_session_core_c::packet_data_crypto_keys(class eap_am_network_id_c const *, class eap_master_session_key_c const *) - ??1eapol_header_wr_c@@UAE@XZ @ 1042 NONAME ; eapol_header_wr_c::~eapol_header_wr_c(void) - ?send_eap_identity_request@eap_core_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1043 NONAME ; enum eap_status_e eap_core_c::send_eap_identity_request(class eap_am_network_id_c const *) - ?set_key_index@eapol_session_key_c@@QAEXK@Z @ 1044 NONAME ; void eapol_session_key_c::set_key_index(unsigned long) - ?get_next_retransmission_time@eap_core_retransmission_c@@QAEKXZ @ 1045 NONAME ; unsigned long eap_core_retransmission_c::get_next_retransmission_time(void) - ??1crypto_rsa_c@@UAE@XZ @ 1046 NONAME ; crypto_rsa_c::~crypto_rsa_c(void) - ?get_eap_type@eap_core_retransmission_c@@QBE?AVeap_expanded_type_c@@XZ @ 1047 NONAME ; class eap_expanded_type_c eap_core_retransmission_c::get_eap_type(void) const - ?get_marked_removed@eap_core_c@@QAE_NXZ @ 1048 NONAME ; bool eap_core_c::get_marked_removed(void) - ?sign@crypto_dsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 1049 NONAME ; enum eap_status_e crypto_dsa_c::sign(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ??0eap_network_id_selector_c@@QAE@PAVabs_eap_am_tools_c@@PBV0@@Z @ 1050 NONAME ; eap_network_id_selector_c::eap_network_id_selector_c(class abs_eap_am_tools_c *, class eap_network_id_selector_c const *) - ?get_buffer_length@eap_variable_data_c@@QBEKXZ @ 1051 NONAME ; unsigned long eap_variable_data_c::get_buffer_length(void) const - ?set_is_valid@crypto_sha1_c@@EAEXXZ @ 1052 NONAME ; void crypto_sha1_c::set_is_valid(void) - ?set_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBXK_N1@Z @ 1053 NONAME ; enum eap_status_e eap_variable_data_c::set_buffer(void const *, unsigned long, bool, bool) - ?write_type@eap_expanded_type_c@@SA?AW4eap_status_e@@PAVabs_eap_am_tools_c@@KPAXK_NV1@@Z @ 1054 NONAME ; enum eap_status_e eap_expanded_type_c::write_type(class abs_eap_am_tools_c *, unsigned long, void *, unsigned long, bool, class eap_expanded_type_c) - ?sha1_update@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBEK@Z @ 1055 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_update(class eap_variable_data_c *, unsigned char const *, unsigned long) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1056 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_am_network_id_c const *) - ?ConvertInternalTypesToExpandedEAPTypes@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$eap_array_c@Veap_expanded_type_c@@@@PAV?$RArray@VTEapExpandedType@@@@@Z @ 1057 NONAME ; int CEapConversion::ConvertInternalTypesToExpandedEAPTypes(class abs_eap_am_tools_c *, class eap_array_c const *, class RArray *) - ?decrypt_block@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1058 NONAME ; enum eap_status_e crypto_3des_ede_c::decrypt_block(void const *, void *, unsigned long) - ??0eap_am_memory_store_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1059 NONAME ; eap_am_memory_store_c::eap_am_memory_store_c(class abs_eap_am_tools_c *) - ?get_is_valid@eap_core_c@@UAE_NXZ @ 1060 NONAME ; bool eap_core_c::get_is_valid(void) - ?get_random_error_type@eap_buf_chain_base_c@@QAE?AW4eap_random_error_type@@XZ @ 1061 NONAME ; enum eap_random_error_type eap_buf_chain_base_c::get_random_error_type(void) - ?tls_prf_output@crypto_tls_sha1_prf_c@@QAE?AW4eap_status_e@@PAXK@Z @ 1062 NONAME ; enum eap_status_e crypto_tls_sha1_prf_c::tls_prf_output(void *, unsigned long) - ??1eapol_ethernet_header_rd_c@@UAE@XZ @ 1063 NONAME ; eapol_ethernet_header_rd_c::~eapol_ethernet_header_rd_c(void) - ?cancel_all_eap_sessions@eap_session_core_c@@UAE?AW4eap_status_e@@XZ @ 1064 NONAME ; enum eap_status_e eap_session_core_c::cancel_all_eap_sessions(void) - ??0crypto_rc4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1065 NONAME ; crypto_rc4_c::crypto_rc4_c(class abs_eap_am_tools_c *) - ??0eap_base_type_c@@QAE@PAVabs_eap_am_tools_c@@PAVabs_eap_base_type_c@@@Z @ 1066 NONAME ; eap_base_type_c::eap_base_type_c(class abs_eap_am_tools_c *, class abs_eap_base_type_c *) - ?get_network_keys@simple_config_credential_c@@QAEPAV?$eap_array_c@Vnetwork_key_and_index_c@@@@XZ @ 1067 NONAME ; class eap_array_c * simple_config_credential_c::get_network_keys(void) - ?add_data_to_offset@eap_buf_chain_base_c@@QAE?AW4eap_status_e@@KPBVeap_variable_data_c@@@Z @ 1068 NONAME ; enum eap_status_e eap_buf_chain_base_c::add_data_to_offset(unsigned long, class eap_variable_data_c const *) - ?state_notification@eap_core_c@@UAEXPBVabs_eap_state_notification_c@@@Z @ 1069 NONAME ; void eap_core_c::state_notification(class abs_eap_state_notification_c const *) - ?ConvertInternalTypeToCertificates@CEapConversion@@SAHPAVabs_eap_am_tools_c@@W4eap_certificate_type_e@eap_certificate_entry_c@@PBV?$eap_array_c@Veap_certificate_entry_c@@@@PAV?$RPointerArray@VEapCertificateEntry@@@@@Z @ 1070 NONAME ; int CEapConversion::ConvertInternalTypeToCertificates(class abs_eap_am_tools_c *, enum eap_certificate_entry_c::eap_certificate_type_e, class eap_array_c const *, class RPointerArray *) - ??1crypto_sha_256_c@@UAE@XZ @ 1071 NONAME ; crypto_sha_256_c::~crypto_sha_256_c(void) - ?ignore_notifications@eap_core_c@@QAEXXZ @ 1072 NONAME ; void eap_core_c::ignore_notifications(void) - ?get_digest_length@eap_am_crypto_md4_c@@QAEKXZ @ 1073 NONAME ; unsigned long eap_am_crypto_md4_c::get_digest_length(void) - ?send_eap_notification_response@eap_core_c@@AAE?AW4eap_status_e@@PBVeap_am_network_id_c@@E@Z @ 1074 NONAME ; enum eap_status_e eap_core_c::send_eap_notification_response(class eap_am_network_id_c const *, unsigned char) - ?get_header_offset@eap_core_retransmission_c@@QBEKXZ @ 1075 NONAME ; unsigned long eap_core_retransmission_c::get_header_offset(void) const - ?get_destination@eapol_ethernet_header_base_c@@QBEPAEXZ @ 1076 NONAME ; unsigned char * eapol_ethernet_header_base_c::get_destination(void) const - ?set_is_valid@crypto_3des_ede_c@@UAEXXZ @ 1077 NONAME ; void crypto_3des_ede_c::set_is_valid(void) - ?eap_md4_process_data@eap_am_crypto_md4_c@@AAE?AW4eap_status_e@@PBKK@Z @ 1078 NONAME ; enum eap_status_e eap_am_crypto_md4_c::eap_md4_process_data(unsigned long const *, unsigned long) - ?get_message_data@eap_tlv_message_data_c@@QBEPAXXZ @ 1079 NONAME ; void * eap_tlv_message_data_c::get_message_data(void) const - ?set_eap_failure_timeout@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 1080 NONAME ; enum eap_status_e eap_core_c::set_eap_failure_timeout(void) - ?snprintf@eap_am_tools_symbian_c@@UAAKPAEKPBDZZ @ 1081 NONAME ; unsigned long eap_am_tools_symbian_c::snprintf(unsigned char *, unsigned long, char const *, ...) - ?set_random_error_type@eap_buf_chain_base_c@@QAEXW4eap_random_error_type@@@Z @ 1082 NONAME ; void eap_buf_chain_base_c::set_random_error_type(enum eap_random_error_type) - ?create_new_session@eap_session_core_c@@AAEPAVeap_core_c@@PBVeap_am_network_id_c@@@Z @ 1083 NONAME ; class eap_core_c * eap_session_core_c::create_new_session(class eap_am_network_id_c const *) - ?copy_context@crypto_sha1_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1084 NONAME ; enum eap_status_e crypto_sha1_c::copy_context(class eap_variable_data_c const *) - ?cleanup@crypto_dsa_c@@QAE?AW4eap_status_e@@XZ @ 1085 NONAME ; enum eap_status_e crypto_dsa_c::cleanup(void) - ?rsa_decrypt_with_private_key@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@10@Z @ 1086 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rsa_decrypt_with_private_key(class eap_variable_data_c *, class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?check_padding_bytes@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXKE@Z @ 1087 NONAME ; enum eap_status_e crypto_cbc_c::check_padding_bytes(void const *, unsigned long, unsigned char) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAV?$eap_array_c@Veap_certificate_entry_c@@@@@Z @ 1088 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_array_c *) - ?decrypt_block@crypto_aes_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1089 NONAME ; enum eap_status_e crypto_aes_c::decrypt_block(void const *, void *, unsigned long) - ?GetIssuerName@EapCertificateEntry@@QBEPBVTDes16@@XZ @ 1090 NONAME ; class TDes16 const * EapCertificateEntry::GetIssuerName(void) const - ?ConvertInternalTypesToHBufC8@CEapConversion@@SAHPAVabs_eap_am_tools_c@@PBV?$eap_array_c@Veap_expanded_type_c@@@@PAPAVHBufC8@@@Z @ 1091 NONAME ; int CEapConversion::ConvertInternalTypesToHBufC8(class abs_eap_am_tools_c *, class eap_array_c const *, class HBufC8 * *) - ?tls_prf_output@crypto_tls_md5_prf_c@@QAE?AW4eap_status_e@@PAXK@Z @ 1092 NONAME ; enum eap_status_e crypto_tls_md5_prf_c::tls_prf_output(void *, unsigned long) - ?get_buffer_size@eap_core_retransmission_c@@QBEKXZ @ 1093 NONAME ; unsigned long eap_core_retransmission_c::get_buffer_size(void) const - ?get_type_data_offset@eap_header_base_c@@QBEPAEKK@Z @ 1094 NONAME ; unsigned char * eap_header_base_c::get_type_data_offset(unsigned long, unsigned long) const - ?GetRequestType@EapMessageBuffer@@QBE?AW4TEapRequests@@XZ @ 1095 NONAME ; enum TEapRequests EapMessageBuffer::GetRequestType(void) const - ?get_header_offset@eap_core_c@@UAEKPAK0@Z @ 1096 NONAME ; unsigned long eap_core_c::get_header_offset(unsigned long *, unsigned long *) - ?get_is_valid@eap_am_tools_symbian_c@@UBE_NXZ @ 1097 NONAME ; bool eap_am_tools_symbian_c::get_is_valid(void) const - ?cancel_timer@eap_session_core_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 1098 NONAME ; enum eap_status_e eap_session_core_c::cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAJ@Z @ 1099 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, long *) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAE@Z @ 1100 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned char *) - ??1eap_general_header_base_c@@UAE@XZ @ 1101 NONAME ; eap_general_header_base_c::~eap_general_header_base_c(void) - ?get_type_data_offset@eap_header_wr_c@@QBEPAEKK@Z @ 1102 NONAME ; unsigned char * eap_header_wr_c::get_type_data_offset(unsigned long, unsigned long) const - ?complete_eap_identity_query@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PBVeap_variable_data_c@@E@Z @ 1103 NONAME ; enum eap_status_e eap_core_c::complete_eap_identity_query(class eap_am_network_id_c const *, class eap_variable_data_c const *, unsigned char) - ?SetPrimaryName@EapCertificateEntry@@QAEHABV?$TBuf@$0EA@@@@Z @ 1104 NONAME ; int EapCertificateEntry::SetPrimaryName(class TBuf<64> const &) - ?set_is_invalid@eap_am_crypto_sha1_c@@AAEXXZ @ 1105 NONAME ; void eap_am_crypto_sha1_c::set_is_invalid(void) - ?encrypt_data@crypto_rc4_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1106 NONAME ; enum eap_status_e crypto_rc4_c::encrypt_data(void const *, void *, unsigned long) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAV?$eap_array_c@Veap_certificate_entry_c@@@@@Z @ 1107 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, class eap_array_c *) - ?set_is_valid@eap_am_crypto_sha1_c@@AAEXXZ @ 1108 NONAME ; void eap_am_crypto_sha1_c::set_is_valid(void) - ?set_header_buffer@eap_general_header_base_c@@QAEXPAEK@Z @ 1109 NONAME ; void eap_general_header_base_c::set_header_buffer(unsigned char *, unsigned long) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVsimple_config_credential_c@@@Z @ 1110 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class simple_config_credential_c *) - ?configure@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@XZ @ 1111 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::configure(void) - ?am_cancel_timer@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@K@Z @ 1112 NONAME ; enum eap_status_e eap_am_tools_symbian_c::am_cancel_timer(class abs_eap_base_timer_c *, unsigned long) - ?get_value_length@eap_tlv_header_c@@QBEKXZ @ 1113 NONAME ; unsigned long eap_tlv_header_c::get_value_length(void) const - ?get_is_valid@eap_am_crypto_sha1_c@@QAE_NXZ @ 1114 NONAME ; bool eap_am_crypto_sha1_c::get_is_valid(void) - ?set_copy_of_buffer@eap_variable_data_c@@QAE?AW4eap_status_e@@PBV1@@Z @ 1115 NONAME ; enum eap_status_e eap_variable_data_c::set_copy_of_buffer(class eap_variable_data_c const *) - ??1EAPSettings@@UAE@XZ @ 1116 NONAME ; EAPSettings::~EAPSettings(void) - ??1crypto_ephemeral_diffie_hellman_c@@UAE@XZ @ 1117 NONAME ; crypto_ephemeral_diffie_hellman_c::~crypto_ephemeral_diffie_hellman_c(void) - ?set_send_packet_index@eap_buf_chain_base_c@@QAEXK@Z @ 1118 NONAME ; void eap_buf_chain_base_c::set_send_packet_index(unsigned long) - ?copy_message_digest@eap_am_crypto_sha1_c@@AAE?AW4eap_status_e@@PAXPAK@Z @ 1119 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::copy_message_digest(void *, unsigned long *) - ?reset_header@eap_header_wr_c@@QAEXG_N@Z @ 1120 NONAME ; void eap_header_wr_c::reset_header(unsigned short, bool) - ?get_ietf_type@eap_header_base_c@@QBE?AW4eap_type_ietf_values_e@@XZ @ 1121 NONAME ; enum eap_type_ietf_values_e eap_header_base_c::get_ietf_type(void) const - ?cleanup_3des_ede@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1122 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::cleanup_3des_ede(class eap_variable_data_c *) - ?get_eap_code@eap_core_retransmission_c@@QBE?AW4eap_code_value_e@@XZ @ 1123 NONAME ; enum eap_code_value_e eap_core_retransmission_c::get_eap_code(void) const - ?finalize_non_aligned@crypto_cbc_c@@UAE?AW4eap_status_e@@XZ @ 1124 NONAME ; enum eap_status_e crypto_cbc_c::finalize_non_aligned(void) - ?decrypt_with_public_key@crypto_rsa_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@@Z @ 1125 NONAME ; enum eap_status_e crypto_rsa_c::decrypt_with_public_key(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *) - ?get_destination@eapol_ethernet_header_wr_c@@QAEPAEXZ @ 1126 NONAME ; unsigned char * eapol_ethernet_header_wr_c::get_destination(void) - ?tls_prf_cleanup@crypto_tls_md5_prf_c@@QAE?AW4eap_status_e@@XZ @ 1127 NONAME ; enum eap_status_e crypto_tls_md5_prf_c::tls_prf_cleanup(void) - ?isspace@eap_am_tools_symbian_c@@UAE_NE@Z @ 1128 NONAME ; bool eap_am_tools_symbian_c::isspace(unsigned char) - ?set_decryption_key@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXK0K@Z @ 1129 NONAME ; enum eap_status_e crypto_cbc_c::set_decryption_key(void const *, unsigned long, void const *, unsigned long) - ?set_decryption_key@crypto_3des_ede_c@@UAE?AW4eap_status_e@@PBXK@Z @ 1130 NONAME ; enum eap_status_e crypto_3des_ede_c::set_decryption_key(void const *, unsigned long) - ?set_network_key_index@network_key_and_index_c@@QAEXE@Z @ 1131 NONAME ; void network_key_and_index_c::set_network_key_index(unsigned char) - ?object_increase_reference_count@eap_config_value_c@@QAEXXZ @ 1132 NONAME ; void eap_config_value_c::object_increase_reference_count(void) - ?set_notification_string@eap_state_notification_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@_N@Z @ 1133 NONAME ; enum eap_status_e eap_state_notification_c::set_notification_string(class eap_variable_data_c const *, bool) - ?copy_message_data@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KPBX@Z @ 1134 NONAME ; enum eap_status_e eap_tlv_message_data_c::copy_message_data(unsigned long, void const *) - ?add_reference@eap_am_mutex_reference_c@@QAEXXZ @ 1135 NONAME ; void eap_am_mutex_reference_c::add_reference(void) - ??0EapCertificateEntry@@QAE@XZ @ 1136 NONAME ; EapCertificateEntry::EapCertificateEntry(void) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@G@Z @ 1137 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(unsigned short) - ??1crypto_tls_prf_c@@UAE@XZ @ 1138 NONAME ; crypto_tls_prf_c::~crypto_tls_prf_c(void) - ?get_am_tools@eap_buf_chain_base_c@@IAEPAVabs_eap_am_tools_c@@XZ @ 1139 NONAME ; class abs_eap_am_tools_c * eap_buf_chain_base_c::get_am_tools(void) - ?get_hardware_ticks@eap_am_tools_symbian_c@@UAE_KXZ @ 1140 NONAME ; unsigned long long eap_am_tools_symbian_c::get_hardware_ticks(void) - ?get_type_data@eap_header_wr_c@@QBEPAEK@Z @ 1141 NONAME ; unsigned char * eap_header_wr_c::get_type_data(unsigned long) const - ?GetData@EapMessageBuffer@@QBEPAVHBufC8@@XZ @ 1142 NONAME ; class HBufC8 * EapMessageBuffer::GetData(void) const - ?get_message_data@eap_am_memory_store_tlv_data_c@@QBEPAXXZ @ 1143 NONAME ; void * eap_am_memory_store_tlv_data_c::get_message_data(void) const - ?hash_final@eap_am_crypto_sha1_c@@QAE?AW4eap_status_e@@PAXPAK@Z @ 1144 NONAME ; enum eap_status_e eap_am_crypto_sha1_c::hash_final(void *, unsigned long *) - ?multiply_u64@eap_am_tools_c@@UAE_K_K0@Z @ 1145 NONAME ; unsigned long long eap_am_tools_c::multiply_u64(unsigned long long, unsigned long long) - ?eap_acknowledge@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@@Z @ 1146 NONAME ; enum eap_status_e eap_session_core_c::eap_acknowledge(class eap_am_network_id_c const *) - ?encrypt_data@crypto_cbc_c@@UAE?AW4eap_status_e@@PBXPAXK@Z @ 1147 NONAME ; enum eap_status_e crypto_cbc_c::encrypt_data(void const *, void *, unsigned long) - ??0TEapExpandedType@@QAE@XZ @ 1148 NONAME ; TEapExpandedType::TEapExpandedType(void) - ?set_is_valid@crypto_md5_c@@EAEXXZ @ 1149 NONAME ; void crypto_md5_c::set_is_valid(void) - ?get_is_client@eap_buf_chain_base_c@@QBE_NXZ @ 1150 NONAME ; bool eap_buf_chain_base_c::get_is_client(void) const - ?set_session_timeout@eap_session_core_c@@UAE?AW4eap_status_e@@K@Z @ 1151 NONAME ; enum eap_status_e eap_session_core_c::set_session_timeout(unsigned long) - ?key_length_3des_ede@eap_am_crypto_symbian_c@@UAEKXZ @ 1152 NONAME ; unsigned long eap_am_crypto_symbian_c::key_length_3des_ede(void) - ?read_configure@eap_core_c@@UAE?AW4eap_status_e@@PBVeap_configuration_field_c@@PAVeap_variable_data_c@@@Z @ 1153 NONAME ; enum eap_status_e eap_core_c::read_configure(class eap_configuration_field_c const *, class eap_variable_data_c *) - ?SetSerialNumberPresent@EapCertificateEntry@@QAEXXZ @ 1154 NONAME ; void EapCertificateEntry::SetSerialNumberPresent(void) - ?get_notification_string@eap_state_notification_c@@UBEPBVeap_variable_data_c@@XZ @ 1155 NONAME ; class eap_variable_data_c const * eap_state_notification_c::get_notification_string(void) const - ?add_message_data_array@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KKPAV?$eap_array_c@Veap_variable_data_c@@@@@Z @ 1156 NONAME ; enum eap_status_e eap_tlv_message_data_c::add_message_data_array(unsigned long, unsigned long, class eap_array_c *) - ??1crypto_wpa_psk_password_hash_c@@UAE@XZ @ 1157 NONAME ; crypto_wpa_psk_password_hash_c::~crypto_wpa_psk_password_hash_c(void) - ?get_is_valid@crypto_random_c@@QAE_NXZ @ 1158 NONAME ; bool crypto_random_c::get_is_valid(void) - ?get_rogue_reason@eap_rogue_ap_entry_c@@QBE?AW4eap_rogue_ap_reason_e@@XZ @ 1159 NONAME ; enum eap_rogue_ap_reason_e eap_rogue_ap_entry_c::get_rogue_reason(void) const - ?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVsimple_config_credential_c@@@Z @ 1160 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class simple_config_credential_c const *) const - ?set_is_valid@crypto_aes_wrap_c@@QAEXXZ @ 1161 NONAME ; void crypto_aes_wrap_c::set_is_valid(void) - ?convert_bytes_to_hex_ascii@eap_am_tools_c@@UAE?AW4eap_status_e@@PBEKPAEPAK@Z @ 1162 NONAME ; enum eap_status_e eap_am_tools_c::convert_bytes_to_hex_ascii(unsigned char const *, unsigned long, unsigned char *, unsigned long *) - ?hash_update@eap_am_crypto_sha_256_c@@QAE?AW4eap_status_e@@PBXK@Z @ 1163 NONAME ; enum eap_status_e eap_am_crypto_sha_256_c::hash_update(void const *, unsigned long) - ?get_is_valid_data@eap_type_selection_c@@QBE_NXZ @ 1164 NONAME ; bool eap_type_selection_c::get_is_valid_data(void) const - ?trace@EapCertificateEntry@@QBEXXZ @ 1165 NONAME ; void EapCertificateEntry::trace(void) const - ?timer_delete_data@eap_am_memory_store_c@@UAE?AW4eap_status_e@@KPAX@Z @ 1166 NONAME ; enum eap_status_e eap_am_memory_store_c::timer_delete_data(unsigned long, void *) - ?hmac_update@crypto_hmac_c@@UAE?AW4eap_status_e@@PBXK@Z @ 1167 NONAME ; enum eap_status_e crypto_hmac_c::hmac_update(void const *, unsigned long) - ?eap_read_u32_t_little_endian_order@@YAKPBXK@Z @ 1168 NONAME ; unsigned long eap_read_u32_t_little_endian_order(void const *, unsigned long) - ?new_eap_session_core_c@eap_session_core_base_c@@SAPAV1@PAVabs_eap_am_tools_c@@PAVabs_eap_session_core_c@@_NK@Z @ 1169 NONAME ; class eap_session_core_base_c * eap_session_core_base_c::new_eap_session_core_c(class abs_eap_am_tools_c *, class abs_eap_session_core_c *, bool, unsigned long) - ??0eap_process_tlv_message_data_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1170 NONAME ; eap_process_tlv_message_data_c::eap_process_tlv_message_data_c(class abs_eap_am_tools_c *) - ?GetSerialNumberWritable@EapCertificateEntry@@QAEPAVTDes16@@XZ @ 1171 NONAME ; class TDes16 * EapCertificateEntry::GetSerialNumberWritable(void) - ??1eap_base_type_c@@UAE@XZ @ 1172 NONAME ; eap_base_type_c::~eap_base_type_c(void) - ?GetSubjectKeyIdPresent@EapCertificateEntry@@QBEHXZ @ 1173 NONAME ; int EapCertificateEntry::GetSubjectKeyIdPresent(void) const - ?unload_module@eap_session_core_c@@UAE?AW4eap_status_e@@Veap_expanded_type_c@@@Z @ 1174 NONAME ; enum eap_status_e eap_session_core_c::unload_module(class eap_expanded_type_c) - ?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBV?$eap_array_c@Vsimple_config_credential_c@@@@@Z @ 1175 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_array_c const *) const - ?packet_process@eap_session_core_c@@UAE?AW4eap_status_e@@PBVeap_am_network_id_c@@PAVeap_general_header_base_c@@K@Z @ 1176 NONAME ; enum eap_status_e eap_session_core_c::packet_process(class eap_am_network_id_c const *, class eap_general_header_base_c *, unsigned long) - ?reset@eap_session_core_c@@UAE?AW4eap_status_e@@XZ @ 1177 NONAME ; enum eap_status_e eap_session_core_c::reset(void) - ?GetEapRequestsString@EapServerStrings@@SAPBDW4TEapRequests@@@Z @ 1178 NONAME ; char const * EapServerStrings::GetEapRequestsString(enum TEapRequests) - ?begin_db_delete@eap_am_tools_symbian_c@@QAE?AW4eap_status_e@@AAVRDbView@@@Z @ 1179 NONAME ; enum eap_status_e eap_am_tools_symbian_c::begin_db_delete(class RDbView &) - ?set_identifier@eap_header_base_c@@QAEXE@Z @ 1180 NONAME ; void eap_header_base_c::set_identifier(unsigned char) - ?am_set_timer@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@PAVabs_eap_base_timer_c@@KPAXK@Z @ 1181 NONAME ; enum eap_status_e eap_am_tools_symbian_c::am_set_timer(class abs_eap_base_timer_c *, unsigned long, void *, unsigned long) - ?read_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_tlv_header_c@@@@KPAVeap_variable_data_c@@@Z @ 1182 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::read_parameter_data(class eap_array_c const *, unsigned long, class eap_variable_data_c *) - ?SetSubjectKeyId@EapCertificateEntry@@QAEHABV?$TBuf8@$0BE@@@@Z @ 1183 NONAME ; int EapCertificateEntry::SetSubjectKeyId(class TBuf8<20> const &) - ?get_MAC_address_const@simple_config_credential_c@@QBEPBVeap_variable_data_c@@XZ @ 1184 NONAME ; class eap_variable_data_c const * simple_config_credential_c::get_MAC_address_const(void) const - ??1eap_am_crypto_md4_c@@UAE@XZ @ 1185 NONAME ; eap_am_crypto_md4_c::~eap_am_crypto_md4_c(void) - ?GetIssuerNameWritable@EapCertificateEntry@@QAEPAVTDes16@@XZ @ 1186 NONAME ; class TDes16 * EapCertificateEntry::GetIssuerNameWritable(void) - ?reset_or_remove_session@eap_session_core_c@@AAE?AW4eap_status_e@@PAPAVeap_core_c@@PBVeap_network_id_selector_c@@_N@Z @ 1187 NONAME ; enum eap_status_e eap_session_core_c::reset_or_remove_session(class eap_core_c * *, class eap_network_id_selector_c const *, bool) - ??1crypto_tls_md5_prf_c@@UAE@XZ @ 1188 NONAME ; crypto_tls_md5_prf_c::~crypto_tls_md5_prf_c(void) - ??4eap_expanded_type_c@@QAEAAV0@ABV0@@Z @ 1189 NONAME ; class eap_expanded_type_c & eap_expanded_type_c::operator=(class eap_expanded_type_c const &) - ?get_type_field_length@eap_header_base_c@@QBEKXZ @ 1190 NONAME ; unsigned long eap_header_base_c::get_type_field_length(void) const - ?get_eap_identifier@eap_core_retransmission_c@@QBEEXZ @ 1191 NONAME ; unsigned char eap_core_retransmission_c::get_eap_identifier(void) const - ??0crypto_sha1_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1192 NONAME ; crypto_sha1_c::crypto_sha1_c(class abs_eap_am_tools_c *) - ?sha_256_copy_context@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@PBV3@@Z @ 1193 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha_256_copy_context(class eap_variable_data_c *, class eap_variable_data_c const *) - ??0eap_tlv_header_c@@QAE@PAVabs_eap_am_tools_c@@PAXK@Z @ 1194 NONAME ; eap_tlv_header_c::eap_tlv_header_c(class abs_eap_am_tools_c *, void *, unsigned long) - ??0eap_status_string_c@@QAE@XZ @ 1195 NONAME ; eap_status_string_c::eap_status_string_c(void) - ??1eap_session_core_c@@UAE@XZ @ 1196 NONAME ; eap_session_core_c::~eap_session_core_c(void) - ?rc4_encrypt@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@PAXK@Z @ 1197 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::rc4_encrypt(class eap_variable_data_c const *, void *, unsigned long) - ?ConvertExpandedEAPTypeToInternalType@CEapConversion@@SAHPBVTEapExpandedType@@PAVeap_expanded_type_c@@@Z @ 1198 NONAME ; int CEapConversion::ConvertExpandedEAPTypeToInternalType(class TEapExpandedType const *, class eap_expanded_type_c *) - ??0eap_buf_chain_base_c@@QAE@W4eap_write_buffer_e@@PAVabs_eap_am_tools_c@@PAEK_N3K@Z @ 1199 NONAME ; eap_buf_chain_base_c::eap_buf_chain_base_c(enum eap_write_buffer_e, class abs_eap_am_tools_c *, unsigned char *, unsigned long, bool, bool, unsigned long) - ?compare@eap_expanded_type_c@@QBEJPBV1@@Z @ 1200 NONAME ; long eap_expanded_type_c::compare(class eap_expanded_type_c const *) const - ??0EAPSettings@@QAE@XZ @ 1201 NONAME ; EAPSettings::EAPSettings(void) - ?generate_g_power_to_xy@crypto_ephemeral_diffie_hellman_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@0PAV3@PBXK2K@Z @ 1202 NONAME ; enum eap_status_e crypto_ephemeral_diffie_hellman_c::generate_g_power_to_xy(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c *, void const *, unsigned long, void const *, unsigned long) - ?tls_prf_init@crypto_tls_sha1_prf_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@00@Z @ 1203 NONAME ; enum eap_status_e crypto_tls_sha1_prf_c::tls_prf_init(class eap_variable_data_c const *, class eap_variable_data_c const *, class eap_variable_data_c const *) - ?get_Authentication_Type@simple_config_credential_c@@QAE?AW4simple_config_Authentication_Type_e@@XZ @ 1204 NONAME ; enum simple_config_Authentication_Type_e simple_config_credential_c::get_Authentication_Type(void) - ?get_stack_address@eap_buf_chain_base_c@@QBEPBXXZ @ 1205 NONAME ; void const * eap_buf_chain_base_c::get_stack_address(void) const - ??0eap_am_tools_c@@QAE@XZ @ 1206 NONAME ; eap_am_tools_c::eap_am_tools_c(void) - ?get_protocol_layer_string@eap_state_notification_c@@UBEPBDXZ @ 1207 NONAME ; char const * eap_state_notification_c::get_protocol_layer_string(void) const - ?cancel_asynchronous_init_remove_eap_session@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 1208 NONAME ; enum eap_status_e eap_core_c::cancel_asynchronous_init_remove_eap_session(void) - ??0eap_am_crypto_symbian_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1209 NONAME ; eap_am_crypto_symbian_c::eap_am_crypto_symbian_c(class abs_eap_am_tools_c *) - ?sha1_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1210 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::sha1_init(class eap_variable_data_c *) - ?create_eap_identity_response@eap_core_c@@AAE?AW4eap_status_e@@PAVeap_buf_chain_wr_c@@PBVeap_variable_data_c@@E@Z @ 1211 NONAME ; enum eap_status_e eap_core_c::create_eap_identity_response(class eap_buf_chain_wr_c *, class eap_variable_data_c const *, unsigned char) - ??0crypto_tls_base_prf_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1212 NONAME ; crypto_tls_base_prf_c::crypto_tls_base_prf_c(class abs_eap_am_tools_c *) - ?file_size@eap_am_file_input_symbian_c@@UAEKXZ @ 1213 NONAME ; unsigned long eap_am_file_input_symbian_c::file_size(void) - ??1eap_am_memory_store_c@@UAE@XZ @ 1214 NONAME ; eap_am_memory_store_c::~eap_am_memory_store_c(void) - ??1eap_process_tlv_message_data_c@@UAE@XZ @ 1215 NONAME ; eap_process_tlv_message_data_c::~eap_process_tlv_message_data_c(void) - ?md5_init@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAVeap_variable_data_c@@@Z @ 1216 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::md5_init(class eap_variable_data_c *) - ?GetIsEnabled@EapCertificateEntry@@QBEHXZ @ 1217 NONAME ; int EapCertificateEntry::GetIsEnabled(void) const - ?t_prf_cleanup@crypto_eap_fast_hmac_sha1_prf_c@@QAE?AW4eap_status_e@@XZ @ 1218 NONAME ; enum eap_status_e crypto_eap_fast_hmac_sha1_prf_c::t_prf_cleanup(void) - ??0eap_state_notification_c@@QAE@PAVabs_eap_am_tools_c@@PBVeap_am_network_id_c@@_NW4eap_state_notification_eap_e@@W4eap_protocol_layer_e@@W4eap_type_ietf_values_e@@KKE2@Z @ 1219 NONAME ; eap_state_notification_c::eap_state_notification_c(class abs_eap_am_tools_c *, class eap_am_network_id_c const *, bool, enum eap_state_notification_eap_e, enum eap_protocol_layer_e, enum eap_type_ietf_values_e, unsigned long, unsigned long, unsigned char, bool) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@PBVeap_config_value_c@@@Z @ 1220 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_variable_data_c const *, class eap_config_value_c const *) - ??1abs_crypto_cbc_block_algorithm_c@@UAE@XZ @ 1221 NONAME ; abs_crypto_cbc_block_algorithm_c::~abs_crypto_cbc_block_algorithm_c(void) - ??0eap_am_crypto_md4_c@@QAE@PAVabs_eap_am_tools_c@@@Z @ 1222 NONAME ; eap_am_crypto_md4_c::eap_am_crypto_md4_c(class abs_eap_am_tools_c *) - ?internal_decrypt_data@crypto_cbc_c@@AAE?AW4eap_status_e@@PBXPAXK@Z @ 1223 NONAME ; enum eap_status_e crypto_cbc_c::internal_decrypt_data(void const *, void *, unsigned long) - ?shutdown@eap_core_c@@UAE?AW4eap_status_e@@XZ @ 1224 NONAME ; enum eap_status_e eap_core_c::shutdown(void) - ?file_write@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1225 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_write(class eap_variable_data_c const *) - ?compare_length@eap_variable_data_c@@QBEJPBXKK@Z @ 1226 NONAME ; long eap_variable_data_c::compare_length(void const *, unsigned long, unsigned long) const - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAG@Z @ 1227 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, unsigned short *) - ??9TEapExpandedType@@QBE_NABV0@@Z @ 1228 NONAME ; bool TEapExpandedType::operator!=(class TEapExpandedType const &) const - ?hash_final@crypto_sha_256_c@@UAE?AW4eap_status_e@@PAXPAK@Z @ 1229 NONAME ; enum eap_status_e crypto_sha_256_c::hash_final(void *, unsigned long *) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@G@@@Z @ 1230 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_array_c const *) - ?memcmp@eap_am_tools_symbian_c@@UAEJPBX0K@Z @ 1231 NONAME ; long eap_am_tools_symbian_c::memcmp(void const *, void const *, unsigned long) - ?object_decrease_reference_count@eap_process_tlv_message_data_c@@QAEKXZ @ 1232 NONAME ; unsigned long eap_process_tlv_message_data_c::object_decrease_reference_count(void) - ?get_block_size@crypto_aes_c@@UAEKXZ @ 1233 NONAME ; unsigned long crypto_aes_c::get_block_size(void) - ?get_data@eapol_ethernet_header_base_c@@QBEPAEK@Z @ 1234 NONAME ; unsigned char * eapol_ethernet_header_base_c::get_data(unsigned long) const - ?get_type_string@eap_process_tlv_message_data_c@@QAEPBDW4eap_tlv_message_type_e@@@Z @ 1235 NONAME ; char const * eap_process_tlv_message_data_c::get_type_string(enum eap_tlv_message_type_e) - ?remove_data@eap_am_memory_store_c@@QAE?AW4eap_status_e@@PBVeap_variable_data_c@@@Z @ 1236 NONAME ; enum eap_status_e eap_am_memory_store_c::remove_data(class eap_variable_data_c const *) - ?GetSubjectNamePresent@EapCertificateEntry@@QBEHXZ @ 1237 NONAME ; int EapCertificateEntry::GetSubjectNamePresent(void) const - ?dss_pseudo_random@eap_am_crypto_symbian_c@@UAE?AW4eap_status_e@@PAEK0K@Z @ 1238 NONAME ; enum eap_status_e eap_am_crypto_symbian_c::dss_pseudo_random(unsigned char *, unsigned long, unsigned char *, unsigned long) - ?SetIsEnabledPresent@EapCertificateEntry@@QAEXXZ @ 1239 NONAME ; void EapCertificateEntry::SetIsEnabledPresent(void) - ?generate_diffie_hellman_keys@crypto_ephemeral_diffie_hellman_c@@QAE?AW4eap_status_e@@PAVeap_variable_data_c@@0PBXK1K@Z @ 1240 NONAME ; enum eap_status_e crypto_ephemeral_diffie_hellman_c::generate_diffie_hellman_keys(class eap_variable_data_c *, class eap_variable_data_c *, void const *, unsigned long, void const *, unsigned long) - ??0EapServerStrings@@QAE@XZ @ 1241 NONAME ; EapServerStrings::EapServerStrings(void) - ?get_is_valid@eap_am_mutex_base_c@@QBE_NXZ @ 1242 NONAME ; bool eap_am_mutex_base_c::get_is_valid(void) const - ?file_open@eap_am_file_input_symbian_c@@UAE?AW4eap_status_e@@PBVeap_variable_data_c@@W4eap_file_io_direction_e@@@Z @ 1243 NONAME ; enum eap_status_e eap_am_file_input_symbian_c::file_open(class eap_variable_data_c const *, enum eap_file_io_direction_e) - ?get_source_length@eapol_ethernet_header_base_c@@QBEKXZ @ 1244 NONAME ; unsigned long eapol_ethernet_header_base_c::get_source_length(void) const - ??1eap_am_mutex_base_c@@UAE@XZ @ 1245 NONAME ; eap_am_mutex_base_c::~eap_am_mutex_base_c(void) - ?SetLabel@EapCertificateEntry@@QAEHABV?$TBuf@$0EA@@@@Z @ 1246 NONAME ; int EapCertificateEntry::SetLabel(class TBuf<64> const &) - ?get_is_valid@crypto_tls_sha1_prf_c@@QAE_NXZ @ 1247 NONAME ; bool crypto_tls_sha1_prf_c::get_is_valid(void) - ?cancel_session_timeout@eap_core_c@@AAE?AW4eap_status_e@@XZ @ 1248 NONAME ; enum eap_status_e eap_core_c::cancel_session_timeout(void) - ?hash_cleanup@crypto_md5_c@@UAE?AW4eap_status_e@@XZ @ 1249 NONAME ; enum eap_status_e crypto_md5_c::hash_cleanup(void) - ?add_message_header@eap_tlv_message_data_c@@QAE?AW4eap_status_e@@KK@Z @ 1250 NONAME ; enum eap_status_e eap_tlv_message_data_c::add_message_header(unsigned long, unsigned long) - ??0TEapExpandedType@@QAE@ABVTDesC8@@@Z @ 1251 NONAME ; TEapExpandedType::TEapExpandedType(class TDesC8 const &) - ?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBVnetwork_key_and_index_c@@@Z @ 1252 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class network_key_and_index_c const *) const - ??0eapol_ethernet_header_wr_c@@QAE@PAVabs_eap_am_tools_c@@PBEK@Z @ 1253 NONAME ; eapol_ethernet_header_wr_c::eapol_ethernet_header_wr_c(class abs_eap_am_tools_c *, unsigned char const *, unsigned long) - ?get_payload_size@eap_process_tlv_message_data_c@@QBEKPBV?$eap_array_c@Veap_certificate_entry_c@@@@@Z @ 1254 NONAME ; unsigned long eap_process_tlv_message_data_c::get_payload_size(class eap_array_c const *) const - ?get_is_enabled@eap_type_selection_c@@QBE_NXZ @ 1255 NONAME ; bool eap_type_selection_c::get_is_enabled(void) const - ?GetCertType@EapCertificateEntry@@QBE?AW4TCertType@1@XZ @ 1256 NONAME ; enum EapCertificateEntry::TCertType EapCertificateEntry::GetCertType(void) const - ?shutdown@eap_am_tools_symbian_c@@UAE?AW4eap_status_e@@XZ @ 1257 NONAME ; enum eap_status_e eap_am_tools_symbian_c::shutdown(void) - ?get_digest_length@eap_am_crypto_sha_256_c@@QAEKXZ @ 1258 NONAME ; unsigned long eap_am_crypto_sha_256_c::get_digest_length(void) - ?add_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBV?$eap_array_c@Veap_certificate_entry_c@@@@@Z @ 1259 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::add_parameter_data(class eap_array_c const *) - ?get_parameter_data@eap_process_tlv_message_data_c@@QAE?AW4eap_status_e@@PBVeap_tlv_header_c@@PAVeap_method_settings_c@@@Z @ 1260 NONAME ; enum eap_status_e eap_process_tlv_message_data_c::get_parameter_data(class eap_tlv_header_c const *, class eap_method_settings_c *) - ?octet_from_ascii_armor@eap_am_tools_c@@AAEEE@Z @ 1261 NONAME ; unsigned char eap_am_tools_c::octet_from_ascii_armor(unsigned char) - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/tools/bwins/eaptraceu.def --- a/eapol/eapol_framework/eapol_symbian/tools/bwins/eaptraceu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -EXPORTS - ?eap_trace_data_symbian@@YAXPBDPBXI@Z @ 1 NONAME ; void eap_trace_data_symbian(char const *, void const *, unsigned int) - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/tools/eabi/eapsymbiantoolsu.def --- a/eapol/eapol_framework/eapol_symbian/tools/eabi/eapsymbiantoolsu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -EXPORTS - _ZN14EapPluginTools15GetPrivatePathLER3RFsR4TBufILi256EE @ 1 NONAME - _ZN14EapPluginTools15GetPrivatePathLER4TBufILi256EE @ 2 NONAME - _ZN14EapPluginTools16CleanupImplArrayEPv @ 3 NONAME - _ZN14EapPluginTools16CreateDatabaseLCER16RDbNamedDatabaseR3RFsRiRK7TDesC16R4TBufILi256EE @ 4 NONAME - _ZN14EapPluginTools18ListAllEapPluginsLE10TIndexTypeRK16TEapExpandedTypeR13RPointerArrayIS1_E @ 5 NONAME - _ZN14EapPluginToolsC1Ev @ 6 NONAME - _ZN14EapPluginToolsC2Ev @ 7 NONAME - _ZN14EapPluginToolsD0Ev @ 8 NONAME - _ZN14EapPluginToolsD1Ev @ 9 NONAME - _ZN14EapPluginToolsD2Ev @ 10 NONAME - _ZN16TEapExpandedType8SetValueEPKvj @ 11 NONAME - _ZN16TEapExpandedType8SetValueEjj @ 12 NONAME - _ZN16TEapExpandedTypeC1EPKS_ @ 13 NONAME - _ZN16TEapExpandedTypeC1ERK6TBufC8ILi8EE @ 14 NONAME - _ZN16TEapExpandedTypeC1ERK6TDesC8 @ 15 NONAME - _ZN16TEapExpandedTypeC1ERKS_ @ 16 NONAME - _ZN16TEapExpandedTypeC1Ev @ 17 NONAME - _ZN16TEapExpandedTypeC2EPKS_ @ 18 NONAME - _ZN16TEapExpandedTypeC2ERK6TBufC8ILi8EE @ 19 NONAME - _ZN16TEapExpandedTypeC2ERK6TDesC8 @ 20 NONAME - _ZN16TEapExpandedTypeC2ERKS_ @ 21 NONAME - _ZN16TEapExpandedTypeC2Ev @ 22 NONAME - _ZN16TEapExpandedTypeD0Ev @ 23 NONAME - _ZN16TEapExpandedTypeD1Ev @ 24 NONAME - _ZN16TEapExpandedTypeD2Ev @ 25 NONAME - _ZN16TEapExpandedTypeaSERK6TBufC8ILi8EE @ 26 NONAME - _ZN16TEapExpandedTypeaSERK6TDesC8 @ 27 NONAME - _ZN16TEapExpandedTypeaSERKS_ @ 28 NONAME - _ZNK16TEapExpandedType11GetVendorIdEv @ 29 NONAME - _ZNK16TEapExpandedType13GetVendorTypeEv @ 30 NONAME - _ZNK16TEapExpandedType7CompareERKS_ @ 31 NONAME - _ZNK16TEapExpandedType8GetValueEv @ 32 NONAME - _ZNK16TEapExpandedTypeeqERKS_ @ 33 NONAME - _ZNK16TEapExpandedTypeneERKS_ @ 34 NONAME - _ZTI14EapPluginTools @ 35 NONAME - _ZTI16TEapExpandedType @ 36 NONAME - _ZTV14EapPluginTools @ 37 NONAME - _ZTV16TEapExpandedType @ 38 NONAME - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/tools/eabi/eaptoolsu.def --- a/eapol/eapol_framework/eapol_symbian/tools/eabi/eaptoolsu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1784 +0,0 @@ -EXPORTS - _Z10eap_htonlly @ 1 NONAME - _Z21eap_shift_left_64_bitym @ 2 NONAME - _Z22eap_shift_right_64_bitym @ 3 NONAME - _Z25convert_eap_type_to_u32_t19eap_expanded_type_c @ 4 NONAME - _Z25convert_eap_type_to_u64_t19eap_expanded_type_c @ 5 NONAME - _Z28eap_read_u16_t_network_orderPKvm @ 6 NONAME - _Z28eap_read_u24_t_network_orderPKvm @ 7 NONAME - _Z28eap_read_u32_t_network_orderPKvm @ 8 NONAME - _Z28eap_read_u64_t_network_orderPKvm @ 9 NONAME - _Z29eap_write_u16_t_network_orderPvmt @ 10 NONAME - _Z29eap_write_u24_t_network_orderPvmm @ 11 NONAME - _Z29eap_write_u32_t_network_orderPvmm @ 12 NONAME - _Z29eap_write_u64_t_network_orderPvmy @ 13 NONAME - _Z30eap_host_to_little_endian_longm @ 14 NONAME - _Z31eap_host_to_little_endian_shortt @ 15 NONAME - _Z34eap_read_u16_t_little_endian_orderPKvm @ 16 NONAME - _Z34eap_read_u32_t_little_endian_orderPKvm @ 17 NONAME - _Z34eap_read_u64_t_little_endian_orderPKvm @ 18 NONAME - _Z35eap_host_to_little_endian_long_longy @ 19 NONAME - _Z35eap_write_u16_t_little_endian_orderPvmt @ 20 NONAME - _Z35eap_write_u32_t_little_endian_orderPvmm @ 21 NONAME - _Z35eap_write_u64_t_little_endian_orderPvmy @ 22 NONAME - _Z9eap_htonlm @ 23 NONAME - _Z9eap_htonst @ 24 NONAME - _ZN10eap_core_c11get_partnerEv @ 25 NONAME - _ZN10eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 26 NONAME - _ZN10eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 27 NONAME - _ZN10eap_core_c11set_partnerEP14abs_eap_core_c @ 28 NONAME - _ZN10eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 29 NONAME - _ZN10eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 30 NONAME - _ZN10eap_core_c12get_is_validEv @ 31 NONAME - _ZN10eap_core_c12set_is_validEv @ 32 NONAME - _ZN10eap_core_c13resend_packetEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmmm @ 33 NONAME - _ZN10eap_core_c13timer_expiredEmPv @ 34 NONAME - _ZN10eap_core_c13unload_moduleE19eap_expanded_type_c @ 35 NONAME - _ZN10eap_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 36 NONAME - _ZN10eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 37 NONAME - _ZN10eap_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 38 NONAME - _ZN10eap_core_c15reset_operationEP15eap_base_type_cP18abs_eap_am_tools_c @ 39 NONAME - _ZN10eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 40 NONAME - _ZN10eap_core_c16send_eap_failureEPK19eap_am_network_id_ch @ 41 NONAME - _ZN10eap_core_c16send_eap_successEPK19eap_am_network_id_ch @ 42 NONAME - _ZN10eap_core_c16trace_eap_packetEPKcPK15eap_header_wr_c @ 43 NONAME - _ZN10eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 44 NONAME - _ZN10eap_core_c17get_header_offsetEPmS0_ @ 45 NONAME - _ZN10eap_core_c17timer_delete_dataEmPv @ 46 NONAME - _ZN10eap_core_c18get_marked_removedEv @ 47 NONAME - _ZN10eap_core_c18set_marked_removedEv @ 48 NONAME - _ZN10eap_core_c18shutdown_operationEP15eap_base_type_cP18abs_eap_am_tools_c @ 49 NONAME - _ZN10eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 50 NONAME - _ZN10eap_core_c19init_retransmissionEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmm16eap_code_value_eh19eap_expanded_type_c @ 51 NONAME - _ZN10eap_core_c19packet_process_typeE19eap_expanded_type_cPK19eap_am_network_id_cP25eap_general_header_base_cm @ 52 NONAME - _ZN10eap_core_c19set_session_timeoutEm @ 53 NONAME - _ZN10eap_core_c20ignore_notificationsEv @ 54 NONAME - _ZN10eap_core_c20unset_marked_removedEv @ 55 NONAME - _ZN10eap_core_c21cancel_retransmissionEv @ 56 NONAME - _ZN10eap_core_c21restart_with_new_typeE19eap_expanded_type_cPK19eap_am_network_id_ch @ 57 NONAME - _ZN10eap_core_c21send_eap_nak_responseEPK19eap_am_network_id_chPK11eap_array_cI19eap_expanded_type_cE @ 58 NONAME - _ZN10eap_core_c22cancel_session_timeoutEv @ 59 NONAME - _ZN10eap_core_c22get_saved_eap_identityEP19eap_variable_data_c @ 60 NONAME - _ZN10eap_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 61 NONAME - _ZN10eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 62 NONAME - _ZN10eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 63 NONAME - _ZN10eap_core_c23set_authentication_roleEb @ 64 NONAME - _ZN10eap_core_c23set_eap_failure_timeoutEv @ 65 NONAME - _ZN10eap_core_c25client_proposes_eap_typesEPK19eap_am_network_id_ch @ 66 NONAME - _ZN10eap_core_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 67 NONAME - _ZN10eap_core_c26cancel_eap_failure_timeoutEv @ 68 NONAME - _ZN10eap_core_c26initialize_session_timeoutEm @ 69 NONAME - _ZN10eap_core_c26send_eap_identity_responseEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 70 NONAME - _ZN10eap_core_c27complete_eap_identity_queryEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 71 NONAME - _ZN10eap_core_c27handle_eap_identity_requestE19eap_expanded_type_chPK19eap_am_network_id_c @ 72 NONAME - _ZN10eap_core_c28create_eap_identity_responseEP18eap_buf_chain_wr_cPK19eap_variable_data_ch @ 73 NONAME - _ZN10eap_core_c28handle_eap_identity_responseEP15eap_base_type_c19eap_expanded_type_cPK19eap_am_network_id_cP15eap_header_wr_cm @ 74 NONAME - _ZN10eap_core_c30send_eap_notification_responseEPK19eap_am_network_id_ch @ 75 NONAME - _ZN10eap_core_c31object_decrease_reference_countEv @ 76 NONAME - _ZN10eap_core_c31object_increase_reference_countEv @ 77 NONAME - _ZN10eap_core_c5resetEv @ 78 NONAME - _ZN10eap_core_c8shutdownEv @ 79 NONAME - _ZN10eap_core_c9configureEv @ 80 NONAME - _ZN10eap_core_c9load_typeE19eap_expanded_type_cS0_PK19eap_am_network_id_c @ 81 NONAME - _ZN10eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 82 NONAME - _ZN10eap_core_cC1EP18abs_eap_am_tools_cP14abs_eap_core_cbPK19eap_am_network_id_cb @ 83 NONAME - _ZN10eap_core_cC2EP18abs_eap_am_tools_cP14abs_eap_core_cbPK19eap_am_network_id_cb @ 84 NONAME - _ZN10eap_core_cD0Ev @ 85 NONAME - _ZN10eap_core_cD1Ev @ 86 NONAME - _ZN10eap_core_cD2Ev @ 87 NONAME - _ZN11EAPSettingsC1Ev @ 88 NONAME - _ZN11EAPSettingsC2Ev @ 89 NONAME - _ZN11EAPSettingsD0Ev @ 90 NONAME - _ZN11EAPSettingsD1Ev @ 91 NONAME - _ZN11EAPSettingsD2Ev @ 92 NONAME - _ZN12crypto_aes_c12get_encryptsEv @ 93 NONAME - _ZN12crypto_aes_c12get_is_validEv @ 94 NONAME - _ZN12crypto_aes_c12set_is_validEv @ 95 NONAME - _ZN12crypto_aes_c13decrypt_blockEPKvPvm @ 96 NONAME - _ZN12crypto_aes_c13encrypt_blockEPKvPvm @ 97 NONAME - _ZN12crypto_aes_c14get_block_sizeEv @ 98 NONAME - _ZN12crypto_aes_c14get_key_lengthEv @ 99 NONAME - _ZN12crypto_aes_c18set_decryption_keyEPKvm @ 100 NONAME - _ZN12crypto_aes_c18set_encryption_keyEPKvm @ 101 NONAME - _ZN12crypto_aes_cC1EP18abs_eap_am_tools_c @ 102 NONAME - _ZN12crypto_aes_cC2EP18abs_eap_am_tools_c @ 103 NONAME - _ZN12crypto_aes_cD0Ev @ 104 NONAME - _ZN12crypto_aes_cD1Ev @ 105 NONAME - _ZN12crypto_aes_cD2Ev @ 106 NONAME - _ZN12crypto_cbc_c10get_tmp_IVEv @ 107 NONAME - _ZN12crypto_cbc_c12decrypt_dataEPKvPvm @ 108 NONAME - _ZN12crypto_cbc_c12decrypt_dataEPvm @ 109 NONAME - _ZN12crypto_cbc_c12encrypt_dataEPKvPvm @ 110 NONAME - _ZN12crypto_cbc_c12encrypt_dataEPvm @ 111 NONAME - _ZN12crypto_cbc_c12get_encryptsEv @ 112 NONAME - _ZN12crypto_cbc_c12get_is_validEv @ 113 NONAME - _ZN12crypto_cbc_c12set_is_validEv @ 114 NONAME - _ZN12crypto_cbc_c13cbc_xor_blockEPKvPvmm @ 115 NONAME - _ZN12crypto_cbc_c14cbc_copy_blockEPvPKvmm @ 116 NONAME - _ZN12crypto_cbc_c14get_block_sizeEv @ 117 NONAME - _ZN12crypto_cbc_c14get_key_lengthEv @ 118 NONAME - _ZN12crypto_cbc_c17add_padding_bytesEPvmh @ 119 NONAME - _ZN12crypto_cbc_c18set_decryption_keyEPKvmS1_m @ 120 NONAME - _ZN12crypto_cbc_c18set_encryption_keyEPKvmS1_m @ 121 NONAME - _ZN12crypto_cbc_c18update_non_alignedEPKvPvm @ 122 NONAME - _ZN12crypto_cbc_c18update_non_alignedEPvm @ 123 NONAME - _ZN12crypto_cbc_c19aligned_data_lengthEm @ 124 NONAME - _ZN12crypto_cbc_c19check_padding_bytesEPKvmh @ 125 NONAME - _ZN12crypto_cbc_c20finalize_non_alignedEv @ 126 NONAME - _ZN12crypto_cbc_c21internal_decrypt_dataEPKvPvm @ 127 NONAME - _ZN12crypto_cbc_c21internal_encrypt_dataEPKvPvm @ 128 NONAME - _ZN12crypto_cbc_c5resetEv @ 129 NONAME - _ZN12crypto_cbc_cC1EP18abs_eap_am_tools_cP28abs_crypto_block_algorithm_cb @ 130 NONAME - _ZN12crypto_cbc_cC2EP18abs_eap_am_tools_cP28abs_crypto_block_algorithm_cb @ 131 NONAME - _ZN12crypto_cbc_cD0Ev @ 132 NONAME - _ZN12crypto_cbc_cD1Ev @ 133 NONAME - _ZN12crypto_cbc_cD2Ev @ 134 NONAME - _ZN12crypto_dsa_c12get_is_validEv @ 135 NONAME - _ZN12crypto_dsa_c12set_is_validEv @ 136 NONAME - _ZN12crypto_dsa_c14set_is_invalidEv @ 137 NONAME - _ZN12crypto_dsa_c4initEv @ 138 NONAME - _ZN12crypto_dsa_c4signEPK19eap_variable_data_cS2_PS0_ @ 139 NONAME - _ZN12crypto_dsa_c6verifyEPK19eap_variable_data_cS2_S2_S2_S2_S2_ @ 140 NONAME - _ZN12crypto_dsa_c7cleanupEv @ 141 NONAME - _ZN12crypto_dsa_cC1EP18abs_eap_am_tools_c @ 142 NONAME - _ZN12crypto_dsa_cC2EP18abs_eap_am_tools_c @ 143 NONAME - _ZN12crypto_dsa_cD0Ev @ 144 NONAME - _ZN12crypto_dsa_cD1Ev @ 145 NONAME - _ZN12crypto_dsa_cD2Ev @ 146 NONAME - _ZN12crypto_md4_c10hash_finalEPvPm @ 147 NONAME - _ZN12crypto_md4_c11hash_updateEPKvm @ 148 NONAME - _ZN12crypto_md4_c12copy_contextEPK19eap_variable_data_c @ 149 NONAME - _ZN12crypto_md4_c12get_is_validEv @ 150 NONAME - _ZN12crypto_md4_c12hash_cleanupEv @ 151 NONAME - _ZN12crypto_md4_c12set_is_validEv @ 152 NONAME - _ZN12crypto_md4_c14get_block_sizeEv @ 153 NONAME - _ZN12crypto_md4_c14set_is_invalidEv @ 154 NONAME - _ZN12crypto_md4_c17get_digest_lengthEv @ 155 NONAME - _ZN12crypto_md4_c4copyEv @ 156 NONAME - _ZN12crypto_md4_c9hash_initEv @ 157 NONAME - _ZN12crypto_md4_cC1EP18abs_eap_am_tools_c @ 158 NONAME - _ZN12crypto_md4_cC2EP18abs_eap_am_tools_c @ 159 NONAME - _ZN12crypto_md4_cD0Ev @ 160 NONAME - _ZN12crypto_md4_cD1Ev @ 161 NONAME - _ZN12crypto_md4_cD2Ev @ 162 NONAME - _ZN12crypto_md5_c10hash_finalEPvPm @ 163 NONAME - _ZN12crypto_md5_c11hash_updateEPKvm @ 164 NONAME - _ZN12crypto_md5_c12copy_contextEPK19eap_variable_data_c @ 165 NONAME - _ZN12crypto_md5_c12get_is_validEv @ 166 NONAME - _ZN12crypto_md5_c12hash_cleanupEv @ 167 NONAME - _ZN12crypto_md5_c12set_is_validEv @ 168 NONAME - _ZN12crypto_md5_c14get_block_sizeEv @ 169 NONAME - _ZN12crypto_md5_c14set_is_invalidEv @ 170 NONAME - _ZN12crypto_md5_c17get_digest_lengthEv @ 171 NONAME - _ZN12crypto_md5_c4copyEv @ 172 NONAME - _ZN12crypto_md5_c9hash_initEv @ 173 NONAME - _ZN12crypto_md5_cC1EP18abs_eap_am_tools_c @ 174 NONAME - _ZN12crypto_md5_cC2EP18abs_eap_am_tools_c @ 175 NONAME - _ZN12crypto_md5_cD0Ev @ 176 NONAME - _ZN12crypto_md5_cD1Ev @ 177 NONAME - _ZN12crypto_md5_cD2Ev @ 178 NONAME - _ZN12crypto_rc4_c12decrypt_dataEPKvPvm @ 179 NONAME - _ZN12crypto_rc4_c12decrypt_dataEPvm @ 180 NONAME - _ZN12crypto_rc4_c12encrypt_dataEPKvPvm @ 181 NONAME - _ZN12crypto_rc4_c12encrypt_dataEPvm @ 182 NONAME - _ZN12crypto_rc4_c12get_is_validEv @ 183 NONAME - _ZN12crypto_rc4_c12set_is_validEv @ 184 NONAME - _ZN12crypto_rc4_c14discard_streamEm @ 185 NONAME - _ZN12crypto_rc4_c14set_is_invalidEv @ 186 NONAME - _ZN12crypto_rc4_c7set_keyEPK19eap_variable_data_c @ 187 NONAME - _ZN12crypto_rc4_cC1EP18abs_eap_am_tools_c @ 188 NONAME - _ZN12crypto_rc4_cC2EP18abs_eap_am_tools_c @ 189 NONAME - _ZN12crypto_rc4_cD0Ev @ 190 NONAME - _ZN12crypto_rc4_cD1Ev @ 191 NONAME - _ZN12crypto_rc4_cD2Ev @ 192 NONAME - _ZN12crypto_rsa_c12get_is_validEv @ 193 NONAME - _ZN12crypto_rsa_c12set_is_validEv @ 194 NONAME - _ZN12crypto_rsa_c14set_is_invalidEv @ 195 NONAME - _ZN12crypto_rsa_c23decrypt_with_public_keyEPK19eap_variable_data_cS2_PS0_ @ 196 NONAME - _ZN12crypto_rsa_c23encrypt_with_public_keyEPK19eap_variable_data_cS2_PS0_ @ 197 NONAME - _ZN12crypto_rsa_c24decrypt_with_private_keyEPK19eap_variable_data_cS2_PS0_ @ 198 NONAME - _ZN12crypto_rsa_c24encrypt_with_private_keyEPK19eap_variable_data_cS2_PS0_ @ 199 NONAME - _ZN12crypto_rsa_c4initEv @ 200 NONAME - _ZN12crypto_rsa_c4signEPK19eap_variable_data_cS2_PS0_ @ 201 NONAME - _ZN12crypto_rsa_c6verifyEPK19eap_variable_data_cS2_S2_ @ 202 NONAME - _ZN12crypto_rsa_c7cleanupEv @ 203 NONAME - _ZN12crypto_rsa_cC1EP18abs_eap_am_tools_c @ 204 NONAME - _ZN12crypto_rsa_cC2EP18abs_eap_am_tools_c @ 205 NONAME - _ZN12crypto_rsa_cD0Ev @ 206 NONAME - _ZN12crypto_rsa_cD1Ev @ 207 NONAME - _ZN12crypto_rsa_cD2Ev @ 208 NONAME - _ZN13crypto_hmac_c10hmac_finalEPvPm @ 209 NONAME - _ZN13crypto_hmac_c11hmac_updateEPKvm @ 210 NONAME - _ZN13crypto_hmac_c12get_is_validEv @ 211 NONAME - _ZN13crypto_hmac_c12hmac_cleanupEv @ 212 NONAME - _ZN13crypto_hmac_c12hmac_set_keyEPK19eap_variable_data_c @ 213 NONAME - _ZN13crypto_hmac_c12set_is_validEv @ 214 NONAME - _ZN13crypto_hmac_c14hmac_128_finalEPvPm @ 215 NONAME - _ZN13crypto_hmac_c14initialize_padEP19eap_variable_data_ch @ 216 NONAME - _ZN13crypto_hmac_c17get_digest_lengthEv @ 217 NONAME - _ZN13crypto_hmac_cC1EP18abs_eap_am_tools_cP27abs_crypto_hash_algorithm_cb @ 218 NONAME - _ZN13crypto_hmac_cC2EP18abs_eap_am_tools_cP27abs_crypto_hash_algorithm_cb @ 219 NONAME - _ZN13crypto_hmac_cD0Ev @ 220 NONAME - _ZN13crypto_hmac_cD1Ev @ 221 NONAME - _ZN13crypto_hmac_cD2Ev @ 222 NONAME - _ZN13crypto_sha1_c10hash_finalEPvPm @ 223 NONAME - _ZN13crypto_sha1_c11hash_updateEPKvm @ 224 NONAME - _ZN13crypto_sha1_c12copy_contextEPK19eap_variable_data_c @ 225 NONAME - _ZN13crypto_sha1_c12get_is_validEv @ 226 NONAME - _ZN13crypto_sha1_c12hash_cleanupEv @ 227 NONAME - _ZN13crypto_sha1_c12set_is_validEv @ 228 NONAME - _ZN13crypto_sha1_c14get_block_sizeEv @ 229 NONAME - _ZN13crypto_sha1_c14set_is_invalidEv @ 230 NONAME - _ZN13crypto_sha1_c17get_digest_lengthEv @ 231 NONAME - _ZN13crypto_sha1_c4copyEv @ 232 NONAME - _ZN13crypto_sha1_c9hash_initEv @ 233 NONAME - _ZN13crypto_sha1_cC1EP18abs_eap_am_tools_c @ 234 NONAME - _ZN13crypto_sha1_cC2EP18abs_eap_am_tools_c @ 235 NONAME - _ZN13crypto_sha1_cD0Ev @ 236 NONAME - _ZN13crypto_sha1_cD1Ev @ 237 NONAME - _ZN13crypto_sha1_cD2Ev @ 238 NONAME - _ZN14CEapConversion26ConvertFromBuf16ToInternalEP18abs_eap_am_tools_cPK6TDes16P19eap_variable_data_c @ 239 NONAME - _ZN14CEapConversion26ConvertFromInternalToBuf16EP18abs_eap_am_tools_cPK19eap_variable_data_cP6TDes16 @ 240 NONAME - _ZN14CEapConversion26ConvertFromTDesCToInternalEP18abs_eap_am_tools_cRK7TDesC16P19eap_variable_data_c @ 241 NONAME - _ZN14CEapConversion28ConvertHBufC8ToInternalTypesEP18abs_eap_am_tools_cPK6HBufC8P11eap_array_cI19eap_expanded_type_cE @ 242 NONAME - _ZN14CEapConversion28ConvertInternalTypesToHBufC8EP18abs_eap_am_tools_cPK11eap_array_cI19eap_expanded_type_cEPP6HBufC8 @ 243 NONAME - _ZN14CEapConversion30ConvertEAPTypesToInternalTypesEP18abs_eap_am_tools_cPK6RArrayIjEP11eap_array_cI19eap_expanded_type_cE @ 244 NONAME - _ZN14CEapConversion30ConvertInternalTypesToEAPTypesEP18abs_eap_am_tools_cPK11eap_array_cI19eap_expanded_type_cEP6RArrayIjE @ 245 NONAME - _ZN14CEapConversion32ConvertEAPSettingsToInternalTypeEP18abs_eap_am_tools_cPK11EAPSettingsP21eap_method_settings_c @ 246 NONAME - _ZN14CEapConversion32ConvertInternalTypeToEAPSettingsEP18abs_eap_am_tools_cPK21eap_method_settings_cP11EAPSettings @ 247 NONAME - _ZN14CEapConversion33ConvertCertificatesToInternalTypeEP18abs_eap_am_tools_cPK13RPointerArrayI19EapCertificateEntryEP11eap_array_cI23eap_certificate_entry_cE @ 248 NONAME - _ZN14CEapConversion33ConvertCipherSuitesToInternalTypeEP18abs_eap_am_tools_cPK6RArrayIjEP11eap_array_cItE @ 249 NONAME - _ZN14CEapConversion33ConvertInternalTypeToCertificatesEP18abs_eap_am_tools_cN23eap_certificate_entry_c22eap_certificate_type_eEPK11eap_array_cIS2_EP13RPointerArrayI19EapCertificateEntryE @ 250 NONAME - _ZN14CEapConversion33ConvertInternalTypeToCipherSuitesEP18abs_eap_am_tools_cPK11eap_array_cItEP6RArrayIjE @ 251 NONAME - _ZN14CEapConversion36ConvertExpandedEAPTypeToInternalTypeEPK16TEapExpandedTypeP19eap_expanded_type_c @ 252 NONAME - _ZN14CEapConversion36ConvertInternalTypeToExpandedEAPTypeEPK19eap_expanded_type_cP16TEapExpandedType @ 253 NONAME - _ZN14CEapConversion38ConvertExpandedEAPTypesToInternalTypesEP18abs_eap_am_tools_cPK6RArrayI16TEapExpandedTypeEP11eap_array_cI19eap_expanded_type_cE @ 254 NONAME - _ZN14CEapConversion38ConvertInternalTypesToExpandedEAPTypesEP18abs_eap_am_tools_cPK11eap_array_cI19eap_expanded_type_cEP6RArrayI16TEapExpandedTypeE @ 255 NONAME - _ZN14eap_am_tools_c10trace_dataEPKcPKvm @ 256 NONAME - _ZN14eap_am_tools_c11compare_u64Eyy @ 257 NONAME - _ZN14eap_am_tools_c12multiply_u64Eyy @ 258 NONAME - _ZN14eap_am_tools_c14ascii_to_octetEl @ 259 NONAME - _ZN14eap_am_tools_c14create_uuid_v5EPKvmS1_mP19eap_variable_data_c @ 260 NONAME - _ZN14eap_am_tools_c14octet_to_asciiEl @ 261 NONAME - _ZN14eap_am_tools_c14set_trace_maskEm @ 262 NONAME - _ZN14eap_am_tools_c17eap_status_returnEb12eap_status_ePKcl @ 263 NONAME - _ZN14eap_am_tools_c17shutdown_am_toolsEv @ 264 NONAME - _ZN14eap_am_tools_c18get_thread_stoppedEv @ 265 NONAME - _ZN14eap_am_tools_c19get_use_timer_queueEv @ 266 NONAME - _ZN14eap_am_tools_c19set_use_timer_queueEv @ 267 NONAME - _ZN14eap_am_tools_c19trace_configurationE12eap_status_ePK25eap_configuration_field_cPK19eap_variable_data_c @ 268 NONAME - _ZN14eap_am_tools_c20number_string_to_u32EPKhmPm @ 269 NONAME - _ZN14eap_am_tools_c20octet_to_ascii_armorEh @ 270 NONAME - _ZN14eap_am_tools_c21memory_store_add_dataEPK19eap_variable_data_cP22eap_tlv_message_data_cm @ 271 NONAME - _ZN14eap_am_tools_c21memory_store_get_dataEPK19eap_variable_data_cP22eap_tlv_message_data_c @ 272 NONAME - _ZN14eap_am_tools_c21timer_thread_functionEv @ 273 NONAME - _ZN14eap_am_tools_c22octet_from_ascii_armorEh @ 274 NONAME - _ZN14eap_am_tools_c24memory_store_remove_dataEPK19eap_variable_data_c @ 275 NONAME - _ZN14eap_am_tools_c26convert_ascii_to_uppercaseEPhm @ 276 NONAME - _ZN14eap_am_tools_c26convert_bytes_to_hex_asciiEPKhmPhPm @ 277 NONAME - _ZN14eap_am_tools_c26convert_bytes_to_hex_asciiEPKvmP19eap_variable_data_c @ 278 NONAME - _ZN14eap_am_tools_c26convert_hex_ascii_to_bytesEPKhmPhPm @ 279 NONAME - _ZN14eap_am_tools_c26convert_hex_ascii_to_bytesEPKvmP19eap_variable_data_c @ 280 NONAME - _ZN14eap_am_tools_c27set_activate_trace_on_errorEv @ 281 NONAME - _ZN14eap_am_tools_c28convert_bytes_to_ascii_armorEPKhmPhPm @ 282 NONAME - _ZN14eap_am_tools_c29check_activate_trace_on_errorEv @ 283 NONAME - _ZN14eap_am_tools_c29eap_status_return_file_numberEb12eap_status_emml @ 284 NONAME - _ZN14eap_am_tools_c30restore_bytes_from_ascii_armorEPKhmPhPm @ 285 NONAME - _ZN14eap_am_tools_c31create_uuid_v5_from_mac_addressEPKhmP19eap_variable_data_c @ 286 NONAME - _ZN14eap_am_tools_c31generic_convert_unicode_to_utf8ER19eap_variable_data_cRKS0_ @ 287 NONAME - _ZN14eap_am_tools_c31generic_convert_utf8_to_unicodeER19eap_variable_data_cRKS0_ @ 288 NONAME - _ZN14eap_am_tools_c35get_use_seconds_timestamp_in_tracesEv @ 289 NONAME - _ZN14eap_am_tools_c37convert_selected_bytes_to_ascii_armorEhPmPhS1_S0_b @ 290 NONAME - _ZN14eap_am_tools_c39restore_selected_bytes_from_ascii_armorEhPmPhS0_b @ 291 NONAME - _ZN14eap_am_tools_c7xor_u64Eyy @ 292 NONAME - _ZN14eap_am_tools_c9parse_naiEPK19eap_variable_data_cPS0_S3_ @ 293 NONAME - _ZN14eap_am_tools_cC2Ev @ 294 NONAME - _ZN14eap_am_tools_cD0Ev @ 295 NONAME - _ZN14eap_am_tools_cD1Ev @ 296 NONAME - _ZN14eap_am_tools_cD2Ev @ 297 NONAME - _ZN15EapMessageQueue10AddMessageE12TEapRequestsPKvj @ 298 NONAME - _ZN15EapMessageQueue15GetFirstMessageEv @ 299 NONAME - _ZN15EapMessageQueue18DeleteFirstMessageEv @ 300 NONAME - _ZN15EapMessageQueueC1EP18abs_eap_am_tools_c @ 301 NONAME - _ZN15EapMessageQueueC2EP18abs_eap_am_tools_c @ 302 NONAME - _ZN15EapMessageQueueD0Ev @ 303 NONAME - _ZN15EapMessageQueueD1Ev @ 304 NONAME - _ZN15EapMessageQueueD2Ev @ 305 NONAME - _ZN15crypto_random_c12get_is_validEv @ 306 NONAME - _ZN15crypto_random_c12set_is_validEv @ 307 NONAME - _ZN15crypto_random_c13add_rand_seedEPKvm @ 308 NONAME - _ZN15crypto_random_c14get_rand_bytesEP19eap_variable_data_cm @ 309 NONAME - _ZN15crypto_random_c14get_rand_bytesEPvm @ 310 NONAME - _ZN15crypto_random_c16get_rand_integerEmm @ 311 NONAME - _ZN15crypto_random_c22add_rand_seed_hw_ticksEv @ 312 NONAME - _ZN15crypto_random_cC1EP18abs_eap_am_tools_c @ 313 NONAME - _ZN15crypto_random_cC2EP18abs_eap_am_tools_c @ 314 NONAME - _ZN15crypto_random_cD0Ev @ 315 NONAME - _ZN15crypto_random_cD1Ev @ 316 NONAME - _ZN15crypto_random_cD2Ev @ 317 NONAME - _ZN15eap_base_type_c16get_type_partnerEv @ 318 NONAME - _ZN15eap_base_type_c31object_decrease_reference_countEv @ 319 NONAME - _ZN15eap_base_type_c31object_increase_reference_countEv @ 320 NONAME - _ZN15eap_base_type_cC2EP18abs_eap_am_tools_cP19abs_eap_base_type_c @ 321 NONAME - _ZN15eap_base_type_cD0Ev @ 322 NONAME - _ZN15eap_base_type_cD1Ev @ 323 NONAME - _ZN15eap_base_type_cD2Ev @ 324 NONAME - _ZN15eap_header_rd_cC1EP18abs_eap_am_tools_cPhm @ 325 NONAME - _ZN15eap_header_rd_cC2EP18abs_eap_am_tools_cPhm @ 326 NONAME - _ZN15eap_header_rd_cD0Ev @ 327 NONAME - _ZN15eap_header_rd_cD1Ev @ 328 NONAME - _ZN15eap_header_rd_cD2Ev @ 329 NONAME - _ZN15eap_header_wr_c12reset_headerEtb @ 330 NONAME - _ZN15eap_header_wr_cC1EP18abs_eap_am_tools_cPhm @ 331 NONAME - _ZN15eap_header_wr_cC2EP18abs_eap_am_tools_cPhm @ 332 NONAME - _ZN15eap_header_wr_cD0Ev @ 333 NONAME - _ZN15eap_header_wr_cD1Ev @ 334 NONAME - _ZN15eap_header_wr_cD2Ev @ 335 NONAME - _ZN16EapMessageBuffer8CopyDataE12TEapRequestsPKvj @ 336 NONAME - _ZN16EapMessageBufferC1EP18abs_eap_am_tools_c @ 337 NONAME - _ZN16EapMessageBufferC2EP18abs_eap_am_tools_c @ 338 NONAME - _ZN16EapMessageBufferD0Ev @ 339 NONAME - _ZN16EapMessageBufferD1Ev @ 340 NONAME - _ZN16EapMessageBufferD2Ev @ 341 NONAME - _ZN16EapServerStrings20GetEapRequestsStringE12TEapRequests @ 342 NONAME - _ZN16EapServerStrings20GetEapRequestsStringEi @ 343 NONAME - _ZN16EapServerStringsC1Ev @ 344 NONAME - _ZN16EapServerStringsC2Ev @ 345 NONAME - _ZN16EapServerStringsD0Ev @ 346 NONAME - _ZN16EapServerStringsD1Ev @ 347 NONAME - _ZN16EapServerStringsD2Ev @ 348 NONAME - _ZN16TEapExpandedType8SetValueEPKvj @ 349 NONAME - _ZN16TEapExpandedType8SetValueEjj @ 350 NONAME - _ZN16TEapExpandedTypeC1EPKS_ @ 351 NONAME - _ZN16TEapExpandedTypeC1ERK6TBufC8ILi8EE @ 352 NONAME - _ZN16TEapExpandedTypeC1ERK6TDesC8 @ 353 NONAME - _ZN16TEapExpandedTypeC1ERKS_ @ 354 NONAME - _ZN16TEapExpandedTypeC1Ev @ 355 NONAME - _ZN16TEapExpandedTypeC2EPKS_ @ 356 NONAME - _ZN16TEapExpandedTypeC2ERK6TBufC8ILi8EE @ 357 NONAME - _ZN16TEapExpandedTypeC2ERK6TDesC8 @ 358 NONAME - _ZN16TEapExpandedTypeC2ERKS_ @ 359 NONAME - _ZN16TEapExpandedTypeC2Ev @ 360 NONAME - _ZN16TEapExpandedTypeD0Ev @ 361 NONAME - _ZN16TEapExpandedTypeD1Ev @ 362 NONAME - _ZN16TEapExpandedTypeD2Ev @ 363 NONAME - _ZN16TEapExpandedTypeaSERK6TBufC8ILi8EE @ 364 NONAME - _ZN16TEapExpandedTypeaSERK6TDesC8 @ 365 NONAME - _ZN16TEapExpandedTypeaSERKS_ @ 366 NONAME - _ZN16crypto_nt_hash_c12get_is_validEv @ 367 NONAME - _ZN16crypto_nt_hash_c14get_master_keyEPK19eap_variable_data_cS2_PS0_m @ 368 NONAME - _ZN16crypto_nt_hash_c16nt_password_hashEPK19eap_variable_data_cPS0_m @ 369 NONAME - _ZN16crypto_nt_hash_c20get_new_key_from_shaEPK19eap_variable_data_cS2_PS0_m @ 370 NONAME - _ZN16crypto_nt_hash_c21hash_nt_password_hashEPK19eap_variable_data_cPS0_m @ 371 NONAME - _ZN16crypto_nt_hash_c24get_asymmetric_start_keyEPK19eap_variable_data_cPS0_mbb @ 372 NONAME - _ZN16crypto_nt_hash_cC1EP18abs_eap_am_tools_c @ 373 NONAME - _ZN16crypto_nt_hash_cC2EP18abs_eap_am_tools_c @ 374 NONAME - _ZN16crypto_nt_hash_cD0Ev @ 375 NONAME - _ZN16crypto_nt_hash_cD1Ev @ 376 NONAME - _ZN16crypto_nt_hash_cD2Ev @ 377 NONAME - _ZN16crypto_sha_256_c10hash_finalEPvPm @ 378 NONAME - _ZN16crypto_sha_256_c11hash_updateEPKvm @ 379 NONAME - _ZN16crypto_sha_256_c12copy_contextEPK19eap_variable_data_c @ 380 NONAME - _ZN16crypto_sha_256_c12get_is_validEv @ 381 NONAME - _ZN16crypto_sha_256_c12hash_cleanupEv @ 382 NONAME - _ZN16crypto_sha_256_c12set_is_validEv @ 383 NONAME - _ZN16crypto_sha_256_c14get_block_sizeEv @ 384 NONAME - _ZN16crypto_sha_256_c14set_is_invalidEv @ 385 NONAME - _ZN16crypto_sha_256_c17get_digest_lengthEv @ 386 NONAME - _ZN16crypto_sha_256_c4copyEv @ 387 NONAME - _ZN16crypto_sha_256_c9hash_initEv @ 388 NONAME - _ZN16crypto_sha_256_cC1EP18abs_eap_am_tools_c @ 389 NONAME - _ZN16crypto_sha_256_cC2EP18abs_eap_am_tools_c @ 390 NONAME - _ZN16crypto_sha_256_cD0Ev @ 391 NONAME - _ZN16crypto_sha_256_cD1Ev @ 392 NONAME - _ZN16crypto_sha_256_cD2Ev @ 393 NONAME - _ZN16crypto_tls_prf_c12get_is_validEv @ 394 NONAME - _ZN16crypto_tls_prf_c12set_is_validEv @ 395 NONAME - _ZN16crypto_tls_prf_c12tls_prf_initEPK19eap_variable_data_cS2_S2_ @ 396 NONAME - _ZN16crypto_tls_prf_c14set_is_invalidEv @ 397 NONAME - _ZN16crypto_tls_prf_c14tls_prf_outputEPvm @ 398 NONAME - _ZN16crypto_tls_prf_c15tls_prf_cleanupEv @ 399 NONAME - _ZN16crypto_tls_prf_cC1EP18abs_eap_am_tools_c @ 400 NONAME - _ZN16crypto_tls_prf_cC2EP18abs_eap_am_tools_c @ 401 NONAME - _ZN16crypto_tls_prf_cD0Ev @ 402 NONAME - _ZN16crypto_tls_prf_cD1Ev @ 403 NONAME - _ZN16crypto_tls_prf_cD2Ev @ 404 NONAME - _ZN16eap_tlv_header_c12reset_headerEmm @ 405 NONAME - _ZN16eap_tlv_header_c16set_value_lengthEm @ 406 NONAME - _ZN16eap_tlv_header_c17get_header_lengthEv @ 407 NONAME - _ZN16eap_tlv_header_c8set_typeEm @ 408 NONAME - _ZN16eap_tlv_header_cC1EP18abs_eap_am_tools_cPvm @ 409 NONAME - _ZN16eap_tlv_header_cC2EP18abs_eap_am_tools_cPvm @ 410 NONAME - _ZN16eap_tlv_header_cD0Ev @ 411 NONAME - _ZN16eap_tlv_header_cD1Ev @ 412 NONAME - _ZN16eap_tlv_header_cD2Ev @ 413 NONAME - _ZN17crypto_3des_ede_c12get_encryptsEv @ 414 NONAME - _ZN17crypto_3des_ede_c12get_is_validEv @ 415 NONAME - _ZN17crypto_3des_ede_c12set_is_validEv @ 416 NONAME - _ZN17crypto_3des_ede_c13decrypt_blockEPKvPvm @ 417 NONAME - _ZN17crypto_3des_ede_c13encrypt_blockEPKvPvm @ 418 NONAME - _ZN17crypto_3des_ede_c14get_block_sizeEv @ 419 NONAME - _ZN17crypto_3des_ede_c14get_key_lengthEv @ 420 NONAME - _ZN17crypto_3des_ede_c18set_decryption_keyEPKvm @ 421 NONAME - _ZN17crypto_3des_ede_c18set_encryption_keyEPKvm @ 422 NONAME - _ZN17crypto_3des_ede_cC1EP18abs_eap_am_tools_c @ 423 NONAME - _ZN17crypto_3des_ede_cC2EP18abs_eap_am_tools_c @ 424 NONAME - _ZN17crypto_3des_ede_cD0Ev @ 425 NONAME - _ZN17crypto_3des_ede_cD1Ev @ 426 NONAME - _ZN17crypto_3des_ede_cD2Ev @ 427 NONAME - _ZN17crypto_aes_wrap_c12get_encryptsEv @ 428 NONAME - _ZN17crypto_aes_wrap_c12get_is_validEv @ 429 NONAME - _ZN17crypto_aes_wrap_c12set_is_validEv @ 430 NONAME - _ZN17crypto_aes_wrap_c13decrypt_blockEPKvmPvm @ 431 NONAME - _ZN17crypto_aes_wrap_c13encrypt_blockEPKvmPvm @ 432 NONAME - _ZN17crypto_aes_wrap_c14get_block_sizeEv @ 433 NONAME - _ZN17crypto_aes_wrap_c14get_key_lengthEv @ 434 NONAME - _ZN17crypto_aes_wrap_c17add_padding_bytesEPvm @ 435 NONAME - _ZN17crypto_aes_wrap_c18set_decryption_keyEPKvm @ 436 NONAME - _ZN17crypto_aes_wrap_c18set_encryption_keyEPKvm @ 437 NONAME - _ZN17crypto_aes_wrap_cC1EP18abs_eap_am_tools_c @ 438 NONAME - _ZN17crypto_aes_wrap_cC2EP18abs_eap_am_tools_c @ 439 NONAME - _ZN17crypto_aes_wrap_cD0Ev @ 440 NONAME - _ZN17crypto_aes_wrap_cD1Ev @ 441 NONAME - _ZN17crypto_aes_wrap_cD2Ev @ 442 NONAME - _ZN17eap_file_config_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 443 NONAME - _ZN17eap_file_config_c26read_configuration_messageEPK19eap_variable_data_c @ 444 NONAME - _ZN17eap_file_config_c9configureEP23abs_eap_am_file_input_c @ 445 NONAME - _ZN17eap_file_config_cC1EP18abs_eap_am_tools_c @ 446 NONAME - _ZN17eap_file_config_cC2EP18abs_eap_am_tools_c @ 447 NONAME - _ZN17eap_file_config_cD0Ev @ 448 NONAME - _ZN17eap_file_config_cD1Ev @ 449 NONAME - _ZN17eap_file_config_cD2Ev @ 450 NONAME - _ZN17eap_header_base_c10set_lengthEtb @ 451 NONAME - _ZN17eap_header_base_c14set_identifierEh @ 452 NONAME - _ZN17eap_header_base_c17get_header_lengthEv @ 453 NONAME - _ZN17eap_header_base_c20set_type_data_lengthEtb @ 454 NONAME - _ZN17eap_header_base_c26get_ietf_type_field_lengthEv @ 455 NONAME - _ZN17eap_header_base_c26get_type_data_start_offsetEb @ 456 NONAME - _ZN17eap_header_base_c29get_expanded_ietf_type_offsetEv @ 457 NONAME - _ZN17eap_header_base_c29get_expanded_vendor_id_offsetEv @ 458 NONAME - _ZN17eap_header_base_c30get_expanded_type_field_lengthEv @ 459 NONAME - _ZN17eap_header_base_c31get_expanded_vendor_type_offsetEv @ 460 NONAME - _ZN17eap_header_base_c8set_codeE16eap_code_value_e @ 461 NONAME - _ZN17eap_header_base_c8set_typeE19eap_expanded_type_cb @ 462 NONAME - _ZN17eap_header_base_cC1EP18abs_eap_am_tools_cPvm @ 463 NONAME - _ZN17eap_header_base_cC2EP18abs_eap_am_tools_cPvm @ 464 NONAME - _ZN17eap_header_base_cD0Ev @ 465 NONAME - _ZN17eap_header_base_cD1Ev @ 466 NONAME - _ZN17eap_header_base_cD2Ev @ 467 NONAME - _ZN17eapol_header_rd_cC1EP18abs_eap_am_tools_cPhm @ 468 NONAME - _ZN17eapol_header_rd_cC2EP18abs_eap_am_tools_cPhm @ 469 NONAME - _ZN17eapol_header_rd_cD0Ev @ 470 NONAME - _ZN17eapol_header_rd_cD1Ev @ 471 NONAME - _ZN17eapol_header_rd_cD2Ev @ 472 NONAME - _ZN17eapol_header_wr_c12reset_headerEt @ 473 NONAME - _ZN17eapol_header_wr_c14get_eap_headerEv @ 474 NONAME - _ZN17eapol_header_wr_cC1EP18abs_eap_am_tools_cPhm @ 475 NONAME - _ZN17eapol_header_wr_cC2EP18abs_eap_am_tools_cPhm @ 476 NONAME - _ZN17eapol_header_wr_cD0Ev @ 477 NONAME - _ZN17eapol_header_wr_cD1Ev @ 478 NONAME - _ZN17eapol_header_wr_cD2Ev @ 479 NONAME - _ZN18abs_eap_am_mutex_cC2Ev @ 480 NONAME - _ZN18abs_eap_am_mutex_cD0Ev @ 481 NONAME - _ZN18abs_eap_am_mutex_cD1Ev @ 482 NONAME - _ZN18abs_eap_am_mutex_cD2Ev @ 483 NONAME - _ZN18abs_eap_am_tools_c22new_abs_eap_am_tools_cEv @ 484 NONAME - _ZN18abs_eap_am_tools_c25delete_abs_eap_am_tools_cEPS_ @ 485 NONAME - _ZN18eap_buf_chain_rd_c17force_inheritanceEv @ 486 NONAME - _ZN18eap_buf_chain_rd_cC1E17eap_read_buffer_eP18abs_eap_am_tools_cPKhmb @ 487 NONAME - _ZN18eap_buf_chain_rd_cC1E17eap_read_buffer_eP18abs_eap_am_tools_cm @ 488 NONAME - _ZN18eap_buf_chain_rd_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cPKhmb @ 489 NONAME - _ZN18eap_buf_chain_rd_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cm @ 490 NONAME - _ZN18eap_buf_chain_rd_cD0Ev @ 491 NONAME - _ZN18eap_buf_chain_rd_cD1Ev @ 492 NONAME - _ZN18eap_buf_chain_rd_cD2Ev @ 493 NONAME - _ZN18eap_buf_chain_wr_c17force_inheritanceEv @ 494 NONAME - _ZN18eap_buf_chain_wr_c19get_ethernet_headerEv @ 495 NONAME - _ZN18eap_buf_chain_wr_c4copyEv @ 496 NONAME - _ZN18eap_buf_chain_wr_cC1E18eap_write_buffer_eP18abs_eap_am_tools_c @ 497 NONAME - _ZN18eap_buf_chain_wr_cC1E18eap_write_buffer_eP18abs_eap_am_tools_cPhmbbm @ 498 NONAME - _ZN18eap_buf_chain_wr_cC1E18eap_write_buffer_eP18abs_eap_am_tools_cm @ 499 NONAME - _ZN18eap_buf_chain_wr_cC2E18eap_write_buffer_eP18abs_eap_am_tools_c @ 500 NONAME - _ZN18eap_buf_chain_wr_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cPhmbbm @ 501 NONAME - _ZN18eap_buf_chain_wr_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cm @ 502 NONAME - _ZN18eap_buf_chain_wr_cD0Ev @ 503 NONAME - _ZN18eap_buf_chain_wr_cD1Ev @ 504 NONAME - _ZN18eap_buf_chain_wr_cD2Ev @ 505 NONAME - _ZN18eap_config_value_c14get_subsectionEv @ 506 NONAME - _ZN18eap_config_value_c14set_subsectionEP14eap_core_map_cIS_18abs_eap_core_map_c19eap_variable_data_cE @ 507 NONAME - _ZN18eap_config_value_c31object_increase_reference_countEv @ 508 NONAME - _ZN18eap_config_value_c8get_dataEv @ 509 NONAME - _ZN18eap_config_value_c8get_typeEv @ 510 NONAME - _ZN18eap_config_value_c8set_typeE20eap_configure_type_e @ 511 NONAME - _ZN18eap_config_value_cC1EP18abs_eap_am_tools_c @ 512 NONAME - _ZN18eap_config_value_cC2EP18abs_eap_am_tools_c @ 513 NONAME - _ZN18eap_config_value_cD0Ev @ 514 NONAME - _ZN18eap_config_value_cD1Ev @ 515 NONAME - _ZN18eap_config_value_cD2Ev @ 516 NONAME - _ZN18eap_session_core_c11get_partnerEv @ 517 NONAME - _ZN18eap_session_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 518 NONAME - _ZN18eap_session_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 519 NONAME - _ZN18eap_session_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 520 NONAME - _ZN18eap_session_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 521 NONAME - _ZN18eap_session_core_c12get_is_validEv @ 522 NONAME - _ZN18eap_session_core_c12set_is_validEv @ 523 NONAME - _ZN18eap_session_core_c13timer_expiredEmPv @ 524 NONAME - _ZN18eap_session_core_c13unload_moduleE19eap_expanded_type_c @ 525 NONAME - _ZN18eap_session_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 526 NONAME - _ZN18eap_session_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 527 NONAME - _ZN18eap_session_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 528 NONAME - _ZN18eap_session_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 529 NONAME - _ZN18eap_session_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 530 NONAME - _ZN18eap_session_core_c17get_header_offsetEPmS0_ @ 531 NONAME - _ZN18eap_session_core_c17timer_delete_dataEmPv @ 532 NONAME - _ZN18eap_session_core_c18create_eap_sessionEPK19eap_am_network_id_c @ 533 NONAME - _ZN18eap_session_core_c18create_new_sessionEPK19eap_am_network_id_c @ 534 NONAME - _ZN18eap_session_core_c18remove_eap_sessionEbPK19eap_am_network_id_c @ 535 NONAME - _ZN18eap_session_core_c18shutdown_operationEP10eap_core_cP18abs_eap_am_tools_c @ 536 NONAME - _ZN18eap_session_core_c18state_notificationEPK28abs_eap_state_notification_c @ 537 NONAME - _ZN18eap_session_core_c19set_session_timeoutEm @ 538 NONAME - _ZN18eap_session_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 539 NONAME - _ZN18eap_session_core_c22restart_authenticationEPK19eap_am_network_id_cbbb @ 540 NONAME - _ZN18eap_session_core_c23cancel_all_eap_sessionsEv @ 541 NONAME - _ZN18eap_session_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 542 NONAME - _ZN18eap_session_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 543 NONAME - _ZN18eap_session_core_c23reset_or_remove_sessionEPP10eap_core_cPK25eap_network_id_selector_cb @ 544 NONAME - _ZN18eap_session_core_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 545 NONAME - _ZN18eap_session_core_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 546 NONAME - _ZN18eap_session_core_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 547 NONAME - _ZN18eap_session_core_c5resetEv @ 548 NONAME - _ZN18eap_session_core_c8shutdownEv @ 549 NONAME - _ZN18eap_session_core_c9configureEv @ 550 NONAME - _ZN18eap_session_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 551 NONAME - _ZN18eap_session_core_cC1EP18abs_eap_am_tools_cP22abs_eap_session_core_cb @ 552 NONAME - _ZN18eap_session_core_cC2EP18abs_eap_am_tools_cP22abs_eap_session_core_cb @ 553 NONAME - _ZN18eap_session_core_cD0Ev @ 554 NONAME - _ZN18eap_session_core_cD1Ev @ 555 NONAME - _ZN18eap_session_core_cD2Ev @ 556 NONAME - _ZN19EapCertificateEntry10SetIsValidEi @ 557 NONAME - _ZN19EapCertificateEntry11SetCertTypeERKNS_9TCertTypeE @ 558 NONAME - _ZN19EapCertificateEntry12SetIsEnabledEi @ 559 NONAME - _ZN19EapCertificateEntry13SetIssuerNameERK4TBufILi255EE @ 560 NONAME - _ZN19EapCertificateEntry13SetThumbprintERK4TBufILi64EE @ 561 NONAME - _ZN19EapCertificateEntry14SetPrimaryNameERK4TBufILi64EE @ 562 NONAME - _ZN19EapCertificateEntry14SetSubjectNameERK4TBufILi255EE @ 563 NONAME - _ZN19EapCertificateEntry15SetLabelPresentEv @ 564 NONAME - _ZN19EapCertificateEntry15SetSerialNumberERK4TBufILi255EE @ 565 NONAME - _ZN19EapCertificateEntry15SetSubjectKeyIdERK5TBuf8ILi20EE @ 566 NONAME - _ZN19EapCertificateEntry16GetLabelWritableEv @ 567 NONAME - _ZN19EapCertificateEntry16SetSecondaryNameERK4TBufILi64EE @ 568 NONAME - _ZN19EapCertificateEntry19SetIsEnabledPresentEv @ 569 NONAME - _ZN19EapCertificateEntry20SetIssuerNamePresentEv @ 570 NONAME - _ZN19EapCertificateEntry20SetThumbprintPresentEv @ 571 NONAME - _ZN19EapCertificateEntry21GetIssuerNameWritableEv @ 572 NONAME - _ZN19EapCertificateEntry21GetThumbprintWritableEv @ 573 NONAME - _ZN19EapCertificateEntry21SetPrimaryNamePresentEv @ 574 NONAME - _ZN19EapCertificateEntry21SetSubjectNamePresentEv @ 575 NONAME - _ZN19EapCertificateEntry22GetPrimaryNameWritableEv @ 576 NONAME - _ZN19EapCertificateEntry22GetSubjectNameWritableEv @ 577 NONAME - _ZN19EapCertificateEntry22SetSerialNumberPresentEv @ 578 NONAME - _ZN19EapCertificateEntry22SetSubjectKeyIdPresentEv @ 579 NONAME - _ZN19EapCertificateEntry23GetSerialNumberWritableEv @ 580 NONAME - _ZN19EapCertificateEntry23GetSubjectKeyIdWritableEv @ 581 NONAME - _ZN19EapCertificateEntry23SetSecondaryNamePresentEv @ 582 NONAME - _ZN19EapCertificateEntry24GetSecondaryNameWritableEv @ 583 NONAME - _ZN19EapCertificateEntry4CopyEv @ 584 NONAME - _ZN19EapCertificateEntry8SetLabelERK4TBufILi64EE @ 585 NONAME - _ZN19EapCertificateEntryC1Ev @ 586 NONAME - _ZN19EapCertificateEntryC2Ev @ 587 NONAME - _ZN19EapCertificateEntryD0Ev @ 588 NONAME - _ZN19EapCertificateEntryD1Ev @ 589 NONAME - _ZN19EapCertificateEntryD2Ev @ 590 NONAME - _ZN19EapCertificateEntryaSERKS_ @ 591 NONAME - _ZN19eap_am_crypto_md4_c10hash_finalEPvPm @ 592 NONAME - _ZN19eap_am_crypto_md4_c11hash_updateEPKvm @ 593 NONAME - _ZN19eap_am_crypto_md4_c12copy_contextEPK19eap_variable_data_cyPKmS4_ @ 594 NONAME - _ZN19eap_am_crypto_md4_c12get_is_validEv @ 595 NONAME - _ZN19eap_am_crypto_md4_c12hash_cleanupEv @ 596 NONAME - _ZN19eap_am_crypto_md4_c12set_is_validEv @ 597 NONAME - _ZN19eap_am_crypto_md4_c14get_block_sizeEv @ 598 NONAME - _ZN19eap_am_crypto_md4_c14set_is_invalidEv @ 599 NONAME - _ZN19eap_am_crypto_md4_c17get_digest_lengthEv @ 600 NONAME - _ZN19eap_am_crypto_md4_c19copy_message_digestEPvPm @ 601 NONAME - _ZN19eap_am_crypto_md4_c20eap_md4_process_dataEPKmm @ 602 NONAME - _ZN19eap_am_crypto_md4_c28eap_md4_transform_host_orderEPKmm @ 603 NONAME - _ZN19eap_am_crypto_md4_c4copyEv @ 604 NONAME - _ZN19eap_am_crypto_md4_c9hash_initEv @ 605 NONAME - _ZN19eap_am_crypto_md4_cC1EP18abs_eap_am_tools_c @ 606 NONAME - _ZN19eap_am_crypto_md4_cC2EP18abs_eap_am_tools_c @ 607 NONAME - _ZN19eap_am_crypto_md4_cD0Ev @ 608 NONAME - _ZN19eap_am_crypto_md4_cD1Ev @ 609 NONAME - _ZN19eap_am_crypto_md4_cD2Ev @ 610 NONAME - _ZN19eap_am_crypto_rc4_c12decrypt_dataEPKvPvm @ 611 NONAME - _ZN19eap_am_crypto_rc4_c12encrypt_dataEPKvPvm @ 612 NONAME - _ZN19eap_am_crypto_rc4_c12get_is_validEv @ 613 NONAME - _ZN19eap_am_crypto_rc4_c12set_is_validEv @ 614 NONAME - _ZN19eap_am_crypto_rc4_c14set_is_invalidEv @ 615 NONAME - _ZN19eap_am_crypto_rc4_c4swapEPhS0_ @ 616 NONAME - _ZN19eap_am_crypto_rc4_c7cleanupEv @ 617 NONAME - _ZN19eap_am_crypto_rc4_c7set_keyEPK19eap_variable_data_c @ 618 NONAME - _ZN19eap_am_crypto_rc4_cC1EP18abs_eap_am_tools_c @ 619 NONAME - _ZN19eap_am_crypto_rc4_cC2EP18abs_eap_am_tools_c @ 620 NONAME - _ZN19eap_am_crypto_rc4_cD0Ev @ 621 NONAME - _ZN19eap_am_crypto_rc4_cD1Ev @ 622 NONAME - _ZN19eap_am_crypto_rc4_cD2Ev @ 623 NONAME - _ZN19eap_am_mutex_base_cC1EPKS_ @ 624 NONAME - _ZN19eap_am_mutex_base_cC1Ev @ 625 NONAME - _ZN19eap_am_mutex_base_cC2EPKS_ @ 626 NONAME - _ZN19eap_am_mutex_base_cC2Ev @ 627 NONAME - _ZN19eap_am_mutex_base_cD0Ev @ 628 NONAME - _ZN19eap_am_mutex_base_cD1Ev @ 629 NONAME - _ZN19eap_am_mutex_base_cD2Ev @ 630 NONAME - _ZN19eap_am_network_id_c12set_is_validEv @ 631 NONAME - _ZN19eap_am_network_id_c22set_copy_of_network_idEPKS_ @ 632 NONAME - _ZN19eap_am_network_id_c25set_copy_of_am_network_idEPKvmS1_mt @ 633 NONAME - _ZN19eap_am_network_id_c5resetEv @ 634 NONAME - _ZN19eap_am_network_id_c8set_typeEt @ 635 NONAME - _ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_c @ 636 NONAME - _ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_cPK19eap_variable_data_cS4_t @ 637 NONAME - _ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_cPKS_ @ 638 NONAME - _ZN19eap_am_network_id_cC1EP18abs_eap_am_tools_cPKvmS3_mtbb @ 639 NONAME - _ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_c @ 640 NONAME - _ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_cPK19eap_variable_data_cS4_t @ 641 NONAME - _ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_cPKS_ @ 642 NONAME - _ZN19eap_am_network_id_cC2EP18abs_eap_am_tools_cPKvmS3_mtbb @ 643 NONAME - _ZN19eap_am_network_id_cD0Ev @ 644 NONAME - _ZN19eap_am_network_id_cD1Ev @ 645 NONAME - _ZN19eap_am_network_id_cD2Ev @ 646 NONAME - _ZN19eap_core_nak_info_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_c19eap_expanded_type_ch @ 647 NONAME - _ZN19eap_core_nak_info_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_c19eap_expanded_type_ch @ 648 NONAME - _ZN19eap_core_nak_info_cD0Ev @ 649 NONAME - _ZN19eap_core_nak_info_cD1Ev @ 650 NONAME - _ZN19eap_core_nak_info_cD2Ev @ 651 NONAME - _ZN19eap_expanded_type_c10write_typeEP18abs_eap_am_tools_cmPvmbS_ @ 652 NONAME - _ZN19eap_expanded_type_c12is_ietf_typeES_ @ 653 NONAME - _ZN19eap_expanded_type_c16is_expanded_typeE22eap_type_ietf_values_e @ 654 NONAME - _ZN19eap_expanded_type_c19set_eap_type_valuesE20eap_type_vendor_id_em @ 655 NONAME - _ZN19eap_expanded_type_c22set_expanded_type_dataEP18abs_eap_am_tools_cPK19eap_variable_data_c @ 656 NONAME - _ZN19eap_expanded_type_c22set_expanded_type_dataEP18abs_eap_am_tools_cPKvm @ 657 NONAME - _ZN19eap_expanded_type_c26get_eap_expanded_type_sizeEv @ 658 NONAME - _ZN19eap_expanded_type_c9read_typeEP18abs_eap_am_tools_cmPKvmPS_ @ 659 NONAME - _ZN19eap_expanded_type_cC1E20eap_type_vendor_id_em @ 660 NONAME - _ZN19eap_expanded_type_cC1E22eap_type_ietf_values_e @ 661 NONAME - _ZN19eap_expanded_type_cC1Ev @ 662 NONAME - _ZN19eap_expanded_type_cC2E20eap_type_vendor_id_em @ 663 NONAME - _ZN19eap_expanded_type_cC2E22eap_type_ietf_values_e @ 664 NONAME - _ZN19eap_expanded_type_cC2Ev @ 665 NONAME - _ZN19eap_expanded_type_cD1Ev @ 666 NONAME - _ZN19eap_expanded_type_cD2Ev @ 667 NONAME - _ZN19eap_expanded_type_caSE22eap_type_ietf_values_e @ 668 NONAME - _ZN19eap_expanded_type_caSERKS_ @ 669 NONAME - _ZN19eap_expanded_type_cadEv @ 670 NONAME - _ZN19eap_header_string_c19get_eap_code_stringE16eap_code_value_e @ 671 NONAME - _ZN19eap_header_string_c19get_eap_type_stringE19eap_expanded_type_c @ 672 NONAME - _ZN19eap_header_string_cC1Ev @ 673 NONAME - _ZN19eap_header_string_cC2Ev @ 674 NONAME - _ZN19eap_header_string_cD0Ev @ 675 NONAME - _ZN19eap_header_string_cD1Ev @ 676 NONAME - _ZN19eap_header_string_cD2Ev @ 677 NONAME - _ZN19eap_status_string_c17get_status_stringE12eap_status_e @ 678 NONAME - _ZN19eap_status_string_cC1Ev @ 679 NONAME - _ZN19eap_status_string_cC2Ev @ 680 NONAME - _ZN19eap_status_string_cD0Ev @ 681 NONAME - _ZN19eap_status_string_cD1Ev @ 682 NONAME - _ZN19eap_status_string_cD2Ev @ 683 NONAME - _ZN19eap_variable_data_c10set_bufferEPKS_ @ 684 NONAME - _ZN19eap_variable_data_c10set_bufferEPKvmbb @ 685 NONAME - _ZN19eap_variable_data_c10set_bufferEPvmbb @ 686 NONAME - _ZN19eap_variable_data_c12add_end_nullEv @ 687 NONAME - _ZN19eap_variable_data_c12set_is_validEv @ 688 NONAME - _ZN19eap_variable_data_c14set_is_invalidEv @ 689 NONAME - _ZN19eap_variable_data_c15allocate_bufferEm @ 690 NONAME - _ZN19eap_variable_data_c15set_data_lengthEm @ 691 NONAME - _ZN19eap_variable_data_c16set_start_offsetEm @ 692 NONAME - _ZN19eap_variable_data_c17set_buffer_lengthEm @ 693 NONAME - _ZN19eap_variable_data_c18add_data_to_offsetEmPKS_ @ 694 NONAME - _ZN19eap_variable_data_c18add_data_to_offsetEmPKvm @ 695 NONAME - _ZN19eap_variable_data_c18initialize_membersEv @ 696 NONAME - _ZN19eap_variable_data_c18set_copy_of_bufferEPKS_ @ 697 NONAME - _ZN19eap_variable_data_c18set_copy_of_bufferEPKvm @ 698 NONAME - _ZN19eap_variable_data_c34reset_start_offset_and_data_lengthEv @ 699 NONAME - _ZN19eap_variable_data_c4initEm @ 700 NONAME - _ZN19eap_variable_data_c5resetEv @ 701 NONAME - _ZN19eap_variable_data_c8add_dataEPKS_ @ 702 NONAME - _ZN19eap_variable_data_c8add_dataEPKvm @ 703 NONAME - _ZN19eap_variable_data_cC1EP18abs_eap_am_tools_c @ 704 NONAME - _ZN19eap_variable_data_cC1EP18abs_eap_am_tools_cPKvmbb @ 705 NONAME - _ZN19eap_variable_data_cC2EP18abs_eap_am_tools_c @ 706 NONAME - _ZN19eap_variable_data_cC2EP18abs_eap_am_tools_cPKvmbb @ 707 NONAME - _ZN19eap_variable_data_cD0Ev @ 708 NONAME - _ZN19eap_variable_data_cD1Ev @ 709 NONAME - _ZN19eap_variable_data_cD2Ev @ 710 NONAME - _ZN19eapol_header_base_c11set_versionE24eapol_protocol_version_e @ 711 NONAME - _ZN19eapol_header_base_c15set_data_lengthEt @ 712 NONAME - _ZN19eapol_header_base_c15set_packet_typeE19eapol_packet_type_e @ 713 NONAME - _ZN19eapol_header_base_c17get_header_lengthEv @ 714 NONAME - _ZN19eapol_header_base_cC1EP18abs_eap_am_tools_cPvm @ 715 NONAME - _ZN19eapol_header_base_cC2EP18abs_eap_am_tools_cPvm @ 716 NONAME - _ZN19eapol_header_base_cD0Ev @ 717 NONAME - _ZN19eapol_header_base_cD1Ev @ 718 NONAME - _ZN19eapol_header_base_cD2Ev @ 719 NONAME - _ZN19eapol_session_key_c12set_key_typeE16eapol_key_type_e @ 720 NONAME - _ZN19eapol_session_key_c13set_key_indexEm @ 721 NONAME - _ZN19eapol_session_key_c14set_key_tx_bitEb @ 722 NONAME - _ZN19eapol_session_key_c19set_sequence_numberEP19eap_variable_data_c @ 723 NONAME - _ZN19eapol_session_key_c25get_eapol_key_type_stringE16eapol_key_type_e @ 724 NONAME - _ZN19eapol_session_key_c7set_keyEPK19eap_variable_data_c @ 725 NONAME - _ZN19eapol_session_key_cC1EP18abs_eap_am_tools_c @ 726 NONAME - _ZN19eapol_session_key_cC1EP18abs_eap_am_tools_cP19eap_variable_data_c16eapol_key_type_embPKhm @ 727 NONAME - _ZN19eapol_session_key_cC2EP18abs_eap_am_tools_c @ 728 NONAME - _ZN19eapol_session_key_cC2EP18abs_eap_am_tools_cP19eap_variable_data_c16eapol_key_type_embPKhm @ 729 NONAME - _ZN19eapol_session_key_cD0Ev @ 730 NONAME - _ZN19eapol_session_key_cD1Ev @ 731 NONAME - _ZN19eapol_session_key_cD2Ev @ 732 NONAME - _ZN20crypto_tls_md5_prf_c12get_is_validEv @ 733 NONAME - _ZN20crypto_tls_md5_prf_c12set_is_validEv @ 734 NONAME - _ZN20crypto_tls_md5_prf_c12tls_prf_initEPK19eap_variable_data_cS2_S2_ @ 735 NONAME - _ZN20crypto_tls_md5_prf_c14set_is_invalidEv @ 736 NONAME - _ZN20crypto_tls_md5_prf_c14tls_prf_outputEPvm @ 737 NONAME - _ZN20crypto_tls_md5_prf_c15tls_prf_cleanupEv @ 738 NONAME - _ZN20crypto_tls_md5_prf_cC1EP18abs_eap_am_tools_c @ 739 NONAME - _ZN20crypto_tls_md5_prf_cC2EP18abs_eap_am_tools_c @ 740 NONAME - _ZN20crypto_tls_md5_prf_cD0Ev @ 741 NONAME - _ZN20crypto_tls_md5_prf_cD1Ev @ 742 NONAME - _ZN20crypto_tls_md5_prf_cD2Ev @ 743 NONAME - _ZN20eap_am_crypto_sha1_c10hash_finalEPvPm @ 744 NONAME - _ZN20eap_am_crypto_sha1_c11hash_updateEPKvm @ 745 NONAME - _ZN20eap_am_crypto_sha1_c12copy_contextEPK19eap_variable_data_cyPKmS4_S4_ @ 746 NONAME - _ZN20eap_am_crypto_sha1_c12get_is_validEv @ 747 NONAME - _ZN20eap_am_crypto_sha1_c12hash_cleanupEv @ 748 NONAME - _ZN20eap_am_crypto_sha1_c12set_is_validEv @ 749 NONAME - _ZN20eap_am_crypto_sha1_c14get_block_sizeEv @ 750 NONAME - _ZN20eap_am_crypto_sha1_c14set_is_invalidEv @ 751 NONAME - _ZN20eap_am_crypto_sha1_c17get_digest_lengthEv @ 752 NONAME - _ZN20eap_am_crypto_sha1_c19copy_message_digestEPvPm @ 753 NONAME - _ZN20eap_am_crypto_sha1_c23eap_sha1_dss_G_functionEPKvmPvPm @ 754 NONAME - _ZN20eap_am_crypto_sha1_c32eap_sha1_process_data_host_orderEPKmm @ 755 NONAME - _ZN20eap_am_crypto_sha1_c35eap_sha1_process_data_network_orderEPKmm @ 756 NONAME - _ZN20eap_am_crypto_sha1_c4copyEv @ 757 NONAME - _ZN20eap_am_crypto_sha1_c9hash_initEv @ 758 NONAME - _ZN20eap_am_crypto_sha1_cC1EP18abs_eap_am_tools_c @ 759 NONAME - _ZN20eap_am_crypto_sha1_cC2EP18abs_eap_am_tools_c @ 760 NONAME - _ZN20eap_am_crypto_sha1_cD0Ev @ 761 NONAME - _ZN20eap_am_crypto_sha1_cD1Ev @ 762 NONAME - _ZN20eap_am_crypto_sha1_cD2Ev @ 763 NONAME - _ZN20eap_buf_chain_base_c10initializeEm @ 764 NONAME - _ZN20eap_buf_chain_base_c11set_encryptEb @ 765 NONAME - _ZN20eap_buf_chain_base_c12get_am_toolsEv @ 766 NONAME - _ZN20eap_buf_chain_base_c13set_is_clientEb @ 767 NONAME - _ZN20eap_buf_chain_base_c15set_data_lengthEm @ 768 NONAME - _ZN20eap_buf_chain_base_c17reset_data_bufferEv @ 769 NONAME - _ZN20eap_buf_chain_base_c17set_buffer_lengthEm @ 770 NONAME - _ZN20eap_buf_chain_base_c17set_stack_addressEPKv @ 771 NONAME - _ZN20eap_buf_chain_base_c18add_data_to_offsetEmPK19eap_variable_data_c @ 772 NONAME - _ZN20eap_buf_chain_base_c18add_data_to_offsetEmPKvm @ 773 NONAME - _ZN20eap_buf_chain_base_c18get_is_manipulatedEv @ 774 NONAME - _ZN20eap_buf_chain_base_c18set_is_manipulatedEv @ 775 NONAME - _ZN20eap_buf_chain_base_c19set_mem_guard_bytesEv @ 776 NONAME - _ZN20eap_buf_chain_base_c20get_mem_guard_lengthEv @ 777 NONAME - _ZN20eap_buf_chain_base_c20set_do_length_checksEb @ 778 NONAME - _ZN20eap_buf_chain_base_c21get_random_error_typeEv @ 779 NONAME - _ZN20eap_buf_chain_base_c21get_send_packet_indexEv @ 780 NONAME - _ZN20eap_buf_chain_base_c21set_random_error_typeE21eap_random_error_type @ 781 NONAME - _ZN20eap_buf_chain_base_c21set_send_packet_indexEm @ 782 NONAME - _ZN20eap_buf_chain_base_c28get_do_packet_retransmissionEv @ 783 NONAME - _ZN20eap_buf_chain_base_c28set_do_packet_retransmissionEb @ 784 NONAME - _ZN20eap_buf_chain_base_c8add_dataEPK19eap_variable_data_c @ 785 NONAME - _ZN20eap_buf_chain_base_c8add_dataEPKvm @ 786 NONAME - _ZN20eap_buf_chain_base_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cPKhmb @ 787 NONAME - _ZN20eap_buf_chain_base_cC2E17eap_read_buffer_eP18abs_eap_am_tools_cm @ 788 NONAME - _ZN20eap_buf_chain_base_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cPhmbbm @ 789 NONAME - _ZN20eap_buf_chain_base_cC2E18eap_write_buffer_eP18abs_eap_am_tools_cm @ 790 NONAME - _ZN20eap_buf_chain_base_cD0Ev @ 791 NONAME - _ZN20eap_buf_chain_base_cD1Ev @ 792 NONAME - _ZN20eap_buf_chain_base_cD2Ev @ 793 NONAME - _ZN20eap_rogue_ap_entry_c15set_mac_addressEPKh @ 794 NONAME - _ZN20eap_rogue_ap_entry_c16set_rogue_reasonE21eap_rogue_ap_reason_e @ 795 NONAME - _ZN20eap_rogue_ap_entry_cC1EP18abs_eap_am_tools_c @ 796 NONAME - _ZN20eap_rogue_ap_entry_cC2EP18abs_eap_am_tools_c @ 797 NONAME - _ZN20eap_rogue_ap_entry_cD0Ev @ 798 NONAME - _ZN20eap_rogue_ap_entry_cD1Ev @ 799 NONAME - _ZN20eap_rogue_ap_entry_cD2Ev @ 800 NONAME - _ZN20eap_type_selection_cC1EP18abs_eap_am_tools_c19eap_expanded_type_cb @ 801 NONAME - _ZN20eap_type_selection_cC2EP18abs_eap_am_tools_c19eap_expanded_type_cb @ 802 NONAME - _ZN20eap_type_selection_cD0Ev @ 803 NONAME - _ZN20eap_type_selection_cD1Ev @ 804 NONAME - _ZN20eap_type_selection_cD2Ev @ 805 NONAME - _ZN21crypto_tls_base_prf_c12get_is_validEv @ 806 NONAME - _ZN21crypto_tls_base_prf_c12set_is_validEv @ 807 NONAME - _ZN21crypto_tls_base_prf_c14set_is_invalidEv @ 808 NONAME - _ZN21crypto_tls_base_prf_c15tls_prf_A_valueEP27abs_crypto_hmac_algorithm_cP19eap_variable_data_cS3_S3_ @ 809 NONAME - _ZN21crypto_tls_base_prf_c15tls_prf_cleanupEv @ 810 NONAME - _ZN21crypto_tls_base_prf_c17tls_prf_one_roundEP27abs_crypto_hmac_algorithm_cPK19eap_variable_data_cPS2_S5_Pvm @ 811 NONAME - _ZN21crypto_tls_base_prf_cC1EP18abs_eap_am_tools_c @ 812 NONAME - _ZN21crypto_tls_base_prf_cC2EP18abs_eap_am_tools_c @ 813 NONAME - _ZN21crypto_tls_base_prf_cD0Ev @ 814 NONAME - _ZN21crypto_tls_base_prf_cD1Ev @ 815 NONAME - _ZN21crypto_tls_base_prf_cD2Ev @ 816 NONAME - _ZN21crypto_tls_sha1_prf_c12get_is_validEv @ 817 NONAME - _ZN21crypto_tls_sha1_prf_c12set_is_validEv @ 818 NONAME - _ZN21crypto_tls_sha1_prf_c12tls_prf_initEPK19eap_variable_data_cS2_S2_ @ 819 NONAME - _ZN21crypto_tls_sha1_prf_c14set_is_invalidEv @ 820 NONAME - _ZN21crypto_tls_sha1_prf_c14tls_prf_outputEPvm @ 821 NONAME - _ZN21crypto_tls_sha1_prf_c15tls_prf_cleanupEv @ 822 NONAME - _ZN21crypto_tls_sha1_prf_cC1EP18abs_eap_am_tools_c @ 823 NONAME - _ZN21crypto_tls_sha1_prf_cC2EP18abs_eap_am_tools_c @ 824 NONAME - _ZN21crypto_tls_sha1_prf_cD0Ev @ 825 NONAME - _ZN21crypto_tls_sha1_prf_cD1Ev @ 826 NONAME - _ZN21crypto_tls_sha1_prf_cD2Ev @ 827 NONAME - _ZN21eap_am_memory_store_c11remove_dataEPK19eap_variable_data_c @ 828 NONAME - _ZN21eap_am_memory_store_c12get_is_validEv @ 829 NONAME - _ZN21eap_am_memory_store_c12set_is_validEv @ 830 NONAME - _ZN21eap_am_memory_store_c13timer_expiredEmPv @ 831 NONAME - _ZN21eap_am_memory_store_c17timer_delete_dataEmPv @ 832 NONAME - _ZN21eap_am_memory_store_c8add_dataEPK19eap_variable_data_cPK22eap_tlv_message_data_cm @ 833 NONAME - _ZN21eap_am_memory_store_c8get_dataEPK19eap_variable_data_cP22eap_tlv_message_data_c @ 834 NONAME - _ZN21eap_am_memory_store_c8shutdownEv @ 835 NONAME - _ZN21eap_am_memory_store_cC1EP18abs_eap_am_tools_c @ 836 NONAME - _ZN21eap_am_memory_store_cC2EP18abs_eap_am_tools_c @ 837 NONAME - _ZN21eap_am_memory_store_cD0Ev @ 838 NONAME - _ZN21eap_am_memory_store_cD1Ev @ 839 NONAME - _ZN21eap_am_memory_store_cD2Ev @ 840 NONAME - _ZN22eap_am_mutex_symbian_c11mutex_enterEv @ 841 NONAME - _ZN22eap_am_mutex_symbian_c11mutex_leaveEP18abs_eap_am_tools_c @ 842 NONAME - _ZN22eap_am_mutex_symbian_c15dublicate_mutexEv @ 843 NONAME - _ZN22eap_am_mutex_symbian_cC1EPKS_ @ 844 NONAME - _ZN22eap_am_mutex_symbian_cC1Ev @ 845 NONAME - _ZN22eap_am_mutex_symbian_cC2EPKS_ @ 846 NONAME - _ZN22eap_am_mutex_symbian_cC2Ev @ 847 NONAME - _ZN22eap_am_mutex_symbian_cD0Ev @ 848 NONAME - _ZN22eap_am_mutex_symbian_cD1Ev @ 849 NONAME - _ZN22eap_am_mutex_symbian_cD2Ev @ 850 NONAME - _ZN22eap_am_tools_symbian_c10get_cryptoEv @ 851 NONAME - _ZN22eap_am_tools_symbian_c11pulse_timerEm @ 852 NONAME - _ZN22eap_am_tools_symbian_c11timer_sleepEm @ 853 NONAME - _ZN22eap_am_tools_symbian_c12am_set_timerEP20abs_eap_base_timer_cmPvm @ 854 NONAME - _ZN22eap_am_tools_symbian_c13config_strlenEPKc @ 855 NONAME - _ZN22eap_am_tools_symbian_c15am_cancel_timerEP20abs_eap_base_timer_cm @ 856 NONAME - _ZN22eap_am_tools_symbian_c15begin_db_deleteER7RDbView @ 857 NONAME - _ZN22eap_am_tools_symbian_c15begin_db_updateER7RDbView @ 858 NONAME - _ZN22eap_am_tools_symbian_c15enter_crypto_csEv @ 859 NONAME - _ZN22eap_am_tools_symbian_c15formatted_printEPKcz @ 860 NONAME - _ZN22eap_am_tools_symbian_c15get_clock_ticksEv @ 861 NONAME - _ZN22eap_am_tools_symbian_c15get_trace_mutexEv @ 862 NONAME - _ZN22eap_am_tools_symbian_c15leave_crypto_csEv @ 863 NONAME - _ZN22eap_am_tools_symbian_c16get_global_mutexEv @ 864 NONAME - _ZN22eap_am_tools_symbian_c16set_trace_prefixEPK19eap_variable_data_c @ 865 NONAME - _ZN22eap_am_tools_symbian_c17enter_trace_mutexEv @ 866 NONAME - _ZN22eap_am_tools_symbian_c17get_gmt_unix_timeEv @ 867 NONAME - _ZN22eap_am_tools_symbian_c17leave_trace_mutexEv @ 868 NONAME - _ZN22eap_am_tools_symbian_c18enter_global_mutexEv @ 869 NONAME - _ZN22eap_am_tools_symbian_c18get_hardware_ticksEv @ 870 NONAME - _ZN22eap_am_tools_symbian_c18leave_global_mutexEv @ 871 NONAME - _ZN22eap_am_tools_symbian_c19set_trace_file_nameEPK19eap_variable_data_c @ 872 NONAME - _ZN22eap_am_tools_symbian_c19u64_struct_to_u64_tE10u64_struct @ 873 NONAME - _ZN22eap_am_tools_symbian_c19u64_t_to_u64_structEy @ 874 NONAME - _ZN22eap_am_tools_symbian_c20am_cancel_all_timersEv @ 875 NONAME - _ZN22eap_am_tools_symbian_c20begin_db_transactionER16RDbNamedDatabase @ 876 NONAME - _ZN22eap_am_tools_symbian_c23convert_unicode_to_utf8ER19eap_variable_data_cRKS0_ @ 877 NONAME - _ZN22eap_am_tools_symbian_c23convert_utf8_to_unicodeER19eap_variable_data_cRKS0_ @ 878 NONAME - _ZN22eap_am_tools_symbian_c23get_timer_resolution_msEv @ 879 NONAME - _ZN22eap_am_tools_symbian_c23re_activate_timer_queueEv @ 880 NONAME - _ZN22eap_am_tools_symbian_c23set_max_trace_file_sizeEm @ 881 NONAME - _ZN22eap_am_tools_symbian_c23set_timer_resolution_msEm @ 882 NONAME - _ZN22eap_am_tools_symbian_c24get_timer_queue_is_emptyEv @ 883 NONAME - _ZN22eap_am_tools_symbian_c25get_clock_ticks_of_secondEv @ 884 NONAME - _ZN22eap_am_tools_symbian_c26get_is_timer_thread_activeEv @ 885 NONAME - _ZN22eap_am_tools_symbian_c28get_hardware_ticks_of_secondEv @ 886 NONAME - _ZN22eap_am_tools_symbian_c30get_use_eap_milli_second_timerEv @ 887 NONAME - _ZN22eap_am_tools_symbian_c30set_use_eap_milli_second_timerEb @ 888 NONAME - _ZN22eap_am_tools_symbian_c31convert_am_error_to_eapol_errorEl @ 889 NONAME - _ZN22eap_am_tools_symbian_c31convert_eapol_error_to_am_errorE12eap_status_e @ 890 NONAME - _ZN22eap_am_tools_symbian_c5sleepEm @ 891 NONAME - _ZN22eap_am_tools_symbian_c6getenvEPK19eap_variable_data_cPS0_ @ 892 NONAME - _ZN22eap_am_tools_symbian_c6memchrEPKvhm @ 893 NONAME - _ZN22eap_am_tools_symbian_c6memcmpEPKvS1_m @ 894 NONAME - _ZN22eap_am_tools_symbian_c6memsetEPvlm @ 895 NONAME - _ZN22eap_am_tools_symbian_c6sprintER6TDes16PKcz @ 896 NONAME - _ZN22eap_am_tools_symbian_c6strlenEPKc @ 897 NONAME - _ZN22eap_am_tools_symbian_c7isspaceEh @ 898 NONAME - _ZN22eap_am_tools_symbian_c7memmoveEPvPKvm @ 899 NONAME - _ZN22eap_am_tools_symbian_c7memrchrEPKvhm @ 900 NONAME - _ZN22eap_am_tools_symbian_c8shutdownEv @ 901 NONAME - _ZN22eap_am_tools_symbian_c8snprintfEPhmPKcz @ 902 NONAME - _ZN22eap_am_tools_symbian_c9configureEv @ 903 NONAME - _ZN22eap_am_tools_symbian_cC1EPKc @ 904 NONAME - _ZN22eap_am_tools_symbian_cC2EPKc @ 905 NONAME - _ZN22eap_am_tools_symbian_cD0Ev @ 906 NONAME - _ZN22eap_am_tools_symbian_cD1Ev @ 907 NONAME - _ZN22eap_am_tools_symbian_cD2Ev @ 908 NONAME - _ZN22eap_tlv_message_data_c12get_is_validEv @ 909 NONAME - _ZN22eap_tlv_message_data_c16add_message_dataEmmPKv @ 910 NONAME - _ZN22eap_tlv_message_data_c16set_message_dataEmPKv @ 911 NONAME - _ZN22eap_tlv_message_data_c17copy_message_dataEmPKv @ 912 NONAME - _ZN22eap_tlv_message_data_c18add_message_headerEmm @ 913 NONAME - _ZN22eap_tlv_message_data_c18parse_message_dataEP11eap_array_cI16eap_tlv_header_cE @ 914 NONAME - _ZN22eap_tlv_message_data_c22add_message_data_arrayEmmP11eap_array_cI19eap_variable_data_cE @ 915 NONAME - _ZN22eap_tlv_message_data_c23allocate_message_bufferEmmPPv @ 916 NONAME - _ZN22eap_tlv_message_data_c28allocate_message_data_bufferEm @ 917 NONAME - _ZN22eap_tlv_message_data_c31object_decrease_reference_countEv @ 918 NONAME - _ZN22eap_tlv_message_data_c31object_increase_reference_countEv @ 919 NONAME - _ZN22eap_tlv_message_data_cC1EP18abs_eap_am_tools_c @ 920 NONAME - _ZN22eap_tlv_message_data_cC2EP18abs_eap_am_tools_c @ 921 NONAME - _ZN22eap_tlv_message_data_cD0Ev @ 922 NONAME - _ZN22eap_tlv_message_data_cD1Ev @ 923 NONAME - _ZN22eap_tlv_message_data_cD2Ev @ 924 NONAME - _ZN23crypto_kd_hmac_sha256_c10expand_keyEP19eap_variable_data_cmPKS0_S3_ @ 925 NONAME - _ZN23crypto_kd_hmac_sha256_c12get_is_validEv @ 926 NONAME - _ZN23crypto_kd_hmac_sha256_cC1EP18abs_eap_am_tools_c @ 927 NONAME - _ZN23crypto_kd_hmac_sha256_cC2EP18abs_eap_am_tools_c @ 928 NONAME - _ZN23crypto_kd_hmac_sha256_cD0Ev @ 929 NONAME - _ZN23crypto_kd_hmac_sha256_cD1Ev @ 930 NONAME - _ZN23crypto_kd_hmac_sha256_cD2Ev @ 931 NONAME - _ZN23eap_am_crypto_sha_256_c10hash_finalEPvPm @ 932 NONAME - _ZN23eap_am_crypto_sha_256_c11hash_updateEPKvm @ 933 NONAME - _ZN23eap_am_crypto_sha_256_c12copy_contextEPK19eap_variable_data_cyPKmS4_S4_ @ 934 NONAME - _ZN23eap_am_crypto_sha_256_c12get_is_validEv @ 935 NONAME - _ZN23eap_am_crypto_sha_256_c12hash_cleanupEv @ 936 NONAME - _ZN23eap_am_crypto_sha_256_c12set_is_validEv @ 937 NONAME - _ZN23eap_am_crypto_sha_256_c14get_block_sizeEv @ 938 NONAME - _ZN23eap_am_crypto_sha_256_c14set_is_invalidEv @ 939 NONAME - _ZN23eap_am_crypto_sha_256_c17get_digest_lengthEv @ 940 NONAME - _ZN23eap_am_crypto_sha_256_c19copy_message_digestEPvPm @ 941 NONAME - _ZN23eap_am_crypto_sha_256_c35eap_sha_256_process_data_host_orderEPKmm @ 942 NONAME - _ZN23eap_am_crypto_sha_256_c38eap_sha_256_process_data_network_orderEPKmm @ 943 NONAME - _ZN23eap_am_crypto_sha_256_c4copyEv @ 944 NONAME - _ZN23eap_am_crypto_sha_256_c9hash_initEv @ 945 NONAME - _ZN23eap_am_crypto_sha_256_cC1EP18abs_eap_am_tools_c @ 946 NONAME - _ZN23eap_am_crypto_sha_256_cC2EP18abs_eap_am_tools_c @ 947 NONAME - _ZN23eap_am_crypto_sha_256_cD0Ev @ 948 NONAME - _ZN23eap_am_crypto_sha_256_cD1Ev @ 949 NONAME - _ZN23eap_am_crypto_sha_256_cD2Ev @ 950 NONAME - _ZN23eap_am_crypto_symbian_c10dh_cleanupEPK19eap_variable_data_c @ 951 NONAME - _ZN23eap_am_crypto_symbian_c10dsa_verifyEP19eap_variable_data_cPKS0_S3_S3_S3_S3_S3_ @ 952 NONAME - _ZN23eap_am_crypto_symbian_c10md4_updateEP19eap_variable_data_cPKhm @ 953 NONAME - _ZN23eap_am_crypto_symbian_c10md5_updateEP19eap_variable_data_cPKhm @ 954 NONAME - _ZN23eap_am_crypto_symbian_c10rsa_verifyEP19eap_variable_data_cPKS0_S3_S3_ @ 955 NONAME - _ZN23eap_am_crypto_symbian_c10sha1_finalEP19eap_variable_data_cPhPm @ 956 NONAME - _ZN23eap_am_crypto_symbian_c11aes_cleanupEP19eap_variable_data_c @ 957 NONAME - _ZN23eap_am_crypto_symbian_c11dsa_cleanupEP19eap_variable_data_c @ 958 NONAME - _ZN23eap_am_crypto_symbian_c11md4_cleanupEP19eap_variable_data_c @ 959 NONAME - _ZN23eap_am_crypto_symbian_c11md5_cleanupEP19eap_variable_data_c @ 960 NONAME - _ZN23eap_am_crypto_symbian_c11rc4_cleanupEP19eap_variable_data_c @ 961 NONAME - _ZN23eap_am_crypto_symbian_c11rc4_decryptEPK19eap_variable_data_cPKvPvm @ 962 NONAME - _ZN23eap_am_crypto_symbian_c11rc4_decryptEPK19eap_variable_data_cPvm @ 963 NONAME - _ZN23eap_am_crypto_symbian_c11rc4_encryptEPK19eap_variable_data_cPKvPvm @ 964 NONAME - _ZN23eap_am_crypto_symbian_c11rc4_encryptEPK19eap_variable_data_cPvm @ 965 NONAME - _ZN23eap_am_crypto_symbian_c11rc4_set_keyEP19eap_variable_data_cPKS0_ @ 966 NONAME - _ZN23eap_am_crypto_symbian_c11rsa_cleanupEP19eap_variable_data_c @ 967 NONAME - _ZN23eap_am_crypto_symbian_c11sha1_updateEP19eap_variable_data_cPKhm @ 968 NONAME - _ZN23eap_am_crypto_symbian_c12set_is_validEv @ 969 NONAME - _ZN23eap_am_crypto_symbian_c12sha1_cleanupEP19eap_variable_data_c @ 970 NONAME - _ZN23eap_am_crypto_symbian_c12sha_256_initEP19eap_variable_data_c @ 971 NONAME - _ZN23eap_am_crypto_symbian_c13add_rand_seedEPKhm @ 972 NONAME - _ZN23eap_am_crypto_symbian_c13sha_256_finalEP19eap_variable_data_cPhPm @ 973 NONAME - _ZN23eap_am_crypto_symbian_c14aes_block_sizeEv @ 974 NONAME - _ZN23eap_am_crypto_symbian_c14aes_key_lengthEv @ 975 NONAME - _ZN23eap_am_crypto_symbian_c14get_rand_bytesEPhm @ 976 NONAME - _ZN23eap_am_crypto_symbian_c14sha_256_updateEP19eap_variable_data_cPKhm @ 977 NONAME - _ZN23eap_am_crypto_symbian_c15sha_256_cleanupEP19eap_variable_data_c @ 978 NONAME - _ZN23eap_am_crypto_symbian_c15use_test_randomEPKhmb @ 979 NONAME - _ZN23eap_am_crypto_symbian_c16cleanup_3des_edeEP19eap_variable_data_c @ 980 NONAME - _ZN23eap_am_crypto_symbian_c16md4_copy_contextEP19eap_variable_data_cPKS0_ @ 981 NONAME - _ZN23eap_am_crypto_symbian_c16md5_copy_contextEP19eap_variable_data_cPKS0_ @ 982 NONAME - _ZN23eap_am_crypto_symbian_c17aes_decrypt_blockEP19eap_variable_data_cPKhPhm @ 983 NONAME - _ZN23eap_am_crypto_symbian_c17aes_encrypt_blockEP19eap_variable_data_cPKhPhm @ 984 NONAME - _ZN23eap_am_crypto_symbian_c17dss_pseudo_randomEPhmS0_m @ 985 NONAME - _ZN23eap_am_crypto_symbian_c17sha1_copy_contextEP19eap_variable_data_cPKS0_ @ 986 NONAME - _ZN23eap_am_crypto_symbian_c18get_md4_block_sizeEP19eap_variable_data_c @ 987 NONAME - _ZN23eap_am_crypto_symbian_c18get_md5_block_sizeEP19eap_variable_data_c @ 988 NONAME - _ZN23eap_am_crypto_symbian_c19block_size_3des_edeEv @ 989 NONAME - _ZN23eap_am_crypto_symbian_c19get_sha1_block_sizeEP19eap_variable_data_c @ 990 NONAME - _ZN23eap_am_crypto_symbian_c19key_length_3des_edeEv @ 991 NONAME - _ZN23eap_am_crypto_symbian_c20sha_256_copy_contextEP19eap_variable_data_cPKS0_ @ 992 NONAME - _ZN23eap_am_crypto_symbian_c21get_md4_digest_lengthEP19eap_variable_data_c @ 993 NONAME - _ZN23eap_am_crypto_symbian_c21get_md5_digest_lengthEP19eap_variable_data_c @ 994 NONAME - _ZN23eap_am_crypto_symbian_c22add_rand_seed_hw_ticksEv @ 995 NONAME - _ZN23eap_am_crypto_symbian_c22aes_set_decryption_keyEP19eap_variable_data_cPKhm @ 996 NONAME - _ZN23eap_am_crypto_symbian_c22aes_set_encryption_keyEP19eap_variable_data_cPKhm @ 997 NONAME - _ZN23eap_am_crypto_symbian_c22decrypt_block_3des_edeEP19eap_variable_data_cPKhPhm @ 998 NONAME - _ZN23eap_am_crypto_symbian_c22encrypt_block_3des_edeEP19eap_variable_data_cPKhPhm @ 999 NONAME - _ZN23eap_am_crypto_symbian_c22generate_g_power_to_xyEPK19eap_variable_data_cS2_PS0_PKhmS5_m @ 1000 NONAME - _ZN23eap_am_crypto_symbian_c22get_sha1_digest_lengthEP19eap_variable_data_c @ 1001 NONAME - _ZN23eap_am_crypto_symbian_c22get_sha_256_block_sizeEP19eap_variable_data_c @ 1002 NONAME - _ZN23eap_am_crypto_symbian_c24open_crypto_memory_leaksEv @ 1003 NONAME - _ZN23eap_am_crypto_symbian_c25close_crypto_memory_leaksEv @ 1004 NONAME - _ZN23eap_am_crypto_symbian_c25get_sha_256_digest_lengthEP19eap_variable_data_c @ 1005 NONAME - _ZN23eap_am_crypto_symbian_c27rsa_decrypt_with_public_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1006 NONAME - _ZN23eap_am_crypto_symbian_c27rsa_encrypt_with_public_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1007 NONAME - _ZN23eap_am_crypto_symbian_c27set_decryption_key_3des_edeEP19eap_variable_data_cPKhm @ 1008 NONAME - _ZN23eap_am_crypto_symbian_c27set_encryption_key_3des_edeEP19eap_variable_data_cPKhm @ 1009 NONAME - _ZN23eap_am_crypto_symbian_c28generate_diffie_hellman_keysEP19eap_variable_data_cS1_PKhmS3_m @ 1010 NONAME - _ZN23eap_am_crypto_symbian_c28rsa_decrypt_with_private_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1011 NONAME - _ZN23eap_am_crypto_symbian_c28rsa_encrypt_with_private_keyEP19eap_variable_data_cPKS0_S3_S1_ @ 1012 NONAME - _ZN23eap_am_crypto_symbian_c8dsa_initEP19eap_variable_data_c @ 1013 NONAME - _ZN23eap_am_crypto_symbian_c8dsa_signEP19eap_variable_data_cPKS0_S3_S1_ @ 1014 NONAME - _ZN23eap_am_crypto_symbian_c8md4_initEP19eap_variable_data_c @ 1015 NONAME - _ZN23eap_am_crypto_symbian_c8md5_initEP19eap_variable_data_c @ 1016 NONAME - _ZN23eap_am_crypto_symbian_c8rsa_initEP19eap_variable_data_c @ 1017 NONAME - _ZN23eap_am_crypto_symbian_c8rsa_signEP19eap_variable_data_cPKS0_S3_S1_ @ 1018 NONAME - _ZN23eap_am_crypto_symbian_c9configureEv @ 1019 NONAME - _ZN23eap_am_crypto_symbian_c9md4_finalEP19eap_variable_data_cPhPm @ 1020 NONAME - _ZN23eap_am_crypto_symbian_c9md5_finalEP19eap_variable_data_cPhPm @ 1021 NONAME - _ZN23eap_am_crypto_symbian_c9sha1_initEP19eap_variable_data_c @ 1022 NONAME - _ZN23eap_am_crypto_symbian_cC1EP18abs_eap_am_tools_c @ 1023 NONAME - _ZN23eap_am_crypto_symbian_cC2EP18abs_eap_am_tools_c @ 1024 NONAME - _ZN23eap_am_crypto_symbian_cD0Ev @ 1025 NONAME - _ZN23eap_am_crypto_symbian_cD1Ev @ 1026 NONAME - _ZN23eap_am_crypto_symbian_cD2Ev @ 1027 NONAME - _ZN23eap_session_core_base_c22new_eap_session_core_cEP18abs_eap_am_tools_cP22abs_eap_session_core_cbm @ 1028 NONAME - _ZN23eap_session_core_base_cC2Ev @ 1029 NONAME - _ZN23eap_session_core_base_cD0Ev @ 1030 NONAME - _ZN23eap_session_core_base_cD1Ev @ 1031 NONAME - _ZN23eap_session_core_base_cD2Ev @ 1032 NONAME - _ZN23network_key_and_index_c12get_is_validEv @ 1033 NONAME - _ZN23network_key_and_index_c15get_network_keyEv @ 1034 NONAME - _ZN23network_key_and_index_c17get_is_valid_dataEv @ 1035 NONAME - _ZN23network_key_and_index_c21set_network_key_indexEh @ 1036 NONAME - _ZN23network_key_and_index_c4copyEv @ 1037 NONAME - _ZN23network_key_and_index_cC1EP18abs_eap_am_tools_c @ 1038 NONAME - _ZN23network_key_and_index_cC2EP18abs_eap_am_tools_c @ 1039 NONAME - _ZN23network_key_and_index_cD0Ev @ 1040 NONAME - _ZN23network_key_and_index_cD1Ev @ 1041 NONAME - _ZN23network_key_and_index_cD2Ev @ 1042 NONAME - _ZN24eap_am_mutex_reference_c13add_referenceEv @ 1043 NONAME - _ZN24eap_am_mutex_reference_c15get_is_reservedEv @ 1044 NONAME - _ZN24eap_am_mutex_reference_c15set_is_reservedEb @ 1045 NONAME - _ZN24eap_am_mutex_reference_c16remove_referenceEv @ 1046 NONAME - _ZN24eap_am_mutex_reference_c19get_reference_countEv @ 1047 NONAME - _ZN24eap_am_mutex_reference_cC1Ev @ 1048 NONAME - _ZN24eap_am_mutex_reference_cC2Ev @ 1049 NONAME - _ZN24eap_am_mutex_reference_cD0Ev @ 1050 NONAME - _ZN24eap_am_mutex_reference_cD1Ev @ 1051 NONAME - _ZN24eap_am_mutex_reference_cD2Ev @ 1052 NONAME - _ZN24eap_master_session_key_c12set_eap_typeE19eap_expanded_type_c @ 1053 NONAME - _ZN24eap_master_session_key_c18copy_leap_passwordEPK19eap_variable_data_c @ 1054 NONAME - _ZN24eap_master_session_key_c8set_copyEPKS_ @ 1055 NONAME - _ZN24eap_master_session_key_cC1EP18abs_eap_am_tools_c19eap_expanded_type_c @ 1056 NONAME - _ZN24eap_master_session_key_cC2EP18abs_eap_am_tools_c19eap_expanded_type_c @ 1057 NONAME - _ZN24eap_master_session_key_cD0Ev @ 1058 NONAME - _ZN24eap_master_session_key_cD1Ev @ 1059 NONAME - _ZN24eap_master_session_key_cD2Ev @ 1060 NONAME - _ZN24eap_state_notification_c16get_state_stringEmm @ 1061 NONAME - _ZN24eap_state_notification_c19get_protocol_stringEmm @ 1062 NONAME - _ZN24eap_state_notification_c23set_notification_stringEPK19eap_variable_data_cb @ 1063 NONAME - _ZN24eap_state_notification_c24set_authentication_errorE12eap_status_e @ 1064 NONAME - _ZN24eap_state_notification_c25get_protocol_layer_stringEm @ 1065 NONAME - _ZN24eap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 1066 NONAME - _ZN24eap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 1067 NONAME - _ZN24eap_state_notification_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 1068 NONAME - _ZN24eap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e19eap_expanded_type_cmmhb @ 1069 NONAME - _ZN24eap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb28eap_state_notification_eap_e20eap_protocol_layer_e22eap_type_ietf_values_emmhb @ 1070 NONAME - _ZN24eap_state_notification_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cb32eap_state_notification_generic_e20eap_protocol_layer_emmmhb @ 1071 NONAME - _ZN24eap_state_notification_cD0Ev @ 1072 NONAME - _ZN24eap_state_notification_cD1Ev @ 1073 NONAME - _ZN24eap_state_notification_cD2Ev @ 1074 NONAME - _ZN25eap_core_retransmission_c19get_send_network_idEv @ 1075 NONAME - _ZN25eap_core_retransmission_c28get_next_retransmission_timeEv @ 1076 NONAME - _ZN25eap_core_retransmission_c31get_next_retransmission_counterEv @ 1077 NONAME - _ZN25eap_core_retransmission_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmmm16eap_code_value_eh19eap_expanded_type_c @ 1078 NONAME - _ZN25eap_core_retransmission_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmmm16eap_code_value_eh19eap_expanded_type_c @ 1079 NONAME - _ZN25eap_core_retransmission_cD0Ev @ 1080 NONAME - _ZN25eap_core_retransmission_cD1Ev @ 1081 NONAME - _ZN25eap_core_retransmission_cD2Ev @ 1082 NONAME - _ZN25eap_general_header_base_c17set_header_bufferEPhm @ 1083 NONAME - _ZN25eap_general_header_base_cC2EP18abs_eap_am_tools_cPvm @ 1084 NONAME - _ZN25eap_general_header_base_cD0Ev @ 1085 NONAME - _ZN25eap_general_header_base_cD1Ev @ 1086 NONAME - _ZN25eap_general_header_base_cD2Ev @ 1087 NONAME - _ZN25eap_network_id_selector_c12set_selectorEPK19eap_am_network_id_c @ 1088 NONAME - _ZN25eap_network_id_selector_cC1EP18abs_eap_am_tools_c @ 1089 NONAME - _ZN25eap_network_id_selector_cC1EP18abs_eap_am_tools_cPK19eap_am_network_id_c @ 1090 NONAME - _ZN25eap_network_id_selector_cC1EP18abs_eap_am_tools_cPKS_ @ 1091 NONAME - _ZN25eap_network_id_selector_cC2EP18abs_eap_am_tools_c @ 1092 NONAME - _ZN25eap_network_id_selector_cC2EP18abs_eap_am_tools_cPK19eap_am_network_id_c @ 1093 NONAME - _ZN25eap_network_id_selector_cC2EP18abs_eap_am_tools_cPKS_ @ 1094 NONAME - _ZN25eap_network_id_selector_cD0Ev @ 1095 NONAME - _ZN25eap_network_id_selector_cD1Ev @ 1096 NONAME - _ZN25eap_network_id_selector_cD2Ev @ 1097 NONAME - _ZN26eapol_ethernet_header_rd_cC1EP18abs_eap_am_tools_cPKhm @ 1098 NONAME - _ZN26eapol_ethernet_header_rd_cC2EP18abs_eap_am_tools_cPKhm @ 1099 NONAME - _ZN26eapol_ethernet_header_rd_cD0Ev @ 1100 NONAME - _ZN26eapol_ethernet_header_rd_cD1Ev @ 1101 NONAME - _ZN26eapol_ethernet_header_rd_cD2Ev @ 1102 NONAME - _ZN26eapol_ethernet_header_wr_c10get_sourceEv @ 1103 NONAME - _ZN26eapol_ethernet_header_wr_c12reset_headerE21eapol_ethernet_type_et @ 1104 NONAME - _ZN26eapol_ethernet_header_wr_c15get_destinationEv @ 1105 NONAME - _ZN26eapol_ethernet_header_wr_cC1EP18abs_eap_am_tools_cPKhm @ 1106 NONAME - _ZN26eapol_ethernet_header_wr_cC2EP18abs_eap_am_tools_cPKhm @ 1107 NONAME - _ZN26eapol_ethernet_header_wr_cD0Ev @ 1108 NONAME - _ZN26eapol_ethernet_header_wr_cD1Ev @ 1109 NONAME - _ZN26eapol_ethernet_header_wr_cD2Ev @ 1110 NONAME - _ZN26simple_config_credential_c12get_is_validEv @ 1111 NONAME - _ZN26simple_config_credential_c15get_MAC_addressEv @ 1112 NONAME - _ZN26simple_config_credential_c16get_network_keysEv @ 1113 NONAME - _ZN26simple_config_credential_c17set_network_indexEh @ 1114 NONAME - _ZN26simple_config_credential_c19get_Encryption_TypeEv @ 1115 NONAME - _ZN26simple_config_credential_c19set_Encryption_TypeE31simple_config_Encryption_Type_e @ 1116 NONAME - _ZN26simple_config_credential_c23get_Authentication_TypeEv @ 1117 NONAME - _ZN26simple_config_credential_c23set_Authentication_TypeE35simple_config_Authentication_Type_e @ 1118 NONAME - _ZN26simple_config_credential_c8get_SSIDEv @ 1119 NONAME - _ZN26simple_config_credential_cC1EP18abs_eap_am_tools_c @ 1120 NONAME - _ZN26simple_config_credential_cC2EP18abs_eap_am_tools_c @ 1121 NONAME - _ZN26simple_config_credential_cD0Ev @ 1122 NONAME - _ZN26simple_config_credential_cD1Ev @ 1123 NONAME - _ZN26simple_config_credential_cD2Ev @ 1124 NONAME - _ZN27abs_crypto_hash_algorithm_cD0Ev @ 1125 NONAME - _ZN27abs_crypto_hash_algorithm_cD1Ev @ 1126 NONAME - _ZN27abs_crypto_hash_algorithm_cD2Ev @ 1127 NONAME - _ZN27abs_crypto_hmac_algorithm_cD0Ev @ 1128 NONAME - _ZN27abs_crypto_hmac_algorithm_cD1Ev @ 1129 NONAME - _ZN27abs_crypto_hmac_algorithm_cD2Ev @ 1130 NONAME - _ZN27eap_am_file_input_symbian_c10file_closeEv @ 1131 NONAME - _ZN27eap_am_file_input_symbian_c10file_writeEPK19eap_variable_data_c @ 1132 NONAME - _ZN27eap_am_file_input_symbian_c11file_deleteEPK19eap_variable_data_c @ 1133 NONAME - _ZN27eap_am_file_input_symbian_c11file_existsEPK19eap_variable_data_c @ 1134 NONAME - _ZN27eap_am_file_input_symbian_c14file_read_lineEP19eap_variable_data_c @ 1135 NONAME - _ZN27eap_am_file_input_symbian_c9file_copyEPK19eap_variable_data_cS2_ @ 1136 NONAME - _ZN27eap_am_file_input_symbian_c9file_openEPK19eap_variable_data_c23eap_file_io_direction_e @ 1137 NONAME - _ZN27eap_am_file_input_symbian_c9file_readEP19eap_variable_data_c @ 1138 NONAME - _ZN27eap_am_file_input_symbian_c9file_sizeEv @ 1139 NONAME - _ZN27eap_am_file_input_symbian_cC1EP18abs_eap_am_tools_c @ 1140 NONAME - _ZN27eap_am_file_input_symbian_cC2EP18abs_eap_am_tools_c @ 1141 NONAME - _ZN27eap_am_file_input_symbian_cD0Ev @ 1142 NONAME - _ZN27eap_am_file_input_symbian_cD1Ev @ 1143 NONAME - _ZN27eap_am_file_input_symbian_cD2Ev @ 1144 NONAME - _ZN28abs_crypto_block_algorithm_cD0Ev @ 1145 NONAME - _ZN28abs_crypto_block_algorithm_cD1Ev @ 1146 NONAME - _ZN28abs_crypto_block_algorithm_cD2Ev @ 1147 NONAME - _ZN28eapol_ethernet_header_base_c17get_header_lengthEv @ 1148 NONAME - _ZN28eapol_ethernet_header_base_c8set_typeE21eapol_ethernet_type_e @ 1149 NONAME - _ZN28eapol_ethernet_header_base_cC1EP18abs_eap_am_tools_cPvm @ 1150 NONAME - _ZN28eapol_ethernet_header_base_cC2EP18abs_eap_am_tools_cPvm @ 1151 NONAME - _ZN28eapol_ethernet_header_base_cD0Ev @ 1152 NONAME - _ZN28eapol_ethernet_header_base_cD1Ev @ 1153 NONAME - _ZN28eapol_ethernet_header_base_cD2Ev @ 1154 NONAME - _ZN29abs_crypto_stream_algorithm_cD0Ev @ 1155 NONAME - _ZN29abs_crypto_stream_algorithm_cD1Ev @ 1156 NONAME - _ZN29abs_crypto_stream_algorithm_cD2Ev @ 1157 NONAME - _ZN30abs_eap_am_memory_store_data_cC1Ev @ 1158 NONAME - _ZN30abs_eap_am_memory_store_data_cC2Ev @ 1159 NONAME - _ZN30abs_eap_am_memory_store_data_cD0Ev @ 1160 NONAME - _ZN30abs_eap_am_memory_store_data_cD1Ev @ 1161 NONAME - _ZN30abs_eap_am_memory_store_data_cD2Ev @ 1162 NONAME - _ZN30crypto_wpa_psk_password_hash_c12get_is_validEv @ 1163 NONAME - _ZN30crypto_wpa_psk_password_hash_c13password_hashEPK19eap_variable_data_cS2_PS0_PvPF12eap_status_eS4_mE @ 1164 NONAME - _ZN30crypto_wpa_psk_password_hash_cC1EP18abs_eap_am_tools_c @ 1165 NONAME - _ZN30crypto_wpa_psk_password_hash_cC2EP18abs_eap_am_tools_c @ 1166 NONAME - _ZN30crypto_wpa_psk_password_hash_cD0Ev @ 1167 NONAME - _ZN30crypto_wpa_psk_password_hash_cD1Ev @ 1168 NONAME - _ZN30crypto_wpa_psk_password_hash_cD2Ev @ 1169 NONAME - _ZN30eap_am_memory_store_tlv_data_c17copy_message_dataEPK22eap_tlv_message_data_cm @ 1170 NONAME - _ZN30eap_am_memory_store_tlv_data_c31object_decrease_reference_countEv @ 1171 NONAME - _ZN30eap_am_memory_store_tlv_data_c31object_increase_reference_countEv @ 1172 NONAME - _ZN30eap_am_memory_store_tlv_data_cC1EP18abs_eap_am_tools_c @ 1173 NONAME - _ZN30eap_am_memory_store_tlv_data_cC2EP18abs_eap_am_tools_c @ 1174 NONAME - _ZN30eap_am_memory_store_tlv_data_cD0Ev @ 1175 NONAME - _ZN30eap_am_memory_store_tlv_data_cD1Ev @ 1176 NONAME - _ZN30eap_am_memory_store_tlv_data_cD2Ev @ 1177 NONAME - _ZN30eap_process_tlv_message_data_c12get_is_validEv @ 1178 NONAME - _ZN30eap_process_tlv_message_data_c15get_type_stringE22eap_tlv_message_type_e @ 1179 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataE12eap_status_e @ 1180 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataE19eap_expanded_type_c @ 1181 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataE22eap_tlv_message_type_em @ 1182 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataE31eap_tlv_message_type_function_e @ 1183 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataE31eapol_key_authentication_type_e @ 1184 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataE38eapol_key_802_11_authentication_mode_e @ 1185 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK11eap_array_cI19eap_expanded_type_cE @ 1186 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK11eap_array_cI23eap_certificate_entry_cE @ 1187 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK11eap_array_cI26simple_config_credential_cE @ 1188 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK11eap_array_cItE @ 1189 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK18eap_buf_chain_wr_c @ 1190 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK19eap_am_network_id_c @ 1191 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK19eap_variable_data_c @ 1192 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK19eap_variable_data_cPK18eap_config_value_c @ 1193 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK19eapol_session_key_c @ 1194 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK21eap_method_settings_c @ 1195 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK23eap_certificate_entry_c @ 1196 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK25eap_general_header_base_c @ 1197 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEPK28abs_eap_state_notification_c @ 1198 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEb @ 1199 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEc @ 1200 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEh @ 1201 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEl @ 1202 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEm @ 1203 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEs @ 1204 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEt @ 1205 NONAME - _ZN30eap_process_tlv_message_data_c18add_parameter_dataEy @ 1206 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP11eap_array_cI19eap_expanded_type_cE @ 1207 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP11eap_array_cI23eap_certificate_entry_cE @ 1208 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP11eap_array_cI23network_key_and_index_cE @ 1209 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP11eap_array_cI26simple_config_credential_cE @ 1210 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP11eap_array_cItE @ 1211 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eap_am_network_id_c @ 1212 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eap_expanded_type_c @ 1213 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eap_variable_data_c @ 1214 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP19eapol_session_key_c @ 1215 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP21eap_method_settings_c @ 1216 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP23eap_certificate_entry_c @ 1217 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP23network_key_and_index_c @ 1218 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP26simple_config_credential_c @ 1219 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cP31eap_tlv_message_type_function_e @ 1220 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPP24eap_state_notification_c @ 1221 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPc @ 1222 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPh @ 1223 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPl @ 1224 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPm @ 1225 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPs @ 1226 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPt @ 1227 NONAME - _ZN30eap_process_tlv_message_data_c18get_parameter_dataEPK16eap_tlv_header_cPy @ 1228 NONAME - _ZN30eap_process_tlv_message_data_c19get_function_stringE31eap_tlv_message_type_function_e @ 1229 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEm22eap_tlv_message_type_eP12eap_status_e @ 1230 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP19eap_am_network_id_c @ 1231 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP19eap_expanded_type_c @ 1232 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP19eap_variable_data_c @ 1233 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP19eapol_session_key_c @ 1234 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP21eap_method_settings_c @ 1235 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP31eap_tlv_message_type_function_e @ 1236 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP31eapol_key_authentication_type_e @ 1237 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP31simple_config_Encryption_Type_e @ 1238 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP33eapol_wlan_authentication_state_e @ 1239 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP35simple_config_Authentication_Type_e @ 1240 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmP38eapol_key_802_11_authentication_mode_e @ 1241 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPN23eap_certificate_entry_c22eap_certificate_type_eE @ 1242 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPN23eapol_RSNA_key_header_c19eapol_RSNA_cipher_eE @ 1243 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPN23eapol_RSNA_key_header_c29eapol_tkip_mic_failure_type_eE @ 1244 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPP24eap_state_notification_c @ 1245 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPS0_I19eap_am_network_id_cE @ 1246 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPS0_I19eap_expanded_type_cE @ 1247 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPS0_I23eap_certificate_entry_cE @ 1248 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPS0_I23network_key_and_index_cE @ 1249 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPS0_I26simple_config_credential_cE @ 1250 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPS0_ItE @ 1251 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPb @ 1252 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPc @ 1253 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPh @ 1254 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPl @ 1255 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPm @ 1256 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPs @ 1257 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPt @ 1258 NONAME - _ZN30eap_process_tlv_message_data_c19read_parameter_dataEPK11eap_array_cI16eap_tlv_header_cEmPy @ 1259 NONAME - _ZN30eap_process_tlv_message_data_c31add_structured_parameter_headerE22eap_tlv_message_type_em @ 1260 NONAME - _ZN30eap_process_tlv_message_data_c31object_decrease_reference_countEv @ 1261 NONAME - _ZN30eap_process_tlv_message_data_c31object_increase_reference_countEv @ 1262 NONAME - _ZN30eap_process_tlv_message_data_cC1EP18abs_eap_am_tools_c @ 1263 NONAME - _ZN30eap_process_tlv_message_data_cC2EP18abs_eap_am_tools_c @ 1264 NONAME - _ZN30eap_process_tlv_message_data_cD0Ev @ 1265 NONAME - _ZN30eap_process_tlv_message_data_cD1Ev @ 1266 NONAME - _ZN30eap_process_tlv_message_data_cD2Ev @ 1267 NONAME - _ZN31crypto_eap_fast_hmac_sha1_prf_c10t_prf_initEPK19eap_variable_data_cS2_S2_ @ 1268 NONAME - _ZN31crypto_eap_fast_hmac_sha1_prf_c12get_is_validEv @ 1269 NONAME - _ZN31crypto_eap_fast_hmac_sha1_prf_c12set_is_validEv @ 1270 NONAME - _ZN31crypto_eap_fast_hmac_sha1_prf_c12t_prf_outputEPvt @ 1271 NONAME - _ZN31crypto_eap_fast_hmac_sha1_prf_c13t_prf_cleanupEv @ 1272 NONAME - _ZN31crypto_eap_fast_hmac_sha1_prf_c14set_is_invalidEv @ 1273 NONAME - _ZN31crypto_eap_fast_hmac_sha1_prf_cC1EP18abs_eap_am_tools_c @ 1274 NONAME - _ZN31crypto_eap_fast_hmac_sha1_prf_cC2EP18abs_eap_am_tools_c @ 1275 NONAME - _ZN31crypto_eap_fast_hmac_sha1_prf_cD0Ev @ 1276 NONAME - _ZN31crypto_eap_fast_hmac_sha1_prf_cD1Ev @ 1277 NONAME - _ZN31crypto_eap_fast_hmac_sha1_prf_cD2Ev @ 1278 NONAME - _ZN32abs_crypto_cbc_block_algorithm_cD0Ev @ 1279 NONAME - _ZN32abs_crypto_cbc_block_algorithm_cD1Ev @ 1280 NONAME - _ZN32abs_crypto_cbc_block_algorithm_cD2Ev @ 1281 NONAME - _ZN32eap_simple_config_trace_string_cC1Ev @ 1282 NONAME - _ZN32eap_simple_config_trace_string_cC2Ev @ 1283 NONAME - _ZN32eap_simple_config_trace_string_cD0Ev @ 1284 NONAME - _ZN32eap_simple_config_trace_string_cD1Ev @ 1285 NONAME - _ZN32eap_simple_config_trace_string_cD2Ev @ 1286 NONAME - _ZN33crypto_ephemeral_diffie_hellman_c10dh_cleanupEPK19eap_variable_data_c @ 1287 NONAME - _ZN33crypto_ephemeral_diffie_hellman_c12get_is_validEv @ 1288 NONAME - _ZN33crypto_ephemeral_diffie_hellman_c12set_is_validEv @ 1289 NONAME - _ZN33crypto_ephemeral_diffie_hellman_c22generate_g_power_to_xyEPK19eap_variable_data_cS2_PS0_PKvmS5_m @ 1290 NONAME - _ZN33crypto_ephemeral_diffie_hellman_c28generate_diffie_hellman_keysEP19eap_variable_data_cS1_PKvmS3_m @ 1291 NONAME - _ZN33crypto_ephemeral_diffie_hellman_cC1EP18abs_eap_am_tools_c @ 1292 NONAME - _ZN33crypto_ephemeral_diffie_hellman_cC2EP18abs_eap_am_tools_c @ 1293 NONAME - _ZN33crypto_ephemeral_diffie_hellman_cD0Ev @ 1294 NONAME - _ZN33crypto_ephemeral_diffie_hellman_cD1Ev @ 1295 NONAME - _ZN33crypto_ephemeral_diffie_hellman_cD2Ev @ 1296 NONAME - _ZNK10eap_core_c19get_is_tunneled_eapEv @ 1297 NONAME - _ZNK11EAPSettings5traceEv @ 1298 NONAME - _ZNK14eap_am_tools_c14get_trace_maskEv @ 1299 NONAME - _ZNK15eap_header_wr_c13get_type_dataEm @ 1300 NONAME - _ZNK15eap_header_wr_c20get_type_data_offsetEmm @ 1301 NONAME - _ZNK16EapMessageBuffer14GetRequestTypeEv @ 1302 NONAME - _ZNK16EapMessageBuffer7GetDataEv @ 1303 NONAME - _ZNK16TEapExpandedType11GetVendorIdEv @ 1304 NONAME - _ZNK16TEapExpandedType13GetVendorTypeEv @ 1305 NONAME - _ZNK16TEapExpandedType7CompareERKS_ @ 1306 NONAME - _ZNK16TEapExpandedType8GetValueEv @ 1307 NONAME - _ZNK16TEapExpandedTypeeqERKS_ @ 1308 NONAME - _ZNK16TEapExpandedTypeneERKS_ @ 1309 NONAME - _ZNK16eap_tlv_header_c12check_headerEv @ 1310 NONAME - _ZNK16eap_tlv_header_c16get_value_lengthEv @ 1311 NONAME - _ZNK16eap_tlv_header_c16get_value_offsetEmm @ 1312 NONAME - _ZNK16eap_tlv_header_c8get_typeEv @ 1313 NONAME - _ZNK16eap_tlv_header_c9get_valueEm @ 1314 NONAME - _ZNK17eap_header_base_c10get_lengthEv @ 1315 NONAME - _ZNK17eap_header_base_c12check_headerEv @ 1316 NONAME - _ZNK17eap_header_base_c13get_ietf_typeEv @ 1317 NONAME - _ZNK17eap_header_base_c13get_type_dataEm @ 1318 NONAME - _ZNK17eap_header_base_c14get_identifierEv @ 1319 NONAME - _ZNK17eap_header_base_c15get_code_stringEv @ 1320 NONAME - _ZNK17eap_header_base_c15get_data_lengthEv @ 1321 NONAME - _ZNK17eap_header_base_c15get_data_offsetEmm @ 1322 NONAME - _ZNK17eap_header_base_c15get_type_stringEv @ 1323 NONAME - _ZNK17eap_header_base_c20get_type_data_lengthEv @ 1324 NONAME - _ZNK17eap_header_base_c20get_type_data_offsetEmm @ 1325 NONAME - _ZNK17eap_header_base_c21get_type_field_lengthEv @ 1326 NONAME - _ZNK17eap_header_base_c8get_codeEv @ 1327 NONAME - _ZNK17eap_header_base_c8get_dataEm @ 1328 NONAME - _ZNK17eap_header_base_c8get_typeEv @ 1329 NONAME - _ZNK17eapol_header_rd_c14get_eap_headerEv @ 1330 NONAME - _ZNK18eap_buf_chain_rd_c15get_data_offsetEmm @ 1331 NONAME - _ZNK18eap_buf_chain_rd_c19get_ethernet_headerEv @ 1332 NONAME - _ZNK18eap_buf_chain_rd_c8get_dataEm @ 1333 NONAME - _ZNK18eap_config_value_c12get_is_validEv @ 1334 NONAME - _ZNK18eap_config_value_c14get_const_dataEv @ 1335 NONAME - _ZNK18eap_config_value_c14get_const_typeEv @ 1336 NONAME - _ZNK19EapCertificateEntry10GetIsValidEv @ 1337 NONAME - _ZNK19EapCertificateEntry11GetCertTypeEv @ 1338 NONAME - _ZNK19EapCertificateEntry12GetIsEnabledEv @ 1339 NONAME - _ZNK19EapCertificateEntry13GetIssuerNameEv @ 1340 NONAME - _ZNK19EapCertificateEntry13GetThumbprintEv @ 1341 NONAME - _ZNK19EapCertificateEntry14GetPrimaryNameEv @ 1342 NONAME - _ZNK19EapCertificateEntry14GetSubjectNameEv @ 1343 NONAME - _ZNK19EapCertificateEntry15GetLabelPresentEv @ 1344 NONAME - _ZNK19EapCertificateEntry15GetSerialNumberEv @ 1345 NONAME - _ZNK19EapCertificateEntry15GetSubjectKeyIdEv @ 1346 NONAME - _ZNK19EapCertificateEntry16GetSecondaryNameEv @ 1347 NONAME - _ZNK19EapCertificateEntry19GetIsEnabledPresentEv @ 1348 NONAME - _ZNK19EapCertificateEntry20GetIssuerNamePresentEv @ 1349 NONAME - _ZNK19EapCertificateEntry20GetThumbprintPresentEv @ 1350 NONAME - _ZNK19EapCertificateEntry21GetPrimaryNamePresentEv @ 1351 NONAME - _ZNK19EapCertificateEntry21GetSubjectNamePresentEv @ 1352 NONAME - _ZNK19EapCertificateEntry22GetSerialNumberPresentEv @ 1353 NONAME - _ZNK19EapCertificateEntry22GetSubjectKeyIdPresentEv @ 1354 NONAME - _ZNK19EapCertificateEntry23GetSecondaryNamePresentEv @ 1355 NONAME - _ZNK19EapCertificateEntry5traceEv @ 1356 NONAME - _ZNK19EapCertificateEntry8GetLabelEv @ 1357 NONAME - _ZNK19eap_am_mutex_base_c12get_is_validEv @ 1358 NONAME - _ZNK19eap_am_mutex_base_c13get_referenceEv @ 1359 NONAME - _ZNK19eap_am_mutex_base_c15get_is_reservedEv @ 1360 NONAME - _ZNK19eap_am_network_id_c10get_sourceEv @ 1361 NONAME - _ZNK19eap_am_network_id_c12get_is_validEv @ 1362 NONAME - _ZNK19eap_am_network_id_c13get_source_idEv @ 1363 NONAME - _ZNK19eap_am_network_id_c14get_network_idEv @ 1364 NONAME - _ZNK19eap_am_network_id_c15get_destinationEv @ 1365 NONAME - _ZNK19eap_am_network_id_c17get_is_valid_dataEv @ 1366 NONAME - _ZNK19eap_am_network_id_c17get_source_lengthEv @ 1367 NONAME - _ZNK19eap_am_network_id_c18compare_network_idEPKS_ @ 1368 NONAME - _ZNK19eap_am_network_id_c18get_destination_idEv @ 1369 NONAME - _ZNK19eap_am_network_id_c22get_destination_lengthEv @ 1370 NONAME - _ZNK19eap_am_network_id_c4copyEv @ 1371 NONAME - _ZNK19eap_am_network_id_c8get_typeEv @ 1372 NONAME - _ZNK19eap_core_nak_info_c18get_eap_identifierEv @ 1373 NONAME - _ZNK19eap_core_nak_info_c21get_proposed_eap_typeEv @ 1374 NONAME - _ZNK19eap_expanded_type_c12get_is_validEv @ 1375 NONAME - _ZNK19eap_expanded_type_c13get_type_dataEP18abs_eap_am_tools_cP22eap_type_ietf_values_e @ 1376 NONAME - _ZNK19eap_expanded_type_c13get_type_dataEP18abs_eap_am_tools_cPS_ @ 1377 NONAME - _ZNK19eap_expanded_type_c13get_vendor_idEv @ 1378 NONAME - _ZNK19eap_expanded_type_c15get_vendor_typeEv @ 1379 NONAME - _ZNK19eap_expanded_type_c17get_is_valid_dataEv @ 1380 NONAME - _ZNK19eap_expanded_type_c22get_expanded_type_dataEP18abs_eap_am_tools_cP19eap_variable_data_c @ 1381 NONAME - _ZNK19eap_expanded_type_c4copyEv @ 1382 NONAME - _ZNK19eap_expanded_type_c7compareEPKS_ @ 1383 NONAME - _ZNK19eap_expanded_type_cadEv @ 1384 NONAME - _ZNK19eap_expanded_type_ceqE22eap_type_ietf_values_e @ 1385 NONAME - _ZNK19eap_expanded_type_ceqERKS_ @ 1386 NONAME - _ZNK19eap_expanded_type_cneE22eap_type_ietf_values_e @ 1387 NONAME - _ZNK19eap_expanded_type_cneERKS_ @ 1388 NONAME - _ZNK19eap_variable_data_c10get_bufferEm @ 1389 NONAME - _ZNK19eap_variable_data_c12get_is_validEv @ 1390 NONAME - _ZNK19eap_variable_data_c14compare_lengthEPKS_m @ 1391 NONAME - _ZNK19eap_variable_data_c14compare_lengthEPKvmm @ 1392 NONAME - _ZNK19eap_variable_data_c15get_data_lengthEv @ 1393 NONAME - _ZNK19eap_variable_data_c15get_data_offsetEmm @ 1394 NONAME - _ZNK19eap_variable_data_c15get_is_writableEv @ 1395 NONAME - _ZNK19eap_variable_data_c17get_buffer_lengthEv @ 1396 NONAME - _ZNK19eap_variable_data_c17get_buffer_offsetEmm @ 1397 NONAME - _ZNK19eap_variable_data_c17get_is_valid_dataEv @ 1398 NONAME - _ZNK19eap_variable_data_c4copyEv @ 1399 NONAME - _ZNK19eap_variable_data_c4hashEm @ 1400 NONAME - _ZNK19eap_variable_data_c7compareEPKS_ @ 1401 NONAME - _ZNK19eap_variable_data_c7compareEPKvm @ 1402 NONAME - _ZNK19eap_variable_data_c8get_dataEm @ 1403 NONAME - _ZNK19eap_variable_data_c8get_dataEv @ 1404 NONAME - _ZNK19eapol_header_base_c11get_versionEv @ 1405 NONAME - _ZNK19eapol_header_base_c12check_headerEv @ 1406 NONAME - _ZNK19eapol_header_base_c15get_data_lengthEv @ 1407 NONAME - _ZNK19eapol_header_base_c15get_packet_typeEv @ 1408 NONAME - _ZNK19eapol_header_base_c15get_type_stringEv @ 1409 NONAME - _ZNK19eapol_header_base_c8get_dataEm @ 1410 NONAME - _ZNK19eapol_session_key_c12get_is_validEv @ 1411 NONAME - _ZNK19eapol_session_key_c12get_key_typeEv @ 1412 NONAME - _ZNK19eapol_session_key_c13get_key_indexEv @ 1413 NONAME - _ZNK19eapol_session_key_c14get_key_tx_bitEv @ 1414 NONAME - _ZNK19eapol_session_key_c19get_sequence_numberEv @ 1415 NONAME - _ZNK19eapol_session_key_c7get_keyEv @ 1416 NONAME - _ZNK20eap_buf_chain_base_c11get_encryptEv @ 1417 NONAME - _ZNK20eap_buf_chain_base_c12check_guardsEv @ 1418 NONAME - _ZNK20eap_buf_chain_base_c12get_is_validEv @ 1419 NONAME - _ZNK20eap_buf_chain_base_c13get_is_clientEv @ 1420 NONAME - _ZNK20eap_buf_chain_base_c15get_data_lengthEv @ 1421 NONAME - _ZNK20eap_buf_chain_base_c15get_data_offsetEmm @ 1422 NONAME - _ZNK20eap_buf_chain_base_c17check_guard_bytesEPKh @ 1423 NONAME - _ZNK20eap_buf_chain_base_c17get_buffer_lengthEv @ 1424 NONAME - _ZNK20eap_buf_chain_base_c17get_is_valid_dataEv @ 1425 NONAME - _ZNK20eap_buf_chain_base_c17get_stack_addressEv @ 1426 NONAME - _ZNK20eap_buf_chain_base_c20get_do_length_checksEv @ 1427 NONAME - _ZNK20eap_buf_chain_base_c8get_dataEm @ 1428 NONAME - _ZNK20eap_rogue_ap_entry_c15get_mac_addressEPh @ 1429 NONAME - _ZNK20eap_rogue_ap_entry_c15get_mac_addressEv @ 1430 NONAME - _ZNK20eap_rogue_ap_entry_c16get_rogue_reasonEv @ 1431 NONAME - _ZNK20eap_rogue_ap_entry_c4copyEv @ 1432 NONAME - _ZNK20eap_type_selection_c12get_is_validEv @ 1433 NONAME - _ZNK20eap_type_selection_c14get_is_enabledEv @ 1434 NONAME - _ZNK20eap_type_selection_c17get_is_valid_dataEv @ 1435 NONAME - _ZNK20eap_type_selection_c4copyEv @ 1436 NONAME - _ZNK20eap_type_selection_c8get_typeEv @ 1437 NONAME - _ZNK22eap_am_mutex_symbian_c12get_is_validEv @ 1438 NONAME - _ZNK22eap_am_mutex_symbian_c15get_is_reservedEv @ 1439 NONAME - _ZNK22eap_am_mutex_symbian_c16get_owner_threadEv @ 1440 NONAME - _ZNK22eap_am_mutex_symbian_c9get_mutexEv @ 1441 NONAME - _ZNK22eap_am_tools_symbian_c12get_is_validEv @ 1442 NONAME - _ZNK22eap_tlv_message_data_c16get_message_dataEv @ 1443 NONAME - _ZNK22eap_tlv_message_data_c23get_message_data_lengthEv @ 1444 NONAME - _ZNK23eap_am_crypto_symbian_c12get_is_validEv @ 1445 NONAME - _ZNK23network_key_and_index_c21get_network_key_constEv @ 1446 NONAME - _ZNK23network_key_and_index_c21get_network_key_indexEv @ 1447 NONAME - _ZNK24eap_master_session_key_c12get_eap_typeEv @ 1448 NONAME - _ZNK24eap_master_session_key_c17get_leap_passwordEv @ 1449 NONAME - _ZNK24eap_state_notification_c12get_eap_typeEv @ 1450 NONAME - _ZNK24eap_state_notification_c12get_protocolEv @ 1451 NONAME - _ZNK24eap_state_notification_c13get_is_clientEv @ 1452 NONAME - _ZNK24eap_state_notification_c17get_current_stateEv @ 1453 NONAME - _ZNK24eap_state_notification_c18get_eap_identifierEv @ 1454 NONAME - _ZNK24eap_state_notification_c18get_previous_stateEv @ 1455 NONAME - _ZNK24eap_state_notification_c18get_protocol_layerEv @ 1456 NONAME - _ZNK24eap_state_notification_c19get_protocol_stringEv @ 1457 NONAME - _ZNK24eap_state_notification_c19get_send_network_idEv @ 1458 NONAME - _ZNK24eap_state_notification_c23get_notification_stringEv @ 1459 NONAME - _ZNK24eap_state_notification_c24get_authentication_errorEv @ 1460 NONAME - _ZNK24eap_state_notification_c24get_current_state_stringEv @ 1461 NONAME - _ZNK24eap_state_notification_c25get_previous_state_stringEv @ 1462 NONAME - _ZNK24eap_state_notification_c25get_protocol_layer_stringEv @ 1463 NONAME - _ZNK24eap_state_notification_c26get_allow_send_eap_successEv @ 1464 NONAME - _ZNK24eap_state_notification_c32get_needs_confirmation_from_userEv @ 1465 NONAME - _ZNK25eap_core_retransmission_c12get_eap_codeEv @ 1466 NONAME - _ZNK25eap_core_retransmission_c12get_eap_typeEv @ 1467 NONAME - _ZNK25eap_core_retransmission_c12get_is_validEv @ 1468 NONAME - _ZNK25eap_core_retransmission_c15get_buffer_sizeEv @ 1469 NONAME - _ZNK25eap_core_retransmission_c15get_data_lengthEv @ 1470 NONAME - _ZNK25eap_core_retransmission_c15get_sent_packetEv @ 1471 NONAME - _ZNK25eap_core_retransmission_c17get_header_offsetEv @ 1472 NONAME - _ZNK25eap_core_retransmission_c18get_eap_identifierEv @ 1473 NONAME - _ZNK25eap_core_retransmission_c26get_retransmission_counterEv @ 1474 NONAME - _ZNK25eap_general_header_base_c12get_am_toolsEv @ 1475 NONAME - _ZNK25eap_general_header_base_c12get_is_validEv @ 1476 NONAME - _ZNK25eap_general_header_base_c17get_header_bufferEm @ 1477 NONAME - _ZNK25eap_general_header_base_c17get_header_offsetEmm @ 1478 NONAME - _ZNK25eap_general_header_base_c24get_header_buffer_lengthEv @ 1479 NONAME - _ZNK25eap_network_id_selector_c4copyEv @ 1480 NONAME - _ZNK26eap_static_expanded_type_c8get_typeEv @ 1481 NONAME - _ZNK26eapol_ethernet_header_rd_c16get_eapol_headerEv @ 1482 NONAME - _ZNK26eapol_ethernet_header_wr_c16get_eapol_headerEv @ 1483 NONAME - _ZNK26simple_config_credential_c14get_SSID_constEv @ 1484 NONAME - _ZNK26simple_config_credential_c17get_network_indexEv @ 1485 NONAME - _ZNK26simple_config_credential_c21get_MAC_address_constEv @ 1486 NONAME - _ZNK26simple_config_credential_c22get_network_keys_constEv @ 1487 NONAME - _ZNK28eapol_ethernet_header_base_c10get_sourceEv @ 1488 NONAME - _ZNK28eapol_ethernet_header_base_c12check_headerEv @ 1489 NONAME - _ZNK28eapol_ethernet_header_base_c15get_data_lengthEv @ 1490 NONAME - _ZNK28eapol_ethernet_header_base_c15get_destinationEv @ 1491 NONAME - _ZNK28eapol_ethernet_header_base_c17get_source_lengthEv @ 1492 NONAME - _ZNK28eapol_ethernet_header_base_c22get_destination_lengthEv @ 1493 NONAME - _ZNK28eapol_ethernet_header_base_c8get_dataEm @ 1494 NONAME - _ZNK28eapol_ethernet_header_base_c8get_typeEv @ 1495 NONAME - _ZNK30eap_am_memory_store_tlv_data_c12get_timer_idEv @ 1496 NONAME - _ZNK30eap_am_memory_store_tlv_data_c16get_message_dataEv @ 1497 NONAME - _ZNK30eap_am_memory_store_tlv_data_c23get_message_data_lengthEv @ 1498 NONAME - _ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK11eap_array_cI19eap_expanded_type_cE @ 1499 NONAME - _ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK11eap_array_cI23eap_certificate_entry_cE @ 1500 NONAME - _ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK11eap_array_cI23network_key_and_index_cE @ 1501 NONAME - _ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK11eap_array_cI26simple_config_credential_cE @ 1502 NONAME - _ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK11eap_array_cItE @ 1503 NONAME - _ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK19eap_am_network_id_c @ 1504 NONAME - _ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK19eap_variable_data_c @ 1505 NONAME - _ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK19eap_variable_data_cPK18eap_config_value_c @ 1506 NONAME - _ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK19eapol_session_key_c @ 1507 NONAME - _ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK21eap_method_settings_c @ 1508 NONAME - _ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK23eap_certificate_entry_c @ 1509 NONAME - _ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK23network_key_and_index_c @ 1510 NONAME - _ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK26simple_config_credential_c @ 1511 NONAME - _ZNK30eap_process_tlv_message_data_c16get_payload_sizeEPK28abs_eap_state_notification_c @ 1512 NONAME - _ZNK32eap_simple_config_trace_string_c16get_state_stringE21simple_config_state_e @ 1513 NONAME - _ZNK32eap_simple_config_trace_string_c23get_message_type_stringE28simple_config_Message_Type_e @ 1514 NONAME - _ZNK32eap_simple_config_trace_string_c25get_attribute_type_stringE30simple_config_Attribute_Type_e @ 1515 NONAME - _ZTI10eap_core_c @ 1516 NONAME - _ZTI11EAPSettings @ 1517 NONAME - _ZTI12crypto_aes_c @ 1518 NONAME - _ZTI12crypto_cbc_c @ 1519 NONAME - _ZTI12crypto_dsa_c @ 1520 NONAME - _ZTI12crypto_md4_c @ 1521 NONAME - _ZTI12crypto_md5_c @ 1522 NONAME - _ZTI12crypto_rc4_c @ 1523 NONAME - _ZTI12crypto_rsa_c @ 1524 NONAME - _ZTI13crypto_hmac_c @ 1525 NONAME - _ZTI13crypto_sha1_c @ 1526 NONAME - _ZTI14eap_am_tools_c @ 1527 NONAME - _ZTI15EapMessageQueue @ 1528 NONAME - _ZTI15crypto_random_c @ 1529 NONAME - _ZTI15eap_base_type_c @ 1530 NONAME - _ZTI15eap_header_rd_c @ 1531 NONAME - _ZTI15eap_header_wr_c @ 1532 NONAME - _ZTI16EapMessageBuffer @ 1533 NONAME - _ZTI16EapServerStrings @ 1534 NONAME - _ZTI16TEapExpandedType @ 1535 NONAME - _ZTI16crypto_nt_hash_c @ 1536 NONAME - _ZTI16crypto_sha_256_c @ 1537 NONAME - _ZTI16crypto_tls_prf_c @ 1538 NONAME - _ZTI16eap_tlv_header_c @ 1539 NONAME - _ZTI17crypto_3des_ede_c @ 1540 NONAME - _ZTI17crypto_aes_wrap_c @ 1541 NONAME - _ZTI17eap_file_config_c @ 1542 NONAME - _ZTI17eap_header_base_c @ 1543 NONAME - _ZTI17eap_timer_queue_c @ 1544 NONAME - _ZTI17eapol_header_rd_c @ 1545 NONAME - _ZTI17eapol_header_wr_c @ 1546 NONAME - _ZTI18abs_eap_am_mutex_c @ 1547 NONAME - _ZTI18eap_buf_chain_rd_c @ 1548 NONAME - _ZTI18eap_buf_chain_wr_c @ 1549 NONAME - _ZTI18eap_config_value_c @ 1550 NONAME - _ZTI18eap_session_core_c @ 1551 NONAME - _ZTI19EapCertificateEntry @ 1552 NONAME - _ZTI19eap_am_crypto_md4_c @ 1553 NONAME - _ZTI19eap_am_crypto_rc4_c @ 1554 NONAME - _ZTI19eap_am_mutex_base_c @ 1555 NONAME - _ZTI19eap_am_network_id_c @ 1556 NONAME - _ZTI19eap_core_nak_info_c @ 1557 NONAME - _ZTI19eap_header_string_c @ 1558 NONAME - _ZTI19eap_method_values_c @ 1559 NONAME - _ZTI19eap_status_string_c @ 1560 NONAME - _ZTI19eap_variable_data_c @ 1561 NONAME - _ZTI19eapol_header_base_c @ 1562 NONAME - _ZTI19eapol_session_key_c @ 1563 NONAME - _ZTI20crypto_tls_md5_prf_c @ 1564 NONAME - _ZTI20eap_am_crypto_sha1_c @ 1565 NONAME - _ZTI20eap_buf_chain_base_c @ 1566 NONAME - _ZTI20eap_rogue_ap_entry_c @ 1567 NONAME - _ZTI20eap_type_selection_c @ 1568 NONAME - _ZTI21crypto_tls_base_prf_c @ 1569 NONAME - _ZTI21crypto_tls_sha1_prf_c @ 1570 NONAME - _ZTI21eap_am_memory_store_c @ 1571 NONAME - _ZTI21eap_method_settings_c @ 1572 NONAME - _ZTI21tls_peap_tlv_header_c @ 1573 NONAME - _ZTI22eap_am_mutex_symbian_c @ 1574 NONAME - _ZTI22eap_am_tools_symbian_c @ 1575 NONAME - _ZTI22eap_timer_queue_hash_c @ 1576 NONAME - _ZTI22eap_tlv_message_data_c @ 1577 NONAME - _ZTI23crypto_kd_hmac_sha256_c @ 1578 NONAME - _ZTI23eap_am_crypto_sha_256_c @ 1579 NONAME - _ZTI23eap_am_crypto_symbian_c @ 1580 NONAME - _ZTI23eap_certificate_entry_c @ 1581 NONAME - _ZTI23eap_session_core_base_c @ 1582 NONAME - _ZTI23eap_timer_queue_event_c @ 1583 NONAME - _ZTI23network_key_and_index_c @ 1584 NONAME - _ZTI24eap_am_mutex_reference_c @ 1585 NONAME - _ZTI24eap_master_session_key_c @ 1586 NONAME - _ZTI24eap_state_notification_c @ 1587 NONAME - _ZTI25eap_core_retransmission_c @ 1588 NONAME - _ZTI25eap_general_header_base_c @ 1589 NONAME - _ZTI25eap_network_id_selector_c @ 1590 NONAME - _ZTI26eapol_ethernet_header_rd_c @ 1591 NONAME - _ZTI26eapol_ethernet_header_wr_c @ 1592 NONAME - _ZTI26simple_config_credential_c @ 1593 NONAME - _ZTI27abs_crypto_hash_algorithm_c @ 1594 NONAME - _ZTI27abs_crypto_hmac_algorithm_c @ 1595 NONAME - _ZTI27eap_am_file_input_symbian_c @ 1596 NONAME - _ZTI28abs_crypto_block_algorithm_c @ 1597 NONAME - _ZTI28eapol_ethernet_header_base_c @ 1598 NONAME - _ZTI29abs_crypto_stream_algorithm_c @ 1599 NONAME - _ZTI30abs_eap_am_memory_store_data_c @ 1600 NONAME - _ZTI30crypto_wpa_psk_password_hash_c @ 1601 NONAME - _ZTI30eap_am_memory_store_tlv_data_c @ 1602 NONAME - _ZTI30eap_process_tlv_message_data_c @ 1603 NONAME - _ZTI31crypto_eap_fast_hmac_sha1_prf_c @ 1604 NONAME - _ZTI32abs_crypto_cbc_block_algorithm_c @ 1605 NONAME - _ZTI32eap_simple_config_trace_string_c @ 1606 NONAME - _ZTI33crypto_ephemeral_diffie_hellman_c @ 1607 NONAME - _ZTV10eap_core_c @ 1608 NONAME - _ZTV11EAPSettings @ 1609 NONAME - _ZTV12crypto_aes_c @ 1610 NONAME - _ZTV12crypto_cbc_c @ 1611 NONAME - _ZTV12crypto_dsa_c @ 1612 NONAME - _ZTV12crypto_md4_c @ 1613 NONAME - _ZTV12crypto_md5_c @ 1614 NONAME - _ZTV12crypto_rc4_c @ 1615 NONAME - _ZTV12crypto_rsa_c @ 1616 NONAME - _ZTV13crypto_hmac_c @ 1617 NONAME - _ZTV13crypto_sha1_c @ 1618 NONAME - _ZTV14eap_am_tools_c @ 1619 NONAME - _ZTV15EapMessageQueue @ 1620 NONAME - _ZTV15crypto_random_c @ 1621 NONAME - _ZTV15eap_base_type_c @ 1622 NONAME - _ZTV15eap_header_rd_c @ 1623 NONAME - _ZTV15eap_header_wr_c @ 1624 NONAME - _ZTV16EapMessageBuffer @ 1625 NONAME - _ZTV16EapServerStrings @ 1626 NONAME - _ZTV16TEapExpandedType @ 1627 NONAME - _ZTV16crypto_nt_hash_c @ 1628 NONAME - _ZTV16crypto_sha_256_c @ 1629 NONAME - _ZTV16crypto_tls_prf_c @ 1630 NONAME - _ZTV16eap_tlv_header_c @ 1631 NONAME - _ZTV17crypto_3des_ede_c @ 1632 NONAME - _ZTV17crypto_aes_wrap_c @ 1633 NONAME - _ZTV17eap_file_config_c @ 1634 NONAME - _ZTV17eap_header_base_c @ 1635 NONAME - _ZTV17eap_timer_queue_c @ 1636 NONAME - _ZTV17eapol_header_rd_c @ 1637 NONAME - _ZTV17eapol_header_wr_c @ 1638 NONAME - _ZTV18abs_eap_am_mutex_c @ 1639 NONAME - _ZTV18eap_buf_chain_rd_c @ 1640 NONAME - _ZTV18eap_buf_chain_wr_c @ 1641 NONAME - _ZTV18eap_config_value_c @ 1642 NONAME - _ZTV18eap_session_core_c @ 1643 NONAME - _ZTV19EapCertificateEntry @ 1644 NONAME - _ZTV19eap_am_crypto_md4_c @ 1645 NONAME - _ZTV19eap_am_crypto_rc4_c @ 1646 NONAME - _ZTV19eap_am_mutex_base_c @ 1647 NONAME - _ZTV19eap_am_network_id_c @ 1648 NONAME - _ZTV19eap_core_nak_info_c @ 1649 NONAME - _ZTV19eap_header_string_c @ 1650 NONAME - _ZTV19eap_method_values_c @ 1651 NONAME - _ZTV19eap_status_string_c @ 1652 NONAME - _ZTV19eap_variable_data_c @ 1653 NONAME - _ZTV19eapol_header_base_c @ 1654 NONAME - _ZTV19eapol_session_key_c @ 1655 NONAME - _ZTV20crypto_tls_md5_prf_c @ 1656 NONAME - _ZTV20eap_am_crypto_sha1_c @ 1657 NONAME - _ZTV20eap_buf_chain_base_c @ 1658 NONAME - _ZTV20eap_rogue_ap_entry_c @ 1659 NONAME - _ZTV20eap_type_selection_c @ 1660 NONAME - _ZTV21crypto_tls_base_prf_c @ 1661 NONAME - _ZTV21crypto_tls_sha1_prf_c @ 1662 NONAME - _ZTV21eap_am_memory_store_c @ 1663 NONAME - _ZTV21eap_method_settings_c @ 1664 NONAME - _ZTV21tls_peap_tlv_header_c @ 1665 NONAME - _ZTV22eap_am_mutex_symbian_c @ 1666 NONAME - _ZTV22eap_am_tools_symbian_c @ 1667 NONAME - _ZTV22eap_timer_queue_hash_c @ 1668 NONAME - _ZTV22eap_tlv_message_data_c @ 1669 NONAME - _ZTV23crypto_kd_hmac_sha256_c @ 1670 NONAME - _ZTV23eap_am_crypto_sha_256_c @ 1671 NONAME - _ZTV23eap_am_crypto_symbian_c @ 1672 NONAME - _ZTV23eap_certificate_entry_c @ 1673 NONAME - _ZTV23eap_session_core_base_c @ 1674 NONAME - _ZTV23eap_timer_queue_event_c @ 1675 NONAME - _ZTV23network_key_and_index_c @ 1676 NONAME - _ZTV24eap_am_mutex_reference_c @ 1677 NONAME - _ZTV24eap_master_session_key_c @ 1678 NONAME - _ZTV24eap_state_notification_c @ 1679 NONAME - _ZTV25eap_core_retransmission_c @ 1680 NONAME - _ZTV25eap_general_header_base_c @ 1681 NONAME - _ZTV25eap_network_id_selector_c @ 1682 NONAME - _ZTV26eapol_ethernet_header_rd_c @ 1683 NONAME - _ZTV26eapol_ethernet_header_wr_c @ 1684 NONAME - _ZTV26simple_config_credential_c @ 1685 NONAME - _ZTV27abs_crypto_hash_algorithm_c @ 1686 NONAME - _ZTV27abs_crypto_hmac_algorithm_c @ 1687 NONAME - _ZTV27eap_am_file_input_symbian_c @ 1688 NONAME - _ZTV28abs_crypto_block_algorithm_c @ 1689 NONAME - _ZTV28eapol_ethernet_header_base_c @ 1690 NONAME - _ZTV29abs_crypto_stream_algorithm_c @ 1691 NONAME - _ZTV30abs_eap_am_memory_store_data_c @ 1692 NONAME - _ZTV30crypto_wpa_psk_password_hash_c @ 1693 NONAME - _ZTV30eap_am_memory_store_tlv_data_c @ 1694 NONAME - _ZTV30eap_process_tlv_message_data_c @ 1695 NONAME - _ZTV31crypto_eap_fast_hmac_sha1_prf_c @ 1696 NONAME - _ZTV32abs_crypto_cbc_block_algorithm_c @ 1697 NONAME - _ZTV32eap_simple_config_trace_string_c @ 1698 NONAME - _ZTV33crypto_ephemeral_diffie_hellman_c @ 1699 NONAME - _ZThn12_N10eap_core_c12get_is_validEv @ 1700 NONAME - _ZThn12_N10eap_core_c12set_is_validEv @ 1701 NONAME - _ZThn12_N10eap_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 1702 NONAME - _ZThn12_N10eap_core_c8shutdownEv @ 1703 NONAME - _ZThn12_N10eap_core_c9configureEv @ 1704 NONAME - _ZThn12_N10eap_core_cD0Ev @ 1705 NONAME - _ZThn12_N10eap_core_cD1Ev @ 1706 NONAME - _ZThn12_N18eap_session_core_c12get_is_validEv @ 1707 NONAME - _ZThn12_N18eap_session_core_c12set_is_validEv @ 1708 NONAME - _ZThn12_N18eap_session_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 1709 NONAME - _ZThn12_N18eap_session_core_c8shutdownEv @ 1710 NONAME - _ZThn12_N18eap_session_core_c9configureEv @ 1711 NONAME - _ZThn12_N18eap_session_core_cD0Ev @ 1712 NONAME - _ZThn12_N18eap_session_core_cD1Ev @ 1713 NONAME - _ZThn16_N18eap_session_core_c12get_is_validEv @ 1714 NONAME - _ZThn16_N18eap_session_core_c14packet_processEPK19eap_am_network_id_cP25eap_general_header_base_cm @ 1715 NONAME - _ZThn16_N18eap_session_core_c15eap_acknowledgeEPK19eap_am_network_id_c @ 1716 NONAME - _ZThn16_N18eap_session_core_c18create_eap_sessionEPK19eap_am_network_id_c @ 1717 NONAME - _ZThn16_N18eap_session_core_c18remove_eap_sessionEbPK19eap_am_network_id_c @ 1718 NONAME - _ZThn16_N18eap_session_core_c23cancel_all_eap_sessionsEv @ 1719 NONAME - _ZThn16_N18eap_session_core_c25send_eap_identity_requestEPK19eap_am_network_id_c @ 1720 NONAME - _ZThn16_N18eap_session_core_c30get_802_11_authentication_modeEPK19eap_am_network_id_c31eapol_key_authentication_type_ePK19eap_variable_data_cS6_ @ 1721 NONAME - _ZThn16_N18eap_session_core_c33set_eap_database_reference_valuesEPK19eap_variable_data_c @ 1722 NONAME - _ZThn16_N18eap_session_core_c5resetEv @ 1723 NONAME - _ZThn16_N18eap_session_core_c8shutdownEv @ 1724 NONAME - _ZThn16_N18eap_session_core_c9configureEv @ 1725 NONAME - _ZThn16_N18eap_session_core_cD0Ev @ 1726 NONAME - _ZThn16_N18eap_session_core_cD1Ev @ 1727 NONAME - _ZThn4_N10eap_core_c11load_moduleE19eap_expanded_type_cS0_P19abs_eap_base_type_cPP15eap_base_type_cbPK19eap_am_network_id_c @ 1728 NONAME - _ZThn4_N10eap_core_c11packet_sendEPK19eap_am_network_id_cP18eap_buf_chain_wr_cmmm @ 1729 NONAME - _ZThn4_N10eap_core_c12add_rogue_apER11eap_array_cI20eap_rogue_ap_entry_cE @ 1730 NONAME - _ZThn4_N10eap_core_c12cancel_timerEP20abs_eap_base_timer_cm @ 1731 NONAME - _ZThn4_N10eap_core_c13unload_moduleE19eap_expanded_type_c @ 1732 NONAME - _ZThn4_N10eap_core_c14read_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1733 NONAME - _ZThn4_N10eap_core_c15write_configureEPK25eap_configuration_field_cP19eap_variable_data_c @ 1734 NONAME - _ZThn4_N10eap_core_c17get_eap_type_listEP11eap_array_cI19eap_expanded_type_cE @ 1735 NONAME - _ZThn4_N10eap_core_c17get_header_offsetEPmS0_ @ 1736 NONAME - _ZThn4_N10eap_core_c18state_notificationEPK28abs_eap_state_notification_c @ 1737 NONAME - _ZThn4_N10eap_core_c19set_session_timeoutEm @ 1738 NONAME - _ZThn4_N10eap_core_c22get_saved_eap_identityEP19eap_variable_data_c @ 1739 NONAME - _ZThn4_N10eap_core_c22restart_authenticationEPK19eap_am_network_id_cb @ 1740 NONAME - _ZThn4_N10eap_core_c23check_is_valid_eap_typeE19eap_expanded_type_c @ 1741 NONAME - _ZThn4_N10eap_core_c23packet_data_crypto_keysEPK19eap_am_network_id_cPK24eap_master_session_key_c @ 1742 NONAME - _ZThn4_N10eap_core_c23set_authentication_roleEb @ 1743 NONAME - _ZThn4_N10eap_core_c27complete_eap_identity_queryEPK19eap_am_network_id_cPK19eap_variable_data_ch @ 1744 NONAME - _ZThn4_N10eap_core_c9set_timerEP20abs_eap_base_timer_cmPvm @ 1745 NONAME - _ZThn4_N10eap_core_cD0Ev @ 1746 NONAME - _ZThn4_N10eap_core_cD1Ev @ 1747 NONAME - _ZThn4_N14eap_am_tools_cD0Ev @ 1748 NONAME - _ZThn4_N14eap_am_tools_cD1Ev @ 1749 NONAME - _ZThn4_N18eap_session_core_cD0Ev @ 1750 NONAME - _ZThn4_N18eap_session_core_cD1Ev @ 1751 NONAME - _ZThn4_N21eap_am_memory_store_c13timer_expiredEmPv @ 1752 NONAME - _ZThn4_N21eap_am_memory_store_c17timer_delete_dataEmPv @ 1753 NONAME - _ZThn4_N21eap_am_memory_store_cD0Ev @ 1754 NONAME - _ZThn4_N21eap_am_memory_store_cD1Ev @ 1755 NONAME - _ZThn4_N22eap_am_mutex_symbian_cD0Ev @ 1756 NONAME - _ZThn4_N22eap_am_mutex_symbian_cD1Ev @ 1757 NONAME - _ZThn4_N22eap_am_tools_symbian_cD0Ev @ 1758 NONAME - _ZThn4_N22eap_am_tools_symbian_cD1Ev @ 1759 NONAME - _ZThn4_NK10eap_core_c19get_is_tunneled_eapEv @ 1760 NONAME - _ZThn536_N22eap_am_tools_symbian_cD0Ev @ 1761 NONAME - _ZThn536_N22eap_am_tools_symbian_cD1Ev @ 1762 NONAME - _ZThn8_N10eap_core_c13timer_expiredEmPv @ 1763 NONAME - _ZThn8_N10eap_core_c17timer_delete_dataEmPv @ 1764 NONAME - _ZThn8_N10eap_core_cD0Ev @ 1765 NONAME - _ZThn8_N10eap_core_cD1Ev @ 1766 NONAME - _ZThn8_N18eap_session_core_c13timer_expiredEmPv @ 1767 NONAME - _ZThn8_N18eap_session_core_c17timer_delete_dataEmPv @ 1768 NONAME - _ZThn8_N18eap_session_core_cD0Ev @ 1769 NONAME - _ZThn8_N18eap_session_core_cD1Ev @ 1770 NONAME - _ZN10eap_core_c36asynchronous_init_remove_eap_sessionEv @ 1771 NONAME - _ZN10eap_core_c43cancel_asynchronous_init_remove_eap_sessionEv @ 1772 NONAME - _ZN10eap_core_c47initialize_asynchronous_init_remove_eap_sessionEm @ 1773 NONAME - _ZN18eap_session_core_c36asynchronous_init_remove_eap_sessionEPK25eap_network_id_selector_c @ 1774 NONAME - _ZN22eap_am_tools_symbian_c17stop_timer_threadEv @ 1775 NONAME - _ZN22eap_am_tools_symbian_c18start_timer_threadEv @ 1776 NONAME - _ZN27eap_am_file_input_symbian_c12get_is_validEv @ 1777 NONAME - _ZN27eap_am_file_input_symbian_c14directory_openEPK19eap_variable_data_c @ 1778 NONAME - _ZN27eap_am_file_input_symbian_c14directory_readEP11eap_array_cI19abs_eap_file_stat_cE @ 1779 NONAME - _ZN27eap_am_file_input_symbian_c14file_read_wordEP19eap_variable_data_c @ 1780 NONAME - _ZN27eap_am_file_input_symbian_c15directory_closeEv @ 1781 NONAME - dss_pseudo_random @ 1782 NONAME - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/tools/eabi/eaptraceu.def --- a/eapol/eapol_framework/eapol_symbian/tools/eabi/eaptraceu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -EXPORTS - _Z22eap_trace_data_symbianPKcPKvj @ 1 NONAME - diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/tools/group/bld.inf --- a/eapol/eapol_framework/eapol_symbian/tools/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Build information file for tools objects used by all other modules. This must be compiled first before any other module. -* -*/ - -/* -* %version: 4 % -*/ - -#ifndef _EAP_TOOLS_GROUP_BLD_INF_ -#define _EAP_TOOLS_GROUP_BLD_INF_ - -#include - -PRJ_PLATFORMS -DEFAULT - -PRJ_EXPORTS - - -PRJ_MMPFILES - -// Eap Trace -eaptrace.mmp - -// Eap Tools -eaptools.mmp - -// Eap Tools for Symbian -eapsymbiantools.mmp - -#endif //#ifndef _EAP_TOOLS_GROUP_BLD_INF_ - -// End of file. diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/tools/group/eapsymbiantools.mmp --- a/eapol/eapol_framework/eapol_symbian/tools/group/eapsymbiantools.mmp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Project definition file for tools library. -* -*/ - -/* -* %version: 10 % -*/ - -//------------------------------------------------------------------- - -#include -#include "../../group/eapol.mmh" - -//------------------------------------------------------------------- - -CAPABILITY CAP_GENERAL_DLL -VENDORID VID_DEFAULT - -TARGET eapsymbiantools.dll -TARGETTYPE dll -UID 0x1000008d 0x20026fd0 - -deffile eapsymbiantools.def - -SOURCEPATH ../../am/common/symbian -SOURCE EapExpandedType.cpp -SOURCE EapPluginTools.cpp - -/////////////////////////////////////////////////////////////////// - -LANG SC - -USERINCLUDE ../../am/type/symbian/plugin/include -USERINCLUDE ../../am/common -USERINCLUDE ../../../eapol_common/am/common -USERINCLUDE ../../am/include -USERINCLUDE ../../../eapol_common/am/include -USERINCLUDE ../../../eapol_common/include -USERINCLUDE ../../../eapol_common/type -USERINCLUDE ../../../eapol_common/am/common/DSS_random -USERINCLUDE ../../../eapol_common/type/tls_peap/tls/include -USERINCLUDE ../../../eapol_common/type/simple_config/simple_config/include -USERINCLUDE ../../../eapol_common/type/simple_config/eap/include - -USERINCLUDE ../../eap_if/include -USERINCLUDE ../../eap_server/include - - -SYSTEMINCLUDE /epoc32/include/ecom -SYSTEMINCLUDE /epoc32/include/kernel -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/libc/netinet - - -MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. - -LIBRARY eaptools.lib eaptrace.lib -LIBRARY ecom.lib -LIBRARY euser.lib hash.lib random.lib cryptography.lib efsrv.lib asn1.lib edbms.lib -LIBRARY charconv.lib - -MACRO USE_EAP_INTERFACE_EXPORTS - - -//------------------------------------------------------------------- -// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/tools/group/eaptools.mmp --- a/eapol/eapol_framework/eapol_symbian/tools/group/eaptools.mmp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,171 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Project definition file for EAP-tools project. -* -*/ - -/* -* %version: 12 % -*/ - -//------------------------------------------------------------------- - -#include -#include "../../group/eapol.mmh" - -//------------------------------------------------------------------- - -CAPABILITY CAP_GENERAL_DLL -VENDORID VID_DEFAULT - -TARGET eaptools.dll -TARGETTYPE dll -UID 0x1000008d 0x20026FC8 - -deffile eaptools.def - -SOURCEPATH ../../am/common/symbian -SOURCE dll_entry.cpp -SOURCE eap_am_tools_symbian.cpp - -SOURCEPATH ../../am/common/symbian -SOURCE eap_am_crypto_symbian.cpp -SOURCE eap_am_mutex_symbian.cpp -SOURCE EapConversion.cpp -SOURCE EapExpandedType.cpp -SOURCE EapMessageQueue.cpp -SOURCE EapSettings.cpp - -SOURCEPATH ../../eap_server/src/ -SOURCE EapServerStrings.cpp - -SOURCEPATH ../../am/common/DSS_random -SOURCE dss_random_symbian.cpp - -#if defined(USE_EAP_ASSERT_STACK_TRACE) -SOURCEPATH ../../../eapol_common/am/common/stack -SOURCE eap_am_stack_trace.cpp -#endif //#if defined(USE_EAP_ASSERT_STACK_TRACE) - -SOURCEPATH ../../../eapol_common/am/common/crypto/md4 -SOURCE eap_am_crypto_md4.cpp - -SOURCEPATH ../../../eapol_common/am/common/crypto/rc4 -SOURCE eap_am_crypto_rc4.cpp - -SOURCEPATH ../../../eapol_common/am/common/crypto/sha1 -SOURCE eap_am_crypto_sha1.cpp - -SOURCEPATH ../../../eapol_common/am/common/crypto/sha-256 -SOURCE eap_am_crypto_sha_256.cpp - -SOURCEPATH ../../../eapol_common/am/common -SOURCE eap_am_memory.cpp -SOURCE eap_am_network_id.cpp -SOURCE eap_am_tools.cpp -SOURCE eap_timer_queue.cpp -SOURCE eap_am_memory_store.cpp -SOURCE eap_am_memory_store_data.cpp -SOURCE abs_eap_am_mutex.cpp -SOURCE eap_file_config.cpp - -SOURCEPATH ../../am/common/file_io/symbian -SOURCE eap_am_file_input_symbian.cpp - -LIBRARY bafl.lib - -/////////////////////////////////////////////////////////////////// - -LANG SC - -SOURCEPATH ../../../eapol_common/common -SOURCE eap_base_type.cpp -SOURCE eap_buffer.cpp -SOURCE eap_crypto_api.cpp -SOURCE eap_header.cpp -SOURCE eap_expanded_type.cpp -SOURCE eap_header_string.cpp -SOURCE eap_state_notification.cpp -SOURCE eap_tools.cpp -SOURCE eap_status_string.cpp -SOURCE eap_variable_data.cpp -SOURCE eap_master_session_key.cpp -SOURCE eap_general_header_base.cpp -SOURCE eap_rogue_ap_entry.cpp -SOURCE eap_memory_store_variable_data.cpp -SOURCE eapol_session_key.cpp -SOURCE eap_network_id_selector.cpp -SOURCE eapol_ethernet_header.cpp -SOURCE eapol_header.cpp -SOURCE eap_tlv_header.cpp -SOURCE eap_tlv_message_data.cpp -SOURCE eap_method_settings.cpp - -SOURCEPATH ../../../eapol_common/core -SOURCE eap_core.cpp -SOURCE eap_core_nak_info.cpp -SOURCE eap_core_retransmission.cpp -SOURCE eap_session_core.cpp -SOURCE eap_type_selection.cpp -SOURCE eap_process_tlv_message_data.cpp -SOURCE eap_session_core_base.cpp - -SOURCEPATH ../../am/eap_test_timer/symbian -SOURCE eap_test_timer.cpp - -SOURCEPATH ../../../eapol_common/type/tls_peap/tls/src -SOURCE tls_peap_tlv_header.cpp - -SOURCEPATH ../../../eapol_common/type/simple_config/simple_config/src -SOURCE simple_config_credential.cpp -SOURCE simple_config_types.cpp - -USERINCLUDE .. -USERINCLUDE ../../am/type/symbian/plugin/include -USERINCLUDE ../../am/common -USERINCLUDE ../../../eapol_common/am/common -USERINCLUDE ../../am/include -USERINCLUDE ../../../eapol_common/am/include -USERINCLUDE ../../../eapol_common/include -USERINCLUDE ../../../eapol_common/type -USERINCLUDE ../../../eapol_common/am/common/DSS_random -USERINCLUDE ../../../eapol_common/type/tls_peap/tls/include -USERINCLUDE ../../../eapol_common/type/simple_config/simple_config/include -USERINCLUDE ../../../eapol_common/type/simple_config/eap/include - -#if defined(EAP_USE_WPXM) -USERINCLUDE ../../../eapol_common/wpx_include -#endif //#if defined(EAP_USE_WPXM) -USERINCLUDE ../../eap_if/include -USERINCLUDE ../../eap_server/include - - -SYSTEMINCLUDE /epoc32/include/ecom -SYSTEMINCLUDE /epoc32/include/kernel -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/libc/netinet - - -MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. - -// Note, do not add eapsymbiantools.lib here. This library cannot use eapsymbiantools.lib because eapsymbiantools.lib already uses eaptools.lib. -LIBRARY ecom.lib -LIBRARY eaptrace.lib -LIBRARY euser.lib hash.lib random.lib cryptography.lib efsrv.lib asn1.lib edbms.lib -LIBRARY charconv.lib - -MACRO USE_EAP_INTERFACE_EXPORTS - -//------------------------------------------------------------------- -// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/tools/group/eaptrace.mmp --- a/eapol/eapol_framework/eapol_symbian/tools/group/eaptrace.mmp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -/* -* Copyright (c) 2001-2010 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: Project definition file for trace library. -* -*/ - -/* -* %version: 5 % -*/ - -//------------------------------------------------------------------- - -#include -#include "../../group/eapol.mmh" - -//------------------------------------------------------------------- - -CAPABILITY CAP_GENERAL_DLL -VENDORID VID_DEFAULT - -TARGET eaptrace.dll -TARGETTYPE dll -UID 0x1000008d 0x2002b38f - -deffile eaptrace.def - -SOURCEPATH ../../am/common/symbian -SOURCE eap_am_trace_symbian.cpp - -/////////////////////////////////////////////////////////////////// - -LANG SC - -USERINCLUDE ../../am/type/symbian/plugin/include -USERINCLUDE ../../am/common -USERINCLUDE ../../../eapol_common/am/common -USERINCLUDE ../../am/include -USERINCLUDE ../../../eapol_common/am/include -USERINCLUDE ../../../eapol_common/include -USERINCLUDE ../../../eapol_common/type -USERINCLUDE ../../../eapol_common/am/common/DSS_random -USERINCLUDE ../../../eapol_common/type/tls_peap/tls/include -USERINCLUDE ../../../eapol_common/type/simple_config/simple_config/include -USERINCLUDE ../../../eapol_common/type/simple_config/eap/include - -USERINCLUDE ../../eap_if/include -USERINCLUDE ../../eap_server/include - - -SYSTEMINCLUDE /epoc32/include/ecom -SYSTEMINCLUDE /epoc32/include/kernel -SYSTEMINCLUDE /epoc32/include/libc -SYSTEMINCLUDE /epoc32/include/libc/netinet - - -MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. - -LIBRARY ecom.lib -LIBRARY euser.lib hash.lib random.lib cryptography.lib efsrv.lib asn1.lib edbms.lib -LIBRARY charconv.lib - -MACRO USE_EAP_INTERFACE_EXPORTS - - -//------------------------------------------------------------------- -// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/group/bld.inf --- a/eapol/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -25,8 +25,6 @@ PRJ_EXPORTS PRJ_MMPFILES -// Tools libraries are used by many other modules. Tools libraries must be build first. -#include "../eapol_framework/eapol_symbian/tools/group/bld.inf" #include "../eapol_framework/eapol_symbian/group/bld.inf" PRJ_TESTMMPFILES diff -r bad0cc58d154 -r c74b3d9f6b9e group/bld.inf --- a/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 +++ b/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2001-2009 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" @@ -11,13 +11,12 @@ * * Contributors: * -* Description: Build information file for all -* project in eapol subsystem +* Description: Build information file for all project in eapol subsystem * */ /* -* %version: 8 % +* %version: % */ PRJ_PLATFORMS @@ -26,8 +25,8 @@ PRJ_EXPORTS PRJ_MMPFILES - +#include "../wlansecuritysettings/group/bld.inf" #include "../accesssec_plat/group/bld.inf" #include "../eapol/group/bld.inf" -PRJ_TESTMMPFILES +PRJ_TESTMMPFILES \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e layers.sysdef.xml --- a/layers.sysdef.xml Tue Aug 31 15:16:37 2010 +0300 +++ b/layers.sysdef.xml Wed Sep 01 12:23:57 2010 +0100 @@ -1,14 +1,19 @@ - ]> - + - - + + + + + + + \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e package_definition.xml --- a/package_definition.xml Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r bad0cc58d154 -r c74b3d9f6b9e package_map.xml --- a/package_map.xml Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapciphersuiteui/bwins/cpeapciphersuiteuiu.def --- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/bwins/cpeapciphersuiteuiu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -EXPORTS - ??_ECpEapCiphersuiteUi@@UAE@I@Z @ 1 NONAME ; CpEapCiphersuiteUi::~CpEapCiphersuiteUi(unsigned int) - ??1CpEapCiphersuiteUi@@UAE@XZ @ 2 NONAME ; CpEapCiphersuiteUi::~CpEapCiphersuiteUi(void) - ??0CpEapCiphersuiteUi@@QAE@AAVQVariant@@@Z @ 3 NONAME ; CpEapCiphersuiteUi::CpEapCiphersuiteUi(class QVariant &) - ?ciphersuites@CpEapCiphersuiteUi@@QAE?AVQVariant@@XZ @ 4 NONAME ; class QVariant CpEapCiphersuiteUi::ciphersuites(void) - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapciphersuiteui/cpeapciphersuiteui.pro --- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/cpeapciphersuiteui.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# Control Panel QT UI for TLS ciphersuite configuration in EAP methods -# - -# %version: 9 % - - -TEMPLATE = lib -TARGET = cpeapciphersuiteui - -DEFINES += BUILD_CP_EAP_CIPHERSUITE_UI_DLL - -CONFIG += hb - -LIBS += -lcpframework - -MOC_DIR = _build -RCC_DIR = _build -OBJECTS_DIR= _build - -HEADERS += \ - ../inc/eapuidefs.h \ - inc/cpeapciphersuiteui.h \ - inc/cpeapciphersuiteui_p.h - -SOURCES += \ - src/cpeapciphersuiteui.cpp \ - src/cpeapciphersuiteui_p.cpp - -symbian: { - TARGET.UID3 = 0x2002C2F8 - TARGET.CAPABILITY = CAP_GENERAL_DLL - TARGET.EPOCALLOWDLLDATA = 1 - - defFilePath = . - - BLD_INF_RULES.prj_exports += \ - "rom/cpeapciphersuiteui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpeapciphersuiteui.iby)" \ - "inc/cpeapciphersuiteui.h |../inc/cpeapciphersuiteui.h" - -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapciphersuiteui/eabi/cpeapciphersuiteuiu.def --- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/eabi/cpeapciphersuiteuiu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ -EXPORTS - _ZN18CpEapCiphersuiteUi12ciphersuitesEv @ 1 NONAME - _ZN18CpEapCiphersuiteUiC1ER8QVariant @ 2 NONAME - _ZN18CpEapCiphersuiteUiC2ER8QVariant @ 3 NONAME - _ZN18CpEapCiphersuiteUiD0Ev @ 4 NONAME - _ZN18CpEapCiphersuiteUiD1Ev @ 5 NONAME - _ZN18CpEapCiphersuiteUiD2Ev @ 6 NONAME - _ZTI18CpEapCiphersuiteUi @ 7 NONAME - _ZTV18CpEapCiphersuiteUi @ 8 NONAME - _ZThn8_N18CpEapCiphersuiteUiD0Ev @ 9 NONAME - _ZThn8_N18CpEapCiphersuiteUiD1Ev @ 10 NONAME - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapciphersuiteui/inc/cpeapciphersuiteui.h --- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/inc/cpeapciphersuiteui.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: -* Control Panel QT UI for TLS ciphersuite configiration in EAP methods -* -*/ - -/* -* %version: 3 % -*/ - - -#ifndef CP_EAP_CIPHERSUITE_UI_H -#define CP_EAP_CIPHERSUITE_UI_H - -// System includes -#include -#include - -// User includes - -// Forward declarations -class CpEapCiphersuiteUiPrivate; - -// External data types - -// Constants - - -//If BUILD_CP_EAP_CIPHERSUITE_UI_DLL macro is defined -// in the project file, -//The dll is exported, -//otherwise, -//the dll will be imported(used) -#ifdef BUILD_CP_EAP_CIPHERSUITE_UI_DLL -#define CP_EAP_CIPHERSUITE_UI_EXPORT Q_DECL_EXPORT -#else -#define CP_EAP_CIPHERSUITE_UI_EXPORT Q_DECL_IMPORT -#endif - - -/*! - * @addtogroup group_eap_cipher_suite - * @{ - */ -class CP_EAP_CIPHERSUITE_UI_EXPORT CpEapCiphersuiteUi: public CpSettingFormItemData -{ -public: - CpEapCiphersuiteUi( QVariant &ciphersuites ); - ~CpEapCiphersuiteUi(); - - QVariant ciphersuites(); - -private: - Q_DISABLE_COPY(CpEapCiphersuiteUi) - CpEapCiphersuiteUi(); - QScopedPointer d_ptr; -}; - -/*! @} */ - -#endif - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapciphersuiteui/inc/cpeapciphersuiteui_p.h --- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/inc/cpeapciphersuiteui_p.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: -* Control Panel QT UI for TLS ciphersuite configiration in EAP methods -* -*/ - -/* -* %version: 4 % -*/ - -#ifndef CP_EAP_CIPHERSUITE_UI_P_H -#define CP_EAP_CIPHERSUITE_UI_P_H - -// System includes -#include - -// User includes - -// Forward declarations -class CpSettingFormItemData; - -// External data types - -// Constants - -/*! - * @addtogroup group_eap_cipher_suite - * @{ - */ - -class CpEapCiphersuiteUiPrivate -{ -public: - CpEapCiphersuiteUiPrivate(); - - ~CpEapCiphersuiteUiPrivate(); - - int ciphersuiteSelected(QVariant suites, int id); - - CpSettingFormItemData* createGroupItem( - QVariant &suites, QString name, int id); - -private: - friend class CpEapCiphersuiteUi; - QHash mSuiteMapper; -}; - -/*! @} */ - -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapciphersuiteui/rom/cpeapciphersuiteui.iby --- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/rom/cpeapciphersuiteui.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: Image description file for cipher suites UI -* -*/ - -/* -* %version: 3 % -*/ - -#ifndef CPEAPCIPHERSUITEUI_IBY -#define CPEAPCIPHERSUITEUI_IBY - -#include -#include - -#ifdef __PROTOCOL_WLAN - -file=ABI_DIR/BUILD_DIR/cpeapciphersuiteui.dll SHARED_LIB_DIR/cpeapciphersuiteui.dll - -#endif // __PROTOCOL_WLAN - -#endif // CPEAPCIPHERSUITEUI_IBY diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapciphersuiteui/src/cpeapciphersuiteui.cpp --- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/src/cpeapciphersuiteui.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: -* Control Panel QT UI for TLS ciphersuite configiration in EAP methods -* -*/ - -/* -* %version: 8 % -*/ - -// System includes -#include -#include - -// User includes -#include "cpeapciphersuiteui.h" -#include "cpeapciphersuiteui_p.h" -#include "eapuidefs.h" - -/*! - * \class CpEapCiphersuiteUi - * \brief Control Panel QT UI for TLS ciphersuite configiration in EAP methods. - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param suites List of selected cipher suites - */ -CpEapCiphersuiteUi::CpEapCiphersuiteUi( QVariant &suites ) : - CpSettingFormItemData(HbDataFormModelItem::GroupItem, hbTrId( - "txt_occ_subhead_cipher_suites")) -{ - qDebug("CpEapCiphersuiteUi::CpEapCiphersuiteUi()"); - d_ptr.reset(new CpEapCiphersuiteUiPrivate()); - - appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_RSA_AES_SHA, - EapQtConfig::TLS_RSA_WITH_AES_128_CBC_SHA)); - - appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_DHE_RSA_AES_SHA, - EapQtConfig::TLS_DHE_RSA_WITH_AES_128_CBC_SHA)); - - appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_DHE_DSS_AES_SHA, - EapQtConfig::TLS_DHE_DSS_WITH_AES_128_CBC_SHA)); - - appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_RSA_3DES_SHA, - EapQtConfig::TLS_RSA_WITH_3DES_EDE_CBC_SHA)); - - appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_DHE_RSA_3DES_SHA, - EapQtConfig::TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA)); - - appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_DHE_DSS_3DES_SHA, - EapQtConfig::TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA)); - - appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_RSA_RC4_MD5, - EapQtConfig::TLS_RSA_WITH_RC4_128_MD5)); - - appendChild(d_ptr->createGroupItem(suites, EapQtUiConstants::EapCipher_RSA_RC4_SHA, - EapQtConfig::TLS_RSA_WITH_RC4_128_SHA)); - - qDebug("CpEapCiphersuiteUi::CpEapCiphersuiteUi() - complete"); -} - -/*! - * Destructor. - */ -CpEapCiphersuiteUi::~CpEapCiphersuiteUi() -{ - -} - -/*! - * Creates list of selected cipher suites - * - * @return List of selected cipher suites - */ -QVariant CpEapCiphersuiteUi::ciphersuites() -{ - QList suites; - - for (int i = 0; i < childCount(); ++i) { - QVariant state(childAt(i)->contentWidgetData("checkState")); - if (state.toInt() == Qt::Checked) { - qDebug("Cipher suite selected: 0x%04x", d_ptr->mSuiteMapper[childAt(i)]); - suites.append(QVariant(d_ptr->mSuiteMapper[childAt(i)])); - } - else { - qDebug("Cipher suite not selected: 0x%04x", d_ptr->mSuiteMapper[childAt(i)]); - } - } - - return QVariant(suites); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapciphersuiteui/src/cpeapciphersuiteui_p.cpp --- a/securitysettings/cpeapuiplugins/cpeapciphersuiteui/src/cpeapciphersuiteui_p.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,107 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: -* Control Panel QT UI for TLS ciphersuite configiration in EAP methods -* -*/ - -/* -* %version: 4 % -*/ - -// System includes -#include -#include - -// User includes -#include "cpeapciphersuiteui_p.h" - -/*! - * \class CpEapCiphersuiteUiPrivate - * \brief Control Panel QT UI for TLS ciphersuite configiration in EAP methods. - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - */ -CpEapCiphersuiteUiPrivate::CpEapCiphersuiteUiPrivate() -{ - -} - -/*! - * Destructor. - */ -CpEapCiphersuiteUiPrivate::~CpEapCiphersuiteUiPrivate() -{ - -} - -/*! - * Tells the caller is requested cipher suite selected - * - * @param suites List of selected cipher suites - * @param id Index of requested cipher suite - * - * @return Qt::Checked if requested cipher suite is found from the list - * Qt::Unchecked otherwise - */ -int CpEapCiphersuiteUiPrivate::ciphersuiteSelected(QVariant suites, int id) -{ - QList suiteList(suites.toList()); - int ret = Qt::Unchecked; - for (int i = 0; i < suiteList.count(); ++i) { - - if (suiteList.at(i).toInt() == id) { - ret = Qt::Checked; - break; - } - } - - return ret; -} - -/*! - * Creates Cipher suite group item - * - * @param suites List of selected cipher suites - * @param name Localisation string of the cipher suite - * @param id Index of the cipher suite - * - * @return CpSettingFormItemData: Cipher suite check box - */ -CpSettingFormItemData* CpEapCiphersuiteUiPrivate::createGroupItem( - QVariant &suites, QString name, int id) -{ - qDebug("CpEapCiphersuiteUiPrivate::createGroupItem - id: 0x%04x", id); - QScopedPointer mItem; - mItem.reset(new CpSettingFormItemData( - HbDataFormModelItem::CheckBoxItem, QString(""))); - mItem->setContentWidgetData("text", name); - mItem->setContentWidgetData("checkState", ciphersuiteSelected( - suites, id)); - mSuiteMapper[mItem.data()] = id; - - CpSettingFormItemData* tmp = mItem.data(); - mItem.take(); - return tmp; -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapsimakaui/cpeapsimakaui.pro --- a/securitysettings/cpeapuiplugins/cpeapsimakaui/cpeapsimakaui.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# Project info file for Control Panel SIM/AKA settings plugin. -# - -# %version: 11 % - - -TEMPLATE = lib -TARGET = cpeapsimakaui - -INCLUDEPATH += \ - ../../inc - -CONFIG += hb \ - plugin - -LIBS += -lcpframework \ - -leapqtconfiginterface \ - -leapqtplugininfo - -MOC_DIR = _build -RCC_DIR = _build -OBJECTS_DIR= _build - - -# Sources -HEADERS += \ - ../inc/eapuidefs.h \ - inc/cpeapsimakaui.h \ - inc/cpeapsimakaplugin.h - -SOURCES += \ - src/cpeapsimakaui.cpp \ - src/cpeapsimakaplugin.cpp - -symbian: { - TARGET.EPOCALLOWDLLDATA = 1 - TARGET.UID3 = 0x2002C2F9 - TARGET.CAPABILITY = CAP_GENERAL_DLL - - deploy.path = C: - qtplugins.path = /resource/qt/plugins/controlpanel/eapsecurity - qtplugins.sources += qmakepluginstubs/cpeapsimakaui.qtplugin - - for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)" - - BLD_INF_RULES.prj_exports += \ - "rom/cpeapsimakaui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpeapsimakaui.iby)" -} - -plugin.sources += cpeapsimakaui.dll -plugin.path = /resource/qt/plugins/controlpanel/eapsecurity -DEPLOYMENT += plugin diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapsimakaui/inc/cpeapsimakaplugin.h --- a/securitysettings/cpeapuiplugins/cpeapsimakaui/inc/cpeapsimakaplugin.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT plugin for EAP-SIM and EAP-AKA - * method configuration - * - */ - -/* - * %version: 7 % - */ - -#ifndef CPEAPSIMAKAPLUGIN_H -#define CPEAPSIMAKAPLUGIN_H - -// System includes -#include -// User includes -#include "cpeapplugininterface.h" - -// Forward declarations - -// External data types - -// Constants - -/*! - * @addtogroup group_eap_ui_plugin_simaka - * @{ - */ -class CpEapSimAkaPlugin: public QObject, public CpEapPluginInterface -{ - Q_OBJECT - Q_INTERFACES(CpEapPluginInterface) - -public: - CpEapSimAkaPlugin(); - ~CpEapSimAkaPlugin(); - - void setSettingsReference(const EapQtConfigInterface::EapBearerType bearer, const int iapId); - QList pluginInfo(); - CpBaseSettingView* uiInstance(const EapQtPluginHandle& outerHandle, - const EapQtPluginInfo &plugin); - -private: - EapQtConfigInterface::EapBearerType mBearer; - int mIapId; -}; - -/*! @} */ - -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapsimakaui/inc/cpeapsimakaui.h --- a/securitysettings/cpeapuiplugins/cpeapsimakaui/inc/cpeapsimakaui.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,118 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for EAP-SIM and EAP-AKA method configuration - * - */ - -/* - * %version: 14 % - */ - -#ifndef CPEAPSIMAKAUI_H -#define CPEAPSIMAKAUI_H - -// System includes -#include -#include -#include -#include - -// User includes - -// Forward declarations -class HbDataForm; -class HbDataFormModel; -class HbDataFormModelItem; -class CpSettingFormItemData; -class EapQtValidator; - -// External data types - -// Constants - -/*! - * @addtogroup group_eap_ui_plugin_simaka - * @{ - */ - -class CpEapSimAkaUi : public CpBaseSettingView -{ -Q_OBJECT - -public: - CpEapSimAkaUi( - const EapQtConfigInterface::EapBearerType bearer, - const int iapId, - const EapQtPluginInfo &plugin, - const EapQtPluginHandle& outerHandle); - ~CpEapSimAkaUi(); - -protected: - void close(); - -private: - void createUi(); - void createUsername(); - void createRealm(); - - bool checkStateToBool(const int state); - int boolToCheckState(const bool state); - - bool storeSettings(); - bool validate(); - bool validateGroup(CpSettingFormItemData *edit, CpSettingFormItemData *checkBox, - EapQtValidator* validator); - -private slots: - void setValidator(const QModelIndex); - void usernameAutomaticChanged(int state); - void realmAutomaticChanged(int state); - -private: - //! Pointer to EapQtConfigInterface - QScopedPointer mConfigIf; - //! Plugin info - EapQtPluginInfo mPluginInfo; - //! Outer handle - EapQtPluginHandle mOuterHandle; - //! Current EAP configuration - EapQtConfig mEapConfig; - - //! Dataform - HbDataForm *mForm; - //! Datform model - HbDataFormModel *mModel; - //! Control Panel item data helper for EAP-SIM/AKA plugins - CpItemDataHelper *mItemDataHelper; - //! EAP-SIM/AKA settings group - HbDataFormModelItem *mGroupItem; - //! Username generate automatically checkBox - CpSettingFormItemData *mUsernameAutomatic; - //! Username lineEdit - CpSettingFormItemData *mUsername; - //! Realm generate automatically checkBox - CpSettingFormItemData *mRealmAutomatic; - //! Realm lineEdit - CpSettingFormItemData *mRealm; - - //! Realm validator - QScopedPointer mValidatorRealm; - //! Username validator - QScopedPointer mValidatorUsername; -}; - -/*! @} */ - -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapsimakaui/rom/cpeapsimakaui.iby --- a/securitysettings/cpeapuiplugins/cpeapsimakaui/rom/cpeapsimakaui.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: Image description file for SIM/AKA UI -* -*/ - -/* - * %version: 4 % - */ - -#ifndef CPEAPSIMAKAUI_IBY -#define CPEAPSIMAKAUI_IBY - -#include -#include - -#ifdef __PROTOCOL_WLAN - -file=ABI_DIR/BUILD_DIR/cpeapsimakaui.dll SHARED_LIB_DIR/cpeapsimakaui.dll -data=/epoc32/data/c/resource/qt/plugins/controlpanel/eapsecurity/cpeapsimakaui.qtplugin resource/qt/plugins/controlpanel/eapsecurity/cpeapsimakaui.qtplugin - -#endif // __PROTOCOL_WLAN - -#endif // CPEAPSIMAKAUI_IBY diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapsimakaui/src/cpeapsimakaplugin.cpp --- a/securitysettings/cpeapuiplugins/cpeapsimakaui/src/cpeapsimakaplugin.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,124 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT plugin for EAP-SIM and EAP-AKA - * method configuration - * - */ - -/* - * %version: 10 % - */ - -// System includes -#include - -// User includes -#include "cpeapsimakaplugin.h" -#include "cpeapsimakaui.h" -#include "eapuidefs.h" - -/*! - * \class CpEapSimAkaPlugin - * \brief Control Panel QT plugin for EAP-SIM and EAP-AKA method configuration. - */ - -// External function prototypes - -// Local constants - -Q_EXPORT_PLUGIN2(CpEapSimAkaPlugin, CpEapSimAkaPlugin); - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - */ -CpEapSimAkaPlugin::CpEapSimAkaPlugin() : - mBearer(EapQtConfigInterface::EapBearerTypeWlan), - mIapId(EapQtConfigInterface::IapIdUndefined) -{ - // Nothing to be done - qDebug("CpEapSimAkaPlugin created"); -} - -/*! - * Destructor. - */ -CpEapSimAkaPlugin::~CpEapSimAkaPlugin() -{ - // Nothing to be done - // UI instances are owned and deallocated by CP framework - qDebug("CpEapSimAkaPlugin destroyed"); -} - -/*! - * See CpEapPluginInterface::setSettingsReference() - * - * @param bearer Bearer of the accessed settings - * @param iapId ID of the accessed IAP - */ -void CpEapSimAkaPlugin::setSettingsReference(const EapQtConfigInterface::EapBearerType bearer, - const int iapId) -{ - mBearer = bearer; - mIapId = iapId; -} - -/*! - * See CpEapPluginInterface::pluginInfo() - * - * @return Plugin info (EAP-SIM and EAP-AKA) - */ -QList CpEapSimAkaPlugin::pluginInfo() -{ - qDebug("CpEapSimAkaPlugin: provide plugin info"); - QList ret; - - ret.append(EapQtPluginInfo( - EapQtPluginHandle::PluginEapSim, - EapQtUiConstants::StringEapSim, - EapQtUiConstants::OrderEapSim)); - - ret.append(EapQtPluginInfo( - EapQtPluginHandle::PluginEapAka, - EapQtUiConstants::StringEapAka, - EapQtUiConstants::OrderEapAka)); - - return ret; -} - -/*! - * See CpEapPluginInterface::uiInstance() - * - * Creates UI instance - * - * @param outerHandle Plugin handle to outer EAP type. - * @param plugin Plugin info - * - * @return SIM/AKA UI instance - */ -CpBaseSettingView* CpEapSimAkaPlugin::uiInstance( - const EapQtPluginHandle& outerHandle, - const EapQtPluginInfo &plugin) -{ - qDebug("CpEapSimAkaPlugin: create UI instance"); - - Q_ASSERT(mIapId != EapQtConfigInterface::IapIdUndefined); - - // instance is owned and deallocated by CP framework - return new CpEapSimAkaUi(mBearer, mIapId, plugin, outerHandle); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapsimakaui/src/cpeapsimakaui.cpp --- a/securitysettings/cpeapuiplugins/cpeapsimakaui/src/cpeapsimakaui.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,417 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for EAP-SIM and EAP-AKA method configuration - * - */ - -/* - * %version: 18 % - */ - -// System includes -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// User includes -#include "cpeapsimakaui.h" - -/*! - * \class CpEapSimAkaUi - * \brief Implementes EAP-SIM and EAP-AKA method configuration ui. - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param bearer Bearer type of the accessed configuration. - * @param iapId IAP ID of the accessed configuration. - * @param plugin Plugin. - * @param outerHandle Outer handle. - */ -CpEapSimAkaUi::CpEapSimAkaUi( - const EapQtConfigInterface::EapBearerType bearer, - const int iapId, - const EapQtPluginInfo &plugin, - const EapQtPluginHandle& outerHandle) : - mConfigIf(NULL), - mPluginInfo(plugin), - mOuterHandle(outerHandle), - mForm(NULL), - mModel(NULL), - mItemDataHelper(NULL), - mGroupItem(NULL), - mUsernameAutomatic(NULL), - mUsername(NULL), - mRealmAutomatic(NULL), - mRealm(NULL), - mValidatorRealm(NULL), - mValidatorUsername(NULL) -{ - qDebug("CpEapSimAkaUi::CpEapSimAkaUi"); - - // IAP must be valid in construction (check includes - // EapQtConfigInterface::IapIdUndefined) - if (iapId < 0) { - QT_THROW(std::bad_alloc()); - // scoped pointer gets deleted automaticaly on exception - } - - // Get EAP config interface - mConfigIf.reset(new EapQtConfigInterface(bearer, iapId)); - - createUi(); -} - -/*! - * Destructor. - */ -CpEapSimAkaUi::~CpEapSimAkaUi() -{ - qDebug("CpEapSimAkaUi::~CpEapSimAkaUi"); - - // mValidatorRealm, mValidatorUsername - // mConfigIf: scoped pointer deleted automatically -} - -/*! - * Creates EAP-SIM/AKA UI and initilizes settings read via - * EapQtConfigInterface - */ -void CpEapSimAkaUi::createUi() -{ - qDebug("CpEapSimAkaUi::createUi"); - - // Read EAP Configurations - bool configurationRead = mConfigIf->readConfiguration(mOuterHandle, mPluginInfo.pluginHandle(), - mEapConfig); - if (!configurationRead) { - qDebug("CpEapSimAkaUi::initializeSimAkaUi - read configuration failed."); - } - - // Construct EAP-SIM/AKA settings UI - mForm = new HbDataForm(); - this->setWidget(mForm); - mModel = new HbDataFormModel(mForm); - - mGroupItem = new HbDataFormModelItem(HbDataFormModelItem::GroupItem, - HbParameterLengthLimiter( - hbTrId("txt_occ_subhead_eap_module_settings")).arg( - mPluginInfo.localizationId())); - mModel->appendDataFormItem(mGroupItem); - - // The parameter given as 0 is a HbDataForm pointer, not parent - mItemDataHelper = new CpItemDataHelper(0); - mItemDataHelper->setParent(this); - - // Create UI components - createUsername(); - createRealm(); - - mItemDataHelper->bindToForm(mForm); - mForm->setModel(mModel); - - // Connect signal to add validators when items get activated (visualization created). - bool connected = connect(mForm, SIGNAL( itemShown(const QModelIndex&) ), this, - SLOT( setValidator(const QModelIndex) )); - Q_ASSERT(connected); - - // Expand EAP-SIM/AKA settings group - mForm->setExpanded(mModel->indexFromItem(mGroupItem), true); -} - -/*! - * Creates Username group: - * Generate automatically checkBox and username lineEdit - */ -void CpEapSimAkaUi::createUsername() -{ - qDebug("CpEapSimAkaUi::createUsername()"); - // UsernameAutomatic - mUsernameAutomatic = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId( - "txt_occ_setlabel_user_name")); - mUsernameAutomatic->setContentWidgetData("text", hbTrId( - "txt_occ_setlabel_user_name_val_generate_automatica")); - // Initialize the value from EapQtConfig - // Generate username automatically is selected by default - mUsernameAutomatic->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value( - EapQtConfig::UsernameAutomatic).toBool())); - // Connect signal to disable/enable username when usernameAutomatic changed - mForm->addConnection(mUsernameAutomatic, SIGNAL(stateChanged(int)), this, - SLOT(usernameAutomaticChanged(int))); - mGroupItem->appendChild(mUsernameAutomatic); - - //Username - mUsername = new CpSettingFormItemData(HbDataFormModelItem::TextItem, hbTrId( - "txt_occ_setlabel_user_name")); - mUsername->setContentWidgetData("text", mEapConfig.value(EapQtConfig::Username)); - // Dim username if usernameAutomatic selected - usernameAutomaticChanged(mUsernameAutomatic->contentWidgetData("checkState") == Qt::Checked); - mGroupItem->appendChild(mUsername); -} - -/*! - * Creates Realm group: - * Generate automatically checkBox and realm lineEdit - */ -void CpEapSimAkaUi::createRealm() -{ - qDebug("CpEapSimAkaUi::createRealm()"); - // RealmAutomatic - mRealmAutomatic = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId( - "txt_occ_setlabel_realm")); - mRealmAutomatic->setContentWidgetData("text", hbTrId( - "txt_occ_setlabel_realm_val_generate_automatically")); - // Initialize the value from EapQtConfig - // Generate realm automatically is selected by default - mRealmAutomatic->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value( - EapQtConfig::RealmAutomatic).toBool())); - // connect signal to disable/enable realm when realmAutomatic changed - mForm->addConnection(mRealmAutomatic, SIGNAL(stateChanged(int)), this, - SLOT(realmAutomaticChanged(int))); - mGroupItem->appendChild(mRealmAutomatic); - - //Realm - mRealm = new CpSettingFormItemData(HbDataFormModelItem::TextItem, hbTrId( - "txt_occ_setlabel_realm")); - mRealm->setContentWidgetData("text", mEapConfig.value(EapQtConfig::Realm)); - // Dim realm if realmAutomatic selected - realmAutomaticChanged(mRealmAutomatic->contentWidgetData("checkState") == Qt::Checked); - mGroupItem->appendChild(mRealm); -} - -/*! - * Adds validators. - * - * @param modelIndex Model index - */ -void CpEapSimAkaUi::setValidator(const QModelIndex modelIndex) -{ - qDebug("CpEapUserPasswordUi::itemActivated"); - - HbDataFormViewItem *viewItem = qobject_cast - (mForm->itemByIndex(modelIndex)); - HbDataFormModelItem *modelItem = mModel->itemFromIndex(modelIndex); - - if (modelItem == mUsername) { - // When username lineEdit is activated (shown) first time, validator is added - mValidatorUsername.reset(mConfigIf->validatorEap(mPluginInfo.pluginHandle().type(), - EapQtConfig::Username)); - HbLineEdit *edit = qobject_cast (viewItem->dataItemContentWidget()); - mValidatorUsername->updateEditor(edit); - } - else if (modelItem == mRealm) { - // When realm lineEdit is activated (shown) first time, validator is added - mValidatorRealm.reset(mConfigIf->validatorEap(mPluginInfo.pluginHandle().type(), - EapQtConfig::Realm)); - HbLineEdit *edit = qobject_cast (viewItem->dataItemContentWidget()); - mValidatorRealm->updateEditor(edit); - } -} - -/*! - * This is called when user is about to exit the view. - * Validates configuration and saves settings. - * If configuration is not valid prompts question dialog. - * If user chooses "OK" leaves without saving. - * - */ -void CpEapSimAkaUi::close() -{ - qDebug("CpEapSimAkaUi::close"); - - // Validate configuration - if (validate()) { - qDebug("CpEapSimAkaUi::close - Validation OK"); - - // Store settings - if (storeSettings()){ - qDebug("CpEapSimAkaUi::close - Settings stored, close view"); - // Close view - CpBaseSettingView::close(); - } - else { - qDebug("CpEapSimAkaUi::close - Store settings failed, prompt warning"); - // Store failed. Show error note to user - QScopedPointer infoBox; - infoBox.reset(new HbMessageBox( - HbMessageBox::MessageTypeWarning)); - infoBox->setAttribute(Qt::WA_DeleteOnClose); - infoBox->setText(hbTrId("txt_occ_info_unable_to_save_setting")); - infoBox->clearActions(); - // Connect 'OK'-button to CpBaseSettingView 'aboutToClose'-signal - HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok")); - infoBox->addAction(okAction); - bool connected = connect( - okAction, - SIGNAL(triggered()), - this, - SIGNAL(aboutToClose())); - Q_ASSERT(connected); - infoBox->open(); - infoBox.take(); - } - } - else { - qDebug("CpEapSimAkaUi::close - validation failed. Prompt question."); - QScopedPointer messageBox; - messageBox.reset(new HbMessageBox( - HbMessageBox::MessageTypeQuestion)); - messageBox->setAttribute(Qt::WA_DeleteOnClose); - messageBox->setText(hbTrId("txt_occ_info_incomplete_details_return_without_sa")); - messageBox->clearActions(); - // Connect 'YES'-button to CpBaseSettingView 'aboutToClose'-signal - HbAction *okAction = new HbAction(hbTrId("txt_common_button_yes")); - messageBox->addAction(okAction); - bool connected = connect( - okAction, - SIGNAL(triggered()), - this, - SIGNAL(aboutToClose())); - Q_ASSERT(connected); - // Clicking 'NO'-button does nothing - HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_no")); - messageBox->addAction(cancelAction); - messageBox->setTimeout(HbPopup::NoTimeout); - messageBox->open(); - messageBox.take(); - } -} - -/*! - * Dims the realm if generate realm automatically has been selected. - * - * @param state Tells is generate automatically checked. - */ -void CpEapSimAkaUi::realmAutomaticChanged(int state) -{ - qDebug("CpEapSimAkaUi::realmAutomaticChanged"); - - mRealm->setContentWidgetData("enabled", !checkStateToBool(state)); -} - -/*! - * Dims the username if generate username automatically has been selected. - * - * @param state Tells is generate automatically checked. - */ -void CpEapSimAkaUi::usernameAutomaticChanged(int state) -{ - qDebug("CpEapSimAkaUi::usernameAutomaticChanged"); - - mUsername->setContentWidgetData("enabled", !checkStateToBool(state)); -} - -/*! - * Converts check box state to boolean. - * - * @param state Check box state - * - * @return true if Check box is checked, false otherwise. - */ -bool CpEapSimAkaUi::checkStateToBool(const int state) -{ - return (Qt::Unchecked == state ? false : true); -} - -/*! - * Converts boolean to check box state. - * - * @param state Tells is check box checked. - * - * @return Qt check state - */ -int CpEapSimAkaUi::boolToCheckState(const bool state) -{ - return (false == state ? Qt::Unchecked : Qt::Checked); -} - -/*! - * Validates settings configuration. - * - * @return true if configuration OK, false otherwise. - */ -bool CpEapSimAkaUi::validate() -{ - bool valid = false; - - if (validateGroup(mUsername, mUsernameAutomatic, mValidatorUsername.data()) - && validateGroup(mRealm, mRealmAutomatic, mValidatorRealm.data())) { - valid = true; - } - - return valid; -} - -/*! - * Validates checkBox and lineEdit group. - * - * @return true if OK, false otherwise. - */ -bool CpEapSimAkaUi::validateGroup(CpSettingFormItemData *edit, CpSettingFormItemData *checkBox, - EapQtValidator *validator) -{ - bool status = false; - // true if generate automatically is checked or given value is valid - if (checkBox->contentWidgetData("checkState") == Qt::Checked - || EapQtValidator::StatusOk == validator->validate( - edit->contentWidgetData("text"))) { - status = true; - } - return status; -} - -/*! - * Stores settings given via SIM-AKA configuration UI - * - * @return false if saving failed, true otherwise - */ -bool CpEapSimAkaUi::storeSettings() -{ - qDebug("CpEapSimAkaUi::storeSettings"); - - EapQtConfig eapConfig; - - eapConfig.setValue(EapQtConfig::OuterType, qVariantFromValue(mOuterHandle)); - eapConfig.setValue(EapQtConfig::UsernameAutomatic, checkStateToBool( - mUsernameAutomatic->contentWidgetData("checkState").toInt())); - eapConfig.setValue(EapQtConfig::Username, mUsername->contentWidgetData("text")); - eapConfig.setValue(EapQtConfig::RealmAutomatic, checkStateToBool( - mRealmAutomatic->contentWidgetData("checkState").toInt())); - eapConfig.setValue(EapQtConfig::Realm, mRealm->contentWidgetData("text")); - - // Save configuration - if (!mConfigIf->saveConfiguration(mPluginInfo.pluginHandle(), eapConfig)) { - qDebug("CpEapSimAkaUi::storeSettings - configuration saving failed."); - return false; - } - return true; -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeaptlsmethodsui/cpeaptlsmethodsui.pro --- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/cpeaptlsmethodsui.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# Control Panel QT UI for TLS-based EAP methods configuration -# - -# %version: 13 % - - -TEMPLATE = lib -TARGET = cpeaptlsmethodsui - -INCLUDEPATH += \ - ../../inc - -CONFIG += hb \ - plugin - -LIBS += -lcpframework \ - -leapqtconfiginterface \ - -leapqtplugininfo \ - -lcpeapciphersuiteui - -MOC_DIR = _build -RCC_DIR = _build -OBJECTS_DIR= _build - - -# Sources -HEADERS += \ - ../inc/eapuidefs.h \ - inc/cpeaptlsmethodsui.h \ - inc/cpeaptlsmethodsplugin.h \ - inc/cpeaptlsmethodsinnereapui.h - -SOURCES += \ - src/cpeaptlsmethodsui.cpp \ - src/cpeaptlsmethodsplugin.cpp \ - src/cpeaptlsmethodsinnereapui.cpp - -symbian: { - TARGET.EPOCALLOWDLLDATA = 1 - TARGET.UID3 = 0x2002C2FA - TARGET.CAPABILITY = CAP_GENERAL_DLL - - deploy.path = c: - qtplugins.path = /resource/qt/plugins/controlpanel/eapsecurity - qtplugins.sources += qmakepluginstubs/cpeaptlsmethodsui.qtplugin - - for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)" - - BLD_INF_RULES.prj_exports += \ - "rom/cpeaptlsmethodsui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpeaptlsmethodsui.iby)" -} - -plugin.sources += cpeaptlsmethodsui.dll -plugin.path = /resource/qt/plugins/controlpanel/eapsecurity -DEPLOYMENT += plugin diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsinnereapui.h --- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsinnereapui.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel Inner EAP Entry item for TLS-based EAP methods - * - */ - -/* - * %version: 3 % - */ - -#ifndef CPEAPTLSMETHODSINNEREAPUI_H -#define CPEAPTLSMETHODSINNEREAPUI_H - -// System includes -#include - -// User includes - -// Forward declarations -class CpEapTlsMethodsUi; - -// External data types - -// Constants - -/*! - * @addtogroup group_eap_ui_plugin_eap_tlsmethods - * @{ - */ - -class EapInnerMethodEntryItemData : public CpSettingFormEntryItemData -{ -public: - EapInnerMethodEntryItemData( - CpEapTlsMethodsUi* tlsUi, - CpItemDataHelper &itemDataHelper, - const QString &text); - - virtual ~EapInnerMethodEntryItemData(); - - virtual CpBaseSettingView *createSettingView() const; - -private: - CpEapTlsMethodsUi* mTlsUi; - CpItemDataHelper& mItemDataHelper; -}; - -/*! @} */ - -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsplugin.h --- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsplugin.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT plugin for TLS-based EAP methods configuration - * - */ - -/* - * %version: 6 % - */ - -#ifndef CPEAPTLSMETHODSPLUGIN_H -#define CPEAPTLSMETHODSPLUGIN_H - -// System includes -#include - -// User includes -#include "cpeapplugininterface.h" - -// Forward declarations - -// External data types - -// Constants - -/*! - * @addtogroup group_eap_ui_plugin_tlsmethods - * @{ - */ -class CpEapTlsMethodsPlugin : public QObject, public CpEapPluginInterface -{ - Q_OBJECT - Q_INTERFACES(CpEapPluginInterface) - -public: - CpEapTlsMethodsPlugin(); - ~CpEapTlsMethodsPlugin(); - - void setSettingsReference(const EapQtConfigInterface::EapBearerType bearer, const int iapId); - QList pluginInfo(); - CpBaseSettingView* uiInstance(const EapQtPluginHandle& outerHandle, - const EapQtPluginInfo &plugin); - -private: - EapQtConfigInterface::EapBearerType mBearer; - int mIapId; -}; - -/*! @} */ - -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsui.h --- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsui.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,187 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for TLS-based EAP methods configuration - * - */ - -/* - * %version: 17 % - */ - -#ifndef CPEAPTLSMETHODSUI_H -#define CPEAPTLSMETHODSUI_H - -// System includes -#include -#include -#include -#include - -// User includes - -// Forward declarations -class HbDataForm; -class HbDataFormModel; -class HbDataFormModelItem; -class HbMessageBox; -class CpSettingFormItemData; -class EapQtValidator; -class EapQtCertificateInfo; -class CpEapCiphersuiteUi; - -// External data types - -// Constants - -/*! - * @addtogroup group_eap_ui_plugin_eap_tlsmethods - * @{ - */ - -class CpEapTlsMethodsUi : public CpBaseSettingView -{ -Q_OBJECT - -public: - CpEapTlsMethodsUi( - const EapQtConfigInterface::EapBearerType bearer, - const int iapId, - const EapQtPluginInfo &plugin, - const EapQtPluginHandle& outerHandle); - ~CpEapTlsMethodsUi(); - - CpBaseSettingView *innerUiInstance(); - -protected: - void close(); - -private: - // Supported PEAP versions - enum PeapVersions { - //PEAPv0 - PeapVersion0, - //PEAPv1 - PeapVersion1, - //PEAPv0 or PEAPv1 - PeapVersionBoth - }; - -private: - void createUi(); - void createTlsUi(); - void createTtlsUi(); - void createPeapUi(); - void createFastUi(); - - void createUsername(); - void createRealm(); - void createUserCerts(); - void createAuthorityCerts(); - void createPeapVersion(); - void createInnerMethod(); - void createEapSelector(); - - void defaultInnerPlugin(); - - bool checkStateToBool(const int state); - int boolToCheckState(const bool state); - - bool validate(); - bool validateUsernameGroup(); - bool validateRealmGroup(); - bool validateAuthorityCertificate(); - bool validateUserCertificate(); - bool validateCiphersuites(); - void setPeapVersion(EapQtConfig &eapConfig); - bool storeSettings(); - -private slots: - void setValidator(const QModelIndex); - void usernameAutomaticChanged(int state); - void realmAutomaticChanged(int state); - void userCertChanged(int value); - void authorityCertAutomaticChanged(int state); - void authorityCertChanged(int value); - void peapVersionChanged(int value); - void innerEapTypeChanged(int value); - -private: - //! Pointer to EapQtConfigInterface - QScopedPointer mConfigIf; - //! List of supported Inner EAP types - QList mPlugins; - //! Plugin info - EapQtPluginInfo mPluginInfo; - //! Outer handle - EapQtPluginHandle mOuterHandle; - //! Current EAP configuration - EapQtConfig mEapConfig; - - //! Dataform - HbDataForm *mForm; - //! Datform model - HbDataFormModel *mModel; - //! Control Panel item data helper for TLS methods plugins - CpItemDataHelper *mItemDataHelper; - //! TLS based methods settings group - HbDataFormModelItem *mGroupItem; - //! Username generate automatically checkBox - CpSettingFormItemData *mUsernameAutomatic; - //! Username lineEdit - CpSettingFormItemData *mUsername; - //! Realm generate automatically checkBox - CpSettingFormItemData *mRealmAutomatic; - //! Realm lineEdit - CpSettingFormItemData *mRealm; - //! Authority certificate select automatically checkBox - CpSettingFormItemData *mCaCertAutomatic; - //! Authority certificate comboBox - CpSettingFormItemData *mCaCert; - //! Peap version comboBox - CpSettingFormItemData *mPeapVersion; - //! Inner EAP type comboBox - CpSettingFormItemData *mInnerEapType; - //! Cipher suites group - CpEapCiphersuiteUi *mGroupItemCs; - - //! Realm validator - QScopedPointer mValidatorRealm; - //! Username validator - QScopedPointer mValidatorUsername; - - //! List of system's user certificates - QList mUserCerts; - //! Index of selected user certificate - int mCurrentUserCert; - //! List if system's authority certificates - QList mAuthorityCerts; - //! Index of selected authority certificate - int mCurrentAuthorityCert; - //! Index of current PEAP version - // 0:PEAPv0, 1:PEAPv2, 2:PEAPv0 or PEAPv1 - int mCurrentPeapVersion; - //! Index of selected Inner EAP type - int mCurrentInnerPlugin; - //! Index of inner type EAP-MSCHAPv2, default value for PEAP and EAP-FAST - int mInnerEapMschapv2; - //! Index of inner type EAP-GTC, default value for PEAPv1 - int mInnerEapGtc; - //! Tells if no inner EAP type is stored and default value is used instead - bool mDefaultPluginInUse; -}; - -/*! @} */ - -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeaptlsmethodsui/rom/cpeaptlsmethodsui.iby --- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/rom/cpeaptlsmethodsui.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: Image description file for TLS based methods settings UI -* -*/ - -/* - * %version: 4 % - */ - -#ifndef CPEAPTLSMETHODSUI_IBY -#define CPEAPTLSMETHODSUI_IBY - -#include -#include - -#ifdef __PROTOCOL_WLAN - -file=ABI_DIR/BUILD_DIR/cpeaptlsmethodsui.dll SHARED_LIB_DIR/cpeaptlsmethodsui.dll -data=/epoc32/data/c/resource/qt/plugins/controlpanel/eapsecurity/cpeaptlsmethodsui.qtplugin resource/qt/plugins/controlpanel/eapsecurity/cpeaptlsmethodsui.qtplugin - -#endif // __PROTOCOL_WLAN - -#endif // CPEAPTLSMETHODSUI_IBY diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsinnereapui.cpp --- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsinnereapui.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel Inner EAP methods Entry Item for TLS-based - * EAP methods - * - */ - -/* - * %version: 2 % - */ - -// System includes -#include - - -// User includes -#include "cpeaptlsmethodsinnereapui.h" -#include "cpeaptlsmethodsui.h" - - -/*! - * \class EapInnerMethodEntryItemData - * \brief Implements Inner EAP method Entry Item - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor - * - * @param tlsUi Pointer to TLS-methods UI object - * @param itemDataHelpper Control Panel Item data helpper object - * @param text Text for entry button - */ -EapInnerMethodEntryItemData::EapInnerMethodEntryItemData( - CpEapTlsMethodsUi* tlsUi, - CpItemDataHelper &itemDataHelper, - const QString &text) : - CpSettingFormEntryItemData(CpSettingFormEntryItemData::ButtonEntryItem, - itemDataHelper, text), - mTlsUi(tlsUi), - mItemDataHelper(itemDataHelper) -{ -} - -/*! - * Desctructor. - */ -EapInnerMethodEntryItemData::~EapInnerMethodEntryItemData() -{ - qDebug("EapInnerMethodEntryItemData::~EapInnerMethodEntryItemData()"); -} - -/*! - * Implements CpSettingFormEntryItemData::createSettingView - */ -CpBaseSettingView* EapInnerMethodEntryItemData::createSettingView() const -{ - qDebug("EapInnerMethodEntryItemData::createSettingView()"); - return mTlsUi->innerUiInstance(); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsplugin.cpp --- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsplugin.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,129 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT plugin for TLS-based EAP methods configuration - * - */ - -/* - * %version: 7 % - */ - -// System includes -#include - -// User includes -#include "cpeaptlsmethodsplugin.h" -#include "cpeaptlsmethodsui.h" -#include "eapuidefs.h" - -/*! - * \class CpEapTlsMethodsPlugin - * \brief Control Panel QT plugin for TLS-based EAP methods configuration. - */ - -// External function prototypes - -// Local constants - -Q_EXPORT_PLUGIN2(CpEapTlsMethodsPlugin, CpEapTlsMethodsPlugin); - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - */ -CpEapTlsMethodsPlugin::CpEapTlsMethodsPlugin() : - mBearer(EapQtConfigInterface::EapBearerTypeWlan), - mIapId(EapQtConfigInterface::IapIdUndefined) -{ - // Nothing to be done - - qDebug("CpEapTlsMethodsPlugin created"); -} - -/*! - * Destructor. - */ -CpEapTlsMethodsPlugin::~CpEapTlsMethodsPlugin() -{ - // Nothing to be done - // UI instances are owned and deallocated by CP framework - - qDebug("CpEapTlsMethodsPlugin destroyed"); -} - -/*! - * See CpEapPluginInterface::setSettingsReference() - * - * @param bearer Bearer of the accessed settings - * @param iapId ID of the accessed IAP - */ -void CpEapTlsMethodsPlugin::setSettingsReference(const EapQtConfigInterface::EapBearerType bearer, - const int iapId) -{ - mBearer = bearer; - mIapId = iapId; -} - -/*! - * See CpEapPluginInterface::pluginInfo() - * - * @return Plugin info - */ -QList CpEapTlsMethodsPlugin::pluginInfo() -{ - qDebug("CpEapTlsMethodsPlugin: provide plugin info"); - QList ret; - - ret.append(EapQtPluginInfo( - EapQtPluginHandle::PluginEapTtls, - EapQtUiConstants::StringEapTtls, - EapQtUiConstants::OrderEapTtls) ); - - ret.append(EapQtPluginInfo( - EapQtPluginHandle::PluginPeap, - EapQtUiConstants::StringPeap, - EapQtUiConstants::OrderPeap) ); - - ret.append(EapQtPluginInfo( - EapQtPluginHandle::PluginEapTls, - EapQtUiConstants::StringEapTls, - EapQtUiConstants::OrderEapTls) ); - - return ret; -} - -/*! - * See CpEapPluginInterface::uiInstance() - * - * Creates UI instance - * - * @param outerHandle Plugin handle to outer EAP type. - * @param plugin Plugin info - * - * @return TLS methods UI instance - */ -CpBaseSettingView* CpEapTlsMethodsPlugin::uiInstance( - const EapQtPluginHandle& outerHandle, - const EapQtPluginInfo &plugin) -{ - - Q_ASSERT(mIapId != EapQtConfigInterface::IapIdUndefined); - - qDebug("CpEapTlsMethodsPlugin: create UI instance"); - return new CpEapTlsMethodsUi(mBearer, mIapId, plugin, outerHandle); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsui.cpp --- a/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsui.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,985 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for TLS-based EAP methods configuration - * - */ - -/* - * %version: 24 % - */ - -// System includes -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// User includes -#include "cpeapciphersuiteui.h" -#include "cpeaptlsmethodsui.h" -#include "cpeaptlsmethodsinnereapui.h" - -/*! - * \class CpEapTlsMethodsUi - * \brief Implementes TLS based methods configuration ui. - */ - -// External function prototypes - -// Local constants - -/*! - * ComboBox index is unkown - */ -static const int UnknownIndex = -1; -/*! - * Default index for ComboBox, used if no value has been stored - */ -static const int DefaultIndex = 0; -/*! - * Index of 'Not in use'in certificate selection lists. - */ -static const int NotInUseIndex = 0; - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param bearer Bearer type of the accessed configuration. - * @param iapId IAP ID of the accessed configuration. - * @param plugin Plugin. - * @param outerHandle Outer handle. - */ - -CpEapTlsMethodsUi::CpEapTlsMethodsUi( - const EapQtConfigInterface::EapBearerType bearer, - const int iapId, - const EapQtPluginInfo &plugin, - const EapQtPluginHandle& outerHandle) : - mConfigIf(NULL), - mPluginInfo(plugin), - mOuterHandle(outerHandle), - mForm(NULL), - mModel(NULL), - mItemDataHelper(NULL), - mGroupItem(NULL), - mUsernameAutomatic(NULL), - mUsername(NULL), - mRealmAutomatic(NULL), - mRealm(NULL), - mCaCertAutomatic(NULL), - mCaCert(NULL), - mPeapVersion(NULL), - mInnerEapType(NULL), - mGroupItemCs(NULL), - mCurrentUserCert(0), - mCurrentAuthorityCert(0), - mCurrentPeapVersion(0), - mCurrentInnerPlugin(0), - mInnerEapMschapv2(0), - mInnerEapGtc(0), - mDefaultPluginInUse(false) -{ - qDebug("CpEapTlsMethodsUi::CpEapTlsMethodsUi()"); - - // IAP must be valid in construction (check includes - // EapQtConfigInterface::IapIdUndefined) - if (iapId < 0) { - QT_THROW(std::bad_alloc()); - // scoped pointer gets deleted automaticaly on exception - } - - // Get EAP config interface - mConfigIf.reset(new EapQtConfigInterface(bearer, iapId)); - - // Request supported inner EAP types - mPlugins.append(mConfigIf->supportedInnerTypes(mPluginInfo.pluginHandle())); - - // Create UI - createUi(); -} - -/*! - * Destructor. - */ -CpEapTlsMethodsUi::~CpEapTlsMethodsUi() -{ - qDebug("CpEapTlsMethodsUi::~CpEapTlsMethodsUi()"); - - // mEapQtConfigInterface: scoped pointer deleted automatically - // mValidatorRealm: scoped pointer deleted automatically - // mValidatorUsername: scoped pointer deleted automatically -} - -/*! - * Calls inner UI instance - * - * @return pointer to inner UI instance - */ -CpBaseSettingView *CpEapTlsMethodsUi::innerUiInstance() -{ - return mConfigIf->uiInstance(mPluginInfo.pluginHandle(), - mPlugins.at(mCurrentInnerPlugin).pluginHandle()); -} - -/*! - * Creates TLS based methods UI and initilizes settings read via - * EapQtConfigInterface - */ -void CpEapTlsMethodsUi::createUi() -{ - qDebug("CpEapTlsMethodsUi::createUi()"); - - // Read EAP Configurations - bool configurationRead = mConfigIf->readConfiguration(mOuterHandle, mPluginInfo.pluginHandle(), - mEapConfig); - if (!configurationRead) { - qDebug("CpEapTlsMethodsUi::createUi - read configuration failed."); - } - - // Construct TLS based methods settings UI - mForm = new HbDataForm(); - this->setWidget(mForm); - CpPluginUtility::addCpItemPrototype(mForm); - mModel = new HbDataFormModel(mForm); - - // Create settings group - mGroupItem = new HbDataFormModelItem(HbDataFormModelItem::GroupItem, - HbParameterLengthLimiter( - hbTrId("txt_occ_subhead_eap_module_settings")).arg( - mPluginInfo.localizationId())); - mModel->appendDataFormItem(mGroupItem); - - // The parameter given as 0 is a HbDataForm pointer, not parent - mItemDataHelper = new CpItemDataHelper(0); - mItemDataHelper->setParent(this); - - // Create method specific UI - if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginEapTls) { - createTlsUi(); - } - else if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginEapTtls) { - createTtlsUi(); - } - else if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginPeap) { - createPeapUi(); - } - else { - qDebug("CpEapTlsMethodsUi::createUi() - unknown EAP method"); - } - - // Load cipher suites view - QVariant variant; - variant = mEapConfig.value(EapQtConfig::CipherSuites); - mGroupItemCs = new CpEapCiphersuiteUi(variant); - mModel->appendDataFormItem(mGroupItemCs); - - mItemDataHelper->bindToForm(mForm); - mForm->setModel(mModel); - - // Connect signal to add validators - bool connected = connect(mForm, SIGNAL( itemShown(const QModelIndex&) ), this, - SLOT( setValidator(const QModelIndex) )); - Q_ASSERT(connected); - - // Expand TLS based method settings group - mForm->setExpanded(mModel->indexFromItem(mGroupItem), true); -} - -/*! - * Creates EAP-TLS settings UI - */ -void CpEapTlsMethodsUi::createTlsUi() -{ - qDebug("CpEapTlsMethodsUi::createTlsUi()"); - // Create common TLS settings componenets - createAuthorityCerts(); - createUserCerts(); - createUsername(); - createRealm(); -} - -/*! - * Creates EAP-TTLS settings UI - */ -void CpEapTlsMethodsUi::createTtlsUi() -{ - qDebug("CpEapTlsMethodsUi::createTtlsUi()"); - // Create common TLS settings componenets - createAuthorityCerts(); - createUserCerts(); - createUsername(); - createRealm(); - - // Create Inner Eap type selection comboBox and configuration button - createInnerMethod(); -} - -/*! - * Creates PEAP settings UI - */ -void CpEapTlsMethodsUi::createPeapUi() -{ - qDebug("CpEapTlsMethodsUi::createPeapUi()"); - // Create common TLS settings componenets - createAuthorityCerts(); - createUserCerts(); - createUsername(); - createRealm(); - - // Create PEAP version selection comboBox - createPeapVersion(); - - // Create Inner Eap type selection comboBox and configuration button - createInnerMethod(); - - // If not stored inner Eap type, set default inner EAP method - // according PEAP version - if (mDefaultPluginInUse) { - defaultInnerPlugin(); - } -} -/*! - * Creates Username group: - * Generate automatically checkBox and username lineEdit - */ -void CpEapTlsMethodsUi::createUsername() -{ - qDebug("CpEapTlsMethodsUi::createUsername()"); - // UsernameAutomatic - mUsernameAutomatic = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId( - "txt_occ_setlabel_user_name")); - mUsernameAutomatic->setContentWidgetData("text", hbTrId( - "txt_occ_setlabel_user_name_val_generate_automatica")); - // Initialize the value from EapQtConfig - // Generate username automatically is selected by default - mUsernameAutomatic->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value( - EapQtConfig::UsernameAutomatic).toBool())); - // Connect signal to disable/enable username when usernameAutomatic changed - mForm->addConnection(mUsernameAutomatic, SIGNAL(stateChanged(int)), this, - SLOT(usernameAutomaticChanged(int))); - mGroupItem->appendChild(mUsernameAutomatic); - - //Username - mUsername = new CpSettingFormItemData(HbDataFormModelItem::TextItem, hbTrId( - "txt_occ_setlabel_user_name")); - mUsername->setContentWidgetData("text", mEapConfig.value(EapQtConfig::Username)); - // Dim username if usernameAutomatic selected - usernameAutomaticChanged(mUsernameAutomatic->contentWidgetData("checkState") == Qt::Checked); - mGroupItem->appendChild(mUsername); -} - -/*! - * Creates Realm group: - * Generate automatically checkBox and realm lineEdit - */ -void CpEapTlsMethodsUi::createRealm() -{ - qDebug("CpEapTlsMethodsUi::createRealm()"); - // RealmAutomatic - mRealmAutomatic = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId( - "txt_occ_setlabel_realm")); - mRealmAutomatic->setContentWidgetData("text", hbTrId( - "txt_occ_setlabel_realm_val_generate_automatically")); - // Initialize the value from EapQtConfig - // Generate realm automatically is selected by default - mRealmAutomatic->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value( - EapQtConfig::RealmAutomatic).toBool())); - // connect signal to disable/enable realm when realmAutomatic changed - mForm->addConnection(mRealmAutomatic, SIGNAL(stateChanged(int)), this, - SLOT(realmAutomaticChanged(int))); - mGroupItem->appendChild(mRealmAutomatic); - - //Realm - mRealm = new CpSettingFormItemData(HbDataFormModelItem::TextItem, hbTrId( - "txt_occ_setlabel_realm")); - mRealm->setContentWidgetData("text", mEapConfig.value(EapQtConfig::Realm)); - // Dim realm if realmAutomatic selected - realmAutomaticChanged(mRealmAutomatic->contentWidgetData("checkState") == Qt::Checked); - mGroupItem->appendChild(mRealm); -} - -/*! - * Creates User certificate selection comboBox - */ -void CpEapTlsMethodsUi::createUserCerts() -{ - qDebug("CpEapTlsMethodsUi::createUserCerts()"); - // Create User certificate comboBox - CpSettingFormItemData *userCertList = new CpSettingFormItemData( - HbDataFormModelItem::ComboBoxItem, - hbTrId("txt_occ_setlabel_user_certificate")); - - // Stored certificate - QList storedCertsList = mEapConfig.value(EapQtConfig::UserCertificate).toList(); - EapQtCertificateInfo storedCert; - if (!storedCertsList.empty() && storedCertsList[0].canConvert ()) { - // Stored certificate found, index is still unknown - storedCert = storedCertsList[0].value (); - mCurrentUserCert = UnknownIndex; - } - else { - // no stored certificate, use 'not in use' - mCurrentUserCert = DefaultIndex; - } - - // User certificates found from system - mUserCerts = mConfigIf->userCertificates(); - - // List of comboBox items - QStringList items; - // Add 'Not in use' to comboBox list - items << hbTrId("txt_occ_setlabel_user_certificate_val_not_in_use"); - // Add certificates to comboBox list and find index of stored certificate - for (int i = 0; i < mUserCerts.count(); ++i) { - items << mUserCerts.at(i).value(EapQtCertificateInfo::CertificateLabel).toString(); - if (mCurrentUserCert == UnknownIndex - && storedCert.value(EapQtCertificateInfo::SubjectKeyId) - == mUserCerts.at(i).value(EapQtCertificateInfo::SubjectKeyId)) { - mCurrentUserCert = i + 1; - } - } - if (mCurrentUserCert == UnknownIndex) { - // Stored certificate not found in the certificate list - qDebug("CpEapTlsMethodsUi::createUserCerts() - stored certificate not in the list"); - mCurrentUserCert = DefaultIndex; - } - - // Initialize comboBox - userCertList->setContentWidgetData("items", items); - userCertList->setContentWidgetData("currentIndex", mCurrentUserCert); - - // Get info when user certificate selection has been changed - mForm->addConnection(userCertList, SIGNAL(currentIndexChanged(int)), this, - SLOT(userCertChanged(int))); - mGroupItem->appendChild(userCertList); -} - -/*! - * Creates Authority certs group: - * Select automatically check box and certificate comboBox - */ -void CpEapTlsMethodsUi::createAuthorityCerts() -{ - qDebug("CpEapTlsMethodsUi::createAuthorityCerts()"); - // Select Authority Certificate Automatically - mCaCertAutomatic = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId( - "txt_occ_setlabel_authority_certificate")); - mCaCertAutomatic->setContentWidgetData("text", hbTrId( - "txt_occ_setlabel_authority_certificate_val_select")); - // Initialize the value from EapQtConfig - // Select CA Cert automatically is selected by default - mCaCertAutomatic->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value( - EapQtConfig::AuthorityCertificateAutomatic).toBool())); - // connect signal to disable/enable CA cert when CaCertAutomatic changed - mForm->addConnection(mCaCertAutomatic, SIGNAL(stateChanged(int)), this, - SLOT(authorityCertAutomaticChanged(int))); - mGroupItem->appendChild(mCaCertAutomatic); - - // Authority certificate comboBox - mCaCert = new CpSettingFormItemData(HbDataFormModelItem::ComboBoxItem, - hbTrId("txt_occ_setlabel_authority_certificate")); - - // Stored certificate from EAP configuration - QList storedCertsList = mEapConfig.value(EapQtConfig::AuthorityCertificate).toList(); - EapQtCertificateInfo storedCert; - if (!storedCertsList.empty() && storedCertsList[0].canConvert ()) { - // Stored certificate found, index is still unknown - storedCert = storedCertsList[0].value (); - mCurrentAuthorityCert = UnknownIndex; - } - else { - // no selected certificate, use 'not in use' - mCurrentAuthorityCert = DefaultIndex; - } - - // Authority certificates found from system - mAuthorityCerts = mConfigIf->certificateAuthorityCertificates(); - - // List of comboBox items - QStringList items; - // Add 'Not in use' to comboBox list - items << hbTrId("txt_occ_setlabel_authority_certificate_val_not_in"); - // Add certificates to comboBox list and find index of stored certificate - for (int i = 0; i < mAuthorityCerts.count(); ++i) { - items << mAuthorityCerts.at(i).value(EapQtCertificateInfo::CertificateLabel).toString(); - if (mCurrentAuthorityCert == UnknownIndex - && storedCert.value(EapQtCertificateInfo::SubjectKeyId) - == mAuthorityCerts.at(i).value(EapQtCertificateInfo::SubjectKeyId)) { - mCurrentAuthorityCert = i + 1; - } - } - if (mCurrentAuthorityCert == UnknownIndex) { - // Selected certificate not found in the certificate list - mCurrentAuthorityCert = DefaultIndex; - } - - // Initialize Authority certificates comboBox - mCaCert->setContentWidgetData("items", items); - mCaCert->setContentWidgetData("currentIndex", mCurrentAuthorityCert); - - // Get info when authority certificate selection has been changed - mForm->addConnection(mCaCert, SIGNAL(currentIndexChanged(int)), this, - SLOT(authorityCertChanged(int))); - // Dim authority certificate if select automatically checked - authorityCertAutomaticChanged(mCaCertAutomatic->contentWidgetData("checkState") == Qt::Checked); - mGroupItem->appendChild(mCaCert); -} - -/*! - * Creates PEAP version selection comboBox - */ -void CpEapTlsMethodsUi::createPeapVersion() -{ - qDebug("CpEapTlsMethodsUi::createPeapVersion()"); - // Create PEAP version comboBox - mPeapVersion = new CpSettingFormItemData( - HbDataFormModelItem::ComboBoxItem, - hbTrId("txt_occ_setlabel_peap_version")); - - // Add items to comboBox List - QStringList items; - items << hbTrId("txt_occ_setlabel_peap_version_val_peapv0") - << hbTrId("txt_occ_setlabel_peap_version_val_peapv1") - << hbTrId("txt_occ_setlabel_peap_version_val_peapv0_or_peapv1"); - mPeapVersion->setContentWidgetData("items", items); - - // Initialize PEAP version from EAP configuration - if (mEapConfig.value(EapQtConfig::PeapVersion0Allowed).toBool() - && mEapConfig.value(EapQtConfig::PeapVersion1Allowed).toBool()) { - // PEAPv0 or PEAPv1 - mCurrentPeapVersion = PeapVersionBoth; - } - else if (mEapConfig.value(EapQtConfig::PeapVersion1Allowed).toBool()) { - // PEAPv1 - mCurrentPeapVersion = PeapVersion1; - } - else if (mEapConfig.value(EapQtConfig::PeapVersion0Allowed).toBool()) { - // PEAPv0 - mCurrentPeapVersion = PeapVersion0; - } - else { - qDebug("CpEapTlsMethodsUi::createPeapVersion() - unknown version"); - // Set default (PEAPv0 or PEAPv1) - mCurrentPeapVersion = PeapVersionBoth; - } - mPeapVersion->setContentWidgetData("currentIndex", mCurrentPeapVersion); - - // Get info when PEAP version selection has been changed - mForm->addConnection(mPeapVersion, SIGNAL(currentIndexChanged(int)), this, - SLOT(peapVersionChanged(int))); - mGroupItem->appendChild(mPeapVersion); -} - -/*! - * Creates inner EAP type selection comboBox and configure button - */ -void CpEapTlsMethodsUi::createInnerMethod() -{ - qDebug("CpEapTlsMethodsUi::createInnerMethod()"); - // Create inner EAP type selection combo box - createEapSelector(); - // Create 'configure inner EAP type' button - EapInnerMethodEntryItemData *eapEntry = NULL; - eapEntry = new EapInnerMethodEntryItemData(this, *mItemDataHelper, - hbTrId("txt_occ_button_inner_eap_type")); - mGroupItem->appendChild(eapEntry); -} - -/*! - * Creates Combo box for inner EAP type selection - */ -void CpEapTlsMethodsUi::createEapSelector() -{ - mInnerEapType = new CpSettingFormItemData( - HbDataFormModelItem::ComboBoxItem, - hbTrId("txt_occ_setlabel_inner_eap_type")); - - // Selected inner EAP type stored into the database - QList currentEapList = mEapConfig.value(EapQtConfig::InnerType).toList(); - EapQtPluginHandle readInnerEap; - if (!currentEapList.empty() && currentEapList[0].canConvert ()) { - readInnerEap = currentEapList[0].value (); - mCurrentInnerPlugin = UnknownIndex; - } - else { - // no selected inner EAP type, use the first one - mCurrentInnerPlugin = DefaultIndex; - mDefaultPluginInUse = true; - } - - QStringList items; - for (int i = 0; i < mPlugins.count(); ++i) { - // Add certificate to comboBox list - items << mPlugins.at(i).localizationId(); - if (mCurrentInnerPlugin == UnknownIndex && readInnerEap.pluginId() - == mPlugins.at(i).pluginHandle().pluginId()) { - // Store index of selected certificate - mCurrentInnerPlugin = i; - } - if (mPlugins.at(i).pluginHandle().pluginId() == EapQtPluginHandle::PluginEapMschapv2) { - // Store index of EAP-MSCHAPv2 (used as default with PEAP and unauthenticated FAST) - mInnerEapMschapv2 = i; - } - else if (mPlugins.at(i).pluginHandle().pluginId() == EapQtPluginHandle::PluginEapGtc) { - // Store index of EAP-GTC (Used as default with PEAPv1) - mInnerEapGtc = i; - } - } - if (mCurrentInnerPlugin == UnknownIndex) { - // Selected inner EAP type not found - mCurrentInnerPlugin = DefaultIndex; - mDefaultPluginInUse = true; - } - - mInnerEapType->setContentWidgetData("items", items); - mInnerEapType->setContentWidgetData("currentIndex", mCurrentInnerPlugin); - - mForm->addConnection(mInnerEapType, SIGNAL(currentIndexChanged(int)), this, - SLOT(innerEapTypeChanged(int))); - - mGroupItem->appendChild(mInnerEapType); -} - -/*! - * Adds validators. - * - * @param modelIndex Model index - */ -void CpEapTlsMethodsUi::setValidator(const QModelIndex modelIndex) -{ - qDebug("CpEapTlsMethodsUi::itemActivated"); - - HbDataFormViewItem *viewItem = qobject_cast - (mForm->itemByIndex(modelIndex)); - HbDataFormModelItem *modelItem = mModel->itemFromIndex(modelIndex); - - if (modelItem == mUsername) { - // When username lineEdit is activated (shown) first time, validator is added - mValidatorUsername.reset(mConfigIf->validatorEap(mPluginInfo.pluginHandle().type(), - EapQtConfig::Username)); - HbLineEdit *edit = qobject_cast (viewItem->dataItemContentWidget()); - mValidatorUsername->updateEditor(edit); - } - else if (modelItem == mRealm) { - // When realm lineEdit is activated (shown) first time, validator is added - mValidatorRealm.reset(mConfigIf->validatorEap(mPluginInfo.pluginHandle().type(), - EapQtConfig::Realm)); - HbLineEdit *edit = qobject_cast (viewItem->dataItemContentWidget()); - mValidatorRealm->updateEditor(edit); - } -} - -/*! - * Sets default Inner EAP method according PEAP version - */ -void CpEapTlsMethodsUi::defaultInnerPlugin() -{ - qDebug("CpEapTlsMethodsUi::defaultInnerPlugin()"); - if (mCurrentPeapVersion == PeapVersion1) { - mInnerEapType->setContentWidgetData("currentIndex", mInnerEapGtc); - mCurrentInnerPlugin = mInnerEapGtc; - } - else { - mInnerEapType->setContentWidgetData("currentIndex", mInnerEapMschapv2); - mCurrentInnerPlugin = mInnerEapMschapv2; - } -} - -/*! - * Stores the index of selected user certificate - * - * @param value Index of selected certificate. - */ -void CpEapTlsMethodsUi::userCertChanged(int value) -{ - qDebug("CpEapTlsMethodsUi::userCertChanged()"); - mCurrentUserCert = value; -} - -/*! - * Stores the index of selected authority certificate - * - * @param value Index of selected certificate. - */ -void CpEapTlsMethodsUi::authorityCertChanged(int value) -{ - qDebug("CpEapTlsMethodsUi::authorityCertChanged()"); - mCurrentAuthorityCert = value; -} - -/*! - * Stores the index of selected PEAP version - * - * @param value Index of selected PEAP version. - */ -void CpEapTlsMethodsUi::peapVersionChanged(int value) -{ - qDebug("CpEapTlsMethodsUi::peapVersionChanged()"); - mCurrentPeapVersion = value; - defaultInnerPlugin(); -} - -/*! - * Stores the index of selected inner EAP type - * - * @param value Index of selected ineer EAP type. - */ -void CpEapTlsMethodsUi::innerEapTypeChanged(int value) -{ - qDebug("CpEapTlsMethodsUi::innerEapTypeChanged()"); - mCurrentInnerPlugin = value; -} - -/*! - * Dims the username if generate username automatically has been selected. - * - * @param state Tells is generate automatically checked. - */ -void CpEapTlsMethodsUi::usernameAutomaticChanged(int state) -{ - qDebug("CpEapTlsMethodsUi::usernameAutomaticChanged"); - - mUsername->setContentWidgetData("enabled", !checkStateToBool(state)); -} - -/*! - * Dims the realm if generate realm automatically has been selected. - * - * @param state Tells is generate automatically checked. - */ -void CpEapTlsMethodsUi::realmAutomaticChanged(int state) -{ - qDebug("CpEapTlsMethodsUi::realmAutomaticChanged"); - - mRealm->setContentWidgetData("enabled", !checkStateToBool(state)); -} - -/*! - * Dims the authority certificate if select caCert automatically has been selected. - * - * @param state Tells is select automatically checked. - */ -void CpEapTlsMethodsUi::authorityCertAutomaticChanged(int state) -{ - qDebug("CpEapTlsMethodsUi::authorityCertAutomaticChanged"); - - mCaCert->setContentWidgetData("enabled", !checkStateToBool(state)); -} - -/*! - * Converts check box state to boolean. - * - * @param state Check box state - * - * @return true if Check box is checked, false otherwise. - */ -bool CpEapTlsMethodsUi::checkStateToBool(const int state) -{ - return (Qt::Unchecked == state ? false : true); -} - -/*! - * Converts boolean to check box state. - * - * @param state Tells is check box checked. - * - * @return Qt check state - */ -int CpEapTlsMethodsUi::boolToCheckState(const bool state) -{ - return (false == state ? Qt::Unchecked : Qt::Checked); -} - -/*! - * This is called when user is about to exit the view. - * Validates configuration and saves settings. - * If configuration is not valid prompts question dialog. - * If user chooses "OK" leaves without saving. - * - */ -void CpEapTlsMethodsUi::close() -{ - qDebug("CpEapTlsMethodsUi::close"); - - // Validate configuration - if (validate()) { - qDebug("CpEapTlsMethodsUi::close - Validation OK"); - - // Store settings - if (storeSettings()){ - qDebug("CpEapTlsMethodsUi::close - Settings stored, close view"); - // Close view - CpBaseSettingView::close(); - } - else { - qDebug("CpEapTlsMethodsUi::close - Store settings failed, prompt warning"); - // Store failed. Show error note to user - QScopedPointer infoBox; - infoBox.reset(new HbMessageBox( - HbMessageBox::MessageTypeWarning)); - infoBox->setText(hbTrId("txt_occ_info_unable_to_save_setting")); - infoBox->clearActions(); - // Connect 'OK'-button to CpBaseSettingView 'aboutToClose'-signal - HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok")); - infoBox->addAction(okAction); - bool connected = connect( - okAction, - SIGNAL(triggered()), - this, - SIGNAL(aboutToClose())); - Q_ASSERT(connected); - infoBox->open(); - infoBox.take(); - } - } - else { - qDebug("CpEapTlsMethodsUi::close - validation failed. Prompt question."); - - // Validate failed. Request user to exit anyway - QScopedPointer messageBox; - messageBox.reset(new HbMessageBox( - HbMessageBox::MessageTypeQuestion)); - messageBox->setAttribute(Qt::WA_DeleteOnClose); - messageBox->setText(hbTrId("txt_occ_info_incomplete_details_return_without_sa")); - messageBox->clearActions(); - // Connect 'YES'-button to CpBaseSettingView 'aboutToClose'-signal - HbAction *okAction = new HbAction(hbTrId("txt_common_button_yes")); - messageBox->addAction(okAction); - bool connected = connect( - okAction, - SIGNAL(triggered()), - this, - SIGNAL(aboutToClose())); - Q_ASSERT(connected); - // Clicking 'NO'-button does nothing - HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_no")); - messageBox->addAction(cancelAction); - messageBox->setTimeout(HbPopup::NoTimeout); - messageBox->open(); - messageBox.take(); - } -} - -/*! - * Validates settings configuration. - * - * @return true if configuration OK, false otherwise. - */ -bool CpEapTlsMethodsUi::validate() -{ - qDebug("CpEapTlsMethodsUi::validate()"); - bool valid = false; - - if (validateUsernameGroup() - && validateRealmGroup() - && validateAuthorityCertificate() - && validateUserCertificate() - && validateCiphersuites()) { - valid = true; - } - - return valid; -} - -/*! - * Validates username checkBox and lineEdit group. - * - * @return true if OK, false otherwise. - */ -bool CpEapTlsMethodsUi::validateUsernameGroup() -{ - bool status = false; - // true if generate automatically is checked or given value is valid - if (mUsernameAutomatic->contentWidgetData("checkState") == Qt::Checked - || EapQtValidator::StatusOk == mValidatorUsername->validate( - mUsername->contentWidgetData("text"))) { - status = true; - } - qDebug("CpEapTlsMethodsUi::validateUsernameGroup() - status: %d", status); - return status; -} - -/*! - * Validates realm checkBox and lineEdit group. - * - * @return true if OK, false otherwise. - */ -bool CpEapTlsMethodsUi::validateRealmGroup() -{ - bool status = false; - // true if generate automatically is checked or given value is valid - if (mRealmAutomatic->contentWidgetData("checkState") == Qt::Checked - || EapQtValidator::StatusOk == mValidatorRealm->validate( - mRealm->contentWidgetData("text"))) { - status = true; - } - qDebug("CpEapTlsMethodsUi::validateRealmGroup() - status: %d", status); - return status; -} - -/*! - * Validates authority certificate checkBox and comboBox group. - * - * @return true if OK, false otherwise. - */ -bool CpEapTlsMethodsUi::validateAuthorityCertificate() -{ - bool status = false; - //true if select automatically is checked or certificate is selected - if (mCaCertAutomatic->contentWidgetData("checkState") == Qt::Checked - || mCurrentAuthorityCert > NotInUseIndex) { - status = true; - } - qDebug("CpEapTlsMethodsUi::validateAuthorityCertificate()- status: %d", status); - return status; -} - -/*! - * Validates user certificate selection. - * - * @return false if EAP-TLS and no certificate, true otherwise - */ -bool CpEapTlsMethodsUi::validateUserCertificate() -{ - bool status = true; - // false if EAP-TLS and not selected user certificate - if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginEapTls - && mCurrentUserCert == NotInUseIndex) { - status = false; - } - qDebug("CpEapTlsMethodsUi::validateUserCertificate() - status: %d", status); - return status; -} - -/*! - * Validates cipher suites selection. - * - * @return false if no cipher suite is selected, true otherwise - */ -bool CpEapTlsMethodsUi::validateCiphersuites() -{ - bool status = true; - QVariant cipherSuites = mGroupItemCs->ciphersuites(); - QList cipherList = cipherSuites.toList(); - if (cipherList.count() == 0){ - status = false; - } - qDebug("CpEapTlsMethodsUi::validateCiphersuites() - status: %d", status); - return status; -} - -/*! - * Write PEAP specific values into the EAP configuration - * - * @param eapConfig - */ -void CpEapTlsMethodsUi::setPeapVersion(EapQtConfig &eapConfig) -{ - qDebug("CpEapTlsMethodsUi::setPeapVersion()"); - if (mCurrentPeapVersion == PeapVersion0) { - eapConfig.setValue(EapQtConfig::PeapVersion0Allowed, true); - eapConfig.setValue(EapQtConfig::PeapVersion1Allowed, false); - } - else if (mCurrentPeapVersion == PeapVersion1) { - eapConfig.setValue(EapQtConfig::PeapVersion0Allowed, false); - eapConfig.setValue(EapQtConfig::PeapVersion1Allowed, true); - } - else { - Q_ASSERT(mCurrentPeapVersion == PeapVersionBoth); - eapConfig.setValue(EapQtConfig::PeapVersion0Allowed, true); - eapConfig.setValue(EapQtConfig::PeapVersion1Allowed, true); - } -} - -/*! - * Stores settings given via TLS based methods setting UI - * - * @return false if saving failed, true otherwise - */ -bool CpEapTlsMethodsUi::storeSettings() -{ - qDebug("CpEapTlsMethodsUi::storeSettings"); - - EapQtConfig eapConfig; - - // Store common settings - qDebug("CpEapTlsMethodsUi::storeSettings - Common settings"); - eapConfig.setValue(EapQtConfig::OuterType, qVariantFromValue(mOuterHandle)); - eapConfig.setValue(EapQtConfig::UsernameAutomatic, checkStateToBool( - mUsernameAutomatic->contentWidgetData("checkState").toInt())); - eapConfig.setValue(EapQtConfig::Username, mUsername->contentWidgetData("text")); - eapConfig.setValue(EapQtConfig::RealmAutomatic, checkStateToBool( - mRealmAutomatic->contentWidgetData("checkState").toInt())); - eapConfig.setValue(EapQtConfig::Realm, mRealm->contentWidgetData("text")); - - // User certificate - qDebug("CpEapTlsMethodsUi::storeSettings - User certificate"); - if (mCurrentUserCert > NotInUseIndex) { - QList userCerts; - userCerts.append(qVariantFromValue(mUserCerts.at(mCurrentUserCert - 1))); - // The first item in UI(index 0) is 'not in use' - eapConfig.setValue(EapQtConfig::UserCertificate, userCerts); - } - - // Authority certificate - qDebug("CpEapTlsMethodsUi::storeSettings - Authority certificate"); - eapConfig.setValue(EapQtConfig::AuthorityCertificateAutomatic, checkStateToBool( - mCaCertAutomatic->contentWidgetData("checkState").toInt())); - if (mCurrentAuthorityCert > NotInUseIndex && !checkStateToBool( - mCaCertAutomatic->contentWidgetData("checkState").toInt())) { - QList authorityCerts; - authorityCerts.append(qVariantFromValue(mAuthorityCerts.at(mCurrentAuthorityCert - 1))); - // The first item in UI(index 0) is 'not in use' - eapConfig.setValue(EapQtConfig::AuthorityCertificate, authorityCerts); - } - - // Inner EAP method (Not valid for EAP-TLS) - if (!(mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginEapTls)) { - qDebug("CpEapTlsMethodsUi::storeSettings - Inner EAP method"); - QList innerEaps; - innerEaps.append(qVariantFromValue(mPlugins.at(mCurrentInnerPlugin).pluginHandle())); - eapConfig.setValue(EapQtConfig::InnerType, innerEaps); - } - - // Cipher suites - qDebug("CpEapTlsMethodsUi::storeSettings - Cipher suites"); - eapConfig.setValue(EapQtConfig::CipherSuites, mGroupItemCs->ciphersuites()); - - // PEAP version (valid only for PEAP) - if (mPluginInfo.pluginHandle() == EapQtPluginHandle::PluginPeap) { - setPeapVersion(eapConfig); - } - - // Save configuration - if (!mConfigIf->saveConfiguration(mPluginInfo.pluginHandle(), eapConfig)) { - qDebug("CpEapTlsMethodsUi::storeSettings - configuration saving failed."); - return false; - } - return true; -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapuiplugins.pro --- a/securitysettings/cpeapuiplugins/cpeapuiplugins.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# Control Panel QT UIs for EAP method configuration -# - -# %version: 6 % - - -TEMPLATE = subdirs - -SUBDIRS = \ - cpeapuserpasswordui \ - cpeapsimakaui \ - cpeaptlsmethodsui \ - cpeapciphersuiteui - -CONFIG += ordered \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapuserpasswordui/cpeapuserpasswordui.pro --- a/securitysettings/cpeapuiplugins/cpeapuserpasswordui/cpeapuserpasswordui.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# Project info file for Control Panel username-password based EAP method -# settings plugin. -# - -# %version: 13 % - - -TEMPLATE = lib -TARGET = cpeapuserpasswordui - -INCLUDEPATH += \ - ../../inc - - -CONFIG += hb \ - plugin - -LIBS += -lcpframework \ - -leapqtconfiginterface \ - -leapqtplugininfo - -MOC_DIR = _build -RCC_DIR = _build -OBJECTS_DIR= _build - -# Sources -HEADERS += \ - ../inc/eapuidefs.h \ - inc/cpeapuserpasswordui.h \ - inc/cpeapuserpasswordplugin.h - -SOURCES += \ - src/cpeapuserpasswordui.cpp \ - src/cpeapuserpasswordplugin.cpp - -symbian: { - TARGET.EPOCALLOWDLLDATA = 1 - TARGET.UID3 = 0x2002C2FB - TARGET.CAPABILITY = CAP_GENERAL_DLL - - deploy.path = C: - qtplugins.path = /resource/qt/plugins/controlpanel/eapsecurity - qtplugins.sources += qmakepluginstubs/cpeapuserpasswordui.qtplugin - - for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)" - - BLD_INF_RULES.prj_exports += \ - "rom/cpeapuserpasswordui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpeapuserpasswordui.iby)" -} - -plugin.sources += cpeapuserpasswordui.dll -plugin.path = /resource/qt/plugins/controlpanel/eapsecurity -DEPLOYMENT += plugin diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapuserpasswordui/inc/cpeapuserpasswordplugin.h --- a/securitysettings/cpeapuiplugins/cpeapuserpasswordui/inc/cpeapuserpasswordplugin.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT plugin for username-password based - * EAP method configuration - * - */ - -/* - * %version: 8 % - */ - -#ifndef CPEAPUSERPASSWORDPLUGIN_H -#define CPEAPUSERPASSWORDPLUGIN_H - -// System includes -#include -// User includes -#include "cpeapplugininterface.h" - -// Forward declarations - -// External data types - -// Constants - -/*! - * @addtogroup group_eap_ui_plugin_userpassword - * @{ - */ -class CpEapUserPasswordPlugin: public QObject, public CpEapPluginInterface -{ - Q_OBJECT - Q_INTERFACES(CpEapPluginInterface) - -public: - CpEapUserPasswordPlugin(); - ~CpEapUserPasswordPlugin(); - - void setSettingsReference(const EapQtConfigInterface::EapBearerType bearer, const int iapId); - QList pluginInfo(); - CpBaseSettingView* uiInstance(const EapQtPluginHandle& outerHandle, - const EapQtPluginInfo &plugin); - -private: - EapQtConfigInterface::EapBearerType mBearer; - int mIapId; -}; - -/*! @} */ - -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapuserpasswordui/inc/cpeapuserpasswordui.h --- a/securitysettings/cpeapuiplugins/cpeapuserpasswordui/inc/cpeapuserpasswordui.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,126 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for username-password based EAP method configuration - * - */ - -/* - * %version: 21 % - */ - -#ifndef CPEAPUSERPASSWORDUI_H -#define CPEAPUSERPASSWORDUI_H - -// System includes -#include -#include -#include -#include - -// User includes - -// Forward declarations -class HbDataForm; -class HbDataFormModel; -class HbDataFormModelItem; -class CpSettingFormItemData; -class HbLineEdit; -class EapQtValidator; - -// External data types - -// Constants - -/*! - * @addtogroup group_eap_ui_plugin_userpassword - * @{ - */ - -class CpEapUserPasswordUi : public CpBaseSettingView -{ -Q_OBJECT - -public: - CpEapUserPasswordUi( - const EapQtConfigInterface::EapBearerType bearer, - const int iapId, - const EapQtPluginInfo &plugin, - const EapQtPluginHandle& outerHandle); - ~CpEapUserPasswordUi(); - -protected: - bool eventFilter(QObject *obj, QEvent *event); - void close(); - -private: - void createUi(); - void createUsername(); - void createPassword(); - - bool checkStateToBool(const int state); - int boolToCheckState(const bool state); - - bool storeSettings(); - bool validate(); - bool validateUsername(); - bool validatePasswordGroup(); - -private slots: - void setValidator(const QModelIndex); - void passwordPromptChanged(int state); - void passwordChanged(); - -private: - //! Pointer to EapQtConfigInterface - QScopedPointer mConfigIf; - //! Plugin info - EapQtPluginInfo mPluginInfo; - //! Outer handle - EapQtPluginHandle mOuterHandle; - //! Current EAP configuration - EapQtConfig mEapConfig; - - //! Dataform - HbDataForm *mForm; - //! Datform model - HbDataFormModel *mModel; - //! Control Panel item data helper for username-password plugins - CpItemDataHelper *mItemDataHelper; - //! Username-password settings group - HbDataFormModelItem *mGroupItem; - //! Username lineEdit - CpSettingFormItemData *mUsername; - //! Prompt password checkBox - CpSettingFormItemData *mPasswordPrompt; - //! Password lineEdit - CpSettingFormItemData *mPassword; - - //! Realm validator - QScopedPointer mValidatorUsername; - //! Password validator - QScopedPointer mValidatorPassword; - - //! Password is stored - bool mPasswordStored; - //! Password is saved - bool mPasswordChanged; - //! Password lineEdit - HbLineEdit *mPasswordEdit; - -}; - -/*! @} */ - -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapuserpasswordui/rom/cpeapuserpasswordui.iby --- a/securitysettings/cpeapuiplugins/cpeapuserpasswordui/rom/cpeapuserpasswordui.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: Image description file for userpassword UI -* -*/ - -/* - * %version: 4 % - */ - -#ifndef CPEAPUSERPASSWORDUI_IBY -#define CPEAPUSERPASSWORDUI_IBY - -#include -#include - -#ifdef __PROTOCOL_WLAN - -file=ABI_DIR/BUILD_DIR/cpeapuserpasswordui.dll SHARED_LIB_DIR/cpeapuserpasswordui.dll -data=/epoc32/data/c/resource/qt/plugins/controlpanel/eapsecurity/cpeapuserpasswordui.qtplugin resource/qt/plugins/controlpanel/eapsecurity/cpeapuserpasswordui.qtplugin - -#endif // __PROTOCOL_WLAN - -#endif // CPEAPUSERPASSWORDUI_IBY diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapuserpasswordui/src/cpeapuserpasswordplugin.cpp --- a/securitysettings/cpeapuiplugins/cpeapuserpasswordui/src/cpeapuserpasswordplugin.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,138 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT plugin for username-password based - * EAP method configuration - * - */ - -/* - * %version: 11 % - */ - -// System includes -// User includes -#include "cpeapuserpasswordplugin.h" -#include "cpeapuserpasswordui.h" -#include "eapuidefs.h" - -/*! - * \class CpEapUserPasswordPlugin - * \brief Control Panel QT plugin for username-password based EAP method configuration. - */ - -// External function prototypes - -// Local constants - -Q_EXPORT_PLUGIN2(CpEapUserPasswordPlugin, CpEapUserPasswordPlugin); - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - */ -CpEapUserPasswordPlugin::CpEapUserPasswordPlugin() : - mBearer(EapQtConfigInterface::EapBearerTypeWlan), - mIapId(EapQtConfigInterface::IapIdUndefined) -{ - // Nothing to be done - - qDebug("CpEapUserPasswordPlugin created"); -} - -/*! - * Destructor. - */ -CpEapUserPasswordPlugin::~CpEapUserPasswordPlugin() -{ - // Nothing to be done - // UI instances are owned and deallocated by CP framework - - qDebug("CpEapUserPasswordPlugin destroyed"); -} - -/*! - * See CpEapPluginInterface::setSettingsReference() - * - * @param bearer Bearer of the accessed settings - * @param iapId ID of the accessed IAP - */ -void CpEapUserPasswordPlugin::setSettingsReference( - const EapQtConfigInterface::EapBearerType bearer, const int iapId) -{ - mBearer = bearer; - mIapId = iapId; -} - -/*! - * See CpEapPluginInterface::pluginInfo() - * - * @return Plugin info - */ -QList CpEapUserPasswordPlugin::pluginInfo() -{ - qDebug("CpEapUserPasswordPlugin: provide plugin info"); - QList ret; - - ret.append(EapQtPluginInfo( - EapQtPluginHandle::PluginEapMschapv2, - EapQtUiConstants::StringEapMschapv2, - EapQtUiConstants::OrderEapMschapv2)); - - ret.append(EapQtPluginInfo( - EapQtPluginHandle::PluginPap, - EapQtUiConstants::StringPap, - EapQtUiConstants::OrderPap)); - - ret.append(EapQtPluginInfo( - EapQtPluginHandle::PluginPlainMschapv2, - EapQtUiConstants::StringMschapv2, - EapQtUiConstants::OrderMschapv2)); - - ret.append(EapQtPluginInfo( - EapQtPluginHandle::PluginEapGtc, - EapQtUiConstants::StringEapGtc, - EapQtUiConstants::OrderEapGtc)); - - ret.append(EapQtPluginInfo( - EapQtPluginHandle::PluginLeap, - EapQtUiConstants::StringLeap, - EapQtUiConstants::OrderLeap)); - - return ret; -} - -/*! - * See CpEapPluginInterface::uiInstance() - * - * Creates UI instance - * - * @param outerHandle Plugin handle to outer EAP type. - * @param plugin Plugin info - * - * @return username-password UI instance - */ -CpBaseSettingView* CpEapUserPasswordPlugin::uiInstance(const EapQtPluginHandle& outerHandle, - const EapQtPluginInfo &plugin) -{ - qDebug("CpEapUserPasswordPlugin: create UI instance"); - - Q_ASSERT(mIapId != EapQtConfigInterface::IapIdUndefined); - - // instance is owned and deallocated by CP framework - return new CpEapUserPasswordUi(mBearer, mIapId, plugin, outerHandle); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/cpeapuserpasswordui/src/cpeapuserpasswordui.cpp --- a/securitysettings/cpeapuiplugins/cpeapuserpasswordui/src/cpeapuserpasswordui.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,480 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for username-password based EAP method configuration - * - */ - -/* - * %version: 27 % - */ - -// System includes -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// User includes -#include "cpeapuserpasswordui.h" - -/*! - * \class CpEapUserPasswordUi - * \brief Implementes username-password based EAP method configuration ui. - */ - -// External function prototypes - -// Local constants - -/*! - * If password has already been stored into the database - * user is shown dummy password (fixed number of asterisks) - */ -static const QVariant passwordExistString = "xxxx"; - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param bearer Bearer type of the accessed configuration. - * @param iapId IAP ID of the accessed configuration. - * @param plugin Plugin. - * @param outerHandle Outer handle. - */ -CpEapUserPasswordUi::CpEapUserPasswordUi( - const EapQtConfigInterface::EapBearerType bearer, - const int iapId, - const EapQtPluginInfo &plugin, - const EapQtPluginHandle& outerHandle) : - mConfigIf(NULL), - mPluginInfo(plugin), - mOuterHandle(outerHandle), - mForm(NULL), - mModel(NULL), - mItemDataHelper(NULL), - mGroupItem(NULL), - mUsername(NULL), - mPasswordPrompt(NULL), - mPassword(NULL), - mValidatorUsername(NULL), - mValidatorPassword(NULL), - mPasswordStored(false), - mPasswordChanged(false), - mPasswordEdit(NULL) -{ - qDebug("CpEapUserPasswordUi::CpEapUserPasswordUi"); - - // IAP must be valid in construction (check includes - // EapQtConfigInterface::IapIdUndefined) - if (iapId < 0) { - QT_THROW(std::bad_alloc()); - // scoped pointer gets deleted automaticaly on exception - } - - // Get EAP config interface - mConfigIf.reset(new EapQtConfigInterface(bearer, iapId)); - - createUi(); -} - -/*! - * Destructor. - */ -CpEapUserPasswordUi::~CpEapUserPasswordUi() -{ - qDebug("CpEapUserPasswordUi::~CpEapUserPasswordUi"); - - // mValidatorUsername, mValidatorPassword - // mConfigIf: scoped pointer deleted automatically -} - -/*! - * Creates username-password UI and initilizes settings read via - * EapQtConfigInterface - */ -void CpEapUserPasswordUi::createUi() -{ - qDebug("CpEapUserPasswordUi::createUi"); - - // Read Configurations - bool configurationRead = mConfigIf->readConfiguration(mOuterHandle, mPluginInfo.pluginHandle(), - mEapConfig); - if (!configurationRead) { - qDebug("CpEapUserPasswordUi::initializeUserPasswordUi - read configuration failed."); - } - - // Construct username-password UI - mForm = new HbDataForm(); - this->setWidget(mForm); - mModel = new HbDataFormModel(mForm); - - // Create settings group - mGroupItem = new HbDataFormModelItem(HbDataFormModelItem::GroupItem, - HbParameterLengthLimiter( - hbTrId("txt_occ_subhead_eap_module_settings")).arg( - mPluginInfo.localizationId())); - mModel->appendDataFormItem(mGroupItem); - - // The parameter given as 0 is a HbDataForm pointer, not parent - mItemDataHelper = new CpItemDataHelper(0); - mItemDataHelper->setParent(this); - - // Create UI components - createUsername(); - createPassword(); - - mItemDataHelper->bindToForm(mForm); - mForm->setModel(mModel); - - // Connect signal to add validators when items get activated (visualization created). - bool connected = connect(mForm, SIGNAL( itemShown(const QModelIndex&) ), this, - SLOT( setValidator(const QModelIndex) )); - Q_ASSERT(connected); - - // Expand username-password settings group - mForm->setExpanded(mModel->indexFromItem(mGroupItem), true); -} - -/*! - * Creates Username lineEdit - */ -void CpEapUserPasswordUi::createUsername() -{ - qDebug("CpEapUserPasswordUi::createUsername()"); - // Username - mUsername = new CpSettingFormItemData(HbDataFormModelItem::TextItem, hbTrId( - "txt_occ_setlabel_user_name")); - // Initialize the value from EapQtConfig - mUsername->setContentWidgetData("text", mEapConfig.value(EapQtConfig::Username)); - mGroupItem->appendChild(mUsername); -} - -/*! - * Creates Password group: - * Prompt checkBox and password lineEdit - */ -void CpEapUserPasswordUi::createPassword() -{ - qDebug("CpEapUserPasswordUi::createPassword()"); - // Password prompting - mPasswordPrompt = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, hbTrId( - "txt_occ_setlabel_password")); - mPasswordPrompt->setContentWidgetData("text", hbTrId("txt_occ_setlabel_password_val_prompt")); - mPasswordPrompt->setContentWidgetData("checkState", boolToCheckState(mEapConfig.value( - EapQtConfig::PasswordPrompt).toBool())); - // Connect signal to disable/enable password when passwordPrompt changed - mForm->addConnection(mPasswordPrompt, SIGNAL(stateChanged(int)), this, - SLOT(passwordPromptChanged(int))); - mGroupItem->appendChild(mPasswordPrompt); - - // Password - mPassword = new CpSettingFormItemData(HbDataFormModelItem::TextItem, hbTrId( - "txt_occ_setlabel_password")); - mPasswordStored = mEapConfig.value(EapQtConfig::PasswordStored).toBool(); - // If password has already been stored into the databse - // fixed number of asterisks are shown in UI - if (mPasswordStored) { - mPassword->setContentWidgetData("text", passwordExistString); - } - // Set password echo mode - mPassword->setContentWidgetData("echoMode", HbLineEdit::Password); - // Dim password if passwordPrompt is selected - passwordPromptChanged(mPasswordPrompt->contentWidgetData("checkState") == Qt::Checked); - // Connect signal to get info that user has changed the password - mForm->addConnection(mPassword, SIGNAL(editingFinished()), this, SLOT(passwordChanged())); - mGroupItem->appendChild(mPassword); -} - -/*! - * Adds validators and connects focusIn event to the Password. - * - * @param modelIndex Model index - */ -void CpEapUserPasswordUi::setValidator(const QModelIndex modelIndex) -{ - qDebug("CpEapUserPasswordUi::itemActivated"); - - HbDataFormViewItem *viewItem = qobject_cast - (mForm->itemByIndex(modelIndex)); - HbDataFormModelItem *modelItem = mModel->itemFromIndex(modelIndex); - - if (modelItem == mUsername) { - // When username lineEdit is activated (shown) first time, validator is added - mValidatorUsername.reset(mConfigIf->validatorEap(mPluginInfo.pluginHandle().type(), - EapQtConfig::Username)); - HbLineEdit *usernameEdit = qobject_cast (viewItem->dataItemContentWidget()); - mValidatorUsername->updateEditor(usernameEdit); - } - else if (modelItem == mPassword) { - // When password lineEdit is activated (shown) first time, validator is added - mValidatorPassword.reset(mConfigIf->validatorEap(mPluginInfo.pluginHandle().type(), - EapQtConfig::Password)); - mPasswordEdit = qobject_cast (viewItem->dataItemContentWidget()); - mValidatorPassword->updateEditor(mPasswordEdit); - // Install event filter to clear dummy password, when password is started to edit. - mPasswordEdit->installEventFilter(this); - } -} - -/*! - * This is called when user is about to exit the view. - * Validates configuration and saves settings. - * If configuration is not valid prompts question dialog. - * If user chooses "OK" leaves without saving. - * - */ -void CpEapUserPasswordUi::close() -{ - qDebug("CpEapUserPasswordUi::close"); - - // Validate configuration - if (validate()) { - qDebug("CpEapUserPasswordUi::close - Validation OK"); - - // Store settings - if (storeSettings()){ - qDebug("CpEapUserPasswordUi::close - Settings stored, close view"); - // Close view - CpBaseSettingView::close(); - } - else { - qDebug("CpEapUserPasswordUi::close - Store settings failed, prompt warning"); - // Store failed. Show error note to user - QScopedPointer infoBox; - infoBox.reset(new HbMessageBox( - HbMessageBox::MessageTypeWarning)); - infoBox->setAttribute(Qt::WA_DeleteOnClose); - infoBox->setText(hbTrId("txt_occ_info_unable_to_save_setting")); - infoBox->clearActions(); - // Connect 'OK'-button to CpBaseSettingView 'aboutToClose'-signal - HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok")); - infoBox->addAction(okAction); - bool connected = connect( - okAction, - SIGNAL(triggered()), - this, - SIGNAL(aboutToClose())); - Q_ASSERT(connected); - infoBox->open(); - infoBox.take(); - } - } - else { - qDebug("CpEapUserPasswordUi::close - validation failed. Prompt question."); - - // Validate failed. Request user to exit anyway - QScopedPointer messageBox; - messageBox.reset(new HbMessageBox( - HbMessageBox::MessageTypeQuestion)); - messageBox->setAttribute(Qt::WA_DeleteOnClose); - messageBox->setText(hbTrId("txt_occ_info_incomplete_details_return_without_sa")); - messageBox->clearActions(); - // Connect 'YES'-button to CpBaseSettingView 'aboutToClose'-signal - HbAction *okAction = new HbAction(hbTrId("txt_common_button_yes")); - messageBox->addAction(okAction); - bool connected = connect( - okAction, - SIGNAL(triggered()), - this, - SIGNAL(aboutToClose())); - Q_ASSERT(connected); - // Clicking 'NO'-button does nothing - HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_no")); - messageBox->addAction(cancelAction); - messageBox->setTimeout(HbPopup::NoTimeout); - messageBox->open(); - messageBox.take(); - } -} - -/*! - * Converts check box state to boolean. - * - * @param state Check box state - * - * @return true if Check box is checked, false otherwise. - */ -bool CpEapUserPasswordUi::checkStateToBool(const int state) -{ - return (Qt::Unchecked == state ? false : true); -} - -/*! - * Converts boolean to check box state. - * - * @param state Tells is check box checked. - * - * @return Qt check state - */ -int CpEapUserPasswordUi::boolToCheckState(const bool state) -{ - return (false == state ? Qt::Unchecked : Qt::Checked); -} - -/*! - * Dims the password if passwordPrompt has been selected. - * - * @param state Tells is password prompt checked. - */ -void CpEapUserPasswordUi::passwordPromptChanged(int state) -{ - qDebug("CpEapUserPasswordUi::passwordPromptChanged - state: %d", state); - - mPassword->setContentWidgetData("enabled", !checkStateToBool(state)); -} - -/*! - * Saves information that password has been changed and must be stored. - * If the new password is not given, the stored password is kept (if exists). - */ -void CpEapUserPasswordUi::passwordChanged() -{ - if (mPassword->contentWidgetData("text").toString().length() > 0) { - // Stored password is considered as changed only if user - // gives new unempty password - qDebug("CpEapUserPasswordUi::passwordChanged"); - mPasswordChanged = true; - } -} - -/*! - * When a focus moves into the password editor, possible dummy password is cleared. - */ -bool CpEapUserPasswordUi::eventFilter(QObject *obj, QEvent *event) -{ - - if (obj == mPasswordEdit && event->type() == QEvent::FocusIn - && mPasswordStored && !mPasswordChanged) { - qDebug("CpEapUserPasswordUi::eventFilter - mPasswordEdit and FocusIn"); - mPassword->setContentWidgetData("text", ""); - } - return false; -} - -/*! - * Validates settings configuration. - * - * @return true if configuration OK, false otherwise. - */ -bool CpEapUserPasswordUi::validate() -{ - qDebug("CpEapUserPasswordUi::validate"); - bool valid = false; - - if (validateUsername() - && validatePasswordGroup()) { - qDebug("CpEapUserPasswordUi::validate - OK"); - valid = true; - } - - return valid; -} - -/*! - * Validates username - * - * @return true if OK, false otherwise - */ -bool CpEapUserPasswordUi::validateUsername() -{ - qDebug("CpEapUserPasswordUi::validateUsername"); - bool status = false; - // true if (given username is valid) or - // (password prompt is on and username is empty) - if ((EapQtValidator::StatusOk == mValidatorUsername->validate( - mUsername->contentWidgetData("text"))) - || (mPasswordPrompt->contentWidgetData("checkState") == Qt::Checked - && mUsername->contentWidgetData("text").toString().length() == 0)) { - qDebug("CpEapUserPasswordUi::validateUsername - OK"); - status = true; - } - return status; -} - -/*! - * Validates password and passwordPrompt. - * - * @return true if OK, false otherwise. - */ -bool CpEapUserPasswordUi::validatePasswordGroup() -{ - qDebug("CpEapUserPasswordUi::validatePasswordGroup"); - bool status = false; - // true if password prompt is checked, stored password has not changed - // or changed/given passrword is valid - if (mPasswordPrompt->contentWidgetData("checkState") == Qt::Checked - || (mPasswordStored && !mPasswordChanged) - || (mPasswordStored && mPasswordChanged && EapQtValidator::StatusOk - == mValidatorPassword->validate(mPassword->contentWidgetData("text").toString())) - || (!mPasswordStored && EapQtValidator::StatusOk - == mValidatorPassword->validate(mPassword->contentWidgetData("text").toString()))) { - qDebug("CpEapUserPasswordUi::validatePasswordGroup - OK"); - status = true; - } - return status; -} - -/*! - * Stores settings given via username-password configuration UI - * - * @return false if saving failed, true otherwisev - */ -bool CpEapUserPasswordUi::storeSettings() -{ - qDebug("CpEapUserPasswordUi::storeSettings"); - - EapQtConfig eapConfig; - - eapConfig.setValue(EapQtConfig::OuterType, qVariantFromValue(mOuterHandle)); - eapConfig.setValue(EapQtConfig::Username, mUsername->contentWidgetData("text")); - eapConfig.setValue(EapQtConfig::PasswordPrompt, checkStateToBool( - mPasswordPrompt->contentWidgetData("checkState").toInt())); - if (mPasswordPrompt->contentWidgetData("checkState") == Qt::Checked) { - if(mPasswordStored) { - // Stored password is cleared if prompting has been enabled - eapConfig.setValue(EapQtConfig::PasswordClear, true); - eapConfig.setValue(EapQtConfig::Password, ""); - } - // else do nothing (password is not saved) - } - else { - // Password prompt is disabled - if (!mPasswordChanged && mPasswordStored) { - // Stored password has not been changed - eapConfig.setValue(EapQtConfig::PasswordStored, true); - } - else if (mPasswordChanged || !mPasswordStored) { - // Store the new password - eapConfig.setValue(EapQtConfig::Password, mPassword->contentWidgetData("text").toString()); - } - } - - // Save configuration - if (!mConfigIf->saveConfiguration(mPluginInfo.pluginHandle(), eapConfig)) { - qDebug("CpEapUserPasswordUi::storeSettings - configuration saving failed."); - return false; - } - return true; -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpeapuiplugins/inc/eapuidefs.h --- a/securitysettings/cpeapuiplugins/inc/eapuidefs.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Constant definitions for EAP control panel UIs - * - */ - -/* - * %version: 7 % - */ - -#ifndef EAPUIDEFS_H -#define EAPUIDEFS_H - -#include - -namespace EapQtUiConstants -{ - - // EAP plugin names - static const QString StringEapAka = "EAP-AKA"; - static const QString StringEapFast = "EAP-FAST"; - static const QString StringEapGtc = "EAP-GTC"; - static const QString StringEapMschapv2 = "EAP-MSCHAPv2"; - static const QString StringEapSim = "EAP-SIM"; - static const QString StringEapTls = "EAP-TLS"; - static const QString StringEapTtls = "EAP-TTLS"; - static const QString StringLeap = "LEAP"; - static const QString StringMschapv2 = "MSCHAPv2"; - static const QString StringPap = "PAP"; - static const QString StringPeap = "PEAP"; - - // EAP plugin preference order, i.e. the order in which the plugins - // are shown on the UI relative to each other - static const int OrderPeap = 10; // outer only - static const int OrderEapTtls = 20; // outer only - static const int OrderMschapv2 = 30; // inner only - static const int OrderPap = 40; // inner only - static const int OrderEapGtc = 50; // inner only - static const int OrderEapMschapv2 = 60; // inner only - static const int OrderEapTls = 70; // inner & outer - static const int OrderEapFast = 80; // outer only - static const int OrderLeap = 90; // outer only - static const int OrderEapAka = 100; // inner & outer - static const int OrderEapSim = 110; // inner & outer - - // TLS cipher names - static const QString EapCipher_RSA_AES_SHA = "RSA, AES, SHA"; - static const QString EapCipher_DHE_RSA_AES_SHA = "DHE-RSA, AES, SHA"; - static const QString EapCipher_DHE_DSS_AES_SHA = "DHE-DSS, AES, SHA"; - static const QString EapCipher_RSA_3DES_SHA = "RSA, 3DES, SHA"; - static const QString EapCipher_DHE_RSA_3DES_SHA = "DHE-RSA, 3DES, SHA"; - static const QString EapCipher_DHE_DSS_3DES_SHA = "DHE-DSS, 3DES, SHA"; - static const QString EapCipher_RSA_RC4_MD5 = "RSA, RC4, MD5"; - static const QString EapCipher_RSA_RC4_SHA = "RSA, RC4, SHA"; - -} - -#endif // EAPUIDEFS_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/bwins/cpwpacmnuiu.def --- a/securitysettings/cpwlansecurityuiplugins/bwins/cpwpacmnuiu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -EXPORTS - ?createUi@CpWpaCmnUi@@QAEPAVCpSettingFormItemData@@PAVEapQtConfigInterface@@PAVCmConnectionMethodShim@@@Z @ 1 NONAME ; class CpSettingFormItemData * CpWpaCmnUi::createUi(class EapQtConfigInterface *, class CmConnectionMethodShim *) - ??0CpWpaCmnUi@@QAE@W4WlanSecMode@CMManagerShim@@AAVCpItemDataHelper@@@Z @ 2 NONAME ; CpWpaCmnUi::CpWpaCmnUi(enum CMManagerShim::WlanSecMode, class CpItemDataHelper &) - ??1CpWpaCmnUi@@QAE@XZ @ 3 NONAME ; CpWpaCmnUi::~CpWpaCmnUi(void) - ?validateSettings@CpWpaCmnUi@@QAE_NXZ @ 4 NONAME ; bool CpWpaCmnUi::validateSettings(void) - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cp802dot1xui/cp802dot1xui.pro --- a/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/cp802dot1xui.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# Control Panel plugin for 802.1X WLAN security mode -# -# %version: tr1cfwln#12 % -# - -TEMPLATE = lib -TARGET = cp802dot1xui - -DEPENDPATH += - -INCLUDEPATH += \ - ../inc - -CONFIG += \ - hb \ - plugin - -LIBS += \ - -lcpframework \ - -lcpwpacmnui \ - -lconnection_settings_shim \ - -leapqtconfiginterface - -MOC_DIR = _build -RCC_DIR = _build -OBJECTS_DIR = _build - -# Input -HEADERS += \ - traces/OstTraceDefinitions.h \ - inc/cp802dot1xui.h - -SOURCES += src/cp802dot1xui.cpp - -symbian: -{ - TARGET.CAPABILITY = CAP_GENERAL_DLL - TARGET.EPOCALLOWDLLDATA = 1 - TARGET.UID3 = 0x2002DC72 - - deploy.path = C: - qtplugins.path = /resource/qt/plugins/controlpanel/wlansecurity - qtplugins.sources += qmakepluginstubs/cp802dot1xui.qtplugin - for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)" - - BLD_INF_RULES.prj_exports += \ - "rom/cp802dot1xui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cp802dot1xui.iby)" -} - -symbian: -{ -    MMP_RULES += "USERINCLUDE traces" -} - -# common translation file for all plugins -TRANSLATIONS = cpwlansecsettingsplugin.ts - -plugin.sources += cp802dot1xui.dll -plugin.path = /resource/qt/plugins/controlpanel - -DEPLOYMENT += plugin diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cp802dot1xui/inc/cp802dot1xui.h --- a/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/inc/cp802dot1xui.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,96 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for 802_Dot_1x configuration - * - */ - -/* - * %version: tr1cfwln#7 % - */ - -#ifndef CP802DOT1XUI_H -#define CP802DOT1XUI_H - -// System includes -#include -#include - -// User includes - - -// Forward declarations -class EapQtConfigInterface; -class CmConnectionMethodShim; -class CpWpaCmnUi; -class HbTranslator; - -/*! - * @addtogroup group_wlan_security_ui_plugin_802_Dot_1x - * @{ - */ - -/*! - * Implements 802_Dot_1x plugin for Wlan security control panel - */ -//Class Declaration -class Cp802Dot1xUi : public QObject, public CpWlanSecurityPluginInterface -{ - Q_OBJECT - Q_INTERFACES(CpWlanSecurityPluginInterface) - - public: - Cp802Dot1xUi(); - ~Cp802Dot1xUi(); - - public: - // from CpWlanSecurityPluginInterface - - CMManagerShim::WlanSecMode securityMode() const; - - QString securityModeTextId() const; - - void setReference(CmConnectionMethodShim *cmCm, uint id); - - int orderNumber() const; - - CpSettingFormItemData* uiInstance( - CpItemDataHelper &dataHelper); - - bool validateSettings(); - - private: - - Q_DISABLE_COPY(Cp802Dot1xUi) - - //!WPA security group item - CpSettingFormItemData* mUi; - - //!Translator for all the localisation Text Id's - HbTranslator *mTranslator; - - //! Connection Settings Shim connection method pointer - CmConnectionMethodShim *mCmCM; - - //! Eap Plugin config interface - EapQtConfigInterface *mEapQtConfigInterface; - - //!802.1x ui Implementer Interface - QScopedPointer m802Ui; - -}; - -/*! @} */ - -#endif //CP802DOT1XUI_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cp802dot1xui/rom/cp802dot1xui.iby --- a/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/rom/cp802dot1xui.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: IBY file for 802.1x control panel plugin -* -*/ - -/* - * %version: 1 % - */ - -#ifndef CP802DOT1XUI_IBY -#define CP802DOT1XUI_IBY - -#include -#include - -#ifdef __PROTOCOL_WLAN - -file=ABI_DIR/BUILD_DIR/cp802dot1xui.dll SHARED_LIB_DIR/cp802dot1xui.dll -data=/epoc32/data/c/resource/qt/plugins/controlpanel/wlansecurity/cp802dot1xui.qtplugin resource/qt/plugins/controlpanel/wlansecurity/cp802dot1xui.qtplugin - -#endif // __PROTOCOL_WLAN - -#endif // CP802DOT1XUI_IBY diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cp802dot1xui/src/cp802dot1xui.cpp --- a/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/src/cp802dot1xui.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,173 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for 802_Dot_1x configuration - * - */ - -/* - * %version: tr1cfwln#8 % - */ - -//User Includes -#include "cp802dot1xui.h" -#include "cpwpacmnui.h" -#include "cpwpacmnui_global.h" - -//System Includes -#include -#include -#include -#include -#include - -//Trace Definition -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "cp802dot1xuiTraces.h" -#endif - -/*! - \class Cp802Dot1xUi - \brief Cp802Dot1xUi implements the common Ui for 802.1x only - Security Settings Control Panel Plugins, - which will allow viewing/editing of 802.1x Security Settings. - */ -//The order in which 802_Dot_1x only mode appears in the list of available -//security modes -const int UI_ORDER_802_Dot_1x = 40; - -/*! - * Constructor - */ - -Cp802Dot1xUi::Cp802Dot1xUi() : - mUi(NULL), - mTranslator(new HbTranslator("cpwlansecsettingsplugin")), - mCmCM(NULL), - mEapQtConfigInterface(NULL), - m802Ui(NULL) -{ - -} - -// Destructor -Cp802Dot1xUi::~Cp802Dot1xUi() -{ - OstTraceFunctionEntry1(CP802DOT1XUI_CP802DOT1XUI_ENTRY,this); - delete mEapQtConfigInterface; - delete mTranslator; - OstTraceFunctionExit1(CP802DOT1XUI_CP802DOT1XUI_EXIT,this); -} - -/*! - Getter for security mode. - - \return Security mode identifier - */ -CMManagerShim::WlanSecMode Cp802Dot1xUi::securityMode() const -{ - OstTraceFunctionEntry1(CP802DOT1XUI_SECURITYMODE_ENTRY,this); - OstTraceFunctionExit1(CP802DOT1XUI_SECURITYMODE_EXIT,this); - //return security mode - return CMManagerShim::WlanSecMode802_1x; -} - -/*! - Getter for localization text identifier for the security mode, - f.ex. "txt_occ_setlabel_wlan_security_mode_val_8021x". This localized - text will be shown in the UI. - - \return Localization text ID - */ -QString Cp802Dot1xUi::securityModeTextId() const -{ - OstTraceFunctionEntry1( CP802DOT1XUI_SECURITYMODETEXTID_ENTRY, this ); - OstTraceFunctionExit1( CP802DOT1XUI_SECURITYMODETEXTID_EXIT, this ); - return "txt_occ_setlabel_wlan_security_mode_val_8021x"; -} - -/*! - Sets the database reference IAP id. - - \param id Database reference - */ -void Cp802Dot1xUi::setReference(CmConnectionMethodShim *cmCm,uint id) -{ - OstTraceFunctionEntry1(CP802DOT1XUI_SETREFERENCE_ENTRY,this); - if (!mEapQtConfigInterface) { - mEapQtConfigInterface = new EapQtConfigInterface( - EapQtConfigInterface::EapBearerTypeWlan, id); - } - else { - mEapQtConfigInterface->setConfigurationReference(id); - } - - //mCmCM is not deleted assuming mCmManager owns it. - mCmCM = cmCm; - - OstTraceFunctionExit1(CP802DOT1XUI_SETREFERENCE_EXIT,this); -} - -/*! - Getter for order number. This order number is used by the client of - this interface to put the security modes in correct order in the list. - - \return An order number - */ -int Cp802Dot1xUi::orderNumber() const -{ - OstTraceFunctionEntry1(CP802DOT1XUI_ORDERNUMBER_ENTRY,this); - OstTraceFunctionExit1(CP802DOT1XUI_ORDERNUMBER_EXIT,this); - return UI_ORDER_802_Dot_1x; -} - -/*! - Creates an UI instance. Caller owns the object. - - \param dataHelper Item data helper - \return Pointer to an UI object - */ -CpSettingFormItemData* Cp802Dot1xUi::uiInstance(CpItemDataHelper &dataHelpper) -{ - OstTraceFunctionEntry1(CP802DOT1XUI_UIINSTANCE_ENTRY,this); - - //reset Common Ui ptr - m802Ui.reset(new CpWpaCmnUi(CMManagerShim::WlanSecMode802_1x, dataHelpper)); - - mUi = m802Ui->createUi(mEapQtConfigInterface, mCmCM); - - OstTraceFunctionExit1(CP802DOT1XUI_UIINSTANCE_EXIT,this); - return mUi; -} - - -/*! - Validates current security settings. This function is called whenever - user tries to exit from the settings view. If the plugin determines - that some settings need editing before considered valid, it shall - return false. A dialog will be shown to the user indicating that - settings are still incomplete and asking if he/she wishes to exit - anyway. - - \return True if security settings for 802.1x only are valid, false if not. -*/ -bool Cp802Dot1xUi::validateSettings() - { - return true; - } - - -Q_EXPORT_PLUGIN2(Cp802Dot1xUi, Cp802Dot1xUi) -; diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cp802dot1xui/traces/OstTraceDefinitions.h --- a/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/traces/OstTraceDefinitions.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: TraceHeader ,includes the TraceAPI - * - * - */ - -/* - * %version: tr1cfwln#5 % - */ - -#ifndef __OSTTRACEDEFINITIONS_H__ -#define __OSTTRACEDEFINITIONS_H__ -#include -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwepui/cpwepui.pro --- a/securitysettings/cpwlansecurityuiplugins/cpwepui/cpwepui.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# Control Panel plugin for WEP WLAN security mode - -# %version: tr1cfwln#16 % - - -TEMPLATE = lib -TARGET = cpwepui - -DEPENDPATH += - -INCLUDEPATH += - -CONFIG += \ - hb \ - plugin - -LIBS += \ - -lcpframework \ - -lconnection_settings_shim - -MOC_DIR = _build -RCC_DIR = _build -OBJECTS_DIR = _build - -# Input -HEADERS += \ - traces/OstTraceDefinitions.h \ - inc/wepkeyvalidator.h \ - inc/cpwepui.h - -SOURCES += \ - src/wepkeyvalidator.cpp \ - src/cpwepui.cpp - -symbian: -{ - TARGET.CAPABILITY = CAP_GENERAL_DLL - TARGET.EPOCALLOWDLLDATA = 1 - TARGET.UID3 = 0x2002C2FF - - deploy.path = C: - qtplugins.path = /resource/qt/plugins/controlpanel/wlansecurity - qtplugins.sources += qmakepluginstubs/cpwepui.qtplugin - - for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)" - - BLD_INF_RULES.prj_exports += \ - "rom/cpwepui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpwepui.iby)" -} - -symbian: -{ -    MMP_RULES += "USERINCLUDE traces" -} - -# common translation file for all plugins -TRANSLATIONS = cpwlansecsettingsplugin.ts - -plugin.sources += cpwepui.dll -plugin.path = /resource/qt/plugins/controlpanel -DEPLOYMENT += plugin - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwepui/inc/cpwepui.h --- a/securitysettings/cpwlansecurityuiplugins/cpwepui/inc/cpwepui.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,170 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for WEP configuration - * - */ - -/* - * %version: tr1cfwln#18 % - */ - -#ifndef CPWEPUI_H -#define CPWEPUI_H - -// System includes -#include -#include -#include -#include - -//User Includes - -// Forward declarations -class CmConnectionMethodShim; -class HbTranslator; -class WepKeyValidator; - -//Constant declarations -//!Maximum Number of Keys for WEP -static const int KMaxNumberofKeys = 4; - -/*! - * Implements WEP plugin for Wlan security control panel - */ - -// Class declaration -class CpWepUi : public QObject, public CpWlanSecurityPluginInterface -{ - Q_OBJECT - Q_INTERFACES(CpWlanSecurityPluginInterface) - -public: - CpWepUi(); - ~CpWepUi(); - -public: - // from CpWlanSecurityPluginInterface - - CMManagerShim::WlanSecMode securityMode() const; - - QString securityModeTextId() const; - - void setReference(CmConnectionMethodShim *cmCm, uint id); - - int orderNumber() const; - - CpSettingFormItemData* uiInstance(CpItemDataHelper &dataHelper); - - bool validateSettings(); - -private: - - enum WEPKeyFormat - { - EFormatHex, EFormatAscii, - }; - -private: - - void loadFieldsFromDataBase(); - - void wepKeyTextChanged(int index); - - bool tryUpdate(); - - void handleUpdateError(); - - void showMessageBox(HbMessageBox::MessageBoxType type, - const QString &text); - - void updateWepSettings(); - - void commitWEPkeys(int index); - - void createWEPKeyOneGroup(CpItemDataHelper &dataHelpper); - - void createWEPKeyTwoGroup(CpItemDataHelper &dataHelpper); - - void createWEPKeyThreeGroup(CpItemDataHelper &dataHelpper); - - void createWEPKeyFourGroup(CpItemDataHelper &dataHelpper); - - void storeWEPKey(CMManagerShim::ConnectionMethodAttribute enumValue,QString& key); - - void setKeyFormat(QString& key,int index); - - CMManagerShim::ConnectionMethodAttribute getWEPKeyEnum(int index); - - void createWEPKeyGroup(int index); - - void addConnections(CpItemDataHelper &dataHelpper); - -private slots: - - void wepKeyInUseChanged(int index); - - void wepKeyOneChanged(); - - void wepKeyTwoChanged(); - - void wepKeyThreeChanged(); - - void wepKeyFourChanged(); - - void setEditorPreferences(const QModelIndex &modelIndex); - -private: - - Q_DISABLE_COPY(CpWepUi) - - //!WEP security group item - CpSettingFormItemData* mUi; - - //! Store strings of WEP keys - QStringList mKeyData; - - //! WEP keys item - CpSettingFormItemData *mWepKey[KMaxNumberofKeys]; - - //! WEP keys text item - CpSettingFormItemData *mWepKeyText[KMaxNumberofKeys]; - - //!Store the index of the current key in use - int mNewKeySelected; - - //!Translator for all the localisation Text Id's - HbTranslator* mTranslator; - - //!Connection Settings Shim connection method pointer - CmConnectionMethodShim *mCmCM; - - //! Connection method Id - int mCmId; - - //! Message box for info notes - QSharedPointer mMessageBox; - - //! Store Formats of WEP keys - WEPKeyFormat mkeyFormat[KMaxNumberofKeys]; - - CpItemDataHelper* mItemDataHelper; - - - -}; - -/*! @} */ - -#endif //CPWEPUI_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwepui/inc/wepkeyvalidator.h --- a/securitysettings/cpwlansecurityuiplugins/cpwepui/inc/wepkeyvalidator.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Validation methods for WEP keys - * - */ - -/* - * %version: tr1cfwln#4 % - */ - -#ifndef WEPKEYVALIDATOR_H -#define WEPKEYVALIDATOR_H - -/*! - * @addtogroup group_wep_key_validator - * @{ - */ - -class WepKeyValidator -{ -public: - enum KeyStatus - { - KeyStatusOk, - KeyStatusIllegalCharacters, - KeyStatusWepInvalidLength, - }; - - - static const int WepHex64BitMaxLength = 10; - static const int WepHex128BitMaxLength = 26; - static const int WepAscii64BitMaxLength = 5; - static const int WepAscii128BitMaxLength = 13; - static const int WepKeyEmptyString = 0; - -public: - static KeyStatus validateWepKey(const QString &key); - static KeyStatus isAscii(const QString &key); - static KeyStatus isHex(const QString &key); -}; - -/*! @} */ - -#endif /* WEPKEYVALIDATOR_H */ diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwepui/rom/cpwepui.iby --- a/securitysettings/cpwlansecurityuiplugins/cpwepui/rom/cpwepui.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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:IBY file for WEP Ui -* -*/ - -/* - * %version: tr1cfwln#4 % - */ - -#ifndef CPWEPUI_IBY -#define CPWEPUI_IBY - -#include -#include - -#ifdef __PROTOCOL_WLAN - -file=ABI_DIR/BUILD_DIR/cpwepui.dll SHARED_LIB_DIR/cpwepui.dll -data=/epoc32/data/c/resource/qt/plugins/controlpanel/wlansecurity/cpwepui.qtplugin resource/qt/plugins/controlpanel/wlansecurity/cpwepui.qtplugin - -#endif // __PROTOCOL_WLAN - -#endif // CPWEPUI_IBY diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwepui/src/cpwepui.cpp --- a/securitysettings/cpwlansecurityuiplugins/cpwepui/src/cpwepui.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,724 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for WEP configuration - * - */ - -/* - * %version: tr1cfwln#24 % - */ - -//User Includes -#include "cpwepui.h" -#include "wepkeyvalidator.h" - - -// System includes -#include -#include -#include -#include -#include -#include -#include - -//Trace Definition -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "cpwepuiTraces.h" -#endif - -// Constants -//The order in which WEP only mode appears in the list of available -//security mode -static const int UI_ORDER_WEP = 10; - -//! Index of first WEP key -static const int KFirstKey = 0; - -//! Index of second WEP key -static const int KSecondKey = 1; - -//! Index of third WEP key -static const int KThirdKey = 2; - -//! Index of fourth WEP key -static const int KFourthKey = 3; - -//!Maximum allowed length for WEP keys, in hex mode -static const int KMaxKeyLength = 26; - - - -/*! - \class CpWepUi - \brief CpWepUi implements the WEP Security Settings Control Panel Plugin - which will allow viewing/editing of WEP Security Settings. - */ -//Contructs WEP object -CpWepUi::CpWepUi() : - mUi(NULL), - mNewKeySelected(0), - mTranslator(new HbTranslator("cpwlansecsettingsplugin")), - mCmCM(NULL), - mCmId(0) -{ - //Initialize array members - for(int index=0;indexsetContentWidgetData("items", wepKeys); - wepKeyInUse->setContentWidgetData("currentIndex", mNewKeySelected); - dataHelpper.addConnection(wepKeyInUse, SIGNAL(currentIndexChanged(int)), - this, SLOT(wepKeyInUseChanged(int))); - mUi->appendChild(wepKeyInUse); - - //Create Ui for all 4 WEP keys - createWEPKeyGroup(KFirstKey); - - createWEPKeyGroup(KSecondKey); - - createWEPKeyGroup(KThirdKey); - - createWEPKeyGroup(KFourthKey); - - //Add Connections(signals) - addConnections(dataHelpper); - - OstTraceFunctionExit1(CPWEPUI_UIINSTANCE_EXIT,this); - return mUi; -} - - -/*! - Validates current security settings. This function is called whenever - user tries to exit from the settings view. If the plugin determines - that some settings need editing before considered valid, it shall - return false. A dialog will be shown to the user indicating that - settings are still incomplete and asking if he/she wishes to exit - anyway. - - \return True if security settings for WEP are valid, false if not. -*/ -bool CpWepUi::validateSettings() -{ - bool ret(false); - //Check the latest string entered for the WEP key in the text box - QVariant keyValue = mWepKeyText[mNewKeySelected]->contentWidgetData("text"); - QString keyString = keyValue.toString(); - - WepKeyValidator::KeyStatus keystatus = WepKeyValidator::validateWepKey(keyString); - - //Check if key is valid and not of zero length - if(keystatus==WepKeyValidator::KeyStatusOk) { - ret = true; - } - return ret; -} - -/*! - * Create Ui element with text edit for WEP KEYS - * - * \param index of the WEP key - * */ -void CpWepUi::createWEPKeyGroup(int index) - { - OstTraceFunctionEntry1(CPWEPUI_CREATEWEPKEYGROUP_ENTRY,this); - QString textId; - - switch(index) - { - case KFirstKey: - textId = hbTrId("txt_occ_setlabel_wep_key_1"); - break; - - case KSecondKey: - textId = hbTrId("txt_occ_setlabel_wep_key_2"); - break; - - case KThirdKey: - textId = hbTrId("txt_occ_setlabel_wep_key_3"); - break; - - case KFourthKey: - textId = hbTrId("txt_occ_setlabel_wep_key_4"); - break; - } - - mWepKeyText[index] = new CpSettingFormItemData( - HbDataFormModelItem::TextItem, - textId, mUi); - - if (mKeyData[index].length() != 0) { - mWepKeyText[index]->setContentWidgetData("text", - mKeyData[index]); - } - mWepKeyText[index]->setContentWidgetData("echoMode",HbLineEdit::PasswordEchoOnEdit); - mWepKeyText[index]->setContentWidgetData("smileysEnabled", "false"); - - - mUi->appendChild(mWepKeyText[index]); - OstTraceFunctionExit1(CPWEPUI_CREATEWEPKEYGROUP_EXIT,this); - } - - -/*! - * Add signals to all the text Edit of WEP key groups. - * - * \param dataHelper ; to add Connections - */ -void CpWepUi::addConnections(CpItemDataHelper &dataHelpper) - { - OstTraceFunctionEntry1( CPWEPUI_ADDCONNECTIONS_ENTRY, this ); - - dataHelpper.addConnection(mWepKeyText[KFirstKey], - SIGNAL( editingFinished ()), this, SLOT(wepKeyOneChanged() )); - - dataHelpper.addConnection(mWepKeyText[KSecondKey], - SIGNAL( editingFinished ()), this, SLOT(wepKeyTwoChanged() )); - - dataHelpper.addConnection(mWepKeyText[KThirdKey], - SIGNAL( editingFinished ()), this, SLOT(wepKeyThreeChanged() )); - - dataHelpper.addConnection(mWepKeyText[KFourthKey], - SIGNAL( editingFinished ()), this, SLOT(wepKeyFourChanged() )); - - dataHelpper.connectToForm(SIGNAL(itemShown (const QModelIndex &) ), - this, SLOT(setEditorPreferences(const QModelIndex &))); - - OstTraceFunctionExit1( CPWEPUI_ADDCONNECTIONS_EXIT, this ); - } - - -/*! - * Slot to handle , if a different wep key (index) - * is made active - * \param wepKeyInUse index of the chosen wep key - */ -void CpWepUi::wepKeyInUseChanged(int wepKeyInUse) -{ - OstTraceFunctionEntry1(CPWEPUI_WEPKEYINUSECHANGED_ENTRY,this); - - int err; - //Update CommsDat - QT_TRYCATCH_ERROR(err, mCmCM->setIntAttribute(CMManagerShim::WlanWepKeyIndex, wepKeyInUse)); - if (err != KErrNone) { - OstTrace1( TRACE_ERROR, CPWEPUI_WEPKEYINUSECHANGED, "Error wepKeyInUse returned %d", err ); - } - tryUpdate(); - - //Store the wep key in use - mNewKeySelected = wepKeyInUse; - OstTraceFunctionExit1(CPWEPUI_WEPKEYINUSECHANGED_EXIT,this); -} - -/*! - * Slot to handle ,when the - * wep key one string gets changed - * - * - */ -void CpWepUi::wepKeyOneChanged() -{ - int err; - OstTraceFunctionEntry1(CPWEPUI_WEPKEY1STRINGCHANGED_ENTRY,this); - QT_TRYCATCH_ERROR(err, wepKeyTextChanged(KFirstKey)); - if (err != KErrNone) { - OstTrace1( TRACE_ERROR,CPWEPUI_WEPKEYONECHANGED, "Error wepKeyOneChanged returned %d", err ); - } - OstTraceFunctionExit1(CPWEPUI_WEPKEY1STRINGCHANGED_EXIT,this); -} - -/*! - * Slot to handle ,when the - * wep key two string gets changed - * - * - */ -void CpWepUi::wepKeyTwoChanged() -{ - int err; - OstTraceFunctionEntry1(CPWEPUI_WEPKEY2STRINGCHANGED_ENTRY,this); - QT_TRYCATCH_ERROR(err, wepKeyTextChanged(KSecondKey)); - if (err != KErrNone) { - OstTrace1( TRACE_ERROR, CPWEPUI_WEPKEYTWOCHANGED, "Error wepKeyTwoChanged returned %d", err ); - } - OstTraceFunctionExit1(CPWEPUI_WEPKEY2STRINGCHANGED_EXIT,this); -} - -/*! - * Slot to handle ,when the - * wep key three string gets changed - * - * - */ -void CpWepUi::wepKeyThreeChanged() -{ - int err; - OstTraceFunctionEntry1(CPWEPUI_WEPKEY3STRINGCHANGED_ENTRY,this); - QT_TRYCATCH_ERROR(err, wepKeyTextChanged(KThirdKey)); - if (err != KErrNone) { - OstTrace1( TRACE_ERROR,CPWEPUI_WEPKEYTHREECHANGED, "Error wepKeyThreeChanged returned %d", err ); - } - OstTraceFunctionExit1(CPWEPUI_WEPKEY3STRINGCHANGED_EXIT,this); -} - -/*! - * Slot to handle ,when the - * wep key four string gets changed - * - * - */ -void CpWepUi::wepKeyFourChanged() -{ - int err; - OstTraceFunctionEntry1(CPWEPUI_WEPKEY4STRINGCHANGED_ENTRY,this); - QT_TRYCATCH_ERROR(err, wepKeyTextChanged(KFourthKey)); - if (err != KErrNone) { - OstTrace1( TRACE_ERROR, CPWEPUI_WEPKEYFOURCHANGED, "Error wepKeyFourChanged returned %d", err ); - }OstTraceFunctionExit1(CPWEPUI_WEPKEY4STRINGCHANGED_EXIT,this); -} - -/*! - * Slot to handle change in either of the 4 WEP key strings - * - * \param index of the WEP key that changed - */ -void CpWepUi::wepKeyTextChanged(int index) -{ - OstTraceFunctionEntry1(CPWEPUI_WEPKEYTEXTCHANGED_ENTRY,this); - - QVariant value = mWepKeyText[index]->contentWidgetData("text"); - QString key = value.toString(); - - WepKeyValidator::KeyStatus keystatus = WepKeyValidator::validateWepKey(key); - - // allow storing an empty key to enable clearing WEP keys - if (keystatus == WepKeyValidator::KeyStatusOk || key.length() == 0) { - - //If key is valid set the format of the key - setKeyFormat(key, index); - - //Get the right field to store - CMManagerShim::ConnectionMethodAttribute keyEnum = getWEPKeyEnum(index); - - //Store the WEP key - storeWEPKey(keyEnum, key); - - //Update the latest key into array - mKeyData[index] = key; - - /* - * Commit All 4 WEP keys , anyways - */ - commitWEPkeys(index); - } - else { - OstTrace0( TRACE_ERROR, CPWEPUI_WEPKEYTEXTCHANGED_ERROR, "CpWepUi::wepKeyTextChanged Invalid WEP Key Input" ); - showMessageBox(HbMessageBox::MessageTypeWarning, hbTrId( - "txt_occ_info_invalid_input")); - } - OstTraceFunctionExit1(CPWEPUI_WEPKEYTEXTCHANGED_EXIT,this); -} - -/*! - * Slot that configures the editor settings for all WEP key fields. - * This slot is invoked whenever a new item(s) are shown in the current view - * - * \param modelIndex Index of the current item in the model - */ -void CpWepUi::setEditorPreferences(const QModelIndex &modelIndex) -{ - - HbDataFormModelItem *item = mItemDataHelper->modelItemFromModelIndex(modelIndex); - - HbSmileyTheme smiley; - /* Configure settings only for text fields*/ - if(item->type() == HbDataFormModelItem::TextItem) { - HbLineEdit *edit = qobject_cast(mItemDataHelper->widgetFromModelIndex(modelIndex)); - HbEditorInterface editInterface(edit); - editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly); - edit->setInputMethodHints(Qt::ImhNoPredictiveText); - edit->setMaxLength(KMaxKeyLength); - } -} - - -/*! - * Store the WEP key in Comms - * \enumValue the right field represented by the enum value - * \key the WEP key String to store - */ -void CpWepUi::storeWEPKey(CMManagerShim::ConnectionMethodAttribute enumValue, - QString& key) -{ - mCmCM->setString8Attribute(enumValue, key); - tryUpdate(); -} - -/*! - * Set the WEP key format - * \key string to identify format - * \index of the WEP key - */ -void CpWepUi::setKeyFormat(QString& key, int index) -{ - if (key.length() == WepKeyValidator::WepHex64BitMaxLength || key.length() - == WepKeyValidator::WepHex128BitMaxLength) { - mkeyFormat[index] = EFormatHex; - } - - else if (key.length() == WepKeyValidator::WepAscii64BitMaxLength - || key.length() == WepKeyValidator::WepAscii128BitMaxLength) { - mkeyFormat[index] = EFormatAscii; - } -} - -/*!Get the right field in DB - * \index of the WEP key - */ -CMManagerShim::ConnectionMethodAttribute CpWepUi::getWEPKeyEnum(int index) -{ - CMManagerShim::ConnectionMethodAttribute keyenum( - CMManagerShim::WlanWepKey1InHex); - switch (index) - { - case KFirstKey: - { - if (mkeyFormat[index] == EFormatHex) { - keyenum = CMManagerShim::WlanWepKey1InHex; - } - else { - keyenum = CMManagerShim::WlanWepKey1InAscii; - } - } - break; - - case KSecondKey: - { - if (mkeyFormat[index] == EFormatHex) { - keyenum = CMManagerShim::WlanWepKey2InHex; - } - else { - keyenum = CMManagerShim::WlanWepKey2InAscii; - } - } - break; - - case KThirdKey: - { - if (mkeyFormat[index] == EFormatHex) { - keyenum = CMManagerShim::WlanWepKey3InHex; - } - else { - keyenum = CMManagerShim::WlanWepKey3InAscii; - } - } - break; - - case KFourthKey: - { - if (mkeyFormat[index] == EFormatHex) { - keyenum = CMManagerShim::WlanWepKey4InHex; - } - else { - keyenum = CMManagerShim::WlanWepKey4InAscii; - } - } - break; - - default: - break; - } - return keyenum; -} -/* - * Read all security settings from the Comms - */ -void CpWepUi::loadFieldsFromDataBase() -{ - OstTraceFunctionEntry1(CPWEPUI_LOADFIELDSFROMDATABASE_ENTRY,this); - - //Wep Key in Use - mNewKeySelected = mCmCM->getIntAttribute(CMManagerShim::WlanWepKeyIndex); - - //All data fetched in Hex Format - mKeyData.insert(KFirstKey, mCmCM->getString8Attribute( - CMManagerShim::WlanWepKey1InHex)); - - mKeyData.insert(KSecondKey,mCmCM->getString8Attribute( - CMManagerShim::WlanWepKey2InHex)); - - mKeyData.insert(KThirdKey, mCmCM->getString8Attribute( - CMManagerShim::WlanWepKey3InHex)); - - mKeyData.insert(KFourthKey, mCmCM->getString8Attribute( - CMManagerShim::WlanWepKey4InHex)); - - /*Set all key formats to Hex by default; because all keys are read in Hex from DB*/ - for (int count = 0; count < KMaxNumberofKeys; count++) - { - mkeyFormat[count] = EFormatHex; - } - - OstTraceFunctionExit1(CPWEPUI_LOADFIELDSFROMDATABASE_EXIT,this); -} - -/*! - Tries to update connection method changes to CommsDat. - Returns "true" if success, "false" if some error happened. - */ -bool CpWepUi::tryUpdate() -{ - OstTraceFunctionEntry1(CPWEPUI_TRYUPDATE_ENTRY,this); - - bool ret(true); - // Try update - try { - mCmCM->update(); - } - catch (const std::exception&) { - // Handle error - handleUpdateError(); - ret = false; - } - - OstTraceFunctionExit1(DUP1_CPWEPUI_TRYUPDATE_EXIT,this); - return ret; -} - -/*! - Handles failed CommsDat update. - */ -void CpWepUi::handleUpdateError() -{ - OstTraceFunctionEntry1(CPWEPUI_HANDLEUPDATEERROR_ENTRY,this); - - // Show error note to user - showMessageBox(HbMessageBox::MessageTypeWarning, hbTrId( - "txt_occ_info_unable_to_save_setting")); - // Reload settings from CommsDat and update UI - try { - mCmCM->refresh(); - } - catch (const std::exception&) { - // Ignore error from refresh. Most likely this will not happen, but - // if it does, there isn't very much we can do. - OstTrace0( - TRACE_ERROR, - CPWEPPLUGIN_HANDLEUPDATEERROR, - "Refresh failed"); - }; - updateWepSettings(); - - OstTraceFunctionExit1(CPWEPUI_HANDLEUPDATEERROR_EXIT,this); -} - -/*! - Shows message box with "OK" button using given text. - */ -void CpWepUi::showMessageBox(HbMessageBox::MessageBoxType type, - const QString &text) -{ - OstTraceFunctionEntry1(CPWEPUI_SHOWMESSAGEBOX_ENTRY,this); - - // Create a message box - mMessageBox = QSharedPointer (new HbMessageBox(type)); - mMessageBox->setText(text); - mMessageBox->open(); - - OstTraceFunctionExit1(CPWEPUI_SHOWMESSAGEBOX_EXIT,this); -} - -/*! - * Reset the Key Items on the Ui, by reading the previously set value from Comms - */ -void CpWepUi::updateWepSettings() - { - OstTraceFunctionEntry1(CPWEPUI_UPDATEWEPSETTINGS_ENTRY,this); - //Read values from Comms and update the Ui items; - loadFieldsFromDataBase(); - - mWepKeyText[KFirstKey]->setContentWidgetData("text", mKeyData[KFirstKey]); - - mWepKeyText[KSecondKey]->setContentWidgetData("text", - mKeyData[KSecondKey]); - - mWepKeyText[KThirdKey]->setContentWidgetData("text", mKeyData[KThirdKey]); - - mWepKeyText[KFourthKey]->setContentWidgetData("text", - mKeyData[KFourthKey]); - - OstTraceFunctionExit1(CPWEPUI_UPDATEWEPSETTINGS_EXIT,this); - } - -/*! - * Commit all WEP keys , except the one which was just set - * - * \param index ; the index of the key that was just set - */ -void CpWepUi::commitWEPkeys(int index) - { - OstTraceFunctionEntry1(CPWEPUI_COMMITWEPKEYS_ENTRY,this); - //We have all data in Hex, so setting all WEP keys in hex - - if (index != KFirstKey) { - //Get the right field to store - CMManagerShim::ConnectionMethodAttribute keyEnumOne = getWEPKeyEnum( - KFirstKey); - - //Store the WEP key - storeWEPKey(keyEnumOne, mKeyData[KFirstKey]); - } - - if (index != KSecondKey) { - //Get the right field to store - CMManagerShim::ConnectionMethodAttribute keyEnumTwo = getWEPKeyEnum( - KSecondKey); - - //Store the WEP key - storeWEPKey(keyEnumTwo, mKeyData[KSecondKey]); - } - - if (index != KThirdKey) { - //Get the right field to store - CMManagerShim::ConnectionMethodAttribute keyEnumThree = - getWEPKeyEnum(KThirdKey); - - //Store the WEP key - storeWEPKey(keyEnumThree, mKeyData[KThirdKey]); - } - - if (index != KFourthKey) { - //Get the right field to store - CMManagerShim::ConnectionMethodAttribute keyEnumFour = getWEPKeyEnum( - KFourthKey); - - //Store the WEP key - storeWEPKey(keyEnumFour, mKeyData[KFourthKey]); - } - - OstTraceFunctionExit1(CPWEPUI_COMMITWEPKEYS_EXIT,this); -} - -Q_EXPORT_PLUGIN2(CpWepUi, CpWepUi) -; diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwepui/src/wepkeyvalidator.cpp --- a/securitysettings/cpwlansecurityuiplugins/cpwepui/src/wepkeyvalidator.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,143 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Validation methods for WEP keys - * - */ - -/* - * %version: tr1cfwln#5 % - */ - -#include -#include -#include "wepkeyvalidator.h" - -/*! - \class WepKeyValidator wepkeyvalidator.cpp - \brief Utilities for WEP key validations. - -*/ -/*! - \enum WepKeyValidator::KeyStatus - This enum defines the validation results. - - \var WepKeyValidator::KeyStatusOk - Key is valid. - - \var WepKeyValidator::KeyStatusIllegalCharacters - Key contains illegal characters. - - \var WepKeyValidator::KeyStatusWepInvalidLength - WEP key length is not valid. Valid keys are - - hex: 10 or 26 characters - - ascii: 5 or 13 characters. See WlanWizardUtils::validateWpaKey(). -*/ - - -/*! - * Process WEP key validation. Following keys are allowed: - * - * HEX: - * - 64 bit: allowed key length = 10 - * - 128 bit: allowed key length = 26 - * - * ASCII: - * - 64 bit: allowed key length = 5 - * - 128 bit: allowed key length = 13 - * - * @param key WEP Key to be validated - * - * @return Following values are possible - * - KeyStatusOk - * - KeyStatusIllegalCharacters - * - KeyStatusWepInvalidLength - */ -WepKeyValidator::KeyStatus WepKeyValidator::validateWepKey(const QString &key) -{ - int length = key.length(); - KeyStatus ret = KeyStatusOk; - // HEX - if (length == WepHex64BitMaxLength || length == WepHex128BitMaxLength) { - ret = isHex(key); - } - // ASCII - else if (length == WepAscii64BitMaxLength || length == WepAscii128BitMaxLength) { - ret = isAscii(key); - } - - else { - ret = KeyStatusWepInvalidLength; - } - - return ret; -} - -/*! - * Process Ascii validation. Allowed characters are from 32 to 126. - * - * @param key to be validated. - * - * @return Following values are possible - * - KeyStatusOk - * - KeyStatusIllegalCharacters - */ -WepKeyValidator::KeyStatus WepKeyValidator::isAscii(const QString &key) -{ - QChar ch32(32); - QChar ch126(126); - - const QChar *data = key.data(); - while (!data->isNull()) { - if ((*data) < ch32 || (*data) > ch126) { - return KeyStatusIllegalCharacters; - } - ++data; - } - return KeyStatusOk; -} - -/*! - * Process Hex validation. Allowed characters are - * - from 0 to 9 - * - from a to f - * - from A to F - * - * @param key to be validated. - * - * @return Following values are possible - * - KeyStatusOk - * - KeyStatusIllegalCharacters - */ -WepKeyValidator::KeyStatus WepKeyValidator::isHex(const QString &key) -{ - QChar ch_A(65); // Character: A - QChar ch_F(70); // Character: F - QChar ch_a(97); // Character: a - QChar ch_f(102);// Character: f - - - const QChar *data = key.data(); - while (!data->isNull()) { - if (data->isDigit() || - (*data) >= ch_a && (*data) <= ch_f || - (*data) >= ch_A && (*data) <= ch_F) { - ++data; - } - else { - return KeyStatusIllegalCharacters; - } - } - return KeyStatusOk; -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwepui/traces/OstTraceDefinitions.h --- a/securitysettings/cpwlansecurityuiplugins/cpwepui/traces/OstTraceDefinitions.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: TraceHeader ,includes the TraceAPI - * - * - */ - -/* - * %version: tr1cfwln#4 % - */ - -#ifndef __OSTTRACEDEFINITIONS_H__ -#define __OSTTRACEDEFINITIONS_H__ -#include -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwlansecurityuiplugins.pro --- a/securitysettings/cpwlansecurityuiplugins/cpwlansecurityuiplugins.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# Control Panel plugins for WLAN security settings configuration - -# %version: tr1cfwln#12 % - - -TEMPLATE = subdirs - -SUBDIRS += \ - cpwepui \ - cpwpacmnui \ - cpwpaui \ - cpwpa2ui \ - cp802dot1xui - -CONFIG += ordered - -# export common iby for the translation file -symbian: -{ - BLD_INF_RULES.prj_exports += \ - "rom/cpwlansecurityuiplugins_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(cpwlansecurityuiplugins_resources.iby)" -} \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpa2ui/cpwpa2ui.pro --- a/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/cpwpa2ui.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# Control Panel plugin for WPA2 WLAN security mode - -# %version: tr1cfwln#16 % - - -TEMPLATE = lib -TARGET = cpwpa2ui - -DEPENDPATH += - -INCLUDEPATH += \ - ../inc - -CONFIG += \ - hb \ - plugin - -LIBS += \ - -lcpframework \ - -lcpwpacmnui \ - -lconnection_settings_shim \ - -leapqtconfiginterface - -MOC_DIR = _build -RCC_DIR = _build -OBJECTS_DIR = _build - -# Input -HEADERS += \ - traces/OstTraceDefinitions.h \ - inc/cpwpa2ui.h - -SOURCES += \ - src/cpwpa2ui.cpp - -symbian: -{ - TARGET.CAPABILITY = CAP_GENERAL_DLL - TARGET.EPOCALLOWDLLDATA = 1 - TARGET.UID3 = 0x2002DC73 - - deploy.path = C: - qtplugins.path = /resource/qt/plugins/controlpanel/wlansecurity - qtplugins.sources += qmakepluginstubs/cpwpa2ui.qtplugin - for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)" - - BLD_INF_RULES.prj_exports += \ - "rom/cpwpa2ui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpwpa2ui.iby)" -} - -symbian: -{ -    MMP_RULES += "USERINCLUDE traces" -} - -# common translation file for all plugins -TRANSLATIONS = cpwlansecsettingsplugin.ts - -plugin.sources += cpwpa2ui.dll -plugin.path = /resource/qt/plugins/controlpanel - -DEPLOYMENT += plugin - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpa2ui/inc/cpwpa2ui.h --- a/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/inc/cpwpa2ui.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for WPA2 only configuration - * - */ - -/* -* %version: tr1cfwln#15 % -*/ - - -#ifndef CPWPA2UI_H -#define CPWPA2UI_H - -// System includes -#include -#include - -// User includes - - -// Forward declarations -class EapQtConfigInterface; -class CpWpaCmnUi; -class CmConnectionMethodShim; -class HbTranslator; - - -/*! - * @addtogroup group_wlan_security_ui_plugin_wpa2_only - * @{ - */ - -/*! - * Implements WPA2 only plugin for Wlan security control panel - */ -// Class declaration -class CpWpa2Ui : public QObject, public CpWlanSecurityPluginInterface -{ - Q_OBJECT - Q_INTERFACES(CpWlanSecurityPluginInterface) - -public: - CpWpa2Ui(); - ~CpWpa2Ui(); - -public: // from CpWlanSecurityPluginInterface - - CMManagerShim::WlanSecMode securityMode() const; - - QString securityModeTextId() const; - - void setReference(CmConnectionMethodShim *cmCm, uint id); - - int orderNumber() const; - - CpSettingFormItemData* uiInstance( - CpItemDataHelper &dataHelper); - - bool validateSettings(); - -private: - - Q_DISABLE_COPY(CpWpa2Ui) - - //!WPA security group item - CpSettingFormItemData* mUi; - - //!Translator for all the localisation Text Id's - HbTranslator* mTranslator; - - //! Connection Settings Shim connection method pointer - CmConnectionMethodShim *mCmCM; - - //! Eap Plugin config interface - EapQtConfigInterface *mEapQtConfigInterface; - - //!WPA ui Implementer Interface - QScopedPointer mWpa2Ui; - - }; - -/*! @} */ - -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpa2ui/rom/cpwpa2ui.iby --- a/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/rom/cpwpa2ui.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: -* IBY file for WPA2 only control panel plugin -* -*/ - -/* - * %version: tr1cfwln#3 % - */ - -#ifndef CPWPA2UI_IBY -#define CPWPA2UI_IBY - -#include -#include - -#ifdef __PROTOCOL_WLAN - -file=ABI_DIR/BUILD_DIR/cpwpa2ui.dll SHARED_LIB_DIR/cpwpa2ui.dll -data=/epoc32/data/c/resource/qt/plugins/controlpanel/wlansecurity/cpwpa2ui.qtplugin resource/qt/plugins/controlpanel/wlansecurity/cpwpa2ui.qtplugin - -#endif // __PROTOCOL_WLAN - -#endif // CPWPA2UI_IBY diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpa2ui/src/cpwpa2ui.cpp --- a/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/src/cpwpa2ui.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,173 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for WPA2 only configuration - * - */ - -/* - * %version: tr1cfwln#23 % - */ - -// User includes -#include "cpwpa2ui.h" -#include "cpwpacmnui.h" - -// System includes -#include -#include -#include -#include -#include - -//Trace Definition -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "cpwpa2uiTraces.h" -#endif - - -// Constants -//The order in which WPA2 only mode appears in the list of available -//security mode -const int UI_ORDER_WPA2_ONLY = 30; - -/*! - \class CpWpa2Ui - \brief CpWpa2Ui implements the Ui for WPA2 only - Security Settings Control Panel Plugin, - which will allow viewing/editing of WPA2 only Security Settings. - */ -/*! - * Constructor - * - */ -CpWpa2Ui::CpWpa2Ui() : - mUi(NULL), - mTranslator(new HbTranslator("cpwlansecsettingsplugin")), - mCmCM(NULL), - mEapQtConfigInterface(NULL), - mWpa2Ui(NULL) -{ - -} - -//Destructor -CpWpa2Ui::~CpWpa2Ui() -{ - OstTraceFunctionEntry1(CPWPA2UI_CPWPA2UI_ENTRY,this); - delete mEapQtConfigInterface; - delete mTranslator; - OstTraceFunctionExit1(CPWPA2UI_CPWPA2UI_EXIT,this); -} - -// ======== MEMBER FUNCTIONS ======== - -/*! - Getter for security mode. - - \return Security mode identifier - */ -CMManagerShim::WlanSecMode CpWpa2Ui::securityMode() const -{ - OstTraceFunctionEntry1(CPWPA2UI_SECURITYMODE_ENTRY,this); - OstTraceFunctionExit1(CPWPA2UI_SECURITYMODE_EXIT,this); - //return security mode - return CMManagerShim::WlanSecModeWpa2; -} - -/*! - Getter for localization text identifier for the security mode, - f.ex. "txt_occ_setlabel_wlan_security_mode_val_wpa2_only". This localized - text will be shown in the UI. - - \return Localization text ID - */ -QString CpWpa2Ui::securityModeTextId() const -{ - OstTraceFunctionEntry1(CPWPA2UI_SECURITYMODETEXTID_ENTRY,this); - OstTraceFunctionExit1(CPWPA2UI_SECURITYMODETEXTID_EXIT,this); - return "txt_occ_setlabel_wlan_security_mode_val_wpa2_only"; -} - -/*! - Sets the database reference IAP id. - - \param id Database reference - */ -void CpWpa2Ui::setReference(CmConnectionMethodShim *cmCm, uint id) -{ - OstTraceFunctionEntry1(CPWPA2UI_SETREFERENCE_ENTRY,this); - if (!mEapQtConfigInterface) { - mEapQtConfigInterface = new EapQtConfigInterface( - EapQtConfigInterface::EapBearerTypeWlan, id); - } else { - mEapQtConfigInterface->setConfigurationReference(id); - } - - //mCmCM is not deleted assuming mCmManager owns it. - mCmCM = cmCm; - OstTraceFunctionExit1(CPWPA2UI_SETREFERENCE_EXIT,this); -} - -/*! - Getter for order number. This order number is used by the client of - this interface to put the security modes in correct order in the list. - - \return An order number - */ -int CpWpa2Ui::orderNumber() const -{ - OstTraceFunctionEntry1(CPWPA2UI_ORDERNUMBER_ENTRY,this); - OstTraceFunctionExit1(CPWPA2UI_ORDERNUMBER_EXIT,this); - return UI_ORDER_WPA2_ONLY; -} - -/*! - Creates an UI instance. Caller owns the object. - - \param dataHelper Item data helper - \return Pointer to an UI object - */ -CpSettingFormItemData* CpWpa2Ui::uiInstance(CpItemDataHelper &dataHelpper) -{ - OstTraceFunctionEntry1(CPWPA2UI_UIINSTANCE_ENTRY,this); - - //reset the Common Ui Ptr - mWpa2Ui.reset(new CpWpaCmnUi(CMManagerShim::WlanSecModeWpa2, dataHelpper)); - - mUi = mWpa2Ui->createUi(mEapQtConfigInterface, mCmCM); - - OstTraceFunctionExit1(CPWPA2UI_UIINSTANCE_EXIT,this); - return mUi; -} - -/*! - Validates current security settings. This function is called whenever - user tries to exit from the settings view. If the plugin determines - that some settings need editing before considered valid, it shall - return false. A dialog will be shown to the user indicating that - settings are still incomplete and asking if he/she wishes to exit - anyway. - - \return True if security settings for WPA2 only are valid, false if not. -*/ -bool CpWpa2Ui::validateSettings() -{ - return mWpa2Ui->validateSettings(); -} - - -Q_EXPORT_PLUGIN2(CpWpa2Ui, CpWpa2Ui) -; diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpa2ui/traces/OstTraceDefinitions.h --- a/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/traces/OstTraceDefinitions.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: TraceHeader, includes the TraceAPI - * - * - */ - -/* - * %version: tr1cfwln#6 % - */ - -#ifndef __OSTTRACEDEFINITIONS_H__ -#define __OSTTRACEDEFINITIONS_H__ -#include -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpacmnui/cpwpacmnui.pro --- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/cpwpacmnui.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# Common UI implementation for WPA/WPA2, 802.1x and -# WPA2 WLAN security modes - -# %version: tr1cfwln#17 % - -TEMPLATE = lib -TARGET = cpwpacmnui - -DEFINES += WPAUI_LIBRARY -DEPENDPATH += - -INCLUDEPATH += \ - ../inc - -CONFIG += hb - -LIBS += \ - -lcpframework \ - -leapqtplugininfo \ - -leapqtconfiginterface \ - -lconnection_settings_shim - -MOC_DIR = _build -RCC_DIR = _build -OBJECTS_DIR = _build - -# Input -HEADERS += \ - traces/OstTraceDefinitions.h \ - inc/cpwpacmnui_p.h \ - inc/wpakeyvalidator.h \ - inc/cpwpacmneapui.h \ - ../inc/cpwpacmnui_global.h \ - ../inc/cpwpacmnui.h - -SOURCES += \ - src/cpwpacmnui.cpp \ - src/cpwpacmnui_p.cpp \ - src/wpakeyvalidator.cpp \ - src/cpwpacmneapui.cpp - -defFilePath = .. - -symbian: -{ - TARGET.CAPABILITY = CAP_GENERAL_DLL - TARGET.EPOCALLOWDLLDATA = 1 - TARGET.UID3 = 0x2002DC74 - - BLD_INF_RULES.prj_exports += \ - "./rom/cpwpacmnui.iby $$CORE_MW_LAYER_IBY_EXPORT_PATH(cpwpacmnui.iby)" -} - -symbian: -{ -    MMP_RULES += "USERINCLUDE traces" -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/cpwpacmneapui.h --- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/cpwpacmneapui.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel WLAN Security EAP Entry item for WPA(2)/802.1x - * - */ - -/* - * %version: tr1cfwln#8 % - */ - -#ifndef CPWPACMNEAPUI_H_ -#define CPWPACMNEAPUI_H_ - -// System includes -#include - -// User includes - -// Forward declarations -class CpWpaCmnUiPrivate; - -class EapEntryItemData : public CpSettingFormEntryItemData -{ -public: - EapEntryItemData( - CpWpaCmnUiPrivate* wpa, - CpItemDataHelper &itemDataHelper, - const QString &text = QString()); - - virtual ~EapEntryItemData(); - - virtual CpBaseSettingView *createSettingView() const; - -private: - //! Pointer to WPA/WPA2/802.1x UI. - CpWpaCmnUiPrivate* mUi; - // Dataitem helpper - CpItemDataHelper& itemdatahelper; -}; - -#endif /* CPWPACMNEAPUI_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/cpwpacmnui_p.h --- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/cpwpacmnui_p.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,159 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Private Implementation for Control Panel QT UI for WPA/WPA2/802_Dot_1x configuration - * - */ - -/* - * %version: tr1cfwln#7 % - */ - -#ifndef CPWPACMNUI_P_H_ -#define CPWPACMNUI_P_H_ - -// System includes -#include -#include - -// User includes - -// Forward declarations -class CpItemDataHelper; -class CpSettingFormItemData; -class EapQtConfigInterface; -class CmConnectionMethodShim; -class EapEntryItemData; -class CpBaseSettingView; -class EapQtPluginInfo; - -//class declaration -class CpWpaCmnUiPrivate :public QObject - { - Q_OBJECT -public: - - CpWpaCmnUiPrivate(CMManagerShim::WlanSecMode securityMode, - CpItemDataHelper &dataHelpper); - ~CpWpaCmnUiPrivate(); - - CpSettingFormItemData* createUi( - EapQtConfigInterface *mEapQtConfigInterface, - CmConnectionMethodShim *cmCM); - - CpBaseSettingView *eapUiInstance(); - - bool validateSettings(); - -private: - - - CpSettingFormItemData* createWpaTypeSelector(); - CpSettingFormItemData* createPskEditor(); - CpSettingFormItemData* createEapSelector(); - EapEntryItemData* createEapEntryItem(); - CpSettingFormItemData *createUnencryptedBox(); - void removeObjectFromView(CpSettingFormItemData *&object); - - void loadWPAPskView(); - void loadWPAEapView(); - void loadUi(); - void loadWPA_WPA2Fields(); - void load802Dot1xFields(); - void loadEapConfigurations(); - - void readValues(); - - bool tryUpdate(); - void handleUpdateError(); - void showMessageBox( - HbMessageBox::MessageBoxType type, - const QString &text); - - void updateWpaType(int pskEnable); - void updatePskKey(QString& key); - - void reset(); - -private slots: - - void wpaTypeChanged(int pskEnable); - void pskKeyChanged(); - void eapTypeChanged(int eapPlugin); - void unencryptConnStateChanged(int state); - - static bool pluginLessThan( - const EapQtPluginInfo &plugin1, - const EapQtPluginInfo &plugin2); - - void setEditorPreferences(const QModelIndex &modelIndex); - -private: - Q_DISABLE_COPY(CpWpaCmnUiPrivate) - - //!Data Helper from CpWlan Interface - CpItemDataHelper &mDataHelper; - - //!Parent element encompassing all the Ui Setting Items - CpSettingFormItemData *mCmnUi; - - //!ui element for Pre-Shared Key - CpSettingFormItemData *mPskKeyText; - - /*!ui element ,holding the list of EAP plugins - * from which the user can choose - */ - CpSettingFormItemData *mEapPlugins; - - /*!ui element to hold Encrypted Connection flag status, - * for 802.1x mode - */ - CpSettingFormItemData *mUnencryptedConnection; - - //!Opens a separate View for the EAPmode chosen - CpSettingFormItemData *mWpaEapItem; - - //!Stores the Pre-Shared key value entered - QString mKeyData; - - //!List hthe EAP plugins - QList mPlugins; - - //!Pointer to API that returns the Ui instance for the EAP plugin - EapEntryItemData *mEapEntry; - - //!Pointer to EAP interface - EapQtConfigInterface *mEapQtConfigInterface; - - //!Current mode chosen - CMManagerShim::WlanSecMode mSecurityMode; - - //! Connection Settings Shim connection method pointer - CmConnectionMethodShim* mConnMethod; - - //!Flag to indicate if its the EAP/PSK mode - bool mEnablePskMode; - - //!The current EAP method chosen - int mCurrentEapPlugin; - - //!Flag to indicate if Unecrypted Connection is enabled - bool mUnencryptState; - - //! Message box for info notes - QSharedPointer mMessageBox; - - }; - -#endif /* CPWPACMNUI_P_H_ */ diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/wpakeyvalidator.h --- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/wpakeyvalidator.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Validation methods for WPA/WPA2 & WPA2 only keys - * - */ - -/* - * %version: tr1cfwln#3 % - */ - -#ifndef WPAKEYVALIDATOR_H -#define WPAKEYVALIDATOR_H - -/*! - * @addtogroup group_wpa_key_validator - * @{ - */ - -class WpaKeyValidator -{ -public: - enum KeyStatus - { - KeyStatusOk, - KeyStatusIllegalCharacters, - KeyStatusWpaTooShort, - KeyStatusWpaTooLong - }; - - static const int WpaMaxLenght = 64; - static const int WpaMinLenght = 8; - -public: - - static KeyStatus validateWpaKey(const QString &key); - static KeyStatus isAscii(const QString &key); - static KeyStatus isHex(const QString &key); -}; - -/*! @} */ - -#endif /* WPAKEYVALIDATOR_H */ diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpacmnui/rom/cpwpacmnui.iby --- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/rom/cpwpacmnui.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: -* IBY file for common UI implementation for WPA/WPA2, WPA2 only and 802.1x -* -*/ - -/* - * %version: tr1cfwln#5 % - */ - -#ifndef __CPWPACMNUI_IBY__ -#define __CPWPACMNUI_IBY__ - -#include -#include - -#ifdef __PROTOCOL_WLAN - -//file content -file=ABI_DIR\BUILD_DIR\cpwpacmnui.dll SHARED_LIB_DIR\cpwpacmnui.dll - -#endif // __PROTOCOL_WLAN - -#endif - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmneapui.cpp --- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmneapui.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT EAP view for WPA/WPA2/802_Dot_1x/WPA2 only configuration - * - */ - -/* - * %version: tr1cfwln#10 % - */ - -// System includes -#include - - -// User includes -#include "cpwpacmneapui.h" -#include "cpwpacmnui_p.h" - -//Trace Definition -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "cpwpacmneapuiTraces.h" -#endif - -/*! - \class - Implements the Ui EAP Plugin Loader for WPA/WPA2/802_Dot_1x/WPA2 only Security Modes - */ - -/*! - Constructor - - @param wpa Pointer to UI object - @param itemDataHelpper Control Panel Item data helpper object - @param text Text for entry button - */ -EapEntryItemData::EapEntryItemData( - CpWpaCmnUiPrivate* wpa, - CpItemDataHelper &itemDataHelper, - const QString &text) : - CpSettingFormEntryItemData(CpSettingFormEntryItemData::ButtonEntryItem, - itemDataHelper, text), - mUi(wpa), - itemdatahelper(itemDataHelper) -{ -} - -/*! - Desctructor. - */ -EapEntryItemData::~EapEntryItemData() -{ - OstTraceFunctionEntry1(EAPENTRYITEMDATA_EAPENTRYITEMDATA_ENTRY,this); - OstTraceFunctionExit1(EAPENTRYITEMDATA_EAPENTRYITEMDATA_EXIT,this); -} - -/*! - Implement CpSettingFormEntryItemData::createSettingView - */ -CpBaseSettingView* EapEntryItemData::createSettingView() const -{ - OstTraceFunctionEntry1(EAPENTRYITEMDATA_CREATESETTING_VIEW_ENTRY,this); - OstTraceFunctionExit1(EAPENTRYITEMDATA_CREATESETTING_VIEW_EXIT,this); - - return mUi->eapUiInstance(); -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmnui.cpp --- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmnui.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,105 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for WPA/WPA2/802_Dot_1x configuration - * - */ - -/* - * %version: tr1cfwln#23 % - */ - -// System includes -#include -#include -#include -#include -#include -#include -#include - -// User includes -#include "cpwpacmnui.h" -#include "cpwpacmnui_p.h" - -// Trace Definition -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "cpwpacmnuiTraces.h" -#endif - -/*! - \class CpWpaCmnUi - \brief CpWpaCmnUi implements the common Ui for WPA/WPA2/802.1x/WPA2 only - Security Settings Control Panel Plugins, - which will allow viewing/editing of WPA/WPA2/802.1x/WPA2 Security Settings. - */ -//Contructs Common Ui (WPA/WPA2/802.1x/WPA2only) object -CpWpaCmnUi::CpWpaCmnUi(CMManagerShim::WlanSecMode securityMode, CpItemDataHelper &dataHelpper) - -{ - d_ptr = new CpWpaCmnUiPrivate(securityMode,dataHelpper); -} -//Deletes objects owned by Common Ui -CpWpaCmnUi::~CpWpaCmnUi() -{ - //delete all dynamically allocated objects - OstTraceFunctionEntry1(CPWPACMNUI_CPWPACMNUI_ENTRY,this); - - delete d_ptr; - - OstTraceFunctionExit1(CPWPACMNUI_CPWPACMNUI_EXIT,this); -} - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Creates the Ui instance based on the security mode;WPAWPA2/802.1x/WPA2 only - * Owns the Ui instance - * - * \param eapQtConfigInterface to list all eap plugins - * \param mCmCM Connection MethoD Qt interface - * - * \return Ui instance for the security mode set - */ - -CpSettingFormItemData* CpWpaCmnUi::createUi( - EapQtConfigInterface *eapQtConfigInterface, - CmConnectionMethodShim *cmCM) -{ - OstTraceFunctionEntry1(CPWPACMNUI_CREATEUI_ENTRY,this); - OstTraceFunctionExit1(CPWPACMNUI_CREATEUI_EXIT,this); - return d_ptr->createUi(eapQtConfigInterface,cmCM); -} - - -/*! - Validates current security settings. This function is called whenever - user tries to exit from the settings view. If the plugin determines - that some settings need editing before considered valid, it shall - return false. A dialog will be shown to the user indicating that - settings are still incomplete and asking if he/she wishes to exit - anyway. - - \return True if security settings are valid, false if not. -*/ -bool CpWpaCmnUi::validateSettings() - { - return d_ptr->validateSettings(); - } - - - - - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmnui_p.cpp --- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmnui_p.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,759 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Private Implementation for Control Panel QT UI for WPA/WPA2/802_Dot_1x configuration - * - */ - -/* - * %version: tr1cfwln#13 % - */ - -// User Includes -#include "cpwpacmnui_p.h" -#include "wpakeyvalidator.h" -#include "cpwpacmneapui.h" - -// System Includes -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// Trace Definition -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "cpwpacmnui_pTraces.h" -#endif - - -/*! - \class CpWpaCmnUiPrivate - \brief CpWpaCmnUiPrivate is a private class implementation the common Ui for WPA/WPA2/802.1x/WPA2 only - Security Settings Control Panel Plugins, - which will allow viewing/editing of WPA/WPA2/802.1x/WPA2 Security Settings. - */ -/*! - * Constructor Common Ui (WPA/WPA2/802.1x/WPA2only) object - * - * \param securityMode chosen by user , for which Ui is constructed and returned - * \param dataHelpper Control Panel Item data helpper object - * \param commonUi Pointer To public class for CpWpaCmnUiPrivate - */ -CpWpaCmnUiPrivate::CpWpaCmnUiPrivate(CMManagerShim::WlanSecMode securityMode, - CpItemDataHelper &dataHelpper) : - mDataHelper(dataHelpper), - mCmnUi(NULL), - mPskKeyText(NULL), - mEapPlugins(NULL), - mUnencryptedConnection(NULL), - mWpaEapItem(NULL), - mEapEntry(NULL), - mEapQtConfigInterface(NULL), - mSecurityMode(securityMode), - mConnMethod(NULL), - mEnablePskMode(true), - mCurrentEapPlugin(0), - mUnencryptState(false) -{ - Q_ASSERT( - mSecurityMode == CMManagerShim::WlanSecModeWpa || - mSecurityMode == CMManagerShim::WlanSecModeWpa2 || - mSecurityMode == CMManagerShim::WlanSecMode802_1x); - OstTrace1( TRACE_FLOW, DUP1_CPWPACMNUIPRIVATE_CPWPACMNUIPRIVATE, "CpWpaCmnUiPrivate::CpWpaCmnUiPrivate;mSecurityMode=%u", mSecurityMode ); - -} - -/*! - * Destructor - Deletes objects owned by Common Ui - */ -CpWpaCmnUiPrivate::~CpWpaCmnUiPrivate() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CPWPACMNUIPRIVATE_ENTRY, this ); - //delete all dynamically allocated objects - - mCmnUi = NULL; - mConnMethod = NULL; - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CPWPACMNUIPRIVATE_EXIT, this ); -} - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Creates the Ui instance based on the security mode;WPAWPA2/802.1x/WPA2 only - * Owns the Ui instance - * - * \param eapQtConfigInterface to list all eap plugins - * \param mCmCM Connection MethoD Qt interface - * - * \return Ui instance for the security mode set - */ - -CpSettingFormItemData* CpWpaCmnUiPrivate::createUi( - EapQtConfigInterface *eapQtConfigInterface, - CmConnectionMethodShim *cmCM) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEUI_ENTRY, this ); - - // NOT OWNED - mConnMethod = cmCM; - mEapQtConfigInterface = eapQtConfigInterface; - mPlugins.append(mEapQtConfigInterface->supportedOuterTypes()); - qSort(mPlugins.begin(), mPlugins.end(), CpWpaCmnUiPrivate::pluginLessThan); - - mCmnUi = new CpSettingFormItemData(HbDataFormModelItem::GroupItem, - hbTrId("txt_occ_subhead_security_settings")); - - //LoadUi based on the security mode - loadUi(); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEUI_EXIT, this ); - return mCmnUi; -} - -/*! - Load the CpSettingFormItemData components,for the - EAP mode - */ -CpBaseSettingView* CpWpaCmnUiPrivate::eapUiInstance() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_EAPUIINSTANCE_ENTRY, this ); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_EAPUIINSTANCE_EXIT, this ); - return mEapQtConfigInterface->uiInstance(EapQtPluginHandle::PluginUndefined, - mPlugins.at(mCurrentEapPlugin).pluginHandle()); -} - - - -/*! - * Creates Combo box for PSK and EAP mode selection. - * - * @return CompoBox object. - */ -CpSettingFormItemData* CpWpaCmnUiPrivate::createWpaTypeSelector() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEWPATYPESELECTOR_ENTRY, this ); - - // In case of the object exists just update the data - if (!mWpaEapItem) { - mWpaEapItem = new CpSettingFormItemData( - HbDataFormModelItem::ComboBoxItem, hbTrId( - "txt_occ_setlabel_wpawpa2"), mCmnUi); - - QStringList wpatype; - wpatype.append(hbTrId("txt_occ_setlabel_wpawpa2_val_eap")); - wpatype.append(hbTrId("txt_occ_setlabel_wpawpa2_val_preshared_key")); - - mWpaEapItem->setContentWidgetData("items", wpatype); - - mDataHelper.addConnection(mWpaEapItem, - SIGNAL(currentIndexChanged(int)), this, - SLOT(wpaTypeChanged(int))); - - mCmnUi->appendChild(mWpaEapItem); - } - - mWpaEapItem->setContentWidgetData("currentIndex", mEnablePskMode ? 1 : 0); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEWPATYPESELECTOR_EXIT, this ); - return mWpaEapItem; -} - -/*! - * Creates LineEditor for WPA-PSK - * - * @return LineEdit object. - */ -CpSettingFormItemData* CpWpaCmnUiPrivate::createPskEditor() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEPSKEDITOR_ENTRY, this ); - - if (!mPskKeyText) { - mPskKeyText = new CpSettingFormItemData( - HbDataFormModelItem::TextItem, hbTrId( - "txt_occ_setlabel_preshared_key"), mCmnUi); - - mPskKeyText->setContentWidgetData("echoMode", HbLineEdit::PasswordEchoOnEdit); - mPskKeyText->setContentWidgetData("smileysEnabled", "false"); - mDataHelper.addConnection(mPskKeyText, SIGNAL( editingFinished ()), - this, SLOT(pskKeyChanged() )); - - mDataHelper.connectToForm(SIGNAL(itemShown (const QModelIndex &) ), - this, SLOT(setEditorPreferences(const QModelIndex &))); - - mCmnUi->appendChild(mPskKeyText); - } - - mPskKeyText->setContentWidgetData("text", mKeyData); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEPSKEDITOR_EXIT, this ); - return mPskKeyText; -} - -/*! - * Creates Combo box for EAP outer type selection - * - * @return CompoBox object. - */ -CpSettingFormItemData* CpWpaCmnUiPrivate::createEapSelector() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEEAPSELECTOR_ENTRY, this ); - - if (!mEapPlugins) { - mEapPlugins = new CpSettingFormItemData( - HbDataFormModelItem::ComboBoxItem, - hbTrId("txt_occ_setlabel_eap_type")); - - QStringList list; - QList::iterator i; - for (i = mPlugins.begin() ; i != mPlugins.end() ; ++i){ - list << i->localizationId(); - } - - mEapPlugins->setContentWidgetData("items", list); - - mDataHelper.addConnection(mEapPlugins, - SIGNAL(currentIndexChanged(int)), this, - SLOT(eapTypeChanged(int))); - - mCmnUi->appendChild(mEapPlugins); - } - - mEapPlugins->setContentWidgetData("currentIndex", mCurrentEapPlugin); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEEAPSELECTOR_EXIT, this ); - return mEapPlugins; -} - -/*! - * Creates a button for EAP configurations - * - * @return EntryItem for EAP - */ -EapEntryItemData* CpWpaCmnUiPrivate::createEapEntryItem() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEEAPENTRYITEM_ENTRY, this ); - - if (!mEapEntry) { - mEapEntry = new EapEntryItemData(this, mDataHelper, hbTrId( - "txt_occ_button_eap_type_settings")); - - mCmnUi->appendChild(mEapEntry); - } - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEEAPENTRYITEM_EXIT, this ); - return mEapEntry; -} - -/*! - * Creates Combo box for Unencrypted selection - * - * @return CompoBox object. - */ -CpSettingFormItemData* CpWpaCmnUiPrivate::createUnencryptedBox() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_CREATEUNENCRYPTEDBOX_ENTRY, this ); - - if (!mUnencryptedConnection) { - mUnencryptedConnection = new CpSettingFormItemData( - HbDataFormModelItem::CheckBoxItem, hbTrId( - "txt_occ_setlabel_unencrypted_connection"), mCmnUi); - - mUnencryptedConnection->setContentWidgetData("text", hbTrId( - "txt_occ_setlabel_unencrypted_connection_val_allowe")); - - mDataHelper.addConnection(mUnencryptedConnection, - SIGNAL( stateChanged(int)), this, - SLOT(unencryptConnStateChanged(int))); - - mCmnUi->appendChild(mUnencryptedConnection); - } - - mUnencryptedConnection->setContentWidgetData("checkState", - mUnencryptState ? Qt::Checked : Qt::Unchecked); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_CREATEUNENCRYPTEDBOX_EXIT, this ); - return mUnencryptedConnection; -} - -/*! - Removes provided object from the UI if it exists there and sets the pointer - to NULL. - - @param object object to be removed and nulled. - */ -void CpWpaCmnUiPrivate::removeObjectFromView(CpSettingFormItemData *&object) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_REMOVEOBJECTFROMVIEW_ENTRY, this ); - - if (object) { - mCmnUi->removeChild(mCmnUi->indexOf(object)); - object = NULL; - } - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_REMOVEOBJECTFROMVIEW_EXIT, this ); -} - - -/*! - Load the CpSettingFormItemData components, based on the security - mode chosen. Only those components that are required by that security - mode are loaded - */ -void CpWpaCmnUiPrivate::loadUi() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADUI_ENTRY, this ); - - //Read values From CommsDatbase - int err; - QT_TRYCATCH_ERROR(err, ( readValues())); - if (err != KErrNone) { - OstTrace1( TRACE_ERROR, CPWPACMNUIPRIVATE_CREATEUI, "CPWPACMNUI ReadValues returned %d", err ); - } - - switch (mSecurityMode) - { - case CMManagerShim::WlanSecModeWpa: - case CMManagerShim::WlanSecModeWpa2: - createWpaTypeSelector(); - if (mEnablePskMode) { - loadWPAPskView(); - } - else { - loadWPAEapView(); - } - break; - - case CMManagerShim::WlanSecMode802_1x: - default: - Q_ASSERT(mSecurityMode == CMManagerShim::WlanSecMode802_1x); - createEapSelector(); - createEapEntryItem(); -#if 0 /* not supported for now */ - createUnencryptedBox(); -#endif /* #if 0 */ - break; - } - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADUI_EXIT, this ); -} - -/*! - Load the CpSettingFormItemData components,for the - Pre-Shared key mode - */ -void CpWpaCmnUiPrivate::loadWPAPskView() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADWPAPSKVIEW_ENTRY, this ); - - removeObjectFromView(mEapPlugins); - - if (mEapEntry) { - mCmnUi->removeChild(mCmnUi->indexOf(mEapEntry)); - mEapEntry = NULL; - } - createPskEditor(); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADWPAPSKVIEW_EXIT, this ); -} - -/*! - Load the CpSettingFormItemData components,for the - EAP mode - */ -void CpWpaCmnUiPrivate::loadWPAEapView() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADWPAEAPVIEW_ENTRY, this ); - - removeObjectFromView(mPskKeyText); - createEapSelector(); - createEapEntryItem(); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADWPAEAPVIEW_EXIT, this ); -} - -/*! - * Reads the wlan security wpa/wpa2 related fields from CommsDb - */ -void CpWpaCmnUiPrivate::loadWPA_WPA2Fields() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADWPA_WPA2FIELDS_ENTRY, this ); - - mEnablePskMode = mConnMethod->getBoolAttribute( - CMManagerShim::WlanEnableWpaPsk); - - mKeyData = mConnMethod->getString8Attribute( - CMManagerShim::WlanWpaPreSharedKey); - - loadEapConfigurations(); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADWPA_WPA2FIELDS_EXIT, this ); -} - -/*! - Reads the WLAN security eap related fields from CommsDb and from EAP Qt - Configuration Interface - */ -void CpWpaCmnUiPrivate::load802Dot1xFields() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOAD802DOT1XFIELDS_ENTRY, this ); - - loadEapConfigurations(); - - mUnencryptState - = mConnMethod->getBoolAttribute(CMManagerShim::Wlan802_1xAllowUnencrypted); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOAD802DOT1XFIELDS_EXIT, this ); - } - -/*! - Loads selected EAP method. - */ -void CpWpaCmnUiPrivate::loadEapConfigurations() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_LOADEAPCONFIGURATIONS_ENTRY, this ); - - QList types = mEapQtConfigInterface->selectedOuterTypes(); - mCurrentEapPlugin = 0; - if (types.length() > 0) { - for (int i = 0; i < mPlugins.length(); ++i) - { - if (mPlugins.at(i).pluginHandle() == types.at(0)) { - mCurrentEapPlugin = i; - break; - } - } - } - - else { - types.append(mPlugins.at(0).pluginHandle()); - mEapQtConfigInterface->setSelectedOuterTypes(types); - } - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_LOADEAPCONFIGURATIONS_EXIT, this ); -} - - -/*! - * Reads the wlan security fields from CommsDb - */ -void CpWpaCmnUiPrivate::readValues() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_READVALUES_ENTRY, this ); - - switch (mSecurityMode) - { - case CMManagerShim::WlanSecModeWpa: - case CMManagerShim::WlanSecModeWpa2: - loadWPA_WPA2Fields(); - break; - - case CMManagerShim::WlanSecMode802_1x: - default: - Q_ASSERT(mSecurityMode == CMManagerShim::WlanSecMode802_1x); - load802Dot1xFields(); - break; - } - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_READVALUES_EXIT, this ); -} - - - -/*! - * Tries an Update on Comms Db for the latest settings. - * Catches and handles any exception while updating. - */ -bool CpWpaCmnUiPrivate::tryUpdate() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_TRYUPDATE_ENTRY, this ); - int ret(true); - // Try update - try { - mConnMethod->update(); - } - catch (const std::exception&) { - // Handle error - handleUpdateError(); - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_TRYUPDATE_EXIT, this ); - ret = false; - } - OstTraceFunctionExit1( DUP1_CPWPACMNUIPRIVATE_TRYUPDATE_EXIT, this ); - return ret; -} - -/*! - Handles failed CommsDat update. - */ -void CpWpaCmnUiPrivate::handleUpdateError() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_HANDLEUPDATEERROR_ENTRY, this ); - // Show error note to user - showMessageBox(HbMessageBox::MessageTypeWarning, hbTrId( - "txt_occ_info_unable_to_save_setting")); - // Reload settings from CommsDat and update UI - try { - mConnMethod->refresh(); - } - catch (const std::exception&) { - // Ignore error from refresh. Most likely this will not happen, but - // if it does, there isn't very much we can do. - OstTrace0( TRACE_ERROR, CPWPACMNUIPRIVATE_HANDLEUPDATEERROR, "CpWpaCmnUiPrivate::handleUpdateError" ); - - }; - - //Call reset on Ui elements - reset(); - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_HANDLEUPDATEERROR_EXIT, this ); -} - -/*! - Shows message box with "OK" button using given text. - */ -void CpWpaCmnUiPrivate::showMessageBox(HbMessageBox::MessageBoxType type, - const QString &text) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_SHOWMESSAGEBOX_ENTRY, this ); - // Create a message box - mMessageBox = QSharedPointer (new HbMessageBox(type)); - mMessageBox->setText(text); - mMessageBox->open(); - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_SHOWMESSAGEBOX_EXIT, this ); -} - -/*! - * Resets all the Ui elements to their previous values, - * by reading values from DB - */ -void CpWpaCmnUiPrivate::reset() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_RESET_ENTRY, this ); - - //Reload Ui with the previous settings (read from Comms ) - loadUi(); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_RESET_EXIT, this ); -} - -/*! - Method to handle change in wpa mode :- PSK /EAP, - Update Key in Comms - - \param pskEnable the current mode chosen - */ -void CpWpaCmnUiPrivate::updateWpaType(int pskEnable) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_UPDATEWPATYPE_ENTRY, this ); - int err; - bool PskEnable = pskEnable ? true : false; - - QT_TRYCATCH_ERROR(err,mConnMethod->setBoolAttribute(CMManagerShim::WlanEnableWpaPsk, PskEnable)); - - if (err != KErrNone) { - OstTrace1( TRACE_ERROR, CPWPACMNUIPRIVATE_UPDATEWPATYPE, "CpWpaCmnUiPrivate::updateWpaType;err=%d", err ); - } - tryUpdate(); - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_UPDATEWPATYPE_EXIT, this ); -} - -/*! - Slot to handle change in pre-shared key string - - \param key changed string for PSK - */ -void CpWpaCmnUiPrivate::updatePskKey(QString &key) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_UPDATEPSKKEY_ENTRY, this ); - int err; - //Check for Validity of Pre-shared Key - WpaKeyValidator::KeyStatus keystatus = WpaKeyValidator::validateWpaKey(key); - - if (keystatus == WpaKeyValidator::KeyStatusOk) { - QT_TRYCATCH_ERROR(err, mConnMethod->setString8Attribute(CMManagerShim::WlanWpaPreSharedKey, key)); - if (err != KErrNone) { - OstTrace1( TRACE_ERROR, CPWPACMNUIPRIVATE_UPDATEPSKKEY, "CpWpaCmnUiPrivate::updatePskKey;err=%d", err ); - } - tryUpdate(); - - //Store the String that was just set - mKeyData = key; - } - else { - showMessageBox(HbMessageBox::MessageTypeWarning, hbTrId( - "txt_occ_info_invalid_input")); - } - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_UPDATEPSKKEY_EXIT, this ); -} - - - -//====================== PRIVATE SLOTS=================================== - - -/*! - Slot to handle change in wpa mode :- PSK /EAP - Emits a mode change signal to the security plugin - to indicate the change - - \param pskEnable the current mode chosen - */ -void CpWpaCmnUiPrivate::wpaTypeChanged(int pskEnable) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_WPATYPECHANGED_ENTRY, this ); - - mEnablePskMode = pskEnable == 0 ? false : true; - - if (mEnablePskMode) { - loadWPAPskView(); - } - else { - loadWPAEapView(); - } - - //Update pskEnable flag in DB - updateWpaType(pskEnable); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_WPATYPECHANGED_EXIT, this ); -} - -/*! - Slot to handle change in eap method in use. - Emits signal back to the security plugin to indicate - the change - \param currentplugin plugin number to indicate the - eap method in use - */ -void CpWpaCmnUiPrivate::eapTypeChanged(int eapPlugin) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_EAPTYPECHANGED_ENTRY, this ); - - mCurrentEapPlugin = eapPlugin; - QList outerHandles; - outerHandles.append(mPlugins.at(mCurrentEapPlugin).pluginHandle()); - mEapQtConfigInterface->setSelectedOuterTypes(outerHandles); - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_EAPTYPECHANGED_EXIT, this ); -} - -/*! - Slot to handle change in pre-shared key string - Emits signal back to the security plugin to indicate - the change - - */ -void CpWpaCmnUiPrivate::pskKeyChanged() -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_PSKKEYCHANGED_ENTRY, this ); - - QVariant keyValue = mPskKeyText->contentWidgetData("text"); - QString keyString = keyValue.toString(); - - //Update Pre Shared key in DB - updatePskKey(keyString); - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_PSKKEYCHANGED_EXIT, this ); -} - -/*! - Slot to handle change in the state of unencrypted connection; - to indicate if such a connection is allowed. - Emits signal back to the security plugin to indicate - the change - \param state checked-Allowed / Unchecked-Not allowed - */ -void CpWpaCmnUiPrivate::unencryptConnStateChanged(int state) -{ - OstTraceFunctionEntry1( CPWPACMNUIPRIVATE_UNENCRYPTCONNSTATECHANGED_ENTRY, this ); - - bool checked = (state == Qt::Checked) ? true : false; - mConnMethod->setBoolAttribute( - CMManagerShim::Wlan802_1xAllowUnencrypted,checked); - - tryUpdate(); - - //store the Unencrypted Connection State - mUnencryptState = checked; - - OstTraceFunctionExit1( CPWPACMNUIPRIVATE_UNENCRYPTCONNSTATECHANGED_EXIT, this ); -} - -/*! - * Slot that configures the editor settings for Pre-Shared Key Field. - * This slot is invoked whenever a new item(s) are shown in the current view - * - * \param modelIndex Index of the current item in the model - */ -void CpWpaCmnUiPrivate::setEditorPreferences(const QModelIndex &modelIndex) -{ - - HbDataFormModelItem *item = mDataHelper.modelItemFromModelIndex(modelIndex); - - /* Configure settings only for text fields*/ - if(item->type() == HbDataFormModelItem::TextItem) { - HbLineEdit *edit = qobject_cast(mDataHelper.widgetFromModelIndex(modelIndex)); - HbEditorInterface editInterface(edit); - editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly); - edit->setInputMethodHints(Qt::ImhNoPredictiveText); - } -} - -/*! - Validates current security settings. This function is called whenever - user tries to exit from the settings view. If the plugin determines - that some settings need editing before considered valid, it shall - return false. A dialog will be shown to the user indicating that - settings are still incomplete and asking if he/she wishes to exit - anyway. - - \return True if security settings fpr WPA/WPA2 , WPA2 only are valid, - false if not. -*/ -bool CpWpaCmnUiPrivate::validateSettings() -{ - bool ret(false); - if(mEnablePskMode) { - //Check the latest string entered for the Pre-Shared key in the text box - QVariant keyValue = mPskKeyText->contentWidgetData("text"); - QString keyString = keyValue.toString(); - WpaKeyValidator::KeyStatus keystatus = WpaKeyValidator::validateWpaKey(keyString); - - if (keystatus == WpaKeyValidator::KeyStatusOk && (!keyString.isEmpty())) { - ret= true; - } - } - else{ - //return true if EAP mode - ret = true; - } - return ret; -} - -/*! - comparator for qSort() method to sort Eap plugins based on ordernumber. - - @param plugin1 Plugin1 - @param plugin2 Plugin2 - */ -bool CpWpaCmnUiPrivate::pluginLessThan( - const EapQtPluginInfo &plugin1, - const EapQtPluginInfo &plugin2) -{ - return plugin1.orderNumber() < plugin2.orderNumber(); -} - - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/wpakeyvalidator.cpp --- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/wpakeyvalidator.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,166 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Validation methods for WPA/WPA2 & WPA2 only keys - * - */ - -/* - * %version: tr1cfwln#3 % - */ - -//System Includes -#include - -//User Includes -#include "wpakeyvalidator.h" -#include "OstTraceDefinitions.h" - -//Trace Definition -#ifdef OST_TRACE_COMPILER_IN_USE -#include "wpakeyvalidatorTraces.h" -#endif - -/*! - \class WpaKeyValidator wpakeyvalidator.cpp - \brief Utilities for WPA/WPA2 key validations. - - */ -/*! - \enum WpaKeyValidator::KeyStatus - This enum defines the validation results. - - \var WpaKeyValidator::KeyStatusOk - Key is valid. - - \var WpaKeyValidator::KeyStatusIllegalCharacters - Key contains illegal characters. - - \var WpaKeyValidator::KeyStatusWpaTooShort - WPA key is too short. Minimum allowed length is 8. See - WlanWizardUtils::validateWpaKey(). - - \var WpaKeyValidator::KeyStatusWpaTooLong - WPA key is too long. Minimum allowed length is 64 for hex key and 63 for - ascii key. See WlanWizardUtils::validateWpaKey(). - - */ - -/*! - * Process WPA key validation. A passphrase can contain from 8 to 63 ASCII - * characters where each character MUST have a decimal encoding in the range of - * 32 to 126, inclusive. - * - * A preshared key is stored as 64 character hex string. - * - * @param key PSK to be validated - * - * @return Following values are possible - * - KeyStatusOk - * - KeyStatusIllegalCharacters - * - KeyStatusWpaTooShort - * - KeyStatusWpaTooLong - */ -WpaKeyValidator::KeyStatus WpaKeyValidator::validateWpaKey(const QString &key) -{ - OstTraceFunctionEntry0( WPAKEYVALIDATOR_VALIDATEWPAKEY_ENTRY ); - - int length = key.length(); - KeyStatus ret = KeyStatusOk; - - if (length < WpaMinLenght) { - ret = KeyStatusWpaTooShort; - } - else if (length > WpaMaxLenght) { - ret = KeyStatusWpaTooLong; - } - // hex string - else if (length == WpaMaxLenght) { - ret = isHex(key); - } - else { - ret = isAscii(key); - } - - OstTraceFunctionExit0( WPAKEYVALIDATOR_VALIDATEWPAKEY_EXIT ); - return ret; -} - -/*! - * Process Ascii validation. Allowed characters are from 32 to 126. - * - * @param key to be validated. - * - * @return Following values are possible - * - KeyStatusOk - * - KeyStatusIllegalCharacters - */ -WpaKeyValidator::KeyStatus WpaKeyValidator::isAscii(const QString &key) -{ - OstTraceFunctionEntry0( WPAKEYVALIDATOR_ISASCII_ENTRY ); - - QChar ch32(32); - QChar ch126(126); - - const QChar *data = key.data(); - while (!data->isNull()) { - if ((*data) < ch32 || (*data) > ch126) { - - OstTraceFunctionExit0( WPAKEYVALIDATOR_ISASCII_EXIT ); - return KeyStatusIllegalCharacters; - } - ++data; - } - - OstTraceFunctionExit0( DUP1_WPAKEYVALIDATOR_ISASCII_EXIT ); - return KeyStatusOk; -} - -/*! - * Process Hex validation. Allowed characters are - * - from 0 to 9 - * - from a to f - * - from A to F - * - * @param key to be validated. - * - * @return Following values are possible - * - KeyStatusOk - * - KeyStatusIllegalCharacters - */ -WpaKeyValidator::KeyStatus WpaKeyValidator::isHex(const QString &key) -{ - OstTraceFunctionEntry0( WPAKEYVALIDATOR_ISHEX_ENTRY ); - - QChar ch_A(65); // Character: A - QChar ch_F(70); // Character: F - QChar ch_a(97); // Character: a - QChar ch_f(102);// Character: f - - const QChar *data = key.data(); - while (!data->isNull()) { - if (data->isDigit() || (*data) >= ch_a && (*data) <= ch_f || (*data) - >= ch_A && (*data) <= ch_F) { - ++data; - } - else { - - OstTraceFunctionExit0( WPAKEYVALIDATOR_ISHEX_EXIT ); - return KeyStatusIllegalCharacters; - } - } - - OstTraceFunctionExit0( DUP1_WPAKEYVALIDATOR_ISHEX_EXIT ); - return KeyStatusOk; -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpacmnui/traces/OstTraceDefinitions.h --- a/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/traces/OstTraceDefinitions.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: TraceHeader, includes the TraceAPI - * - * - */ - -/* - * %version: tr1cfwln#5 % - */ - -#ifndef __OSTTRACEDEFINITIONS_H__ -#define __OSTTRACEDEFINITIONS_H__ -#include -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpaui/cpwpaui.pro --- a/securitysettings/cpwlansecurityuiplugins/cpwpaui/cpwpaui.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# Control Panel plugin for WPA/WPA2 WLAN security mode - -# %version: tr1cfwln#17 % - - -TEMPLATE = lib -TARGET = cpwpaui - -DEPENDPATH += - -INCLUDEPATH += \ - ../inc - -CONFIG += \ - hb \ - plugin - -LIBS += \ - -lcpframework \ - -lcpwpacmnui \ - -lconnection_settings_shim \ - -leapqtconfiginterface - -MOC_DIR = _build -RCC_DIR = _build -OBJECTS_DIR = _build - -# Input -HEADERS += \ - traces/OstTraceDefinitions.h \ - inc/cpwpaui.h - -SOURCES += \ - src/cpwpaui.cpp - -symbian: -{ - TARGET.CAPABILITY = CAP_GENERAL_DLL - TARGET.EPOCALLOWDLLDATA = 1 - TARGET.UID3 = 0x2002C301 - - deploy.path = C: - qtplugins.path = /resource/qt/plugins/controlpanel/wlansecurity - qtplugins.sources += qmakepluginstubs/cpwpaui.qtplugin - for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)" - - BLD_INF_RULES.prj_exports += \ - "rom/cpwpaui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpwpaui.iby)" -} - -symbian: -{ -    MMP_RULES += "USERINCLUDE traces" -} - -# common translation file for all plugins -TRANSLATIONS = cpwlansecsettingsplugin.ts - -plugin.sources += cpwpaui.dll -plugin.path = /resource/qt/plugins/controlpanel - -DEPLOYMENT += plugin - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpaui/inc/cpwpaui.h --- a/securitysettings/cpwlansecurityuiplugins/cpwpaui/inc/cpwpaui.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for WPA/WPA2 configuration - * - */ - -/* -* %version: tr1cfwln#17 % -*/ - - -#ifndef CPWPAUI_H -#define CPWPAUI_H - -// System includes -#include -#include - -// User includes - - -// Forward declarations -class EapQtConfigInterface; -class CpWpaCmnUi; -class CmConnectionMethodShim; -class HbTranslator; - - -/*! - * @addtogroup group_wlan_security_ui_plugin_wpa/wpa2 - * @{ - */ - -/*! - * Implements WPA/WPA2 plugin for Wlan security control panel - */ -class CpWpaUi : public QObject, public CpWlanSecurityPluginInterface -{ - Q_OBJECT - Q_INTERFACES(CpWlanSecurityPluginInterface) - -public: - CpWpaUi(); - ~CpWpaUi(); - -public: // from CpWlanSecurityPluginInterface - - CMManagerShim::WlanSecMode securityMode() const; - - QString securityModeTextId() const; - - void setReference(CmConnectionMethodShim *cmCm, uint id); - - int orderNumber() const; - - CpSettingFormItemData* uiInstance( - CpItemDataHelper &dataHelper); - - bool validateSettings(); - - -private: - - Q_DISABLE_COPY(CpWpaUi) - - //!WPA security group item - CpSettingFormItemData* mUi; - - //!Translator for all the localisation Text Id's - HbTranslator *mTranslator; - - //! Connection Settings Shim connection method pointer - CmConnectionMethodShim *mCmCM; - - //! Eap Plugin config interface - EapQtConfigInterface *mEapQtConfigInterface; - - //!WPA ui Implementer Interface - QScopedPointer mWpaUi; - - }; - -/*! @} */ - -#endif //CPWPAUI_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpaui/rom/cpwpaui.iby --- a/securitysettings/cpwlansecurityuiplugins/cpwpaui/rom/cpwpaui.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: -* IBY file for WPA/WPA2 only Ui -* -*/ - -/* - * %version: tr1cfwln#3 % - */ - -#ifndef CPWPAUI_IBY -#define CPWPAUI_IBY - -#include -#include - -#ifdef __PROTOCOL_WLAN - -file=ABI_DIR/BUILD_DIR/cpwpaui.dll SHARED_LIB_DIR/cpwpaui.dll -data=/epoc32/data/c/resource/qt/plugins/controlpanel/wlansecurity/cpwpaui.qtplugin resource/qt/plugins/controlpanel/wlansecurity/cpwpaui.qtplugin - -#endif // __PROTOCOL_WLAN - -#endif // CPWPAUI_IBY diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpaui/src/cpwpaui.cpp --- a/securitysettings/cpwlansecurityuiplugins/cpwpaui/src/cpwpaui.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,170 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for WPA/WPA2 configuration - * - */ - -/* - * %version: tr1cfwln#28 % - */ -//User Includes -#include "cpwpaui.h" -#include "cpwpacmnui.h" - -// System includes -#include -#include -#include -#include -#include - -//Trace Definition -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "cpwpauiTraces.h" -#endif - -//Constants -//The order in which WPA/WPA2 only mode appears in the list of available -//security modes -const int UI_ORDER_WPA_WPA2 = 20; -/*! - \class CpWpaUi - \brief CpWpaUi implements the common Ui for WPA/WPA2 - Security Settings Control Panel Plugins, - which will allow viewing/editing of WPA/WPA2 Security Settings. - */ -/*! - * Constructor - */ -CpWpaUi::CpWpaUi() : - mUi(NULL), - mTranslator(new HbTranslator("cpwlansecsettingsplugin")), - mCmCM(NULL), - mEapQtConfigInterface(NULL), - mWpaUi(NULL) -{ - - -} - -//Destructor -CpWpaUi::~CpWpaUi() -{ - OstTraceFunctionEntry1(CPWPAUI_CPWPAUI_ENTRY,this); - delete mEapQtConfigInterface; - delete mTranslator; - OstTraceFunctionExit1(CPWPAUI_CPWPAUI_EXIT,this); -} - -// ======== MEMBER FUNCTIONS ======== - -/*! - Getter for security mode. - - \return Security mode identifier - */ -CMManagerShim::WlanSecMode CpWpaUi::securityMode() const -{ - OstTraceFunctionEntry1(CPWPAUI_SECURITYMODE_ENTRY,this); - OstTraceFunctionExit1(CPWPAUI_SECURITYMODE_EXIT,this); - //return security mode - return CMManagerShim::WlanSecModeWpa; -} - -/*! - Getter for localization text identifier for the security mode, - f.ex. "txt_occ_setlabel_wlan_security_mode_val_wpawpa2". This localized - text will be shown in the UI. - - \return Localization text ID - */ -QString CpWpaUi::securityModeTextId() const -{ - OstTraceFunctionEntry1( CPWPAUI_SECURITYMODETEXTID_ENTRY, this ); - OstTraceFunctionExit1( CPWPAUI_SECURITYMODETEXTID_EXIT, this ); - return "txt_occ_setlabel_wlan_security_mode_val_wpawpa2"; -} - -/*! - Sets the database reference IAP id. - - \param id Database reference - */ -void CpWpaUi::setReference(CmConnectionMethodShim *cmCm, uint id) -{ - OstTraceFunctionEntry1(CPWPAUI_SETREFERENCE_ENTRY,this); - if (!mEapQtConfigInterface) { - mEapQtConfigInterface = new EapQtConfigInterface( - EapQtConfigInterface::EapBearerTypeWlan, id); - } - else { - mEapQtConfigInterface->setConfigurationReference(id); - } - - //mCmCM is not deleted assuming mCmManager owns it. - mCmCM = cmCm; - OstTraceFunctionExit1(CPWPAUI_SETREFERENCE_EXIT,this); -} - -/*! - Getter for order number. This order number is used by the client of - this interface to put the security modes in correct order in the list. - - \return An order number - */ -int CpWpaUi::orderNumber() const -{ - OstTraceFunctionEntry1(CPWPAUI_ORDERNUMBER_ENTRY,this); - OstTraceFunctionExit1(CPWPAUI_ORDERNUMBER_EXIT,this); - return UI_ORDER_WPA_WPA2; -} - -/*! - Creates an UI instance. Caller owns the object. - - \param dataHelper Item data helper - \return Pointer to an UI object - */ -CpSettingFormItemData* CpWpaUi::uiInstance(CpItemDataHelper &dataHelper) -{ - OstTraceFunctionEntry1(CPWPAUI_UIINSTANCE_ENTRY,this); - - //reset the Common Ui Ptr - mWpaUi.reset(new CpWpaCmnUi(CMManagerShim::WlanSecModeWpa, dataHelper)); - - mUi = mWpaUi->createUi(mEapQtConfigInterface, mCmCM); - - OstTraceFunctionExit1(CPWPAUI_UIINSTANCE_EXIT,this); - return mUi; -} - -/*! - Validates current security settings. This function is called whenever - user tries to exit from the settings view. If the plugin determines - that some settings need editing before considered valid, it shall - return false. A dialog will be shown to the user indicating that - settings are still incomplete and asking if he/she wishes to exit - anyway. - - \return True if security settings for WPA/WPA2 are valid, false if not. -*/ -bool CpWpaUi::validateSettings() -{ - return mWpaUi->validateSettings(); -} - -Q_EXPORT_PLUGIN2(CpWpaUi, CpWpaUi) -; diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/cpwpaui/traces/OstTraceDefinitions.h --- a/securitysettings/cpwlansecurityuiplugins/cpwpaui/traces/OstTraceDefinitions.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: TraceHeader, includes the TraceAPI - * - * - */ - -/* - * %version: tr1cfwln#5 % - */ - -#ifndef __OSTTRACEDEFINITIONS_H__ -#define __OSTTRACEDEFINITIONS_H__ -#include -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/eabi/cpwpacmnuiu.def --- a/securitysettings/cpwlansecurityuiplugins/eabi/cpwpacmnuiu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -EXPORTS - _ZN10CpWpaCmnUi16validateSettingsEv @ 1 NONAME - _ZN10CpWpaCmnUi8createUiEP20EapQtConfigInterfaceP22CmConnectionMethodShim @ 2 NONAME - _ZN10CpWpaCmnUiC1EN13CMManagerShim11WlanSecModeER16CpItemDataHelper @ 3 NONAME - _ZN10CpWpaCmnUiC2EN13CMManagerShim11WlanSecModeER16CpItemDataHelper @ 4 NONAME - _ZN10CpWpaCmnUiD1Ev @ 5 NONAME - _ZN10CpWpaCmnUiD2Ev @ 6 NONAME - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/inc/cpwpacmnui.h --- a/securitysettings/cpwlansecurityuiplugins/inc/cpwpacmnui.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel QT UI for WPA/WPA2/802_Dot_1x configuration - * - */ - -/* - * %version: tr1cfwln#15 % - */ - -#ifndef CPWPACMNUI_H -#define CPWPACMNUI_H - -// System includes -#include - -// User includes -#include "cpwpacmnui_global.h" - -// Forward Declarations -class CpItemDataHelper; -class CpSettingFormItemData; -class EapQtConfigInterface; -class CpWpaCmnUiPrivate; - -/*! - * Implements the Ui for WPA/WPA2/802.1x Security Mode - */ - -// Class declaration -class WPAUI_EXPORT CpWpaCmnUi -{ - public: - - CpWpaCmnUi(CMManagerShim::WlanSecMode securityMode, CpItemDataHelper &dataHelpper); - ~CpWpaCmnUi(); - - CpSettingFormItemData* createUi( - EapQtConfigInterface *mEapQtConfigInterface, - CmConnectionMethodShim *cmCM); - - bool validateSettings(); - - private: - - Q_DISABLE_COPY(CpWpaCmnUi) - - // Pointer to Private Implementation - CpWpaCmnUiPrivate* d_ptr; - -}; - - - -#endif//CPWPACMNUI_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/inc/cpwpacmnui_global.h --- a/securitysettings/cpwlansecurityuiplugins/inc/cpwpacmnui_global.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Export Declaration for CpWpaCmnUi DLL - common Ui - * for WPA/WPA2, WPA2 only and 802.1x Security modes - * - */ - -/* - * %version: tr1cfwln#7 % - */ - -#ifndef CPWPACMNUI_GLOBAL_H_ -#define CPWPACMNUI_GLOBAL_H_ - - -#include - - //If WPAUI_LIBRARY macro is defined in the project file, - //The dll is exported, - //otherwise, - //the dll will be imported(used) - #if defined(WPAUI_LIBRARY) - #define WPAUI_EXPORT Q_DECL_EXPORT - #else - #if defined(WPAUI_NO_LIBRARY) - #define WPAUI_EXPORT - #else - #define WPAUI_EXPORT Q_DECL_IMPORT - #endif - #endif - - -#endif //CPWPACMNUI_GLOBAL_H_ diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/cpwlansecurityuiplugins/rom/cpwlansecurityuiplugins_resources.iby --- a/securitysettings/cpwlansecurityuiplugins/rom/cpwlansecurityuiplugins_resources.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: -* Common IBY file for WLAN security UI plugin resources -* -*/ - -/* - * %version: 1 % - */ - -#ifndef CPWLANSECPLUGINS_RES_IBY -#define CPWLANSECPLUGINS_RES_IBY - -#include -#include - -#ifdef __PROTOCOL_WLAN - -data=DATAZ_/QT_TRANSLATIONS_DIR/cpwlansecsettingsplugin.qm QT_TRANSLATIONS_DIR/cpwlansecsettingsplugin.qm - -#endif // __PROTOCOL_WLAN - -#endif // CPWLANSECPLUGINS_RES_IBY diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/eapqtdialogs.pro --- a/securitysettings/eapqtdialogs/eapqtdialogs.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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 Dialog build file -# -# -# %version: 13 % -# - -TEMPLATE = lib -TARGET = eapdialogplugin -CONFIG += hb plugin - -# directories -INCLUDEPATH += . -DEPENDPATH += . -DESTDIR = $${HB_BUILD_DIR}/plugins/devicedialogs - -# Temporary solution to fix tracecompiler -# When tracecompiler is fixed, this can be removed -symbian: { - MMP_RULES += "USERINCLUDE traces" -} - -# directories for generated files -MOC_DIR = _build -RCC_DIR = _build -OBJECTS_DIR = _build - -HEADERS += inc/eapdialogplugin.h \ - inc/eapquerydialog.h \ - inc/eappasswordquerydialog.h \ - inc/eapusernamepwddialog.h \ - inc/eapfastprovwaitnotedialog.h \ - inc/eapmschapv2pwdexpirednotedialog.h \ - inc/eapmschapv2oldpwddialog.h \ - inc/eapmschapv2newpwddialog.h \ - inc/eapfastprovnotsuccessnotedialog.h \ - inc/eapfastinstallpacquerydialog.h \ - inc/eapfastpacstorepwquerydialog.h \ - inc/eapfastpacfilepwquerydialog.h \ - inc/eapfastcreatemasterkeyquerydialog.h \ - traces/OstTraceDefinitions.h - -SOURCES += src/eapdialogplugin.cpp \ - src/eapquerydialog.cpp \ - src/eappasswordquerydialog.cpp \ - src/eapusernamepwddialog.cpp \ - src/eapfastprovwaitnotedialog.cpp \ - src/eapmschapv2oldpwddialog.cpp \ - src/eapmschapv2newpwddialog.cpp \ - src/eapmschapv2pwdexpirednotedialog.cpp \ - src/eapfastprovnotsuccessnotedialog.cpp \ - src/eapfastinstallpacquerydialog.cpp \ - src/eapfastpacstorepwquerydialog.cpp \ - src/eapfastpacfilepwquerydialog.cpp \ - src/eapfastcreatemasterkeyquerydialog.cpp - -symbian: { - TARGET.EPOCALLOWDLLDATA = 1 - TARGET.CAPABILITY = CAP_GENERAL_DLL - TARGET.UID3 = 0x2002E6F2 - BLD_INF_RULES.prj_exports += "rom/eapdialogplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(eapdialogplugin.iby)" - BLD_INF_RULES.prj_exports += "rom/eapdialogplugin_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(eapdialogplugin_resources.iby)" - - pluginstub.sources = eapdialogplugin.dll - pluginstub.path = /resource/plugins/devicedialogs - DEPLOYMENT += pluginstub -} - -TRANSLATIONS = eapprompts.ts - -LIBS += -leapqtconfiginterface -leapqtplugininfo diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/inc/eapdialogplugin.h --- a/securitysettings/eapqtdialogs/inc/eapdialogplugin.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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 Dialog Plugin -* -*/ - -/* -* %version: 4 % -*/ - -#ifndef ____EAPDIALOG_H__PLUGIN_H__ -#define ____EAPDIALOG_H__PLUGIN_H__ - -// System includes -#include -#include - -// User includes - -// Forward declarations - -// External data types - -// Constants - -/*! - @addtogroup group_eap_dialog_plugin - @{ - */ - -// Class declaration - -class EapDialogPlugin : public HbDeviceDialogPlugin -{ - Q_OBJECT - -public: - - /* Constructor */ - EapDialogPlugin(); - /* Destructor */ - ~EapDialogPlugin(); - - /* Check whether access is allowed, true is always returned. - (from HbDeviceDialogPlugin) */ - bool accessAllowed(const QString &deviceDialogType, - const QVariantMap ¶meters, const QVariantMap &securityInfo) const; - - /* Creates the dialog widget. (from HbDeviceDialogPluginInterface) */ - HbDeviceDialogInterface *createDeviceDialog(const QString &deviceDialogType, - const QVariantMap ¶meters); - - /* Returns the device dialog type. (from HbDeviceDialogPlugin)*/ - bool deviceDialogInfo(const QString &deviceDialogType, - const QVariantMap ¶meters, DeviceDialogInfo *info) const; - - /* Returns a list of dialog types that this plugin implements. - * Only one dialog type is supported. (from HbDeviceDialogPlugin) - */ - QStringList deviceDialogTypes() const; - - /* Returns the possible plugin flags, there are none. - (from HbDeviceDialogPlugin) */ - PluginFlags pluginFlags() const; - - /* Not supported. (from HbDeviceDialogPlugin)*/ - int error() const; - -private: - Q_DISABLE_COPY(EapDialogPlugin) - -}; - -/*! @} */ - -#endif // ___EAPDIALOG_H__ diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/inc/eapfastcreatemasterkeyquerydialog.h --- a/securitysettings/eapqtdialogs/inc/eapfastcreatemasterkeyquerydialog.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,126 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-FAST Create Master Key Query Dialog -* -*/ - -/* -* %version: 4 % -*/ - -#ifndef __EAPFASTCREATEMASTERKEYQUERYDIALOG_H__ -#define __EAPFASTCREATEMASTERKEYQUERYDIALOG_H__ - -// System includes -#include -#include - -// User includes - -// Forward declarations -class HbLineEdit; -class HbTranslator; -class EapQtValidator; - -// External data types - -// Constants - -/*! - @addtogroup group_eap_fast_create_master_key_query_dialog - @{ - */ - -// Class declaration - -class EapFastCreateMasterKeyQueryDialog: public HbInputDialog, public HbDeviceDialogInterface - { - Q_OBJECT - - public: - /* Constructor */ - EapFastCreateMasterKeyQueryDialog(const QVariantMap ¶meters); - /* Destructor */ - ~EapFastCreateMasterKeyQueryDialog(); - - /* Function creates the actual dialog widget */ - void createDialog( const QVariantMap ¶meters ); - - /* Device dialog parameters to be set while dialog is displayed. - * Not supported. (from HbDeviceDialogInterface) - */ - bool setDeviceDialogParameters(const QVariantMap ¶meters); - - /* Not supported. (from HbDeviceDialogInterface) */ - int deviceDialogError() const; - - /* Closes the device dialog. (from HbDeviceDialogInterface) */ - void closeDeviceDialog(bool byClient); - - /* Returns a pointer to this dialog widget. - (from HbDeviceDialogInterface) */ - HbPopup *deviceDialogWidget() const; - - signals: - /* Signal is emitted when the dialog is closed */ - void deviceDialogClosed(); - - /* Data is emitted in QVariantMap when Ok Action button is selected */ - void deviceDialogData(QVariantMap data); - - private slots: - /* Slot that is mapped to the Ok Action button's triggered signal */ - void okPressed(); - - /* Slot that is mapped to the Cancel Action button's triggered signal */ - void cancelPressed(); - - /* Slot that is mapped to the signal that indicates to closing of the dialog */ - void closingDialog(); - - private: - - bool validate() const; - - Q_DISABLE_COPY(EapFastCreateMasterKeyQueryDialog) - - private: // data - // NOT OWNED - //! Pointer to the line edit 1 object - HbLineEdit *mEdit1; - - //! Pointer to the line edit 2 object - HbLineEdit *mEdit2; - - // OWNED - //! Pointer to the password validator object - QScopedPointer mPwdValidator; - - //! Pointer to the HbTranslator - QScopedPointer mTranslator; - - //! Pointer to the error message HbTranslator - QScopedPointer mErrMsgTranslator; - - //! Tells whether close has already been called for the dialog - bool mClose; - - //! Tells whether Ok Action has already been pressed - bool mOkActionPressed; - }; - -/*! @} */ - -#endif // __EAPFASTCREATEMASTERKEYQUERYDIALOG_H__ - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/inc/eapfastinstallpacquerydialog.h --- a/securitysettings/eapqtdialogs/inc/eapfastinstallpacquerydialog.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: Fast Install Pac Query Dialog -* -*/ - -/* -* %version: 4 % -*/ - -#ifndef __EAPFASTINSTALLQUERYDIALOG_H__ -#define __EAPFASTINSTALLQUERYDIALOG_H__ - -// System includes -#include -#include - -// User includes - -// Forward declarations -class HbTranslator; - -// External data types - -// Constants - -/*! - @addtogroup group_eap_fast_install_pac_query_dialog - @{ - */ - -// Class declaration - -class EapFastInstallPacQueryDialog: public HbMessageBox, public HbDeviceDialogInterface - { - Q_OBJECT - - public: - /* Constructor */ - EapFastInstallPacQueryDialog(const QVariantMap ¶meters); - /* Destructor */ - ~EapFastInstallPacQueryDialog(); - - /* Function creates the actual dialog widget */ - void createDialog(const QVariantMap ¶meters ); - - /* Device dialog parameters to be set while dialog is displayed. - * Not supported. (from HbDeviceDialogInterface) - */ - bool setDeviceDialogParameters(const QVariantMap ¶meters); - - /* Not supported. (from HbDeviceDialogInterface) */ - int deviceDialogError() const; - - /* Closes the device dialog. (from HbDeviceDialogInterface) */ - void closeDeviceDialog(bool byClient); - - /* Returns a pointer to this dialog widget. - (from HbDeviceDialogInterface) */ - HbPopup *deviceDialogWidget() const; - - signals: - /* Signal is emitted when the dialog is closed */ - void deviceDialogClosed(); - - /* Data is emitted in QVariantMap when Ok Action button is selected */ - void deviceDialogData(QVariantMap data); - - private slots: - /* Slot that is mapped to the Yes Action button's triggered signal */ - void yesPressed(); - - /* Slot that is mapped to the No Action button's triggered signal */ - void noPressed(); - - /* Slot that is mapped to the signal that indicates to closing of the dialog */ - void closingDialog(); - - private: - - Q_DISABLE_COPY(EapFastInstallPacQueryDialog) - - private: // data - // NOT OWNED - - // OWNED - //! Pointer to the password validator object - QScopedPointer mTranslator; - - //! Tells whether close has already been called for the dialog - bool mClose; - - //! Tells whether Yes Action has already been pressed - bool mYesActionPressed; - }; - -/*! @} */ - -#endif // __EAPFASTINSTALLQUERYDIALOG_H__ diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/inc/eapfastpacfilepwquerydialog.h --- a/securitysettings/eapqtdialogs/inc/eapfastpacfilepwquerydialog.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,114 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-FAST PAC File Password Query Dialog -* -*/ - -/* -* %version: 4 % -*/ - -#ifndef __EAPFASTPACFILEPWQUERYDIALOG_H__ -#define __EAPFASTPACFILEPWQUERYDIALOG_H__ - -// System includes -#include -#include - -// User includes - -// Forward declarations -class HbTranslator; - -// External data types - -// Constants - -/*! - @addtogroup group_eap_fast_pac_file_pwd_query_dialog - @{ - */ - -// Class declaration - -class EapFastPacFilePwQueryDialog: public HbInputDialog, public HbDeviceDialogInterface - { - Q_OBJECT - - public: - /* Constructor */ - EapFastPacFilePwQueryDialog(const QVariantMap ¶meters); - /* Destructor */ - ~EapFastPacFilePwQueryDialog(); - - /* Function creates the actual dialog widget */ - void createDialog( const QVariantMap ¶meters ); - - /* Device dialog parameters to be set while dialog is displayed. - * Not supported. (from HbDeviceDialogInterface) - */ - bool setDeviceDialogParameters(const QVariantMap ¶meters); - - /* Not supported. (from HbDeviceDialogInterface */ - int deviceDialogError() const; - - /* Closes the device dialog. (from HbDeviceDialogInterface */ - void closeDeviceDialog(bool byClient); - - /* Returns a pointer to this dialog widget. - (from HbDeviceDialogInterface) */ - HbPopup *deviceDialogWidget() const; - - signals: - /* Signal is emitted when the dialog is closed */ - void deviceDialogClosed(); - - /* Data is emitted in QVariantMap when Ok Action button is selected */ - void deviceDialogData(QVariantMap data); - - private slots: - /* Slot that is mapped to the Ok Action button's triggered signal */ - void okPressed(); - - /* Slot that is mapped to the Cancel Action button's triggered signal */ - void cancelPressed(); - - /* Slot that is mapped to the signal that indicates to closing of the dialog */ - void closingDialog(); - - private: - - Q_DISABLE_COPY(EapFastPacFilePwQueryDialog) - - private: // data - // NOT OWNED - //! Pointer to the line edit object - HbLineEdit *mEdit; - - // OWNED - //! Pointer to the password validator object - QScopedPointer mTranslator; - - //! Tells whether close has already been called for the dialog - bool mClose; - - //! Tells whether Ok Action has already been pressed - bool mOkActionPressed; - }; - -/*! @} */ - -#endif // __EAPFASTPACFILEPWQUERYDIALOG_H__ - - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/inc/eapfastpacstorepwquerydialog.h --- a/securitysettings/eapqtdialogs/inc/eapfastpacstorepwquerydialog.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,120 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-FAST PAC Store Password Query Dialog -* -*/ - -/* -* %version: 4 % -*/ - -#ifndef __EAPFASTPACSTOREPWQUERYDIALOG_H__ -#define __EAPFASTPACSTOREPWQUERYDIALOG_H__ - -// System includes -#include -#include - -// User includes - -// Forward declarations -class HbTranslator; -class EapQtValidator; - -// External data types - -// Constants - -/*! - @addtogroup group_eap_fast_pac_store_pwd_query_dialog - @{ - */ - -// Class declaration - -class EapFastPacStorePwQueryDialog: public HbInputDialog, public HbDeviceDialogInterface - { - Q_OBJECT - - public: - /* Constructor */ - EapFastPacStorePwQueryDialog(const QVariantMap ¶meters); - /* Destructor */ - ~EapFastPacStorePwQueryDialog(); - - /* Function creates the actual dialog widget. */ - void createDialog(); - - /* Device dialog parameters to be set while dialog is displayed. - * Not supported. (from HbDeviceDialogInterface) - */ - bool setDeviceDialogParameters(const QVariantMap ¶meters); - - /* Not supported. (from HbDeviceDialogInterface) */ - int deviceDialogError() const; - - /* Closes the device dialog. (from HbDeviceDialogInterface)*/ - void closeDeviceDialog(bool byClient); - - /* Returns a pointer to this dialog widget. - (from HbDeviceDialogInterface) */ - HbPopup *deviceDialogWidget() const; - - signals: - /* Signal is emitted when the dialog is closed */ - void deviceDialogClosed(); - - /* Data is emitted in QVariantMap when Ok Action button is selected */ - void deviceDialogData(QVariantMap data); - - private slots: - /* Slot that is mapped to the Ok Action button's triggered signal */ - void okPressed(); - - /* Slot that is mapped to the Cancel Action button's triggered signal */ - void cancelPressed(); - - /* Slot that is mapped to the signal that indicates to closing of the dialog */ - void closingDialog(); - - private: - - bool validate() const; - - Q_DISABLE_COPY(EapFastPacStorePwQueryDialog) - - private: // data - // NOT OWNED - //! Pointer to the line edit object - HbLineEdit *mEdit; - - // OWNED - //! Pointer to the password validator object - QScopedPointer mPwdValidator; - - //! Pointer to the HbTranslator - QScopedPointer mTranslator; - - //! Pointer to the error message HbTranslator - QScopedPointer mErrMsgTranslator; - - //! Tells whether close has already been called for the dialog - bool mClose; - - }; - -/*! @} */ - -#endif // __EAPFASTPACSTOREPWQUERYDIALOG_H__ - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/inc/eapfastprovnotsuccessnotedialog.h --- a/securitysettings/eapqtdialogs/inc/eapfastprovnotsuccessnotedialog.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,106 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-FAST Provisioning not successfull note Dialog -* -*/ - -/* -* %version: 4 % -*/ - -#ifndef __EAPFASTPROVNOTSUCCESSNOTEDIALOG_H__ -#define __EAPFASTPROVNOTSUCCESSNOTEDIALOG_H__ - -// System includes -#include -#include - -// User includes - -// Forward declarations -class HbAction; -class HbTranslator; - -// External data types - -// Constants - -/*! - @addtogroup group_eap_fast_prov_not_success_note_dialog - @{ - */ - -// Class declaration - -class EapFastProvNotSuccessNoteDialog: public HbMessageBox, public HbDeviceDialogInterface - { - Q_OBJECT - - public: - /* Constructor */ - EapFastProvNotSuccessNoteDialog(const QVariantMap ¶meters); - /* Destructor */ - ~EapFastProvNotSuccessNoteDialog(); - - /* Function creates the actual dialog widget */ - void createDialog(); - - /* Device dialog parameters to be set while dialog is displayed. - * Not supported. (from HbDeviceDialogInterface) - */ - bool setDeviceDialogParameters(const QVariantMap ¶meters); - - /* Not supported. (from HbDeviceDialogInterface) */ - int deviceDialogError() const; - - /* Closes the device dialog. (from HbDeviceDialogInterface) */ - void closeDeviceDialog(bool byClient); - - /* Returns a pointer to this dialog widget. - (from HbDeviceDialogInterface) */ - HbPopup *deviceDialogWidget() const; - - signals: - /* Signal is emitted when the dialog is closed */ - void deviceDialogClosed(); - - /* Data is emitted in QVariantMap when Ok Action button is selected */ - void deviceDialogData(QVariantMap data); - - private slots: - /* Slot that is mapped to the Ok Action button's triggered signal */ - void okPressed(); - - /* Slot that is mapped to the signal that indicates to closing of the dialog */ - void closingDialog(); - - private: - - Q_DISABLE_COPY(EapFastProvNotSuccessNoteDialog) - - private: // data - // NOT OWNED - - // OWNED - //! Pointer to the HbTranslator - QScopedPointer mTranslator; - - //! Tells whether Ok Action has already been pressed - bool mOkActionPressed; - }; - -/*! @} */ - -#endif // __EAPFASTPROVNOTSUCCESSNOTEDIALOG_H__ diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/inc/eapfastprovwaitnotedialog.h --- a/securitysettings/eapqtdialogs/inc/eapfastprovwaitnotedialog.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,101 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: Fast Provisioning Wait Notification Dialog -* -*/ - -/* -* %version: 3 % -*/ - -#ifndef __EAPFASTPROVWAITNOTEDIALOG_H__ -#define __EAPFASTPROVWAITNOTEDIALOG_H__ - -// System includes -#include -#include - -// User includes - -// Forward declarations -class HbTranslator; - -// External data types - -// Constants - -/*! - @addtogroup group_eap_fast_prov_wait_note_dialog - @{ - */ - -// Class declaration - -class EapFastProvWaitNoteDialog: public HbNotificationDialog, public HbDeviceDialogInterface - { - Q_OBJECT - - public: - /* Constructor */ - EapFastProvWaitNoteDialog(const QVariantMap ¶meters); - - /* Destructor */ - ~EapFastProvWaitNoteDialog(); - - /* Function creates the actual dialog widget */ - void createDialog(const QVariantMap ¶meters ); - - /* Device dialog parameters to be set while dialog is displayed. - * Not supported. (from HbDeviceDialogInterface) - */ - bool setDeviceDialogParameters(const QVariantMap ¶meters); - - /* Not supported. (from HbDeviceDialogInterface) */ - int deviceDialogError() const; - - /* Closes the device dialog. (from HbDeviceDialogInterface) */ - void closeDeviceDialog(bool byClient); - - /* Returns a pointer to this dialog widget. - (from HbDeviceDialogInterface) */ - HbPopup *deviceDialogWidget() const; - - signals: - /* Signal is emitted when the dialog is closed */ - void deviceDialogClosed(); - - /* Data is emitted in QVariantMap when Ok Action button is selected */ - void deviceDialogData(QVariantMap data); - - private slots: - - /* Slot that is mapped to the signal that indicates to closing of the dialog */ - void closingDialog(); - - private: - - Q_DISABLE_COPY(EapFastProvWaitNoteDialog) - - private:// data - // NOT OWNED - - // OWNED - //! Pointer to the HbTranslator - QScopedPointer mTranslator; - - }; - -/*! @} */ - -#endif // __EAPFASTPROVWAITNOTEDIALOG_H__ diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/inc/eapmschapv2newpwddialog.h --- a/securitysettings/eapqtdialogs/inc/eapmschapv2newpwddialog.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,125 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-MSCHAPv2 New Password Input Dialog -* -*/ - -/* -* %version: 4 % -*/ - -#ifndef __EAPMSCHAPV2NEWPWDDIALOG_H__ -#define __EAPMSCHAPV2NEWPWDDIALOG_H__ - -// System includes -#include -#include - -// User includes - -// Forward declarations -class EapQtValidator; -class HbTranslator; -class HbLineEdit; -class HbAction; - -// External data types - -// Constants - -/*! - @addtogroup group_eap_mschapv2_new_pwd_dialog - @{ - */ - -// Class declaration - -class EapMschapv2NewPwdDialog: public HbInputDialog, public HbDeviceDialogInterface - { - Q_OBJECT - - public: - /* Constructor */ - EapMschapv2NewPwdDialog(const QVariantMap ¶meters); - /* Destructor */ - ~EapMschapv2NewPwdDialog(); - - /* Function creates the actual dialog widget */ - void createDialog( const QVariantMap ¶meters ); - - /* Device dialog parameters to be set while dialog is displayed. - * Not supported. - * (from HbDeviceDialogInterface) - */ - bool setDeviceDialogParameters(const QVariantMap ¶meters); - - /* Not supported. (from HbDeviceDialogInterface)*/ - int deviceDialogError() const; - - /* Closes the device dialog. (from HbDeviceDialogInterface)*/ - void closeDeviceDialog(bool byClient); - - /* Returns a pointer to this dialog widget. (from HbDeviceDialogInterface)*/ - HbPopup *deviceDialogWidget() const; - - signals: - /* Signal is emitted when the dialog is closed */ - void deviceDialogClosed(); - - /* Data is emitted in QVariantMap when Ok Action button is selected */ - void deviceDialogData(QVariantMap data); - - private slots: - /* Slot that is mapped to the Ok Action button's triggered signal */ - void okPressed(); - - /* Slot that is mapped to the Cancel Action button's triggered signal */ - void cancelPressed(); - - /* Slot that is mapped to the signal that indicates to closing of the dialog */ - void closingDialog(); - - private: - - bool validate() const; - - Q_DISABLE_COPY(EapMschapv2NewPwdDialog) - - private: // data - // NOT OWNED - //! Pointer to the line edit 1 object - HbLineEdit *mEdit1; - - //! Pointer to the line edit 2 object - HbLineEdit *mEdit2; - - // OWNED - //! Pointer to the password validator object - QScopedPointer mPwdValidator; - - //! Pointer to the main HbTranslator - QScopedPointer mTranslator; - - //! Pointer to the error message HbTranslator - QScopedPointer mErrMsgTranslator; - - //! Tells whether close has already been called for the dialog - bool mClose; - - }; - -/*! @} */ - -#endif // __EAPMSCHAPV2NEWPWDDIALOG_H__ - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/inc/eapmschapv2oldpwddialog.h --- a/securitysettings/eapqtdialogs/inc/eapmschapv2oldpwddialog.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,121 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-MSCHAPv2 Old Password Input Dialog -* -*/ - -/* -* %version: 4 % -*/ - -#ifndef __EAPMSCHAPV2OLDPWDDIALOG_H__ -#define __EAPMSCHAPV2OLDPWDDIALOG_H__ - -// System includes -#include -#include - -// User includes - -// Forward declarations -class HbTranslator; -class EapQtValidator; - -// External data types - -// Constants - -/*! - @addtogroup group_eap_mschapv2_old_pwd_dialog - @{ - */ - -// Class declaration - -class EapMschapv2OldPwdDialog: public HbInputDialog, public HbDeviceDialogInterface - { - Q_OBJECT - - public: - /* Constructor */ - EapMschapv2OldPwdDialog(const QVariantMap ¶meters); - - /* Destructor */ - ~EapMschapv2OldPwdDialog(); - - /* Function creates the actual dialog widget */ - void createDialog( const QVariantMap ¶meters ); - - /* Device dialog parameters to be set while dialog is displayed. - * Not supported. - * (from HbDeviceDialogInterface) - */ - bool setDeviceDialogParameters(const QVariantMap ¶meters); - - /* Not supported. (from HbDeviceDialogInterface) */ - int deviceDialogError() const; - - /* Closes the device dialog. (from HbDeviceDialogInterface) */ - void closeDeviceDialog(bool byClient); - - /* Returns a pointer to this dialog widget. - (from HbDeviceDialogInterface) */ - HbPopup *deviceDialogWidget() const; - - signals: - /* Signal is emitted when the dialog is closed */ - void deviceDialogClosed(); - - /* Data is emitted in QVariantMap when Ok Action button is selected */ - void deviceDialogData(QVariantMap data); - - private slots: - /* Slot that is mapped to the Ok Action button's triggered signal */ - void okPressed(); - - /* Slot that is mapped to the Cancel Action button's triggered signal */ - void cancelPressed(); - - /* Slot that is mapped to the signal that indicates to closing of the dialog */ - void closingDialog(); - - private: - - bool validate() const; - - Q_DISABLE_COPY(EapMschapv2OldPwdDialog) - - private: // data - // NOT OWNED - //! Pointer to the line edit object - HbLineEdit *mEdit; - - // OWNED - //! Pointer to the password validator object - QScopedPointer mPwdValidator; - - //! Pointer to the HbTranslator - QScopedPointer mTranslator; - - //! Tells whether Ok Action has already been pressed - bool mOkActionPressed; - - //! Tells whether close has already been called for the dialog - bool mClose; - }; - -/*! @} */ - -#endif // __EAPMSCHAPV2OLDPWDDIALOG_H__ - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/inc/eapmschapv2pwdexpirednotedialog.h --- a/securitysettings/eapqtdialogs/inc/eapmschapv2pwdexpirednotedialog.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,105 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-MSCHAPv2 password expired note Dialog -* -*/ - -/* -* %version: 3 % -*/ - -#ifndef __EAPMSCHAPV2PWDEXPNOTEDIALOG_H__ -#define __EAPMSCHAPV2PWDEXPNOTEDIALOG_H__ - -// System includes -#include -#include - -// User includes - -// Forward declarations - -class HbTranslator; - -// External data types - -// Constants - -/*! - @addtogroup group_eap_mschapv2_pwd_exp_note_dialog - @{ - */ - -// Class declaration - -class EapMschapv2PwdExpNoteDialog: public HbMessageBox, public HbDeviceDialogInterface - { - Q_OBJECT - - public: - /* Constructor */ - EapMschapv2PwdExpNoteDialog(const QVariantMap ¶meters); - /* Destructor */ - ~EapMschapv2PwdExpNoteDialog(); - - /* Function creates the actual dialog widget */ - void createDialog(); - - /* Device dialog parameters to be set while dialog is displayed. - * Not supported. (from HbDeviceDialogInterface) - */ - bool setDeviceDialogParameters(const QVariantMap ¶meters); - - /* Not supported. (from HbDeviceDialogInterface) */ - int deviceDialogError() const; - - /* Closes the device dialog. (from HbDeviceDialogInterface) */ - void closeDeviceDialog(bool byClient); - - /* Returns a pointer to this dialog widget. - (from HbDeviceDialogInterface) */ - HbPopup *deviceDialogWidget() const; - - signals: - /* Signal is emitted when the dialog is closed */ - void deviceDialogClosed(); - - /* Data is emitted in QVariantMap when Ok Action button is selected */ - void deviceDialogData(QVariantMap data); - - private slots: - /* Slot that is mapped to the Ok Action button's triggered signal */ - void okPressed(); - - /* Slot that is mapped to the signal that indicates to closing of the dialog */ - void closingDialog(); - - private: - - Q_DISABLE_COPY(EapMschapv2PwdExpNoteDialog) - - private: // data - // NOT OWNED - - // OWNED - //! Pointer to the HbTranslator - QScopedPointer mTranslator; - - //! Tells whether Ok Action has already been pressed - bool mOkActionPressed; - }; - -/*! @} */ - -#endif // __EAPMSCHAPV2PWDEXPNOTEDIALOG_H__ diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/inc/eappasswordquerydialog.h --- a/securitysettings/eapqtdialogs/inc/eappasswordquerydialog.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,121 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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 Password Query Dialog -* -*/ - -/* -* %version: 4 % -*/ - -#ifndef __EAPPASSWORDQUERYDIALOG_H__ -#define __EAPPASSWORDQUERYDIALOG_H__ - - -// System includes -#include -#include - -// User includes - -// Forward declarations -class HbTranslator; -class HbLineEdit; -class EapQtValidator; - -// External data types - -// Constants - -/*! - @addtogroup group_eap_password_query_dialog - @{ - */ - -// Class declaration - -class EapPasswordQueryDialog: public HbInputDialog, public HbDeviceDialogInterface - { - Q_OBJECT - - public: - /* Constructor */ - EapPasswordQueryDialog(const QVariantMap ¶meters); - /* Destructor */ - ~EapPasswordQueryDialog(); - - /* Function creates the actual dialog widget */ - void createDialog( const QVariantMap ¶meters ); - - /* Device dialog parameters to be set while dialog is displayed. - * Not supported. (from HbDeviceDialogInterface) - */ - bool setDeviceDialogParameters(const QVariantMap ¶meters); - - /* Not supported. (from HbDeviceDialogInterface)*/ - int deviceDialogError() const; - - /* Closes the device dialog. (from HbDeviceDialogInterface) */ - void closeDeviceDialog(bool byClient); - - /* Returns a pointer to this dialog widget. - (from HbDeviceDialogInterface)*/ - HbPopup *deviceDialogWidget() const; - - signals: - /* Signal is emitted when the dialog is closed */ - void deviceDialogClosed(); - - /* Data is emitted in QVariantMap when Ok Action button is selected */ - void deviceDialogData(QVariantMap data); - - private slots: - /* Slot that is mapped to the Ok Action button's triggered signal */ - void okPressed(); - - /* Slot that is mapped to the Cancel Action button's triggered signal */ - void cancelPressed(); - - /* Slot that is mapped to the signal that indicates to closing of the dialog */ - void closingDialog(); - - private: - - bool validate() const; - - Q_DISABLE_COPY(EapPasswordQueryDialog) - - private: //data - // NOT OWNED - //! Pointer to the line edit 1 object - HbLineEdit *mEdit; - - // OWNED - //! Pointer to the password validator object - QScopedPointer mPwdValidator; - - //! Pointer to the main HbTranslator - QScopedPointer mTranslator; - - //! Tells whether close has already been called for the dialog */ - bool mClose; - - //! Tells whether Ok Action has already been pressed - bool mOkActionPressed; - }; - -/*! @} */ - -#endif // __EAPPASSWORDQUERYDIALOG_H__ - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/inc/eapquerydialog.h --- a/securitysettings/eapqtdialogs/inc/eapquerydialog.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,105 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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 Challenge query Dialog -* -*/ - -/* - * %version: 3 % - */ - -#ifndef __EAPQUERYDIALOG_H__ -#define __EAPQUERYDIALOG_H__ - -// System includes -#include -#include - -// User includes - -// Forward declarations -class HbTranslator; -class EapQtValidator; - -// External data types - -// Constants - -/*! - @addtogroup group_query_dialog - @{ - */ - -// Class declaration - -class EapQueryDialog: public HbMessageBox, public HbDeviceDialogInterface - { - Q_OBJECT - - public: - /* Constructor */ - EapQueryDialog(const QVariantMap ¶meters); - /* Destructor */ - ~EapQueryDialog(); - - /* Function creates the actual dialog widget */ - void createDialog(const QVariantMap ¶meters ); - - /* Device dialog parameters to be set while dialog is displayed. - * Not supported. (from HbDeviceDialogInterface) - */ - bool setDeviceDialogParameters(const QVariantMap ¶meters); - - /* Not supported. (from HbDeviceDialogInterface) */ - int deviceDialogError() const; - - /* Closes the device dialog. (from HbDeviceDialogInterface) */ - void closeDeviceDialog(bool byClient); - - /* Returns a pointer to this dialog widget. - (from HbDeviceDialogInterface) */ - HbPopup *deviceDialogWidget() const; - - signals: - /* Signal is emitted when the dialog is closed */ - void deviceDialogClosed(); - - /* Data is emitted in QVariantMap when Ok Action button is selected */ - void deviceDialogData(QVariantMap data); - - private slots: - /* Slot that is mapped to the Ok Action button's triggered signal */ - void okPressed(); - - /* Slot that is mapped to the signal that indicates to closing of the dialog */ - void closingDialog(); - - private: - - Q_DISABLE_COPY(EapQueryDialog) - - private: // data - // NOT OWNED - - // OWNED - //! Pointer to the HbTranslator - QScopedPointer mTranslator; - - //! Tells whether Ok Action has already been pressed - bool mOkActionPressed; - }; - -/*! @} */ - -#endif // __EAPQUERYDIALOG_H__ diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/inc/eapusernamepwddialog.h --- a/securitysettings/eapqtdialogs/inc/eapusernamepwddialog.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,126 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: User authentication Dialog -*/ - -/* - * %version: 4 % - */ - -#ifndef __EAPUSERNAMEPWDDIALOG_H__ -#define __EAPUSERNAMEPWDDIALOG_H__ - -// System includes -#include -#include - -// User includes - -// Forward declarations -class EapQtValidator; -class HbTranslator; -class HbLineEdit; -class HbAction; - -// External data types - -// Constants - -/*! - @addtogroup group_eap_username_pwd_dialog - @{ - */ - -// Class declaration - -class EapUsernamePwdDialog: public HbInputDialog, public HbDeviceDialogInterface - { - Q_OBJECT - - public: - /* Constructor */ - EapUsernamePwdDialog(const QVariantMap ¶meters); - /* Destructor */ - ~EapUsernamePwdDialog(); - - /* Function creates the actual dialog widget */ - void createDialog( const QVariantMap ¶meters ); - - /* Device dialog parameters to be set while dialog is displayed. - * Not supported. (from HbDeviceDialogInterface) - */ - bool setDeviceDialogParameters(const QVariantMap ¶meters); - - /* Not supported. (from HbDeviceDialogInterface) */ - int deviceDialogError() const; - - /* Closes the device dialog. (from HbDeviceDialogInterface) */ - void closeDeviceDialog(bool byClient); - - /* Returns a pointer to this dialog widget. - (from HbDeviceDialogInterface) */ - HbPopup *deviceDialogWidget() const; - - signals: - /* Signal is emitted when the dialog is closed */ - void deviceDialogClosed(); - - /* Data is emitted in QVariantMap when Ok Action button is selected */ - void deviceDialogData(QVariantMap data); - - private slots: - /* Slot that is mapped to the Ok Action button's triggered signal */ - void okPressed(); - - /* Slot that is mapped to the Cancel Action button's triggered signal */ - void cancelPressed(); - - /* Slot that is mapped to the signal that indicates to closing of the dialog */ - void closingDialog(); - - private: - - bool validate() const; - - Q_DISABLE_COPY(EapUsernamePwdDialog) - - private: // data - // NOT OWNED - //! Pointer to the line edit 1 object - HbLineEdit *mEdit1; - - //! Pointer to the line edit 2 object - HbLineEdit *mEdit2; - - // OWNED - //! Pointer to the user name validator object - QScopedPointer mUnameValidator; - - //! Pointer to the password validator object - QScopedPointer mPwdValidator; - - //! Pointer to the HbTranslator - QScopedPointer mTranslator; - - //! Tells whether close has already been called for the dialog - bool mClose; - - //! Tells whether Ok Action has already been pressed - bool mOkActionPressed; - }; - -/*! @} */ - -#endif // __EAPUSERNAMEPWDDIALOG_H__ - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/rom/eapdialogplugin.iby --- a/securitysettings/eapqtdialogs/rom/eapdialogplugin.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: Image description file for the EAP Dialogs - * - */ - - /* - * %version: 3 % - */ - -#ifndef __EAPDIALOGPLUGIN_IBY__ -#define __EAPDIALOGPLUGIN_IBY__ - -#include - -#ifdef __PROTOCOL_WLAN - -#define HB_PLUGIN_STUB(NAME, SUBDIR) data=\epoc32\data\z\resource\plugins\##SUBDIR##\##NAME##.qtplugin RESOURCE_FILES_DIR\plugins\##SUBDIR##\##NAME##.qtplugin - -file=ABI_DIR\BUILD_DIR\EapDialogPlugin.dll SHARED_LIB_DIR\eapdialogplugin.dll -HB_PLUGIN_STUB(eapdialogplugin, devicedialogs) - -#endif // __PROTOCOL_WLAN - -#endif // __EAPDIALOGPLUGIN_IBY__ \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/rom/eapdialogplugin_resources.iby --- a/securitysettings/eapqtdialogs/rom/eapdialogplugin_resources.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: Resource description file for the EAP Dialogs - * - */ - - /* - * %version: 5 % - */ - -#ifndef EAPDIALOGPLUGIN_RESOURCES_IBY -#define EAPDIALOGPLUGIN_RESOURCES_IBY - -#include -#include - -#ifdef __PROTOCOL_WLAN - -data=DATAZ_/QT_TRANSLATIONS_DIR/eapprompts.qm QT_TRANSLATIONS_DIR/eapprompts.qm - -#endif // __PROTOCOL_WLAN - -#endif // EAPDIALOGPLUGIN_RESOURCES_IBY diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/src/eapdialogplugin.cpp --- a/securitysettings/eapqtdialogs/src/eapdialogplugin.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,272 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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 Dialog Plugin implementation -* -*/ - -/* -* %version: 10 % -*/ - -// System includes -#include -#include - -// User includes -#include "eapdialogplugin.h" -#include "eapusernamepwddialog.h" -#include "eapquerydialog.h" -#include "eappasswordquerydialog.h" -#include "eapfastinstallpacquerydialog.h" -#include "eapfastpacstorepwquerydialog.h" -#include "eapfastpacfilepwquerydialog.h" -#include "eapfastcreatemasterkeyquerydialog.h" -#include "eapfastprovwaitnotedialog.h" -#include "eapmschapv2pwdexpirednotedialog.h" -#include "eapmschapv2oldpwddialog.h" -#include "eapmschapv2newpwddialog.h" -#include "eapfastprovnotsuccessnotedialog.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "eapdialogpluginTraces.h" -#endif - -/*! - * \class EapDialogPlugin - * \brief Implements Eap Dialog Plugin. - */ - -// External function prototypes - -Q_EXPORT_PLUGIN2(eapdialogplugin, EapDialogPlugin) - -// Local constants - -//! This plugin implements several device dialog types -static const struct { - const char *mTypeString; -} dialogInfos[] = { - {"com.nokia.eap.usernamepassworddialog/1.0"}, - {"com.nokia.eap.querydialog/1.0"}, - {"com.nokia.eap.passwordquerydialog/1.0"}, - {"com.nokia.eap.fastinstallpacquerydialog/1.0"}, - {"com.nokia.eap.fastpacstorepwquerydialog/1.0"}, - {"com.nokia.eap.fastcreatemasterkeyquerydialog/1.0"}, - {"com.nokia.eap.fastpacfilepwquerydialog/1.0"}, - {"com.nokia.eap.fastprovwaitnotedialog/1.0"}, - {"com.nokia.eap.mschapv2passwordexpirednotedialog/1.0"}, - {"com.nokia.eap.mschapv2oldpassworddialog/1.0"}, - {"com.nokia.eap.mschapv2newpassworddialog/1.0"}, - {"com.nokia.eap.fastshowprovnotsuccessnotedialog/1.0"} -}; - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - */ -EapDialogPlugin::EapDialogPlugin() -{ - OstTraceFunctionEntry0( EAPDIALOGPLUGIN_EAPDIALOGPLUGIN_ENTRY ); - qDebug("EapDialogPlugin::EapDialogPlugin"); - - OstTraceFunctionExit0( EAPDIALOGPLUGIN_EAPDIALOGPLUGIN_EXIT ); -} - -/*! - * Destructor - */ -EapDialogPlugin::~EapDialogPlugin() -{ - OstTraceFunctionEntry0( DUP1_EAPDIALOGPLUGIN_DEAPDIALOGPLUGIN_ENTRY ); - - OstTraceFunctionExit0( EAPDIALOGPLUGIN_DEAPDIALOGPLUGIN_EXIT ); -} - -/*! - * Create device dialog widget - * - * @param [in] deviceDialogType Tells which Dialog to create - * @param [in] parameters Parameters for the Construction of the dialog. - * @return created dialog widget - */ -HbDeviceDialogInterface *EapDialogPlugin::createDeviceDialog( - const QString &deviceDialogType, - const QVariantMap ¶meters) -{ - OstTraceFunctionEntry0( EAPDIALOGPLUGIN_CREATEDEVICEDIALOG_ENTRY ); - qDebug("EapDialogPlugin::createDeviceDialog ENTER"); - - HbDeviceDialogInterface* dialog = NULL; - - if ( deviceDialogType.compare(dialogInfos[0].mTypeString) == 0 ) - { - qDebug("EapDialogPlugin::createDeviceDialog: new EapUsernamePwdDialog"); - dialog = new EapUsernamePwdDialog(parameters); - } - else if ( deviceDialogType.compare(dialogInfos[1].mTypeString) == 0 ) - { - qDebug("EapDialogPlugin::createDeviceDialog: new EapQueryDialog"); - dialog = new EapQueryDialog(parameters); - } - else if ( deviceDialogType.compare(dialogInfos[2].mTypeString) == 0 ) - { - qDebug("EapDialogPlugin::createDeviceDialog: new EapPasswordQueryDialog"); - dialog = new EapPasswordQueryDialog(parameters); - } - else if ( deviceDialogType.compare(dialogInfos[3].mTypeString) == 0 ) - { - qDebug("EapDialogPlugin::createDeviceDialog: new EapFastInstallPacQueryDialog"); - dialog = new EapFastInstallPacQueryDialog(parameters); - } - else if ( deviceDialogType.compare(dialogInfos[4].mTypeString) == 0 ) - { - qDebug("EapDialogPlugin::createDeviceDialog: new EapFastPacStorePwQueryDialog"); - dialog = new EapFastPacStorePwQueryDialog(parameters); - } - else if ( deviceDialogType.compare(dialogInfos[5].mTypeString) == 0 ) - { - qDebug("EapDialogPlugin::createDeviceDialog: new EapFastCreateMasterKeyQueryDialog"); - dialog = new EapFastCreateMasterKeyQueryDialog(parameters); - } - else if ( deviceDialogType.compare(dialogInfos[6].mTypeString) == 0 ) - { - qDebug("EapDialogPlugin::createDeviceDialog: new EapFastPacFilePwQueryDialog"); - dialog = new EapFastPacFilePwQueryDialog(parameters); - } - else if ( deviceDialogType.compare(dialogInfos[7].mTypeString) == 0 ) - { - qDebug("EapDialogPlugin::createDeviceDialog: new EapFastProvWaitNoteDialog"); - dialog = new EapFastProvWaitNoteDialog(parameters); - } - else if ( deviceDialogType.compare(dialogInfos[8].mTypeString) == 0 ) - { - qDebug("EapDialogPlugin::createDeviceDialog: new EapMschapv2PwdExpNoteDialog"); - dialog = new EapMschapv2PwdExpNoteDialog(parameters); - } - else if ( deviceDialogType.compare(dialogInfos[9].mTypeString) == 0 ) - { - qDebug("EapDialogPlugin::createDeviceDialog: new EapMschapv2OldPwdDialog"); - dialog = new EapMschapv2OldPwdDialog(parameters); - } - else if ( deviceDialogType.compare(dialogInfos[10].mTypeString) == 0 ) - { - qDebug("EapDialogPlugin::createDeviceDialog: new EapMschapv2NewPwdDialog"); - dialog = new EapMschapv2NewPwdDialog(parameters); - } - else if ( deviceDialogType.compare(dialogInfos[11].mTypeString) == 0 ) - { - qDebug("EapDialogPlugin::createDeviceDialog: new EapFastProvNotSuccessNoteDialog"); - dialog = new EapFastProvNotSuccessNoteDialog(parameters); - } - OstTraceFunctionExit0( EAPDIALOGPLUGIN_CREATEDEVICEDIALOG_EXIT ); - qDebug("EapDialogPlugin::createDeviceDialog EXIT"); - - return dialog; -} - -/*! - * Check if client is allowed to use device dialog widget. For the meantime - * this plugin doesn't perform operations that may compromise security. - * All clients are allowed to use. - * - * @param [in] deviceDialogType Tells which Dialog type - * @param [in] parameters Device dialog parameters - * @param [in] securityInfo Information for Security check - * @return returns always true - */ -bool EapDialogPlugin::accessAllowed(const QString &deviceDialogType, - const QVariantMap ¶meters, const QVariantMap &securityInfo) const -{ - OstTraceFunctionEntry0( EAPDIALOGPLUGIN_ACCESSALLOWED_ENTRY ); - - Q_UNUSED(deviceDialogType) - Q_UNUSED(parameters) - Q_UNUSED(securityInfo) - - return true; -} - -/*! - * Return information of device dialog the plugin creates - * - * @param [in] deviceDialogType Tells which Dialog type - * @param [in] parameters Device dialog parameters - * @param [in,out] info Structure the plugin fills with an information - * @return returns always true - */ -bool EapDialogPlugin::deviceDialogInfo(const QString &deviceDialogType, - const QVariantMap ¶meters, DeviceDialogInfo *info) const -{ - OstTraceFunctionEntry0( EAPDIALOGPLUGIN_DEVICEDIALOGINFO_ENTRY ); - qDebug("EapDialogPlugin::deviceDialogInfo"); - - Q_UNUSED(parameters) - Q_UNUSED(deviceDialogType) - - info->group = GenericDeviceDialogGroup; - info->flags = NoDeviceDialogFlags; - info->priority = DefaultPriority; - - OstTraceFunctionExit0( EAPDIALOGPLUGIN_DEVICEDIALOGINFO_EXIT ); - qDebug("EapDialogPlugin::deviceDialogInfo EXIT"); - return true; -} - -/*! - * Returns a list of device dialog types the plugin implements. - * - * @return returns device dialog types this plugin implements - */ -QStringList EapDialogPlugin::deviceDialogTypes() const -{ - OstTraceFunctionEntry0( EAPDIALOGPLUGIN_DEVICEDIALOGTYPES_ENTRY ); - qDebug("EapDialogPlugin::deviceDialogTypes"); - - QStringList types; - const int numTypes = sizeof(dialogInfos) / sizeof(dialogInfos[0]); - for(int i = 0; i < numTypes; i++) { - types.append(dialogInfos[i].mTypeString); - } - - OstTraceFunctionExit0( EAPDIALOGPLUGIN_DEVICEDIALOGTYPES_EXIT ); - return types; -} - -/*! - * Return plugin flags - * - * @return returns plugin flags - */ -EapDialogPlugin::PluginFlags EapDialogPlugin::pluginFlags() const -{ - OstTraceFunctionEntry0( EAPDIALOGPLUGIN_PLUGINFLAGS_ENTRY ); - OstTraceFunctionExit0( EAPDIALOGPLUGIN_PLUGINFLAGS_EXIT ); - return NoPluginFlags; -} - -/*! - * The last error is not stored, not supported - * - * @return returns always 0 - */ -int EapDialogPlugin::error() const -{ - OstTraceFunctionEntry0( EAPDIALOGPLUGIN_ERROR_ENTRY ); - OstTraceFunctionExit0( EAPDIALOGPLUGIN_ERROR_EXIT ); - return 0; -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/src/eapfastcreatemasterkeyquerydialog.cpp --- a/securitysettings/eapqtdialogs/src/eapfastcreatemasterkeyquerydialog.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,306 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-FAST Create Master Key Query Dialog implementation -* -*/ - -/* -* %version: 6 % -*/ - -// System includes -#include -#include -#include -#include -#include -#include -#include -#include - -// User includes -#include "eapfastcreatemasterkeyquerydialog.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "eapfastcreatemasterkeyquerydialogTraces.h" -#endif - -/*! - * \class EapFastCreateMasterKeyQueryDialog - * \brief Implements EAP-FAST Create Master Key Query Dialog. - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param [in] parameters Parameters for the Constructor. - */ -EapFastCreateMasterKeyQueryDialog::EapFastCreateMasterKeyQueryDialog(const QVariantMap ¶meters) - :mEdit1(NULL), - mEdit2(NULL), - mPwdValidator(NULL), - mTranslator(new HbTranslator("eapprompts")), - mErrMsgTranslator(new HbTranslator("cpdestinationplugin")), - mClose(false), - mOkActionPressed(false) -{ - OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_EAPFASTCREATEMASTERKEYQUERYDIALOG_ENTRY ); - qDebug("EapFastCreateMasterKeyQueryDialog::EapFastCreateMasterKeyQueryDialog ENTER"); - - createDialog(parameters); - - OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_EAPFASTCREATEMASTERKEYQUERYDIALOG_EXIT ); - qDebug("EapFastCreateMasterKeyQueryDialog::EapFastCreateMasterKeyQueryDialog EXIT"); -} - -/*! - * The construction of the dialog - * - * @param [in] parameters Parameters for the Construction of the dialog. - */ -void EapFastCreateMasterKeyQueryDialog::createDialog(const QVariantMap ¶meters ) -{ - OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_CREATEDIALOG_ENTRY ); - qDebug("EapFastCreateMasterKeyQueryDialog::createDialog ENTER"); - - Q_UNUSED(parameters) - - QString labelText1(hbTrId("txt_occ_dialog_create_password_for_encrypted_pac_s")); - QString labelText2(hbTrId("txt_occ_dialog_verify_password")); - - //Set the dialog to be on the screen until user reacts - //by pressing any of the Action buttons - this->setModal(true); - this->setTimeout(HbPopup::NoTimeout); - this->setDismissPolicy(HbPopup::NoDismiss); - this->setAdditionalRowVisible(true); - - this->setPromptText(labelText1, 0); - mEdit1 = this->lineEdit(0); - mEdit1->setEchoMode(HbLineEdit::Password); - - this->setPromptText(labelText2, 1); - mEdit2 = this->lineEdit(1); - mEdit2->setEchoMode(HbLineEdit::Password); - - EapQtConfigInterface eap_config_if; - - mPwdValidator.reset( eap_config_if.validatorPacStore( - EapQtPacStoreConfig::PacStorePassword) ); - Q_ASSERT( mPwdValidator.isNull() == false ); - - mPwdValidator->updateEditor(mEdit1); - - - //Remove all default actions from the dialog - QList action_list = this->actions(); - for ( int i = 0; i < action_list.count(); i++ ) { - this->removeAction(action_list.at(i)); - } - - //Add a new Ok button action - HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); - this->addAction(actionOk); - - //Add a new Cancel button action - HbAction* actionCancel = new HbAction(hbTrId("txt_common_button_cancel"),this); - this->addAction(actionCancel); - - //Disconnect action Ok from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close())); - bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed())); - Q_ASSERT(connected == true); - - //Disconnect action Cancel from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionCancel, SIGNAL(triggered()),this, SLOT(close())); - connected = connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelPressed())); - Q_ASSERT(connected == true); - - // Connect the about to close and hide signals, so that we are able to inform - // the caller that the dialog was closed - connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - - OstTraceFunctionExit0( DUP1_EAPFASTCREATEMASTERKEYQUERYDIALOG_CREATEDIALOG_EXIT ); - qDebug("EapFastCreateMasterKeyQueryDialog::createDialog EXIT"); -} - -/*! - * Destructor. - */ -EapFastCreateMasterKeyQueryDialog::~EapFastCreateMasterKeyQueryDialog() -{ - OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_DEAPFASTCREATEMASTERKEYQUERYDIALOG_ENTRY ); - qDebug("EapFastCreateMasterKeyQueryDialog::~EapFastCreateMasterKeyQueryDialog"); - - //The dialog widgets are deleted as the dialog is deleted - // mPwdValidator: scoped pointer deleted automatically - - OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_DEAPFASTCREATEMASTERKEYQUERYDIALOG_EXIT ); -} - -/*! - * Line edit validator - * - * @return true if content is valid. - */ -bool EapFastCreateMasterKeyQueryDialog::validate() const -{ - qDebug("EapFastCreateMasterKeyQueryDialog::validate"); - - bool valid = false; - - if ( mPwdValidator->validate(mEdit1->text())== EapQtValidator::StatusOk && - mEdit1->text() == mEdit2->text()) { - qDebug("EapFastCreateMasterKeyQueryDialog::validate: ret val: TRUE"); - valid = true; - } - return valid; -} - -/*! - * Function is called when the Ok Action button is pressed - */ -void EapFastCreateMasterKeyQueryDialog::okPressed() -{ - OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_FIRSTBUTTONPRESSED_ENTRY ); - qDebug("EapFastCreateMasterKeyQueryDialog::okPressed ENTER"); - - if ( validate() == true ) { - - QVariantMap data; - - data["password"] = mEdit1->text(); - - qDebug("EapFastCreateMasterKeyQueryDialog::okPressed: emit deviceDialogData"); - - emit deviceDialogData(data); - closeDeviceDialog(true); - } - else { - HbMessageBox *box = - new HbMessageBox(hbTrId("txt_occ_info_passwords_do_not_match_try_again"), - HbMessageBox::MessageTypeInformation); - box->setAttribute(Qt::WA_DeleteOnClose); - box->open(); - } - OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_FIRSTBUTTONPRESSED_EXIT ); - qDebug("EapFastCreateMasterKeyQueryDialog::okPressed EXIT"); -} - -/*! - * Function is called when the Cancel Action button is pressed - */ -void EapFastCreateMasterKeyQueryDialog::cancelPressed() -{ - OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_CANCELPRESSED_ENTRY ); - qDebug("EapFastCreateMasterKeyQueryDialog::cancelPressed ENTER"); - - if (!mClose) { - mClose = true; - closeDeviceDialog(true); - } - qDebug("EapFastCreateMasterKeyQueryDialog::cancelPressed EXIT"); - OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_CANCELPRESSED_EXIT ); -} - -/*! - * Function is called when the dialog is about to close - */ -void EapFastCreateMasterKeyQueryDialog::closingDialog() -{ - OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_CLOSINGDIALOG_ENTRY ); - qDebug("EapFastCreateMasterKeyQueryDialog::closingDialog ENTER"); - - qDebug("EapFastCreateMasterKeyQueryDialog::closingDialog EXIT"); - OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_CLOSINGDIALOG_EXIT ); -} - -/*! - * Device dialog parameters to be set while dialog is displayed. - * Not supported. - * - * @param [in] parameters NOT USED - * @return true always. - */ -bool EapFastCreateMasterKeyQueryDialog::setDeviceDialogParameters - (const QVariantMap ¶meters) -{ - OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY ); - - Q_UNUSED(parameters) - // changing the dialog after presenting it is not supported. - - OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT ); - return true; -} - -/*! - * Not supported - * - * @return 0 always returned. - */ -int EapFastCreateMasterKeyQueryDialog::deviceDialogError() const -{ - OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_DEVICEDIALOGERROR_ENTRY ); - OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_DEVICEDIALOGERROR_EXIT); - return 0; -} - -/*! - * Dialog is closed and the signal about closing is emitted - * - * @param [in] byClient indicates when the user closes the dialog - */ -void EapFastCreateMasterKeyQueryDialog::closeDeviceDialog(bool byClient) -{ - OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_CLOSEDEVICEDIALOG_ENTRY ); - qDebug("EapFastCreateMasterKeyQueryDialog::closeDeviceDialog ENTER"); - - //If the user closes the dialog, then the deviceDialogClosed is emitted - if ( byClient == true ) - { - qDebug("EapFastCreateMasterKeyQueryDialog::closeDeviceDialog: emit deviceDialogClosed"); - emit deviceDialogClosed(); - } - - qDebug("EapFastCreateMasterKeyQueryDialog::closeDeviceDialog EXIT"); - OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_CLOSEDEVICEDIALOG_EXIT ); -} - -/*! - * This dialog widget is returned to the caller - * - * @return this dialog widget - */ -HbPopup *EapFastCreateMasterKeyQueryDialog::deviceDialogWidget() const -{ - OstTraceFunctionEntry0( EAPFASTCREATEMASTERKEYQUERYDIALOG_DEVICEDIALOGWIDGET_ENTRY ); - OstTraceFunctionExit0( EAPFASTCREATEMASTERKEYQUERYDIALOG_DEVICEDIALOGWIDGET_EXIT ); - - return const_cast(this); -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/src/eapfastinstallpacquerydialog.cpp --- a/securitysettings/eapqtdialogs/src/eapfastinstallpacquerydialog.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,271 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-FAST Install PAC Query Dialog implementation -* -*/ - -/* -* %version: 5 % -*/ - -// System includes -#include -#include -#include - -// User includes -#include "eapfastinstallpacquerydialog.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "eapfastinstallpacquerydialogTraces.h" -#endif - -/*! - * \class EapFastInstallPacQueryDialog - * \brief Implements EAP-FAST Install PAC Query Dialog. - */ - -// External function prototypes - -// Local constants - -//! The index numbers of the button of the dialog -static const int yesButtonIndex = 1; - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param [in] parameters Parameters for the Constructor. - */ -EapFastInstallPacQueryDialog::EapFastInstallPacQueryDialog(const QVariantMap ¶meters) -:HbMessageBox(HbMessageBox::MessageTypeQuestion), -mTranslator(new HbTranslator("eapprompts")), -mClose(false), -mYesActionPressed(false) -{ - OstTraceFunctionEntry0( EAPGTCQUERYDIALOG_EAPGTCQUERYDIALOG_ENTRY ); - qDebug("EapFastInstallPacQueryDialog::EapFastInstallPacQueryDialog ENTER"); - - createDialog( parameters ); - - OstTraceFunctionExit0( EAPGTCQUERYDIALOG_EAPGTCQUERYDIALOG_EXIT ); - qDebug("EapFastInstallPacQueryDialog::EapFastInstallPacQueryDialog EXIT"); -} - -/*! - * The construction of the dialog - * - * @param [in] parameters Parameters for the Construction of the dialog. - */ -void EapFastInstallPacQueryDialog::createDialog(const QVariantMap ¶meters ) -{ - OstTraceFunctionEntry0( EAPGTCQUERYDIALOG_CREATEDIALOG_ENTRY ); - qDebug("EapFastInstallPacQueryDialog::createDialog ENTER"); - - QString servername; - QString key("pacservername"); - - //Get the server name from parameters - if ( parameters.empty() == false ) { - if ( parameters.contains(key) ) { - QVariant variant = parameters.value(key); - servername = variant.toString(); - } - } - - QString mainText(HbParameterLengthLimiter( - hbTrId("txt_occ_info_install_pac_from_server_1").arg(servername))); - - //Set the dialog to be on the screen until user reacts - //by pressing any of the Action buttons - this->setModal(true); - this->setTimeout(HbPopup::NoTimeout); - this->setDismissPolicy(HbPopup::NoDismiss); - - this->setText(mainText); - this->setIconVisible(true); - - //Remove all default actions from the dialog - QList action_list = this->actions(); - for ( int i = 0; i < action_list.count(); i++ ) { - this->removeAction(action_list.at(i)); - } - - //Add a new Yes button action - HbAction* actionYes = new HbAction(hbTrId("txt_common_button_yes"),this); - this->addAction(actionYes); - - //Add a new No button action - HbAction* actionNo = new HbAction(hbTrId("txt_common_button_no"),this); - this->addAction(actionNo); - - //Disconnect action Yes from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionYes, SIGNAL(triggered()),this, SLOT(close())); - bool connected = connect(actionYes, SIGNAL(triggered()), this, SLOT(yesPressed())); - Q_ASSERT(connected == true); - - //Disconnect action No from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionNo, SIGNAL(triggered()),this, SLOT(close())); - connected = connect(actionNo, SIGNAL(triggered()), this, SLOT(noPressed())); - Q_ASSERT(connected == true); - - // Connect the about to close and hide signals, so that we are able to inform - // the caller that the dialog was closed - connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - - OstTraceFunctionExit0( DUP1_EAPGTCQUERYDIALOG_CREATEDIALOG_EXIT ); - qDebug("EapFastInstallPacQueryDialog::createDialog EXIT"); -} - -/*! - * Destructor. - */ -EapFastInstallPacQueryDialog::~EapFastInstallPacQueryDialog() -{ - OstTraceFunctionEntry0( EAPGTCQUERYDIALOG_DEAPGTCQUERYDIALOG_ENTRY ); - - // The dialog widgets are deleted as the dialog is deleted - - OstTraceFunctionExit0( EAPGTCQUERYDIALOG_DEAPGTCQUERYDIALOG_EXIT ); -} - -/*! - * Function is called when the Yes Action button is pressed - */ -void EapFastInstallPacQueryDialog::yesPressed() -{ - OstTraceFunctionEntry0( EAPFASTINSTALLPACQUERYDIALOG_YESBUTTONPRESSED_ENTRY ); - qDebug("EapFastInstallPacQueryDialog::yesPressed ENTER"); - - if ( mYesActionPressed == false ) { - - mYesActionPressed = true; - - QVariantMap data; - data["yesbutton"] = yesButtonIndex; - - // emit the data of the selected button and close the dialog - qDebug("EapFastInstallPacQueryDialog::yesPressed: emit deviceDialogData"); - emit deviceDialogData(data); - closeDeviceDialog(true); - } - OstTraceFunctionExit0( EAPFASTINSTALLPACQUERYDIALOG_YESBUTTONPRESSED_EXIT ); - qDebug("EapFastInstallPacQueryDialog::yesPressed EXIT"); -} - -/*! - * Function is called when the No Action button is pressed - */ -void EapFastInstallPacQueryDialog::noPressed() -{ - OstTraceFunctionEntry0( EAPFASTINSTALLPACQUERYDIALOG_NOPRESSED_ENTRY ); - qDebug("EapFastInstallPacQueryDialog::noPressed ENTER"); - - if (!mClose) { - mClose = true; - closeDeviceDialog(true); - } - qDebug("EapFastInstallPacQueryDialog::noPressed EXIT"); - OstTraceFunctionExit0( EAPFASTINSTALLPACQUERYDIALOG_NOPRESSED_EXIT ); -} - -/*! - * Function is called when the dialog is about to close - */ -void EapFastInstallPacQueryDialog::closingDialog() -{ - OstTraceFunctionEntry0( EAPFASTINSTALLPACQUERYDIALOG_CLOSINGDIALOG_ENTRY ); - qDebug("EapFastInstallPacQueryDialog::closingDialog ENTER"); - - qDebug("EapFastInstallPacQueryDialog::closingDialog EXIT"); - OstTraceFunctionExit0( EAPFASTINSTALLPACQUERYDIALOG_CLOSINGDIALOG_EXIT ); -} - -/*! - * Device dialog parameters to be set while dialog is displayed. - * Not supported. - * - * @param [in] parameters NOT USED - * @return true always. - */ -bool EapFastInstallPacQueryDialog::setDeviceDialogParameters - (const QVariantMap ¶meters) -{ - OstTraceFunctionEntry0( EAPFASTINSTALLPACQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY ); - - Q_UNUSED(parameters) - // changing the dialog after presenting it is not supported. - - OstTraceFunctionExit0( EAPFASTINSTALLPACQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT ); - return true; -} - -/*! - * Not supported - * - * @return 0 always returned. - */ -int EapFastInstallPacQueryDialog::deviceDialogError() const -{ - OstTraceFunctionEntry0( EAPFASTINSTALLPACQUERYDIALOG_DEVICEDIALOGERROR_ENTRY ); - OstTraceFunctionExit0( EAPFASTINSTALLPACQUERYDIALOG_DEVICEDIALOGERROR_EXIT); - return 0; -} - -/*! - * Dialog is closed and the signal about closing is emitted - * - * @param [in] byClient indicates when the user closes the dialog - */ -void EapFastInstallPacQueryDialog::closeDeviceDialog(bool byClient) -{ - OstTraceFunctionEntry0( EAPFASTINSTALLPACQUERYDIALOG_CLOSEDEVICEDIALOG_ENTRY ); - qDebug("EapFastInstallPacQueryDialog::closeDeviceDialog ENTER"); - - //If the user closes the dialog, then the deviceDialogClosed is emitted - if ( byClient == true ) - { - qDebug("EapFastInstallPacQueryDialog::closeDeviceDialog: emit deviceDialogClosed"); - emit deviceDialogClosed(); - } - - qDebug("EapFastInstallPacQueryDialog::closeDeviceDialog EXIT"); - OstTraceFunctionExit0( EAPFASTINSTALLPACQUERYDIALOG_CLOSEDEVICEDIALOG_EXIT ); -} - -/*! - * This dialog widget is returned to the caller - * - * @return this dialog widget - */ -HbPopup *EapFastInstallPacQueryDialog::deviceDialogWidget() const -{ - OstTraceFunctionEntry0( EAPFASTINSTALLPACQUERYDIALOG_DEVICEDIALOGWIDGET_ENTRY ); - qDebug("EapFastInstallPacQueryDialog::deviceDialogWidget ENTER"); - - qDebug("EapFastInstallPacQueryDialog::deviceDialogWidget EXIT"); - OstTraceFunctionExit0( EAPFASTINSTALLPACQUERYDIALOG_DEVICEDIALOGWIDGET_EXIT ); - - return const_cast(this); -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/src/eapfastpacfilepwquerydialog.cpp --- a/securitysettings/eapqtdialogs/src/eapfastpacfilepwquerydialog.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,268 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-FAST PAC File Password Query Dialog implementation -* -*/ - -/* -* %version: 5 % -*/ - -// System includes -#include -#include -#include - -// User includes -#include "eapfastpacfilepwquerydialog.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "eapfastpacfilepwquerydialogTraces.h" -#endif - - -/*! - * \class EapFastPacFilePwQueryDialog - * \brief Implements EAP-FAST PAC File Password Query Dialog. - */ - -// External function prototypes - -// Local constants -static const uint PacFilePwQueryTimeout = 60000; - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param [in] parameters Parameters for the Constructor. - */ -EapFastPacFilePwQueryDialog::EapFastPacFilePwQueryDialog(const QVariantMap ¶meters) - :mEdit(NULL), - mTranslator(new HbTranslator("eapprompts")), - mClose(false), - mOkActionPressed(false) -{ - OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_EAPFASTPACFILEQUERYDIALOG_ENTRY ); - qDebug("EapFastPacFilePwQueryDialog::EapFastPacFilePwQueryDialog ENTER"); - - createDialog(parameters); - - OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_EAPFASTPACFILEQUERYDIALOG_EXIT ); - qDebug("EapFastPacFilePwQueryDialog::EapFastPacFilePwQueryDialog EXIT"); -} - -/*! - * The construction of the dialog - * - * @param [in] parameters Parameters for the Construction of the dialog. - */ -void EapFastPacFilePwQueryDialog::createDialog(const QVariantMap ¶meters ) -{ - OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_CREATEDIALOG_ENTRY ); - qDebug("EapFastPacFilePwQueryDialog::createDialog ENTER"); - - QString filename; - QString key("pacfilename"); - - //Get the filename from parameters - if ( parameters.empty() == false ) { - if ( parameters.contains(key) ) { - QVariant variant = parameters.value(key); - filename = variant.toString(); - } - } - - QString mainText(HbParameterLengthLimiter( - hbTrId("txt_occ_dialog_pac_file_password_for_1").arg(filename))); - - //Set the dialog to be on the screen for 60 seconds, unless - //the user reacts earlier - this->setModal(true); - this->setTimeout(PacFilePwQueryTimeout); - this->setDismissPolicy(HbPopup::NoDismiss); - this->setPromptText(mainText, 0); - mEdit = this->lineEdit(0); - mEdit->setEchoMode(HbLineEdit::Password); - - //Remove all default actions from the dialog - QList action_list = this->actions(); - for ( int i = 0; i < action_list.count(); i++ ) { - this->removeAction(action_list.at(i)); - } - - //Add a new Ok button action - HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); - this->addAction(actionOk); - - //Add a new Cancel button action - HbAction* actionCancel = new HbAction(hbTrId("txt_common_button_cancel"),this); - this->addAction(actionCancel); - - //Disconnect action Ok from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close())); - bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed())); - Q_ASSERT(connected == true); - - //Disconnect action Cancel from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionCancel, SIGNAL(triggered()),this, SLOT(close())); - connected = connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelPressed())); - Q_ASSERT(connected == true); - - // Connect the about to close and hide signals, so that we are able to inform - // the caller that the dialog was closed - connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - - OstTraceFunctionExit0( DUP1_EAPFASTPACFILEQUERYDIALOG_CREATEDIALOG_EXIT ); - qDebug("EapFastPacFilePwQueryDialog::createDialog EXIT"); -} - -/*! - * Destructor. - */ -EapFastPacFilePwQueryDialog::~EapFastPacFilePwQueryDialog() -{ - OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_DEAPFASTPACFILEQUERYDIALOG_ENTRY ); - - // The dialog widgets are deleted as the dialog is deleted - - OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_DEAPFASTPACFILEQUERYDIALOG_EXIT ); -} - -/*! - * Function is called when the Ok Action button is pressed - */ -void EapFastPacFilePwQueryDialog::okPressed() -{ - OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_FIRSTBUTTONPRESSED_ENTRY ); - qDebug("EapFastPacFilePwQueryDialog::okPressed ENTER"); - - if ( mOkActionPressed == false ) { - - mOkActionPressed = true; - - QVariantMap data; - - data["password"] = mEdit->text(); - - qDebug("EapFastPacFilePwQueryDialog::okPressed: emit deviceDialogData"); - - emit deviceDialogData(data); - closeDeviceDialog(true); - } - OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_FIRSTBUTTONPRESSED_EXIT ); - qDebug("EapFastPacFilePwQueryDialog::okPressed EXIT"); -} - -/*! - * Function is called when the Cancel Action button is pressed - */ -void EapFastPacFilePwQueryDialog::cancelPressed() -{ - OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_CANCELPRESSED_ENTRY ); - qDebug("EapFastPacFilePwQueryDialog::cancelPressed ENTER"); - - if (!mClose) { - mClose = true; - closeDeviceDialog(true); - } - qDebug("EapFastPacFilePwQueryDialog::cancelPressed EXIT"); - OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_CANCELPRESSED_EXIT ); -} - -/*! - * Function is called when the dialog is about to close - */ -void EapFastPacFilePwQueryDialog::closingDialog() -{ - OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_CLOSINGDIALOG_ENTRY ); - qDebug("EapFastPacFilePwQueryDialog::closingDialog ENTER"); - - qDebug("EapFastPacFilePwQueryDialog::closingDialog EXIT"); - OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_CLOSINGDIALOG_EXIT ); -} - -/*! - * Device dialog parameters to be set while dialog is displayed. - * Not supported. - * - * @param [in] parameters NOT USED - * @return true always. - */ -bool EapFastPacFilePwQueryDialog::setDeviceDialogParameters - (const QVariantMap ¶meters) -{ - OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY ); - - Q_UNUSED(parameters) - // changing the dialog after presenting it is not supported. - - OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT ); - return true; -} - -/*! - * Not supported - * - * @return 0 always returned. - */ -int EapFastPacFilePwQueryDialog::deviceDialogError() const -{ - OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_DEVICEDIALOGERROR_ENTRY ); - OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_DEVICEDIALOGERROR_EXIT); - return 0; -} - -/*! - * Dialog is closed and the signal about closing is emitted - * - * @param [in] byClient indicates when the user closes the dialog - */ -void EapFastPacFilePwQueryDialog::closeDeviceDialog(bool byClient) -{ - OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_CLOSEDEVICEDIALOG_ENTRY ); - qDebug("EapFastPacFilePwQueryDialog::closeDeviceDialog ENTER"); - - //If the user closes the dialog, then the deviceDialogClosed is emitted - if ( byClient == true ) - { - qDebug("EapFastPacFilePwQueryDialog::closeDeviceDialog: emit deviceDialogClosed"); - emit deviceDialogClosed(); - } - - qDebug("EapFastPacFilePwQueryDialog::closeDeviceDialog EXIT"); - OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_CLOSEDEVICEDIALOG_EXIT ); -} - -/*! - * This dialog widget is returned to the caller - * - * @return this dialog widget - */ -HbPopup *EapFastPacFilePwQueryDialog::deviceDialogWidget() const -{ - OstTraceFunctionEntry0( EAPFASTPACFILEQUERYDIALOG_DEVICEDIALOGWIDGET_ENTRY ); - OstTraceFunctionExit0( EAPFASTPACFILEQUERYDIALOG_DEVICEDIALOGWIDGET_EXIT ); - - return const_cast(this); -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/src/eapfastpacstorepwquerydialog.cpp --- a/securitysettings/eapqtdialogs/src/eapfastpacstorepwquerydialog.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,301 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-FAST PAC Store Password Query Dialog implementation -* -*/ - -/* -* %version: 7 % -*/ - -// System includes -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// User includes -#include "eapfastpacstorepwquerydialog.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "eapfastpacstorepwquerydialogTraces.h" -#endif - - -/*! - * \class EapFastPacStorePwQueryDialog - * \brief Implements EAP-FAST PAC Store Password Query Dialog. - */ - -// External function prototypes - -// Local constants -static const uint PacStorePwQueryTimeout = 60000; - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param [in] parameters Parameters for the Constructor. - */ -EapFastPacStorePwQueryDialog::EapFastPacStorePwQueryDialog(const QVariantMap ¶meters) - :mEdit(NULL), - mPwdValidator(NULL), - mTranslator(new HbTranslator("eapprompts")), - mErrMsgTranslator(new HbTranslator("cpdestinationplugin")), - mClose(false) -{ - OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_EAPFASTPACSTOREPWQUERYDIALOG_ENTRY ); - qDebug("EapFastPacStorePwQueryDialog::EapFastPacStorePwQueryDialog ENTER"); - - Q_UNUSED(parameters) - - createDialog(); - - OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_EAPFASTPACSTOREPWQUERYDIALOG_EXIT ); - qDebug("EapFastPacStorePwQueryDialog::EapFastPacStorePwQueryDialog EXIT"); -} - -/*! - * The construction of the dialog - */ -void EapFastPacStorePwQueryDialog::createDialog() -{ - OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_CREATEDIALOG_ENTRY ); - qDebug("EapFastPacStorePwQueryDialog::createDialog ENTER"); - - QString labelText(hbTrId("txt_occ_dialog_pac_store_password")); - - // Set the dialog to be on the screen for 60 seconds, unless - // the user reacts earlier - this->setModal(true); - this->setTimeout(PacStorePwQueryTimeout); - this->setDismissPolicy(HbPopup::NoDismiss); - this->setPromptText(labelText, 0); - - mEdit = this->lineEdit(0); - mEdit->setEchoMode(HbLineEdit::Password); - - EapQtConfigInterface eap_config_if; - - mPwdValidator.reset( eap_config_if.validatorPacStore( - EapQtPacStoreConfig::PacStorePasswordConfirmation) ); - Q_ASSERT( mPwdValidator.isNull() == false ); - - mPwdValidator->updateEditor(mEdit); - - - //Remove all default actions from the dialog - QList action_list = this->actions(); - for ( int i = 0; i < action_list.count(); i++ ) { - this->removeAction(action_list.at(i)); - } - - //Add a new Ok button action - HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); - this->addAction(actionOk); - - //Add a new Cancel button action - HbAction* actionCancel = new HbAction(hbTrId("txt_common_button_cancel"),this); - this->addAction(actionCancel); - - //Disconnect action Ok from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close())); - bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed())); - Q_ASSERT(connected == true); - - //Disconnect action Cancel from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionCancel, SIGNAL(triggered()),this, SLOT(close())); - connected = connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelPressed())); - Q_ASSERT(connected == true); - - // Connect the about to close and hide signals, so that we are able to inform - // the caller that the dialog was closed - connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - - OstTraceFunctionExit0( DUP1_EAPFASTPACSTOREPWQUERYDIALOG_CREATEDIALOG_EXIT ); - qDebug("EapFastPacStorePwQueryDialog::createDialog EXIT"); -} - -/*! - * Destructor. - */ -EapFastPacStorePwQueryDialog::~EapFastPacStorePwQueryDialog() -{ - OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_DEAPFASTPACSTOREPWQUERYDIALOG_ENTRY ); - - // The dialog widgets are deleted as the dialog is deleted - // mPwdValidator: scoped pointer deleted automatically - - OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_DEAPFASTPACSTOREPWQUERYDIALOG_EXIT ); -} - -/*! - * Line edit validator - * - * @return true if content is valid. - */ -bool EapFastPacStorePwQueryDialog::validate() const -{ - qDebug("EapFastPacStorePwQueryDialog::validate ENTER"); - - bool valid = false; - - if ( mPwdValidator->validate(mEdit->text())== EapQtValidator::StatusOk ) { - qDebug("EapFastPacStorePwQueryDialog::validate: returns TRUE"); - valid = true; - } - - qDebug("EapFastPacStorePwQueryDialog::validate EXIT"); - return valid; -} - -/*! - * Function is called when the Ok Action button is pressed - */ -void EapFastPacStorePwQueryDialog::okPressed() -{ - OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_OKPRESSED_ENTRY ); - qDebug("EapFastPacStorePwQueryDialog::okPressed ENTER"); - - if ( validate() == true ) { - - QVariantMap data; - - data["password"] = mEdit->text(); - - qDebug("EapFastPacStorePwQueryDialog::okPressed: emit deviceDialogData"); - - emit deviceDialogData(data); - closeDeviceDialog(true); - } - else { - HbMessageBox *box = - new HbMessageBox(hbTrId("txt_occ_info_incorrect_password_msg_box"), - HbMessageBox::MessageTypeInformation); - - box->setAttribute(Qt::WA_DeleteOnClose); - box->open(); - } - - OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_OKPRESSED_EXIT ); - qDebug("EapFastPacStorePwQueryDialog::okPressed EXIT"); -} - -/*! - * Function is called when the Cancel Action button is pressed - */ -void EapFastPacStorePwQueryDialog::cancelPressed() -{ - OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_CANCELPRESSED_ENTRY ); - qDebug("EapFastPacStorePwQueryDialog::cancelPressed ENTER"); - - if (!mClose) { - mClose = true; - closeDeviceDialog(true); - } - qDebug("EapFastPacStorePwQueryDialog::cancelPressed EXIT"); - OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_CANCELPRESSED_EXIT ); -} - -/*! - * Function is called when the dialog is about to close - */ -void EapFastPacStorePwQueryDialog::closingDialog() -{ - OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_CLOSINGDIALOG_ENTRY ); - qDebug("EapFastPacStorePwQueryDialog::closingDialog ENTER"); - - qDebug("EapFastPacStorePwQueryDialog::closingDialog EXIT"); - OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_CLOSINGDIALOG_EXIT ); -} - -/*! - * Device dialog parameters to be set while dialog is displayed. - * Not supported. - * - * @param [in] parameters NOT USED - * @return true always. - */ -bool EapFastPacStorePwQueryDialog::setDeviceDialogParameters - (const QVariantMap ¶meters) -{ - OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY ); - - Q_UNUSED(parameters) - // changing the dialog after presenting it is not supported. - - OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT ); - return true; -} - -/*! - * Not supported - * - * @return 0 always returned. - */ -int EapFastPacStorePwQueryDialog::deviceDialogError() const -{ - OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_DEVICEDIALOGERROR_ENTRY ); - OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_DEVICEDIALOGERROR_EXIT); - return 0; -} - -/*! - * Dialog is closed and the signal about closing is emitted - * - * @param [in] byClient indicates when the user closes the dialog - */ -void EapFastPacStorePwQueryDialog::closeDeviceDialog(bool byClient) -{ - OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_CLOSEDEVICEDIALOG_ENTRY ); - qDebug("EapFastPacStorePwQueryDialog::closeDeviceDialog ENTER"); - - //If the user closes the dialog, then the deviceDialogClosed is emitted - if ( byClient == true ) - { - qDebug("EapFastPacFilePwQueryDialog::closeDeviceDialog: emit deviceDialogClosed"); - emit deviceDialogClosed(); - } - - qDebug("EapFastPacStorePwQueryDialog::closeDeviceDialog EXIT"); - OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_CLOSEDEVICEDIALOG_EXIT ); -} - -/*! - * This dialog widget is returned to the caller - * - * @return this dialog widget - */ -HbPopup *EapFastPacStorePwQueryDialog::deviceDialogWidget() const -{ - OstTraceFunctionEntry0( EAPFASTPACSTOREPWQUERYDIALOG_DEVICEDIALOGWIDGET_ENTRY ); - OstTraceFunctionExit0( EAPFASTPACSTOREPWQUERYDIALOG_DEVICEDIALOGWIDGET_EXIT ); - - return const_cast(this); -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/src/eapfastprovnotsuccessnotedialog.cpp --- a/securitysettings/eapqtdialogs/src/eapfastprovnotsuccessnotedialog.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,229 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-FAST Provisioning not successfull note Dialog implementation -* -*/ - -/* -* %version: 5 % -*/ - -// System includes -#include -#include - -// User includes -#include "eapfastprovnotsuccessnotedialog.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "eapfastprovnotsuccessnotedialogTraces.h" -#endif - -/*! - * \class EapFastProvNotSuccessNoteDialog - * \brief Implements EAP-MSCHAPv2 New Password Input Dialog. - */ - -// External function prototypes - -// Local constants - -//! The index numbers of the button of the dialog -static const int okButtonIndex = 1; - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param [in] parameters Parameters for the Constructor. - */ -EapFastProvNotSuccessNoteDialog::EapFastProvNotSuccessNoteDialog(const QVariantMap ¶meters) -:HbMessageBox(HbMessageBox::MessageTypeWarning), -mTranslator(new HbTranslator("eapprompts")), -mOkActionPressed(false) -{ - OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_EAPFASTPROVNOTSUCCESSNOTEDIALOG_ENTRY ); - qDebug("EapFastProvNotSuccessNoteDialog::EapFastProvNotSuccessNoteDialog ENTER"); - - Q_UNUSED(parameters) - - createDialog(); - - OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_EAPFASTPROVNOTSUCCESSNOTEDIALOG_EXIT ); - qDebug("EapFastProvNotSuccessNoteDialog::EapFastProvNotSuccessNoteDialog EXIT"); -} - -/*! - * The construction of the dialog - */ -void EapFastProvNotSuccessNoteDialog::createDialog() -{ - OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_CREATEDIALOG_ENTRY ); - qDebug("EapFastProvNotSuccessNoteDialog::createDialog ENTER"); - - QString text(hbTrId("txt_occ_info_provisioning_not_successful_reactiv")); - - //Set the dialog to be on the screen until user reacts - //by pressing the Action button - this->setModal(true); - this->setTimeout(HbPopup::NoTimeout); - this->setDismissPolicy(HbPopup::NoDismiss); - this->setText(text); - this->setIconVisible(true); - - //Remove all default actions from the dialog - QList action_list = this->actions(); - for ( int i = 0; i < action_list.count(); i++ ) { - this->removeAction(action_list.at(i)); - } - - //Add a new Ok button action - HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok_single_dialog"),this); - this->addAction(actionOk); - - //Disconnect action Ok from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close())); - bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed())); - Q_ASSERT(connected == true); - - // Connect the about to close and hide signals, so that we are able to inform - // the caller that the dialog was closed - connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - - OstTraceFunctionExit0( DUP1_EAPFASTPROVNOTSUCCESSNOTEDIALOG_CREATEDIALOG_EXIT ); - qDebug("EapFastProvNotSuccessNoteDialog::createDialog EXIT"); -} - -/*! - * Destructor. - */ -EapFastProvNotSuccessNoteDialog::~EapFastProvNotSuccessNoteDialog() -{ - OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_DEAPFASTPROVNOTSUCCESSNOTEDIALOG_ENTRY ); - - // The dialog widgets are deleted as the dialog is deleted - - OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_DEAPFASTPROVNOTSUCCESSNOTEDIALOG_EXIT ); -} - -/*! - * Function is called when the Ok Action button is pressed - */ -void EapFastProvNotSuccessNoteDialog::okPressed() -{ - OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_OKBUTTONPRESSED_ENTRY ); - qDebug("EapFastProvNotSuccessNoteDialog::okPressed ENTER"); - - if ( mOkActionPressed == false ) { - - mOkActionPressed = true; - - QVariantMap data; - data["okbutton"] = okButtonIndex; - - // emit the data of the selected button and close the dialog - qDebug("EapFastProvNotSuccessNoteDialog::okPressed: emit deviceDialogData"); - emit deviceDialogData(data); - - closeDeviceDialog(true); - } - OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_OKBUTTONPRESSED_EXIT ); - qDebug("EapFastProvNotSuccessNoteDialog::okPressed EXIT"); -} - -/*! - * Function is called when the dialog is about to close - * - */ -void EapFastProvNotSuccessNoteDialog::closingDialog() -{ - OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_CLOSINGDIALOG_ENTRY ); - qDebug("EapFastProvNotSuccessNoteDialog::closingDialog ENTER"); - - qDebug("EapFastProvNotSuccessNoteDialog::closingDialog EXIT"); - OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_CLOSINGDIALOG_EXIT ); -} - -/*! - * Device dialog parameters to be set while dialog is displayed. - * Not supported. - * - * @param [in] parameters NOT USED - * @return true always. - */ -bool EapFastProvNotSuccessNoteDialog::setDeviceDialogParameters - (const QVariantMap ¶meters) -{ - OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY ); - - Q_UNUSED(parameters) - // changing the dialog after presenting it is not supported. - - OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT ); - return true; -} - -/*! - * Not supported - * - * @return 0 always returned. - */ -int EapFastProvNotSuccessNoteDialog::deviceDialogError() const -{ - OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_DEVICEDIALOGERROR_ENTRY ); - OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_DEVICEDIALOGERROR_EXIT); - return 0; -} - -/*! - * Dialog is closed and the signal about closing is emitted - * - * @param [in] byClient indicates when the user closes the dialog - */ -void EapFastProvNotSuccessNoteDialog::closeDeviceDialog(bool byClient) -{ - OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_CLOSEDEVICEDIALOG_ENTRY ); - qDebug("EapFastProvNotSuccessNoteDialog::closeDeviceDialog ENTER"); - - if ( byClient == true ) { - emit deviceDialogClosed(); - } - - qDebug("EapFastProvNotSuccessNoteDialog::closeDeviceDialog EXIT"); - OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_CLOSEDEVICEDIALOG_EXIT ); -} - -/*! - * This dialog widget is returned to the caller - * - * @return this dialog widget - */ -HbPopup *EapFastProvNotSuccessNoteDialog::deviceDialogWidget() const -{ - OstTraceFunctionEntry0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_DEVICEDIALOGWIDGET_ENTRY ); - qDebug("EapFastProvNotSuccessNoteDialog::deviceDialogWidget ENTER"); - - qDebug("EapFastProvNotSuccessNoteDialog::deviceDialogWidget EXIT"); - OstTraceFunctionExit0( EAPFASTPROVNOTSUCCESSNOTEDIALOG_DEVICEDIALOGWIDGET_EXIT ); - - return const_cast(this); -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/src/eapfastprovwaitnotedialog.cpp --- a/securitysettings/eapqtdialogs/src/eapfastprovwaitnotedialog.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,199 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: Fast Provisioning Wait Notification Dialog implementation -* -*/ - -/* -* %version: 4 % -*/ - -// System includes -#include - -// User includes -#include "eapfastprovwaitnotedialog.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "eapfastprovwaitnotedialogTraces.h" -#endif - -/*! - * \class EapFastProvWaitNoteDialog - * \brief Implements Fast Provisioning Wait Notification Dialog. - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param [in] parameters Parameters for the Constructor. - */ -EapFastProvWaitNoteDialog::EapFastProvWaitNoteDialog(const QVariantMap ¶meters) -:mTranslator(new HbTranslator("eapprompts")) -{ - OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_EAPFASTPROVWAITNOTEDIALOG_ENTRY ); - qDebug("EapFastProvWaitNoteDialog::EapFastProvWaitNoteDialog ENTER"); - - createDialog( parameters ); - - OstTraceFunctionExit0( EAPFASTPROVWAITNOTEDIALOG_EAPFASTPROVWAITNOTEDIALOG_EXIT ); - qDebug("EapFastProvWaitNoteDialog::EapFastProvWaitNoteDialog EXIT"); -} - -/*! - * The construction of the dialog - * - * @param [in] parameters Parameters for the Construction of the dialog. - */ -void EapFastProvWaitNoteDialog::createDialog(const QVariantMap ¶meters ) -{ - OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_CREATEDIALOG_ENTRY ); - qDebug("EapFastProvWaitNoteDialog::createDialog ENTER"); - - QString mainText; - QString key("notificationtxt"); - - bool authProvWaitNote = false; - - //Get the needed information from parameters that indicates to type of the dialog - //which is either a authenticated or a unauthenticated - if ( parameters.empty() == false ) { - if ( parameters.contains(key) ) { - QVariant variant = parameters.value(key); - authProvWaitNote = variant.toBool(); - } - } - - if ( authProvWaitNote ) { - mainText = QString(hbTrId("txt_occ_dpopinfo_authenticated_provisioning_in_pro")); - } else { - mainText = QString(hbTrId("txt_occ_dpopinfo_unauthenticated_provisioning_in_p")); - } - - // Set the dialog to be on the screen for 4 seconds. - this->setTimeout(4000); - this->setTitle(mainText); - - // Connect the about to close and hide signals, so that we are able to inform - // the caller that the dialog was closed - bool connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - - OstTraceFunctionExit0( DUP1_EAPFASTPROVWAITNOTEDIALOG_CREATEDIALOG_EXIT ); - qDebug("EapFastProvWaitNoteDialog::createDialog EXIT"); -} - -/*! - * Destructor. - */ -EapFastProvWaitNoteDialog::~EapFastProvWaitNoteDialog() -{ - OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_DEAPFASTPROVWAITNOTEDIALOG_ENTRY ); - qDebug("EapFastProvWaitNoteDialog::~EapFastProvWaitNoteDialog ENTER"); - - // The dialog widgets are deleted as the dialog is deleted - - qDebug("EapFastProvWaitNoteDialog::~EapFastProvWaitNoteDialog EXIT"); - OstTraceFunctionExit0( EAPFASTPROVWAITNOTEDIALOG_DEAPFASTPROVWAITNOTEDIALOG_EXIT ); -} - -/*! - * Function is called when the dialog is about to close - */ -void EapFastProvWaitNoteDialog::closingDialog() -{ - OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_CLOSINGDIALOG_ENTRY ); - qDebug("EapFastProvWaitNoteDialog::closingDialog ENTER"); - - closeDeviceDialog(false); - - qDebug("EapFastProvWaitNoteDialog::closingDialog EXIT"); - OstTraceFunctionExit0( EAPFASTPROVWAITNOTEDIALOG_CLOSINGDIALOG_EXIT ); -} - -/*! - * Device dialog parameters to be set while dialog is displayed. - * Not supported. - * - * @param [in] parameters NOT USED - * @return true always. - */ -bool EapFastProvWaitNoteDialog::setDeviceDialogParameters - (const QVariantMap ¶meters) -{ - OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY ); - - Q_UNUSED(parameters) - // changing the dialog after presenting it is not supported. - - OstTraceFunctionExit0( EAPFASTPROVWAITNOTEDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT ); - return true; -} - -/*! - * Not supported - * - * @return 0 always returned. - */ -int EapFastProvWaitNoteDialog::deviceDialogError() const -{ - OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_DEVICEDIALOGERROR_ENTRY ); - OstTraceFunctionExit0( EAPFASTPROVWAITNOTEDIALOG_DEVICEDIALOGERROR_EXIT); - return 0; -} - -/*! - * Dialog is closed and the signal about closing is emitted - * - * @param [in] byClient indicates when the user closes the dialog - */ -void EapFastProvWaitNoteDialog::closeDeviceDialog(bool byClient) -{ - OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_CLOSEDEVICEDIALOG_ENTRY ); - qDebug("EapFastProvWaitNoteDialog::closeDeviceDialog ENTER"); - - Q_UNUSED(byClient) - - emit deviceDialogClosed(); - - qDebug("EapFastProvWaitNoteDialog::closeDeviceDialog EXIT"); - OstTraceFunctionExit0( EAPFASTPROVWAITNOTEDIALOG_CLOSEDEVICEDIALOG_EXIT ); -} - -/*! - * This dialog widget is returned to the caller - * - * @return this dialog widget - */ -HbPopup *EapFastProvWaitNoteDialog::deviceDialogWidget() const -{ - OstTraceFunctionEntry0( EAPFASTPROVWAITNOTEDIALOG_DEVICEDIALOGWIDGET_ENTRY ); - qDebug("EapFastProvWaitNoteDialog::deviceDialogWidget ENTER"); - - qDebug("EapFastProvWaitNoteDialog::deviceDialogWidget EXIT"); - OstTraceFunctionExit0( EAPFASTPROVWAITNOTEDIALOG_DEVICEDIALOGWIDGET_EXIT ); - - return const_cast(this); -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/src/eapmschapv2newpwddialog.cpp --- a/securitysettings/eapqtdialogs/src/eapmschapv2newpwddialog.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,307 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-MSCHAPv2 New Password Input Dialog implementation -* -*/ - -/* -* %version: 6 % -*/ - -// System includes -#include -#include -#include -#include -#include -#include -#include -#include - -// User includes -#include "eapmschapv2newpwddialog.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "eapmschapv2newpwddialogTraces.h" -#endif - -/*! - * \class EapMschapv2NewPwdDialog - * \brief Implements EAP-MSCHAPv2 New Password Input Dialog. - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param [in] parameters Parameters for the Constructor. - */ -EapMschapv2NewPwdDialog::EapMschapv2NewPwdDialog(const QVariantMap ¶meters) - :mEdit1(NULL), - mEdit2(NULL), - mPwdValidator(NULL), - mTranslator(new HbTranslator("eapprompts")), - mErrMsgTranslator(new HbTranslator("cpdestinationplugin")), - mClose(false) -{ - OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_EAPMSCHAPV2NEWPWDDIALOG_ENTRY ); - qDebug("EapMschapv2NewPwdDialog::EapMschapv2NewPwdDialog ENTER"); - - createDialog(parameters); - - OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_EAPMSCHAPV2NEWPWDDIALOG_EXIT ); - qDebug("EapMschapv2NewPwdDialog::EapMschapv2NewPwdDialog EXIT"); -} - -/*! - * The construction of the dialog - * - * @param [in] parameters Parameters for the Construction of the dialog. - */ -void EapMschapv2NewPwdDialog::createDialog(const QVariantMap ¶meters ) -{ - OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_CREATEDIALOG_ENTRY ); - qDebug("EapMschapv2NewPwdDialog::createDialog ENTER"); - - Q_UNUSED(parameters) - - QString labelText1(hbTrId("txt_occ_dialog_new_eapmschapv2_password")); - QString labelText2(hbTrId("txt_occ_dialog_verify_password")); - - //Set the dialog to be on the screen until user reacts - //by pressing any of the Action buttons - this->setModal(true); - this->setTimeout(HbPopup::NoTimeout); - this->setDismissPolicy(HbPopup::NoDismiss); - this->setAdditionalRowVisible(true); - - //Set the first Line Edit to be on the screen - this->setPromptText(labelText1, 0); - mEdit1 = this->lineEdit(0); - mEdit1->setEchoMode(HbLineEdit::Password); - - //Set the second Line Edit to be on the screen also - this->setPromptText(labelText2, 1); - mEdit2 = this->lineEdit(1); - mEdit2->setEchoMode(HbLineEdit::Password); - - EapQtConfigInterface eapConfigIf; - - mPwdValidator.reset( eapConfigIf.validatorEap(EapQtExpandedEapType::TypeEapMschapv2, - EapQtConfig::Password ) ); - Q_ASSERT( mPwdValidator.isNull() == false ); - - mPwdValidator->updateEditor(mEdit1); - - //Remove all default actions from the dialog - QList action_list = this->actions(); - for ( int i = 0; i < action_list.count(); i++ ) { - this->removeAction(action_list.at(i)); - } - - //Add a new Ok button action - HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); - this->addAction(actionOk); - - //Add a new Cancel button action - HbAction* actionCancel = new HbAction(hbTrId("txt_common_button_cancel"),this); - this->addAction(actionCancel); - - //Disconnect action Ok from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close())); - bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed())); - Q_ASSERT(connected == true); - - //Disconnect action Cancel from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionCancel, SIGNAL(triggered()),this, SLOT(close())); - connected = connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelPressed())); - Q_ASSERT(connected == true); - - //Connect the about to close and hide signals, so that we are able to inform - //the caller that the dialog was closed - connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - - OstTraceFunctionExit0( DUP1_EAPMSCHAPV2NEWPWDDIALOG_CREATEDIALOG_EXIT ); - qDebug("EapMschapv2NewPwdDialog::createDialog EXIT"); -} - -/*! - * Destructor. - */ -EapMschapv2NewPwdDialog::~EapMschapv2NewPwdDialog() -{ - OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_DEAPMSCHAPV2NEWPWDDIALOG_ENTRY ); - qDebug("EapMschapv2NewPwdDialog::~EapMschapv2NewPwdDialog"); - - //The dialog widgets are deleted as the dialog is deleted - //mPwdValidator: scoped pointer deleted automatically - - OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_DEAPMSCHAPV2NEWPWDDIALOG_EXIT ); -} - -/*! - * Line edit validator - * - * @return true if content is valid. - */ -bool EapMschapv2NewPwdDialog::validate() const -{ - qDebug("EapMschapv2NewPwdDialog::validate ENTER"); - - bool valid = false; - - if ( mPwdValidator->validate(mEdit1->text())== EapQtValidator::StatusOk && - mEdit1->text() == mEdit2->text()) { - qDebug("EapMschapv2NewPwdDialog::validate: ret val: TRUE"); - valid = true; - } - qDebug("EapPasswordQueryDialog::validate EXIT"); - return valid; -} - -/*! - * Function is called when the Ok Action button is pressed - */ -void EapMschapv2NewPwdDialog::okPressed() -{ - OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_OKPRESSED_ENTRY ); - qDebug("EapMschapv2NewPwdDialog::okPressed ENTER"); - - if ( validate() == true ) { - - QVariantMap data; - - data["password"] = mEdit1->text(); - - qDebug("EapMschapv2NewPwdDialog::okPressed: emit deviceDialogData"); - - emit deviceDialogData(data); - closeDeviceDialog(true); - } - else { - HbMessageBox* box = new HbMessageBox(hbTrId("txt_occ_info_passwords_do_not_match_try_again"), - HbMessageBox::MessageTypeInformation); - - box->setAttribute(Qt::WA_DeleteOnClose); - box->open(); - } - OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_OKPRESSED_EXIT ); - qDebug("EapMschapv2NewPwdDialog::okPressed EXIT"); -} - -/*! - * Function is called when the Cancel Action button is pressed - */ -void EapMschapv2NewPwdDialog::cancelPressed() -{ - OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_CANCELPRESSED_ENTRY ); - qDebug("EapMschapv2NewPwdDialog::cancelPressed ENTER"); - - if (!mClose) { - mClose = true; - closeDeviceDialog(true); - } - qDebug("EapMschapv2NewPwdDialog::cancelPressed EXIT"); - OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_CANCELPRESSED_EXIT ); -} - -/*! - * Function is called when the dialog is about to close - */ -void EapMschapv2NewPwdDialog::closingDialog() -{ - OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_CLOSINGDIALOG_ENTRY ); - qDebug("EapMschapv2NewPwdDialog::closingDialog ENTER"); - - qDebug("EapMschapv2NewPwdDialog::closingDialog EXIT"); - OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_CLOSINGDIALOG_EXIT ); -} - -/*! - * Device dialog parameters to be set while dialog is displayed. - * Not supported. - * - * @param [in] parameters NOT USED - * @return true always. - */ -bool EapMschapv2NewPwdDialog::setDeviceDialogParameters - (const QVariantMap ¶meters) -{ - OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY ); - - Q_UNUSED(parameters) - // changing the dialog after presenting it is not supported. - - OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT ); - return true; -} - -/*! - * Not supported - * - * @return 0 always returned. - */ -int EapMschapv2NewPwdDialog::deviceDialogError() const -{ - OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_DEVICEDIALOGERROR_ENTRY ); - OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_DEVICEDIALOGERROR_EXIT); - return 0; -} - -/*! - * Dialog is closed and the signal about closing is emitted - * - * @param [in] byClient indicates when the user closes the dialog - */ -void EapMschapv2NewPwdDialog::closeDeviceDialog(bool byClient) -{ - OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_CLOSEDEVICEDIALOG_ENTRY ); - qDebug("EapMschapv2NewPwdDialog::closeDeviceDialog ENTER"); - - //If the user closes the dialog, then the deviceDialogClosed is emitted - if( byClient == true ) { - qDebug("EapMschapv2NewPwdDialog::closeDeviceDialog: emit deviceDialogClosed"); - emit deviceDialogClosed(); - } - - qDebug("EapMschapv2NewPwdDialog::closeDeviceDialog EXIT"); - OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_CLOSEDEVICEDIALOG_EXIT ); -} - -/*! - * This dialog widget is returned to the caller - * - * @return this dialog widget - */ -HbPopup *EapMschapv2NewPwdDialog::deviceDialogWidget() const -{ - OstTraceFunctionEntry0( EAPMSCHAPV2NEWPWDDIALOG_DEVICEDIALOGWIDGET_ENTRY ); - OstTraceFunctionExit0( EAPMSCHAPV2NEWPWDDIALOG_DEVICEDIALOGWIDGET_EXIT ); - - return const_cast(this); -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/src/eapmschapv2oldpwddialog.cpp --- a/securitysettings/eapqtdialogs/src/eapmschapv2oldpwddialog.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,291 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-MSCHAPv2 Old Password Input Dialog implementation -* -*/ - -/* -* %version: 6 % -*/ - -// System includes -#include -#include -#include -#include -#include -#include - -// User includes -#include "eapmschapv2oldpwddialog.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "eapmschapv2oldpwddialogTraces.h" -#endif - -/*! - * \class EapMschapv2OldPwdDialog - * \brief Implements EAP-MSCHAPv2 Old Password Input Dialog. - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param [in] parameters Parameters for the Constructor. - */ -EapMschapv2OldPwdDialog::EapMschapv2OldPwdDialog(const QVariantMap ¶meters) - :mEdit(NULL), - mPwdValidator(NULL), - mTranslator(new HbTranslator("eapprompts")), - mOkActionPressed(false), - mClose(false) -{ - OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_EAPMSCHAPV2OLDPWDDIALOG_ENTRY ); - qDebug("EapMschapv2OldPwdDialog::EapMschapv2OldPwdDialog ENTER"); - - createDialog(parameters); - - OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_EAPMSCHAPV2OLDPWDDIALOG_EXIT ); - qDebug("EapMschapv2OldPwdDialog::EapMschapv2OldPwdDialog EXIT"); -} - -/*! - * The construction of the dialog - * - * @param [in] parameters Parameters for the Construction of the dialog. - */ -void EapMschapv2OldPwdDialog::createDialog(const QVariantMap ¶meters ) -{ - OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_CREATEDIALOG_ENTRY ); - qDebug("EapMschapv2OldPwdDialog::createDialog ENTER"); - - QString labelText1(hbTrId("txt_occ_dialog_old_eapmschapv2_password")); - - Q_UNUSED(parameters) - - //Set the dialog to be on the screen until user reacts - //by pressing any of the Action buttons - this->setModal(true); - this->setTimeout(HbPopup::NoTimeout); - this->setDismissPolicy(HbPopup::NoDismiss); - this->setPromptText(labelText1, 0); - mEdit = this->lineEdit(0); - mEdit->setEchoMode(HbLineEdit::Password); - - EapQtConfigInterface eap_config_if; - - mPwdValidator.reset(eap_config_if.validatorEap(EapQtExpandedEapType::TypeEapMschapv2, - EapQtConfig::Password )); - Q_ASSERT( mPwdValidator.isNull() == false ); - - mPwdValidator->updateEditor(mEdit); - - //Remove all default actions from the dialog - QList action_list = this->actions(); - for ( int i = 0; i < action_list.count(); i++ ) { - this->removeAction(action_list.at(i)); - } - - //Add a new Ok button action - HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); - this->addAction(actionOk); - - //Add a new Cancel button action - HbAction* actionCancel = new HbAction(hbTrId("txt_common_button_cancel"),this); - this->addAction(actionCancel); - - //Disconnect action Ok from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close())); - bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed())); - Q_ASSERT(connected == true); - - //Disconnect action Cancel from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionCancel, SIGNAL(triggered()),this, SLOT(close())); - connected = connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelPressed())); - Q_ASSERT(connected == true); - - // Connect the about to close and hide signals, so that we are able to inform - // the caller that the dialog was closed - connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - - OstTraceFunctionExit0( DUP1_EAPMSCHAPV2OLDPWDDIALOG_CREATEDIALOG_EXIT ); - qDebug("EapMschapv2OldPwdDialog::createDialog EXIT"); -} - -/*! - * Destructor - */ -EapMschapv2OldPwdDialog::~EapMschapv2OldPwdDialog() -{ - OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_DEAPMSCHAPV2OLDPWDDIALOG_ENTRY ); - - // The dialog widgets are deleted as the dialog is deleted - // mPwdValidator: scoped pointer deleted automatically - - OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_DEAPMSCHAPV2OLDPWDDIALOG_EXIT ); -} - -/*! - * Line edit validator - * - * @return true if content is valid. - */ -bool EapMschapv2OldPwdDialog::validate() const -{ - qDebug("EapMschapv2OldPwdDialog::validate ENTER"); - - bool valid = false; - - if ( mPwdValidator->validate(mEdit->text())== EapQtValidator::StatusOk ) { - qDebug("EapMschapv2OldPwdDialog::validate: returns TRUE"); - valid = true; - } - - qDebug("EapMschapv2OldPwdDialog::validate EXIT"); - return valid; -} - -/*! - * Function is called when the Ok Action button is pressed - */ -void EapMschapv2OldPwdDialog::okPressed() -{ - OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_OKPRESSED_ENTRY ); - qDebug("EapMschapv2OldPwdDialog::okPressed ENTER"); - - if ( validate() == true && mOkActionPressed == false ) { - - mOkActionPressed = true; - - QVariantMap data; - - data["password"] = mEdit->text(); - - qDebug("EapMschapv2OldPwdDialog::okPressed: emit deviceDialogData"); - - emit deviceDialogData(data); - closeDeviceDialog(true); - } - - OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_OKPRESSED_EXIT ); - qDebug("EapMschapv2OldPwdDialog::okPressed EXIT"); -} - -/*! - * Function is called when the Cancel Action button is pressed - */ -void EapMschapv2OldPwdDialog::cancelPressed() -{ - OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_CANCELPRESSED_ENTRY ); - qDebug("EapMschapv2OldPwdDialog::cancelPressed ENTER"); - - if (!mClose) { - mClose = true; - closeDeviceDialog(true); - } - qDebug("EapMschapv2OldPwdDialog::cancelPressed EXIT"); - OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_CANCELPRESSED_EXIT ); -} - -/*! - * Function is called when the dialog is about to close - */ -void EapMschapv2OldPwdDialog::closingDialog() -{ - OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_CLOSINGDIALOG_ENTRY ); - qDebug("EapMschapv2OldPwdDialog::closingDialog ENTER"); - - - qDebug("EapMschapv2OldPwdDialog::closingDialog EXIT"); - OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_CLOSINGDIALOG_EXIT ); -} - -/*! - * Device dialog parameters to be set while dialog is displayed. - * Not supported. - * - * @param [in] parameters NOT USED - * @return true always. - */ -bool EapMschapv2OldPwdDialog::setDeviceDialogParameters - (const QVariantMap ¶meters) -{ - OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY ); - - Q_UNUSED(parameters) - // changing the dialog after presenting it is not supported. - - OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT ); - return true; -} - -/*! - * Not supported - * - * @return 0 always returned. - */ -int EapMschapv2OldPwdDialog::deviceDialogError() const -{ - OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_DEVICEDIALOGERROR_ENTRY ); - OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_DEVICEDIALOGERROR_EXIT); - return 0; -} - -/*! - * Dialog is closed and the signal about closing is emitted - * - * @param [in] byClient indicates when the user closes the dialog - */ -void EapMschapv2OldPwdDialog::closeDeviceDialog(bool byClient) -{ - OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_CLOSEDEVICEDIALOG_ENTRY ); - qDebug("EapMschapv2OldPwdDialog::closeDeviceDialog ENTER"); - - //If the user closes the dialog, then the deviceDialogClosed is emitted - if ( byClient == true ) { - qDebug("EapMschapv2OldPwdDialog::closeDeviceDialog: emit deviceDialogClosed"); - emit deviceDialogClosed(); - } - - qDebug("EapMschapv2OldPwdDialog::closeDeviceDialog EXIT"); - OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_CLOSEDEVICEDIALOG_EXIT ); -} - -/*! - * This dialog widget is returned to the caller - * - * @return this dialog widget - */ -HbPopup *EapMschapv2OldPwdDialog::deviceDialogWidget() const -{ - OstTraceFunctionEntry0( EAPMSCHAPV2OLDPWDDIALOG_DEVICEDIALOGWIDGET_ENTRY ); - OstTraceFunctionExit0( EAPMSCHAPV2OLDPWDDIALOG_DEVICEDIALOGWIDGET_EXIT ); - - return const_cast(this); -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/src/eapmschapv2pwdexpirednotedialog.cpp --- a/securitysettings/eapqtdialogs/src/eapmschapv2pwdexpirednotedialog.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,231 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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-MSCHAPv2 password expired note Dialog implementation -* -*/ - -/* -* %version: 4 % -*/ - -// System includes -#include -#include - -// User includes -#include "eapmschapv2pwdexpirednotedialog.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "eapmschapv2pwdexpirednotedialogTraces.h" -#endif - -/*! - * \class EapMschapv2NewPwdDialog - * \brief Implements EAP-MSCHAPv2 New Password Input Dialog. - */ - -// External function prototypes - -// Local constants - -//! The index numbers of the button of the dialog -static const int okButtonIndex = 1; - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param [in] parameters Parameters for the Constructor. - */ -EapMschapv2PwdExpNoteDialog::EapMschapv2PwdExpNoteDialog(const QVariantMap ¶meters) -:HbMessageBox("default text...",HbMessageBox::MessageTypeInformation), -mTranslator(new HbTranslator("eapprompts")), -mOkActionPressed(false) -{ - OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_EAPMSCHAPV2PWDEXPNOTEDIALOG_ENTRY ); - qDebug("EapMschapv2PwdExpNoteDialog::EapMschapv2PwdExpNoteDialog ENTER"); - - Q_UNUSED(parameters) - - createDialog(); - - OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_EAPMSCHAPV2PWDEXPNOTEDIALOG_EXIT ); - qDebug("EapMschapv2PwdExpNoteDialog::EapMschapv2PwdExpNoteDialog EXIT"); -} - -/*! - * The construction of the dialog - */ -void EapMschapv2PwdExpNoteDialog::createDialog() -{ - OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_CREATEDIALOG_ENTRY ); - qDebug("EapMschapv2PwdExpNoteDialog::createDialog ENTER"); - - QString text(hbTrId("txt_occ_info_eapmschapv2_password_has_expired_yo")); - - //Set the dialog to be on the screen until user reacts - //by pressing the Action button - this->setModal(true); - this->setTimeout(HbPopup::NoTimeout); - this->setDismissPolicy(HbPopup::NoDismiss); - - this->setText(text); - this->setIconVisible(true); - - //Remove all default actions from the dialog - QList action_list = this->actions(); - for ( int i = 0; i < action_list.count(); i++ ) { - this->removeAction(action_list.at(i)); - } - - //Add a new Ok button action - HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok_single_dialog"),this); - this->addAction(actionOk); - - //Disconnect action Ok from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close())); - bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed())); - Q_ASSERT(connected == true); - - //Connect the about to close and hide signals, so that we are able to inform - //the caller that the dialog was closed - connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - - OstTraceFunctionExit0( DUP1_EAPMSCHAPV2PWDEXPNOTEDIALOG_CREATEDIALOG_EXIT ); - qDebug("EapMschapv2PwdExpNoteDialog::createDialog EXIT"); -} - -/*! - * Destructor - */ -EapMschapv2PwdExpNoteDialog::~EapMschapv2PwdExpNoteDialog() -{ - OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_DEAPMSCHAPV2PWDEXPNOTEDIALOG_ENTRY ); - - // The dialog widgets are deleted as the dialog is deleted - - OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_DEAPMSCHAPV2PWDEXPNOTEDIALOG_EXIT ); -} - -/*! - * Function is called when the Ok Action button is pressed - */ -void EapMschapv2PwdExpNoteDialog::okPressed() -{ - OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_OKBUTTONPRESSED_ENTRY ); - qDebug("EapMschapv2PwdExpNoteDialog::okPressed ENTER"); - - if ( mOkActionPressed == false ) { - - mOkActionPressed = true; - - QVariantMap data; - data["okbutton"] = okButtonIndex; - - // emit the data of the selected button and close the dialog - qDebug("EapMschapv2PwdExpNoteDialog::okPressed: emit deviceDialogData"); - emit deviceDialogData(data); - - closeDeviceDialog(true); - } - OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_OKBUTTONPRESSED_EXIT ); - qDebug("EapMschapv2PwdExpNoteDialog::okPressed EXIT"); -} - -/*! - * Function is called when the dialog is about to close - * - */ -void EapMschapv2PwdExpNoteDialog::closingDialog() -{ - OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_CLOSINGDIALOG_ENTRY ); - qDebug("EapMschapv2PwdExpNoteDialog::closingDialog ENTER"); - - qDebug("EapMschapv2PwdExpNoteDialog::closingDialog EXIT"); - OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_CLOSINGDIALOG_EXIT ); -} - -/*! - * Device dialog parameters to be set while dialog is displayed. - * Not supported. - * - * @param [in] parameters NOT USED - * @return true always. - */ -bool EapMschapv2PwdExpNoteDialog::setDeviceDialogParameters - (const QVariantMap ¶meters) -{ - OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY ); - - Q_UNUSED(parameters) - // changing the dialog after presenting it is not supported. - - OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT ); - return true; -} - -/*! - * Not supported - * - * @return 0 always returned. - */ -int EapMschapv2PwdExpNoteDialog::deviceDialogError() const -{ - OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_DEVICEDIALOGERROR_ENTRY ); - OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_DEVICEDIALOGERROR_EXIT); - return 0; -} - -/*! - * Dialog is closed and the signal about closing is emitted - * - * @param [in] byClient indicates when the user closes the dialog - */ -void EapMschapv2PwdExpNoteDialog::closeDeviceDialog(bool byClient) -{ - OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_CLOSEDEVICEDIALOG_ENTRY ); - qDebug("EapMschapv2PwdExpNoteDialog::closeDeviceDialog ENTER"); - - if ( byClient == true ) { - qDebug("EapMschapv2PwdExpNoteDialog::closeDeviceDialog: emit deviceDialogClosed"); - emit deviceDialogClosed(); - } - - qDebug("EapMschapv2PwdExpNoteDialog::closeDeviceDialog EXIT"); - OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_CLOSEDEVICEDIALOG_EXIT ); -} - -/*! - * This dialog widget is returned to the caller - * - * @return this dialog widget - */ -HbPopup *EapMschapv2PwdExpNoteDialog::deviceDialogWidget() const -{ - OstTraceFunctionEntry0( EAPMSCHAPV2PWDEXPNOTEDIALOG_DEVICEDIALOGWIDGET_ENTRY ); - qDebug("EapMschapv2PwdExpNoteDialog::deviceDialogWidget ENTER"); - - qDebug("EapMschapv2PwdExpNoteDialog::deviceDialogWidget EXIT"); - OstTraceFunctionExit0( EAPMSCHAPV2PWDEXPNOTEDIALOG_DEVICEDIALOGWIDGET_EXIT ); - - return const_cast(this); -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/src/eappasswordquerydialog.cpp --- a/securitysettings/eapqtdialogs/src/eappasswordquerydialog.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,314 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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 Password Query Dialog implementation -* -*/ - -/* -* %version: 6 % -*/ - -// System includes -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// User includes -#include "eappasswordquerydialog.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "eappasswordquerydialogTraces.h" -#endif - -/*! - * \class EapPasswordQueryDialog - * \brief Implements Password Query Dialog. - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - - -/*! - * Constructor. - * - * @param [in] parameters Parameters for the Constructor. - */ -EapPasswordQueryDialog::EapPasswordQueryDialog(const QVariantMap ¶meters) - :mEdit(NULL), - mPwdValidator(NULL), - mTranslator(new HbTranslator("eapprompts")), - mClose(false), - mOkActionPressed(false) -{ - OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_EAPPASSWORDQUERYDIALOG_ENTRY ); - qDebug("EapPasswordQueryDialog::EapPasswordQueryDialog ENTER"); - - createDialog(parameters); - - OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_EAPPASSWORDQUERYDIALOG_EXIT ); - qDebug("EapPasswordQueryDialog::EapPasswordQueryDialog EXIT"); -} - -/*! - * The construction of the dialog - * - * @param [in] parameters Parameters for the Construction of the dialog. - */ -void EapPasswordQueryDialog::createDialog(const QVariantMap ¶meters ) -{ - OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_CREATEDIALOG_ENTRY ); - qDebug("EapPasswordQueryDialog::createDialog ENTER"); - - QString keyeaptype("eaptype"); - QString keyauthmethod("authmethod"); - QString authMethodstr; - - //Get auth method string from parameters - if ( parameters.empty() == false ) { - if ( parameters.contains(keyauthmethod) ) { - QVariant variant = parameters.value(keyauthmethod); - authMethodstr = variant.toString(); - } - } - QString labelText(HbParameterLengthLimiter( - hbTrId("txt_occ_dialog_1_password").arg(authMethodstr))); - - //Set the dialog to be on the screen until user reacts - //by pressing any of the Action buttons - this->setModal(true); - this->setTimeout(HbPopup::NoTimeout); - this->setDismissPolicy(HbPopup::NoDismiss); - this->setPromptText(labelText, 0); - mEdit = this->lineEdit(0); - mEdit->setEchoMode(HbLineEdit::Password); - - //Get the EAP type from parameters (for the Validator) - QByteArray ba; - if ( parameters.contains(keyeaptype) ) { - QVariant variant3 = parameters.value(keyeaptype); - ba = variant3.toByteArray(); - } - Q_ASSERT( ba.isEmpty() == false ); - - EapQtExpandedEapType e_type(ba); - EapQtConfigInterface eap_config_if; - - mPwdValidator.reset(eap_config_if.validatorEap(e_type, - EapQtConfig::Password)); - Q_ASSERT( mPwdValidator.isNull() == false ); - - mPwdValidator->updateEditor(mEdit); - - //Remove all default actions from the dialog - QList action_list = this->actions(); - for ( int i = 0; i < action_list.count(); i++ ) { - this->removeAction(action_list.at(i)); - } - - //Add a new Ok button action - HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); - this->addAction(actionOk); - - //Add a new Cancel button action - HbAction* actionCancel = new HbAction(hbTrId("txt_common_button_cancel"),this); - this->addAction(actionCancel); - - //Disconnect action Ok from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close())); - bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed())); - Q_ASSERT(connected == true); - - //Disconnect action Cancel from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionCancel, SIGNAL(triggered()),this, SLOT(close())); - connected = connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelPressed())); - Q_ASSERT(connected == true); - - // Connect the about to close and hide signals, so that we are able to inform - // the caller that the dialog was closed - connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - - OstTraceFunctionExit0( DUP1_EAPPASSWORDQUERYDIALOG_CREATEDIALOG_EXIT ); - qDebug("EapPasswordQueryDialog::createDialog EXIT"); -} - -/*! - * Destructor - */ -EapPasswordQueryDialog::~EapPasswordQueryDialog() -{ - OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_DEAPPASSWORDQUERYDIALOG_ENTRY ); - - // The dialog widgets are deleted as the dialog is deleted - // mPwdValidator: scoped pointer deleted automatically - - OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_DEAPPASSWORDQUERYDIALOG_EXIT ); -} - -/*! - * Line edit validator - * - * @return true if content is valid. - */ -bool EapPasswordQueryDialog::validate() const -{ - qDebug("EapPasswordQueryDialog::validate ENTER"); - - bool valid = false; - - if ( mPwdValidator->validate(mEdit->text())== EapQtValidator::StatusOk ) { - - qDebug("EapPasswordQueryDialog::validate(): returns TRUE"); - valid = true; - } - - qDebug("EapPasswordQueryDialog::validate EXIT"); - return valid; -} - -/*! - * Function is called when the Ok Action button is pressed - */ -void EapPasswordQueryDialog::okPressed() -{ - OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_OKPRESSED_ENTRY ); - qDebug("EapPasswordQueryDialog::okPressed ENTER"); - - if ( validate() == true && mOkActionPressed == false ) { - - mOkActionPressed = true; - - QVariantMap data; - - data["password"] = mEdit->text(); - - qDebug("EapPasswordQueryDialog::okPressed: emit deviceDialogData"); - - emit deviceDialogData(data); - closeDeviceDialog(true); - } - OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_OKPRESSED_EXIT ); - qDebug("EapPasswordQueryDialog::okPressed EXIT"); -} - -/*! - * Function is called when the Cancel Action button is pressed - */ -void EapPasswordQueryDialog::cancelPressed() -{ - OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_CANCELPRESSED_ENTRY ); - qDebug("EapPasswordQueryDialog::cancelPressed ENTER"); - - if (!mClose) { - mClose = true; - closeDeviceDialog(true); - } - qDebug("EapPasswordQueryDialog::cancelPressed EXIT"); - OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_CANCELPRESSED_EXIT ); -} - -/*! - * Function is called when the dialog is about to close - */ -void EapPasswordQueryDialog::closingDialog() -{ - OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_CLOSINGDIALOG_ENTRY ); - qDebug("EapPasswordQueryDialog::closingDialog ENTER"); - - - qDebug("EapPasswordQueryDialog::closingDialog EXIT"); - OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_CLOSINGDIALOG_EXIT ); -} - -/*! - * Device dialog parameters to be set while dialog is displayed. - * Not supported. - * - * @param [in] parameters NOT USED - * @return true always. - */ -bool EapPasswordQueryDialog::setDeviceDialogParameters - (const QVariantMap ¶meters) -{ - OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY ); - - Q_UNUSED(parameters) - // changing the dialog after presenting it is not supported. - - OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT ); - return true; -} - -/*! - * Not supported - * - * @return 0 always returned. - */ -int EapPasswordQueryDialog::deviceDialogError() const -{ - OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_DEVICEDIALOGERROR_ENTRY ); - OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_DEVICEDIALOGERROR_EXIT); - return 0; -} - -/*! - * Dialog is closed and the signal about closing is emitted - * - * @param [in] byClient indicates when the user closes the dialog - */ -void EapPasswordQueryDialog::closeDeviceDialog(bool byClient) -{ - OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_CLOSEDEVICEDIALOG_ENTRY ); - qDebug("EapPasswordQueryDialog::closeDeviceDialog ENTER"); - - //If the user closes the dialog, then the deviceDialogClosed is emitted - if ( byClient == true ) - { - qDebug("EapUsernamePwdDialog::closeDeviceDialog: emit deviceDialogClosed"); - emit deviceDialogClosed(); - } - - qDebug("EapPasswordQueryDialog::closeDeviceDialog EXIT"); - OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_CLOSEDEVICEDIALOG_EXIT ); -} - -/*! - * This dialog widget is returned to the caller - * - * @return this dialog widget - */ -HbPopup *EapPasswordQueryDialog::deviceDialogWidget() const -{ - OstTraceFunctionEntry0( EAPPASSWORDQUERYDIALOG_DEVICEDIALOGWIDGET_ENTRY ); - OstTraceFunctionExit0( EAPPASSWORDQUERYDIALOG_DEVICEDIALOGWIDGET_EXIT ); - - return const_cast(this); -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/src/eapquerydialog.cpp --- a/securitysettings/eapqtdialogs/src/eapquerydialog.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,259 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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 Challenge query Dialog implementation -* -*/ - -/* -* %version: 4 % -*/ - -// System includes -#include -#include -#include -#include - -// User includes -#include "eapquerydialog.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "eapquerydialogTraces.h" -#endif - -/*! - * \class EapQueryDialog - * \brief Implements EAP Challenge query Dialog. - */ - -// External function prototypes - -// Local constants - -//! The index numbers of the button of the dialog -static const int okButtonIndex = 1; - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param [in] parameters Parameters for the Constructor. - */ -EapQueryDialog::EapQueryDialog(const QVariantMap ¶meters) -:mTranslator(new HbTranslator("eapprompts")), -mOkActionPressed(false) -{ - OstTraceFunctionEntry0( EAPQUERYDIALOG_EAPQUERYDIALOG_ENTRY ); - qDebug("EapQueryDialog::EapQueryDialog ENTER"); - - createDialog( parameters ); - - OstTraceFunctionExit0( EAPQUERYDIALOG_EAPQUERYDIALOG_EXIT ); - qDebug("EapQueryDialog::EapQueryDialog EXIT"); -} - -/*! - * The construction of the dialog - * - * @param [in] parameters Parameters for the Construction of the dialog. - */ -void EapQueryDialog::createDialog(const QVariantMap ¶meters ) -{ - OstTraceFunctionEntry0( EAPQUERYDIALOG_CREATEDIALOG_ENTRY ); - qDebug("EapQueryDialog::createDialog ENTER"); - - QString message; - QString authMethodstr; - QString keyauthmethod("authmethod"); - QString keymessage("messagetxt"); - QVariant tmpVariant; - - //Get auth method and message string from parameters - if ( parameters.empty() == false ) { - - if ( parameters.contains(keyauthmethod) ) { - tmpVariant = parameters.value(keyauthmethod); - authMethodstr = tmpVariant.toString(); - } - if ( parameters.contains(keymessage) ) { - tmpVariant = parameters.value(keymessage); - message = tmpVariant.toString(); - } - } - - QString labelText1(HbParameterLengthLimiter( - hbTrId("txt_occ_title_1_message").arg(authMethodstr))); - QString labelText2 = message; - - //Set the dialog to be on the screen until user reacts - //by pressing the Action button - this->setModal(true); - this->setTimeout(HbPopup::NoTimeout); - this->setDismissPolicy(HbPopup::NoDismiss); - - HbLabel* label1 = new HbLabel; - Q_ASSERT(label1 != NULL); - label1->setPlainText(labelText1); - label1->setFontSpec(HbFontSpec(HbFontSpec::Primary)); - label1->setTextWrapping(Hb::TextWrapAnywhere); - - this->setHeadingWidget(label1); - this->setText(labelText2); - this->setIconVisible(false); - - //Remove all default actions from the dialog - QList action_list = this->actions(); - for ( int i = 0; i < action_list.count(); i++ ) { - this->removeAction(action_list.at(i)); - } - - //Add a new Ok button action - HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); - this->addAction(actionOk); - - //Disconnect action Ok from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close())); - bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed())); - Q_ASSERT(connected == true); - - // Connect the about to close and hide signals, so that we are able to inform - // the caller that the dialog was closed - connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - - OstTraceFunctionExit0( DUP1_EAPQUERYDIALOG_CREATEDIALOG_EXIT ); - qDebug("EapQueryDialog::createDialog EXIT"); -} - -/*! - * Destructor. - */ -EapQueryDialog::~EapQueryDialog() -{ - OstTraceFunctionEntry0( EAPQUERYDIALOG_DEAPQUERYDIALOG_ENTRY ); - - // The dialog widgets are deleted as the dialog is deleted - - OstTraceFunctionExit0( EAPQUERYDIALOG_DEAPQUERYDIALOG_EXIT ); -} - -/*! - * Function is called when the Ok Action button is pressed - */ -void EapQueryDialog::okPressed() -{ - OstTraceFunctionEntry0( EAPQUERYDIALOG_OKPRESSED_ENTRY ); - qDebug("EapQueryDialog::okPressed ENTER"); - - if ( mOkActionPressed == false ) { - - mOkActionPressed = true; - - QVariantMap data; - data["okbutton"] = okButtonIndex; - - // emit the data of the selected button and close the dialog - qDebug("EapQueryDialog::okPressed: emit deviceDialogData"); - emit deviceDialogData(data); - - closeDeviceDialog(true); - } - OstTraceFunctionExit0( EAPQUERYDIALOG_OKPRESSED_EXIT ); - qDebug("EapQueryDialog::okPressed EXIT"); -} - -/*! - * Function is called when the dialog is about to close - */ -void EapQueryDialog::closingDialog() -{ - OstTraceFunctionEntry0( EAPQUERYDIALOG_CLOSINGDIALOG_ENTRY ); - qDebug("EapQueryDialog::closingDialog ENTER"); - - qDebug("EapQueryDialog::closingDialog EXIT"); - OstTraceFunctionExit0( EAPQUERYDIALOG_CLOSINGDIALOG_EXIT ); -} - -/*! - * Device dialog parameters to be set while dialog is displayed. - * Not supported. - * - * @param [in] parameters NOT USED - * @return true always. - */ -bool EapQueryDialog::setDeviceDialogParameters - (const QVariantMap ¶meters) -{ - OstTraceFunctionEntry0( EAPQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY ); - - Q_UNUSED(parameters) - // changing the dialog after presenting it is not supported. - - OstTraceFunctionExit0( EAPQUERYDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT ); - return true; -} - -/*! - * Not supported - * - * @return 0 always returned. - */ -int EapQueryDialog::deviceDialogError() const -{ - OstTraceFunctionEntry0( EAPQUERYDIALOG_DEVICEDIALOGERROR_ENTRY ); - OstTraceFunctionExit0( EAPQUERYDIALOG_DEVICEDIALOGERROR_EXIT); - return 0; -} - -/*! - * Dialog is closed and the signal about closing is emitted - * - * @param [in] byClient indicates when the user closes the dialog - */ -void EapQueryDialog::closeDeviceDialog(bool byClient) -{ - OstTraceFunctionEntry0( EAPQUERYDIALOG_CLOSEDEVICEDIALOG_ENTRY ); - qDebug("EapQueryDialog::closeDeviceDialog ENTER"); - - //If the user closes the dialog, then the deviceDialogClosed is emitted - if ( byClient == true ) { - emit deviceDialogClosed(); - } - - qDebug("EapQueryDialog::closeDeviceDialog EXIT"); - OstTraceFunctionExit0( EAPQUERYDIALOG_CLOSEDEVICEDIALOG_EXIT ); -} - -/*! - * This dialog widget is returned to the caller - * - * @return this dialog widget - */ -HbPopup *EapQueryDialog::deviceDialogWidget() const -{ - OstTraceFunctionEntry0( EAPQUERYDIALOG_DEVICEDIALOGWIDGET_ENTRY ); - qDebug("EapQueryDialog::deviceDialogWidget ENTER"); - - qDebug("EapQueryDialog::deviceDialogWidget EXIT"); - OstTraceFunctionExit0( EAPQUERYDIALOG_DEVICEDIALOGWIDGET_EXIT ); - - return const_cast(this); -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/src/eapusernamepwddialog.cpp --- a/securitysettings/eapqtdialogs/src/eapusernamepwddialog.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,339 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: -* User authentication Dialog implementation -* -*/ - -/* - * %version: 6 % - */ - -// System includes -#include -#include -#include -#include -#include -#include -#include -#include - -// User includes -#include "eapusernamepwddialog.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "eapusernamepwddialogTraces.h" -#endif - -/*! - * \class EapUsernamePwdDialog - * \brief Implements Username Password Input Dialog. - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -/*! - * Constructor. - * - * @param [in] parameters Parameters for the Constructor. - */ -EapUsernamePwdDialog::EapUsernamePwdDialog(const QVariantMap ¶meters) - :mEdit1(NULL), - mEdit2(NULL), - mUnameValidator(NULL), - mPwdValidator(NULL), - mTranslator(new HbTranslator("eapprompts")), - mClose(false), - mOkActionPressed(false) -{ - OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_EAPUSERNAMEPWDDIALOG_ENTRY ); - qDebug("EapUsernamePwdDialog::EapUsernamePwdDialog ENTER"); - - createDialog(parameters); - - OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_EAPUSERNAMEPWDDIALOG_EXIT ); - qDebug("EapUsernamePwdDialog::EapUsernamePwdDialog EXIT"); -} - -/*! - * The construction of the dialog - * - * @param [in] parameters Parameters for the Construction of the dialog. - */ -void EapUsernamePwdDialog::createDialog(const QVariantMap ¶meters ) -{ - OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_CREATEDIALOG_ENTRY ); - qDebug("EapUsernamePwdDialog::createDialog ENTER"); - - QString keyauthmethod("authmethod"); - QString keyuname("username"); - QString keyeaptype("eaptype"); - - QString unamestr; - QString authMethodstr; - - //Get default username (if exists) and - //auth method strings from parameters - if ( parameters.empty() == false ) { - if ( parameters.contains(keyuname) ) { - QVariant variant = parameters.value(keyuname); - unamestr = variant.toString(); - } - if ( parameters.contains(keyauthmethod) ) { - QVariant variant = parameters.value(keyauthmethod); - authMethodstr = variant.toString(); - } - } - - QString labelText1(HbParameterLengthLimiter(hbTrId("txt_occ_dialog_1_user_name")).arg(authMethodstr)); - QString labelText2(HbParameterLengthLimiter(hbTrId("txt_occ_dialog_password"))); - - //Set the dialog to be on the screen until user reacts - //by pressing any of the Action buttons - this->setModal(true); - this->setTimeout(HbPopup::NoTimeout); - this->setDismissPolicy(HbPopup::NoDismiss); - this->setAdditionalRowVisible(true); - - //Set the first Line Edit (user name) to be on the screen - this->setPromptText(labelText1, 0); - mEdit1 = this->lineEdit(0); - //Set default user name string - mEdit1->setText(unamestr); - - //Set the second Line Edit (password) to be on the screen also - this->setPromptText(labelText2, 1); - mEdit2 = this->lineEdit(1); - - //Get the EAP type for the Line Edits (Validator) - QByteArray ba; - if ( parameters.contains(keyeaptype) ) { - QVariant variant = parameters.value(keyeaptype); - ba = variant.toByteArray(); - } - Q_ASSERT( ba.isEmpty() == false ); - EapQtExpandedEapType e_type(ba); - EapQtConfigInterface eap_config_if; - - mUnameValidator.reset(eap_config_if.validatorEap(e_type, - EapQtConfig::Username)); - Q_ASSERT( mUnameValidator.isNull() == false ); - - mUnameValidator->updateEditor(mEdit1); - - mPwdValidator.reset(eap_config_if.validatorEap(e_type, - EapQtConfig::Password)); - Q_ASSERT( mPwdValidator.isNull() == false ); - - mPwdValidator->updateEditor(mEdit2); - - //Remove all default actions from the dialog - QList action_list = this->actions(); - for ( int i = 0; i < action_list.count(); i++ ) { - this->removeAction(action_list.at(i)); - } - - //Add a new Ok button action - HbAction* actionOk = new HbAction(hbTrId("txt_common_button_ok"),this); - this->addAction(actionOk); - //Add a new Cancel button action - HbAction* actionCancel = new HbAction(hbTrId("txt_common_button_cancel"),this); - this->addAction( actionCancel ); - - //Disconnect action Ok from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionOk, SIGNAL(triggered()),this, SLOT(close())); - bool connected = connect(actionOk, SIGNAL(triggered()), this, SLOT(okPressed())); - Q_ASSERT(connected == true); - - //Disconnect action Cancel from the default SLOT and connect to - //a SLOT owned by this class - disconnect(actionCancel, SIGNAL(triggered()),this, SLOT(close())); - connected = connect(actionCancel, SIGNAL(triggered()), this, SLOT(cancelPressed())); - Q_ASSERT(connected == true); - - // Connect the about to close and hide signals, so that we are able to inform - // the caller that the dialog was closed - connected = connect(this, SIGNAL(aboutToClose()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - connected = connect(this, SIGNAL(aboutToHide()), this, SLOT(closingDialog())); - Q_ASSERT(connected == true); - - OstTraceFunctionExit0( DUP1_EAPUSERNAMEPWDDIALOG_CREATEDIALOG_EXIT ); - qDebug("EapUsernamePwdDialog::createDialog EXIT"); -} - -/*! - * Destructor - */ -EapUsernamePwdDialog::~EapUsernamePwdDialog() -{ - OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_DEAPUSERNAMEPWDDIALOG_ENTRY ); - qDebug("EapUsernamePwdDialog::~EapUsernamePwdDialog"); - - //The dialog widgets are deleted as the dialog is deleted - // mPwdValidator: scoped pointer deleted automatically - // mUnameValidator: scoped pointer deleted automatically - - OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_DEAPUSERNAMEPWDDIALOG_EXIT ); -} - -/*! - * Line edit validator - * - * @return true if content is valid. - */ -bool EapUsernamePwdDialog::validate() const -{ - qDebug("EapUsernamePwdDialog::validate ENTER"); - - bool valid = false; - - if ( mUnameValidator->validate(mEdit1->text())== EapQtValidator::StatusOk && - mPwdValidator->validate(mEdit2->text()) == EapQtValidator::StatusOk ) { - - qDebug("EapUsernamePwdDialog::validate(): returns TRUE"); - valid = true; - } - - qDebug("EapUsernamePwdDialog::validate EXIT"); - return valid; -} - -/*! - * Function is called when the Ok Action button is pressed - */ -void EapUsernamePwdDialog::okPressed() -{ - OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_OKPRESSED_ENTRY ); - qDebug("EapUsernamePwdDialog::okPressed ENTER"); - - if ( validate() == true && mOkActionPressed == false ) { - - mOkActionPressed = true; - - QVariantMap data; - - data["username"] = mEdit1->text(); - data["password"] = mEdit2->text(); - - qDebug("EapUsernamePwdDialog::okPressed: emit deviceDialogData"); - - emit deviceDialogData(data); - closeDeviceDialog(true); - } - OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_OKPRESSED_EXIT ); - qDebug("EapUsernamePwdDialog::okPressed EXIT"); -} - -/*! - * Function is called when the Cancel Action button is pressed - */ -void EapUsernamePwdDialog::cancelPressed() -{ - OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_CANCELPRESSED_ENTRY ); - qDebug("EapUsernamePwdDialog::cancelPressed ENTER"); - - if (!mClose) { - mClose = true; - closeDeviceDialog(true); - } - qDebug("EapUsernamePwdDialog::cancelPressed EXIT"); - OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_CANCELPRESSED_EXIT ); -} - -/*! - * Function is called when the dialog is about to close - */ -void EapUsernamePwdDialog::closingDialog() -{ - OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_CLOSINGDIALOG_ENTRY ); - qDebug("EapUsernamePwdDialog::closingDialog ENTER"); - - qDebug("EapUsernamePwdDialog::closingDialog EXIT"); - OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_CLOSINGDIALOG_EXIT ); -} - -/*! - * Device dialog parameters to be set while dialog is displayed. - * Not supported. - * - * @param [in] parameters NOT USED - * @return true always. - */ -bool EapUsernamePwdDialog::setDeviceDialogParameters - (const QVariantMap ¶meters) -{ - OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_SETDEVICEDIALOGPARAMETERS_ENTRY ); - - Q_UNUSED(parameters) - // changing the dialog after presenting it is not supported. - - OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_SETDEVICEDIALOGPARAMETERS_EXIT ); - return true; -} - -/*! - * Not supported - * - * @return 0 always returned. - */ -int EapUsernamePwdDialog::deviceDialogError() const -{ - OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_DEVICEDIALOGERROR_ENTRY ); - OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_DEVICEDIALOGERROR_EXIT); - return 0; -} - -/*! - * Dialog is closed and the signal about closing is emitted - * - * @param [in] byClient indicates when the user closes the dialog - */ -void EapUsernamePwdDialog::closeDeviceDialog(bool byClient) -{ - OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_CLOSEDEVICEDIALOG_ENTRY ); - qDebug("EapUsernamePwdDialog::closeDeviceDialog ENTER"); - - //If the user closes the dialog, then the deviceDialogClosed is emitted - if ( byClient == true ) - { - qDebug("EapUsernamePwdDialog::closeDeviceDialog: emit deviceDialogClosed"); - emit deviceDialogClosed(); - } - - qDebug("EapUsernamePwdDialog::closeDeviceDialog EXIT"); - OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_CLOSEDEVICEDIALOG_EXIT ); -} - -/*! - * This dialog widget is returned to the caller - * - * @return this dialog widget - */ -HbPopup *EapUsernamePwdDialog::deviceDialogWidget() const -{ - OstTraceFunctionEntry0( EAPUSERNAMEPWDDIALOG_DEVICEDIALOGWIDGET_ENTRY ); - OstTraceFunctionExit0( EAPUSERNAMEPWDDIALOG_DEVICEDIALOGWIDGET_EXIT ); - - return const_cast(this); -} - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/eapqtdialogs/traces/OstTraceDefinitions.h --- a/securitysettings/eapqtdialogs/traces/OstTraceDefinitions.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "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: -* -*/ - -#ifndef __OSTTRACEDEFINITIONS_H__ -#define __OSTTRACEDEFINITIONS_H__ -#include -#endif diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/inc/cpeapplugininterface.h --- a/securitysettings/inc/cpeapplugininterface.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel plugin interface for EAP - * method configuration QT UIs - * - */ - -/* - * %version: 4 % - */ - -#ifndef CPEAPPLUGININTERFACE_H -#define CPEAPPLUGININTERFACE_H - -// System includes -#include -#include -#include - -// User includes - -// Forward declarations -class CpBaseSettingView; -class EapQtPluginInfo; -class EapQtPluginHandle; - -// External data types - -// Constants - -// All plugin stubs MUST be located in /resource/qt/plugins/controlpanel/eapsecurity -static const QString CpEapPluginInterfacePluginDirectory( - "\\resource\\qt\\plugins\\controlpanel\\eapsecurity"); - -// Class declaration -class CpEapPluginInterface -{ - -public: - - // Data types - - virtual ~CpEapPluginInterface() {}; - - virtual void setSettingsReference(const EapQtConfigInterface::EapBearerType bearer, - const int iapId) = 0; - - virtual QList pluginInfo() = 0; - - virtual CpBaseSettingView* uiInstance(const EapQtPluginHandle &outerHandle, - const EapQtPluginInfo &plugin) = 0; - -}; - -Q_DECLARE_INTERFACE(CpEapPluginInterface, - "com.nokia.plugin.controlpanel.eap.platform.interface/1.0"); - -#endif // CPEAPPLUGININTERFACE_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/bwins/eapqtconfiginterfaceu.def --- a/securitysettings/qtconfigutils/eapqtconfiginterface/bwins/eapqtconfiginterfaceu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -EXPORTS - ??0EapQtConfigInterface@@QAE@W4EapBearerType@0@H@Z @ 1 NONAME ; EapQtConfigInterface::EapQtConfigInterface(enum EapQtConfigInterface::EapBearerType, int) - ?userCertificates@EapQtConfigInterface@@QBE?AV?$QList@VEapQtCertificateInfo@@@@XZ @ 2 NONAME ; class QList EapQtConfigInterface::userCertificates(void) const - ?isSupportedOuterType@EapQtConfigInterface@@QBE_NABVEapQtPluginHandle@@@Z @ 3 NONAME ; bool EapQtConfigInterface::isSupportedOuterType(class EapQtPluginHandle const &) const - ?value@EapQtConfig@@QBE?AVQVariant@@W4SettingsId@1@@Z @ 4 NONAME ; class QVariant EapQtConfig::value(enum EapQtConfig::SettingsId) const - ?readConfiguration@EapQtConfigInterface@@QBE_NABVEapQtPluginHandle@@0AAVEapQtConfig@@@Z @ 5 NONAME ; bool EapQtConfigInterface::readConfiguration(class EapQtPluginHandle const &, class EapQtPluginHandle const &, class EapQtConfig &) const - ??1EapQtConfigInterface@@QAE@XZ @ 6 NONAME ; EapQtConfigInterface::~EapQtConfigInterface(void) - ?setValue@EapQtConfig@@QBEXW4SettingsId@1@ABVQVariant@@@Z @ 7 NONAME ; void EapQtConfig::setValue(enum EapQtConfig::SettingsId, class QVariant const &) const - ?setValue@EapQtPacStoreConfig@@QBEXW4PacStoreSettings@1@ABVQVariant@@@Z @ 8 NONAME ; void EapQtPacStoreConfig::setValue(enum EapQtPacStoreConfig::PacStoreSettings, class QVariant const &) const - ?clear@EapQtPacStoreConfig@@QBEXXZ @ 9 NONAME ; void EapQtPacStoreConfig::clear(void) const - ??1EapQtCertificateInfo@@QAE@XZ @ 10 NONAME ; EapQtCertificateInfo::~EapQtCertificateInfo(void) - ?value@EapQtPacStoreConfig@@QBE?AVQVariant@@W4PacStoreSettings@1@@Z @ 11 NONAME ; class QVariant EapQtPacStoreConfig::value(enum EapQtPacStoreConfig::PacStoreSettings) const - ??0EapQtPacStoreConfig@@QAE@XZ @ 12 NONAME ; EapQtPacStoreConfig::EapQtPacStoreConfig(void) - ?isSupportedInnerType@EapQtConfigInterface@@QBE_NABVEapQtPluginHandle@@0@Z @ 13 NONAME ; bool EapQtConfigInterface::isSupportedInnerType(class EapQtPluginHandle const &, class EapQtPluginHandle const &) const - ?value@EapQtCertificateInfo@@QBE?AVQVariant@@W4ItemId@1@@Z @ 14 NONAME ; class QVariant EapQtCertificateInfo::value(enum EapQtCertificateInfo::ItemId) const - ??4EapQtCertificateInfo@@QAEAAV0@ABV0@@Z @ 15 NONAME ; class EapQtCertificateInfo & EapQtCertificateInfo::operator=(class EapQtCertificateInfo const &) - ?uiInstance@EapQtConfigInterface@@QBEPAVCpBaseSettingView@@ABVEapQtPluginHandle@@0@Z @ 16 NONAME ; class CpBaseSettingView * EapQtConfigInterface::uiInstance(class EapQtPluginHandle const &, class EapQtPluginHandle const &) const - ?clear@EapQtConfig@@QBEXXZ @ 17 NONAME ; void EapQtConfig::clear(void) const - ?setSelectedOuterTypes@EapQtConfigInterface@@QBE_NABV?$QList@VEapQtPluginHandle@@@@@Z @ 18 NONAME ; bool EapQtConfigInterface::setSelectedOuterTypes(class QList const &) const - ?setValue@EapQtCertificateInfo@@QBEXW4ItemId@1@ABVQVariant@@@Z @ 19 NONAME ; void EapQtCertificateInfo::setValue(enum EapQtCertificateInfo::ItemId, class QVariant const &) const - ?clear@EapQtCertificateInfo@@QBEXXZ @ 20 NONAME ; void EapQtCertificateInfo::clear(void) const - ??0EapQtConfig@@QAE@XZ @ 21 NONAME ; EapQtConfig::EapQtConfig(void) - ?saveConfiguration@EapQtConfigInterface@@QBE_NABVEapQtPluginHandle@@ABVEapQtConfig@@@Z @ 22 NONAME ; bool EapQtConfigInterface::saveConfiguration(class EapQtPluginHandle const &, class EapQtConfig const &) const - ??0EapQtConfigInterface@@QAE@XZ @ 23 NONAME ; EapQtConfigInterface::EapQtConfigInterface(void) - ?savePacStoreConfiguration@EapQtConfigInterface@@QBE_NABVEapQtPacStoreConfig@@@Z @ 24 NONAME ; bool EapQtConfigInterface::savePacStoreConfiguration(class EapQtPacStoreConfig const &) const - ??1EapQtPacStoreConfig@@QAE@XZ @ 25 NONAME ; EapQtPacStoreConfig::~EapQtPacStoreConfig(void) - ?validatorEap@EapQtConfigInterface@@QBEPAVEapQtValidator@@ABVEapQtExpandedEapType@@W4SettingsId@EapQtConfig@@@Z @ 26 NONAME ; class EapQtValidator * EapQtConfigInterface::validatorEap(class EapQtExpandedEapType const &, enum EapQtConfig::SettingsId) const - ?validatorPacStore@EapQtConfigInterface@@QBEPAVEapQtValidator@@W4PacStoreSettings@EapQtPacStoreConfig@@@Z @ 27 NONAME ; class EapQtValidator * EapQtConfigInterface::validatorPacStore(enum EapQtPacStoreConfig::PacStoreSettings) const - ?certificateAuthorityCertificates@EapQtConfigInterface@@QBE?AV?$QList@VEapQtCertificateInfo@@@@XZ @ 28 NONAME ; class QList EapQtConfigInterface::certificateAuthorityCertificates(void) const - ??0EapQtCertificateInfo@@QAE@XZ @ 29 NONAME ; EapQtCertificateInfo::EapQtCertificateInfo(void) - ?supportedOuterTypes@EapQtConfigInterface@@QBE?AV?$QList@VEapQtPluginInfo@@@@XZ @ 30 NONAME ; class QList EapQtConfigInterface::supportedOuterTypes(void) const - ??0EapQtCertificateInfo@@QAE@ABV0@@Z @ 31 NONAME ; EapQtCertificateInfo::EapQtCertificateInfo(class EapQtCertificateInfo const &) - ?setConfigurationReference@EapQtConfigInterface@@QBE_NH@Z @ 32 NONAME ; bool EapQtConfigInterface::setConfigurationReference(int) const - ??1EapQtConfig@@QAE@XZ @ 33 NONAME ; EapQtConfig::~EapQtConfig(void) - ?selectedOuterTypes@EapQtConfigInterface@@QBE?AV?$QList@VEapQtPluginHandle@@@@XZ @ 34 NONAME ; class QList EapQtConfigInterface::selectedOuterTypes(void) const - ?deleteConfiguration@EapQtConfigInterface@@QBE_NXZ @ 35 NONAME ; bool EapQtConfigInterface::deleteConfiguration(void) const - ?readPacStoreConfiguration@EapQtConfigInterface@@QBE_NAAVEapQtPacStoreConfig@@@Z @ 36 NONAME ; bool EapQtConfigInterface::readPacStoreConfiguration(class EapQtPacStoreConfig &) const - ?supportedInnerTypes@EapQtConfigInterface@@QBE?AV?$QList@VEapQtPluginInfo@@@@ABVEapQtPluginHandle@@@Z @ 37 NONAME ; class QList EapQtConfigInterface::supportedInnerTypes(class EapQtPluginHandle const &) const - ?updateCertificates@EapQtConfigInterface@@QBE_NXZ @ 38 NONAME ; bool EapQtConfigInterface::updateCertificates(void) const - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/eabi/eapqtconfiginterfaceu.def --- a/securitysettings/qtconfigutils/eapqtconfiginterface/eabi/eapqtconfiginterfaceu.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -EXPORTS - _ZN11EapQtConfigC1Ev @ 1 NONAME - _ZN11EapQtConfigC2Ev @ 2 NONAME - _ZN11EapQtConfigD1Ev @ 3 NONAME - _ZN11EapQtConfigD2Ev @ 4 NONAME - _ZN19EapQtPacStoreConfigC1Ev @ 5 NONAME - _ZN19EapQtPacStoreConfigC2Ev @ 6 NONAME - _ZN19EapQtPacStoreConfigD1Ev @ 7 NONAME - _ZN19EapQtPacStoreConfigD2Ev @ 8 NONAME - _ZN20EapQtCertificateInfoC1ERKS_ @ 9 NONAME - _ZN20EapQtCertificateInfoC1Ev @ 10 NONAME - _ZN20EapQtCertificateInfoC2ERKS_ @ 11 NONAME - _ZN20EapQtCertificateInfoC2Ev @ 12 NONAME - _ZN20EapQtCertificateInfoD1Ev @ 13 NONAME - _ZN20EapQtCertificateInfoD2Ev @ 14 NONAME - _ZN20EapQtCertificateInfoaSERKS_ @ 15 NONAME - _ZN20EapQtConfigInterfaceC1ENS_13EapBearerTypeEi @ 16 NONAME - _ZN20EapQtConfigInterfaceC1Ev @ 17 NONAME - _ZN20EapQtConfigInterfaceC2ENS_13EapBearerTypeEi @ 18 NONAME - _ZN20EapQtConfigInterfaceC2Ev @ 19 NONAME - _ZN20EapQtConfigInterfaceD1Ev @ 20 NONAME - _ZN20EapQtConfigInterfaceD2Ev @ 21 NONAME - _ZNK11EapQtConfig5clearEv @ 22 NONAME - _ZNK11EapQtConfig5valueENS_10SettingsIdE @ 23 NONAME - _ZNK11EapQtConfig8setValueENS_10SettingsIdERK8QVariant @ 24 NONAME - _ZNK19EapQtPacStoreConfig5clearEv @ 25 NONAME - _ZNK19EapQtPacStoreConfig5valueENS_16PacStoreSettingsE @ 26 NONAME - _ZNK19EapQtPacStoreConfig8setValueENS_16PacStoreSettingsERK8QVariant @ 27 NONAME - _ZNK20EapQtCertificateInfo5clearEv @ 28 NONAME - _ZNK20EapQtCertificateInfo5valueENS_6ItemIdE @ 29 NONAME - _ZNK20EapQtCertificateInfo8setValueENS_6ItemIdERK8QVariant @ 30 NONAME - _ZNK20EapQtConfigInterface10uiInstanceERK17EapQtPluginHandleS2_ @ 31 NONAME - _ZNK20EapQtConfigInterface12validatorEapERK20EapQtExpandedEapTypeN11EapQtConfig10SettingsIdE @ 32 NONAME - _ZNK20EapQtConfigInterface16userCertificatesEv @ 33 NONAME - _ZNK20EapQtConfigInterface17readConfigurationERK17EapQtPluginHandleS2_R11EapQtConfig @ 34 NONAME - _ZNK20EapQtConfigInterface17saveConfigurationERK17EapQtPluginHandleRK11EapQtConfig @ 35 NONAME - _ZNK20EapQtConfigInterface17validatorPacStoreEN19EapQtPacStoreConfig16PacStoreSettingsE @ 36 NONAME - _ZNK20EapQtConfigInterface18selectedOuterTypesEv @ 37 NONAME - _ZNK20EapQtConfigInterface18updateCertificatesEv @ 38 NONAME - _ZNK20EapQtConfigInterface19deleteConfigurationEv @ 39 NONAME - _ZNK20EapQtConfigInterface19supportedInnerTypesERK17EapQtPluginHandle @ 40 NONAME - _ZNK20EapQtConfigInterface19supportedOuterTypesEv @ 41 NONAME - _ZNK20EapQtConfigInterface20isSupportedInnerTypeERK17EapQtPluginHandleS2_ @ 42 NONAME - _ZNK20EapQtConfigInterface20isSupportedOuterTypeERK17EapQtPluginHandle @ 43 NONAME - _ZNK20EapQtConfigInterface21setSelectedOuterTypesERK5QListI17EapQtPluginHandleE @ 44 NONAME - _ZNK20EapQtConfigInterface25readPacStoreConfigurationER19EapQtPacStoreConfig @ 45 NONAME - _ZNK20EapQtConfigInterface25savePacStoreConfigurationERK19EapQtPacStoreConfig @ 46 NONAME - _ZNK20EapQtConfigInterface25setConfigurationReferenceEi @ 47 NONAME - _ZNK20EapQtConfigInterface32certificateAuthorityCertificatesEv @ 48 NONAME - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/eapqtconfiginterface.pro --- a/securitysettings/qtconfigutils/eapqtconfiginterface/eapqtconfiginterface.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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 method configuration QT interface -# - -# %version: 25 % - - -TEMPLATE = lib -TARGET = eapqtconfiginterface - -# to export the public class -DEFINES += BUILD_EAP_QT_CONFIG_INTERFACE_DLL -DEPENDPATH += . - -# for using hb classes -CONFIG += hb - -# translations -TRANSLATIONS = cpeapuiplugins.ts - -# Storage for generated files -MOC_DIR = _build -RCC_DIR = _build -OBJECTS_DIR = _build - -INCLUDEPATH += \ - ../../inc - -HEADERS += \ - inc/eapqtcertificateinfo_p.h \ - inc/eapqtconfig_p.h \ - inc/eapqtconfiginterface_p.h \ - inc/eapqtpacstoreconfig_p.h \ - inc/eapqtvalidatorpacstorepassword.h \ - inc/eapqtvalidatorpacstorepasswordconfirm.h \ - inc/eapqtvalidatorpassword.h \ - inc/eapqtvalidatorrealm.h \ - inc/eapqtvalidatorusername.h - -SOURCES += \ - src/eapqtconfiginterface.cpp \ - src/eapqtconfiginterface_p.cpp \ - src/eapqtcertificateinfo.cpp \ - src/eapqtcertificateinfo_p.cpp \ - src/eapqtconfig.cpp \ - src/eapqtconfig_p.cpp \ - src/eapqtvalidatorpassword.cpp \ - src/eapqtvalidatorrealm.cpp \ - src/eapqtvalidatorusername.cpp \ - src/eapqtpacstoreconfig.cpp \ - src/eapqtpacstoreconfig_p.cpp \ - src/eapqtvalidatorpacstorepassword.cpp \ - src/eapqtvalidatorpacstorepasswordconfirm.cpp - -# qt libs -LIBS += \ - -leapqtplugininfo - -symbian { - # path to def files - defFilePath = . - - # symbian libs - LIBS += \ - -leapsymbiantools \ - -leaptools \ - -lecom \ - -lcmmanager - - TARGET.UID3 = 0x2002C2FC - TARGET.EPOCALLOWDLLDATA = 1 - - TARGET.CAPABILITY = CAP_GENERAL_DLL - - BLD_INF_RULES.prj_exports += \ - "rom/eapqtconfiginterface.iby CORE_MW_LAYER_IBY_EXPORT_PATH(eapqtconfiginterface.iby)" - - BLD_INF_RULES.prj_exports += \ - "rom/eapqtconfiginterface_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(eapqtconfiginterface_resources.iby)" -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtcertificateinfo_p.h --- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtcertificateinfo_p.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Certificate information data structure for EAP QT configuration interface - * - */ - -/* - * %version: 4 % - */ - -#ifndef EAPQTCERTIFICATEINFO_P_H -#define EAPQTCERTIFICATEINFO_P_H - -// System includes -#include -#include - -// User includes - -// Forward declarations - -// External data types - -// Constants - -// Class declaration -class EapQtCertificateInfoPrivate -{ - -public: - - // Data types - - EapQtCertificateInfoPrivate(); - ~EapQtCertificateInfoPrivate(); - - // copy constructor - EapQtCertificateInfoPrivate(const EapQtCertificateInfoPrivate &certInfo); - - QVariant value(const int id); - void setValue(const int id, const QVariant &newValue); - void clear(); - -private: - - // disable assignment - EapQtCertificateInfoPrivate &operator=(const EapQtCertificateInfoPrivate&); - -private: // data - - QHash mCerts; - -}; - -#endif // EAPQTCERTIFICATEINFO_P_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtconfig_p.h --- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtconfig_p.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method QT configuration - * - */ - -/* - * %version: 5 % - */ - -#ifndef EAPQTCONFIG_P_H -#define EAPQTCONFIG_P_H - -// System includes -#include -#include - -// User includes - -// Forward declarations - -// External data types - -// Constants - -// Class declaration -class EapQtConfigPrivate -{ - -public: - - // Data types - - EapQtConfigPrivate(); - ~EapQtConfigPrivate(); - -private: - - Q_DISABLE_COPY(EapQtConfigPrivate) - -private: // data - - QHash mSettings; - - // Friend classes - friend class EapQtConfig; -}; - -#endif // EAPQTCONFIG_P_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtconfiginterface_p.h --- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtconfiginterface_p.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,205 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method configuration QT interface private implementation - * - */ - -/* - * %version: 36 % - */ - -#ifndef EAPQTCONFIGINTERFACEPRIVATE_H -#define EAPQTCONFIGINTERFACEPRIVATE_H - -// System includes -#include -#include -#include -#include -#include -#include -#include - -// User includes - -// Forward declarations -class HbTranslator; -class CEapType; -class CEapGeneralSettings; -class CpEapPluginInterface; -class EapQtConfigInterface; - -// External data types - -// Constants - -// Class declaration -class EapQtConfigInterfacePrivate -{ - -public: - - // Data types - - // maximum lenghts (number of characters) for UTF-16 strings copied to EAP settings - static const unsigned int StringMaxLength = KGeneralStringMaxLength; - static const unsigned int CertLabelMaxLength = KMaxCertLabelLength; - static const unsigned int CertThumbprintMaxLength = KThumbprintMaxLength; - static const unsigned int CertSubjectKeyIdLength = KSHA1HashLengthBytes; - - // see eapqtinterface.h for documentation - - EapQtConfigInterfacePrivate(); - - EapQtConfigInterfacePrivate(const EapQtConfigInterface::EapBearerType bearerType, - const int iapId); - - ~EapQtConfigInterfacePrivate(); - - QList supportedOuterTypes(); - QList supportedInnerTypes(const EapQtPluginHandle &outerType); - - bool isSupportedOuterType(const EapQtPluginHandle &handle); - bool isSupportedInnerType(const EapQtPluginHandle &outerHandle, - const EapQtPluginHandle &innerHandle); - - QList certificateAuthorityCertificates(); - QList userCertificates(); - bool updateCertificates(); - - bool setConfigurationReference(const int iapId); - - QList selectedOuterTypes(); - bool setSelectedOuterTypes(const QList &outerHandles); - - bool readConfiguration(const EapQtPluginHandle &outerHandle, - const EapQtPluginHandle &pluginHandle, EapQtConfig &config); - bool saveConfiguration(const EapQtPluginHandle &pluginHandle, const EapQtConfig &config); - - bool deleteConfiguration(); - - EapQtValidator *validatorEap(const EapQtExpandedEapType &type, const EapQtConfig::SettingsId id); - - CpBaseSettingView *uiInstance(const EapQtPluginHandle &outerHandle, - const EapQtPluginHandle &pluginHandle); - - bool readPacStoreConfiguration(EapQtPacStoreConfig &config); - bool savePacStoreConfiguration(const EapQtPacStoreConfig &config); - EapQtValidator *validatorPacStore(const EapQtPacStoreConfig::PacStoreSettings id); - -private: - - // see cpp for documentation - - void loadPlugins(); - - bool fetchCertificates(QList* const caInfos, - QList* const clientInfos); - - void copyCertificateInfo(const RPointerArray* const certEntries, QList< - EapQtCertificateInfo>* const certInfos); - - void appendCertificateInfo(bool isCaCertificate, const EapQtCertificateInfo &certInfo, - RPointerArray* const certList); - - void appendEapTypes(const RArray* const eapTypes, - QList* const eapList); - - void getEapTypeIf(const EapQtPluginHandle &pluginHandle); - - void copyFromEapSettings(EAPSettings &eapSettings, EapQtConfig &config); - - void copyToEapSettings(const EapQtConfig &config, EAPSettings &eapSettings); - - TBool convertToTbool(bool value); - bool convertToBool(TBool value); - - bool isUiSupported(const QByteArray &eapType, int &pluginIndex) const; - - void checkInstanceThrowing() const; - - bool setEapDbIndex(const int iapId); - bool setEapWlanDbIndex(const int iapId); - - void shutdown(); - - EapQtConfigInterface::EapBearerType getEapBearer(); - - // comparison mehtod for qSort - // must be static for using via function pointers - static bool pluginLessThan(const EapQtPluginInfo &plugin1, const EapQtPluginInfo &plugin2); - - Q_DISABLE_COPY(EapQtConfigInterfacePrivate) - -private: // data - - /// QT members - - // is current instance for validators only - const bool mValidatorInstance; - - // list of available EAP UIs - QList mPlugins; - - // list of EAPs supported by UI - QList mPluginInfos; - - // list of supported outer EAP methods, - // combination of UI and EAP server support - QList mSupportedOuterTypes; - - // list of supported inner EAP methods queried last time, - // combination of UI and EAP server support - QList mSupportedInnerTypes; - - // currenly loaded outer EAP type - EapQtPluginHandle mLastOuterHandle; - - // translator object for EAP UIs - QScopedPointer mTranslator; - - // read CA and user certificates - QList mCaCertificates; - QList mUserCertificates; - - /// Symbian members - - // pointers to EAP server interfaces - QScopedPointer mEapGsIf; - QScopedPointer mEapTypeIf; - - // current IAP ID - int mIapId; - - // current bearer - TIndexType mEapBearer; - - // current EAP database reference to current IAP - TInt mEapDbIndex; - - // if mEapDbIndex is valid (i.e. current IAP is not - // EapQtConfigInterface::IapIdUndefined) - bool mEapDbIndexValid; - - // current loaded EAP server type interface - TEapExpandedType mCurrentServerEapType; - - // EAP server lists of its supported outer EAP methods - RArray mOuterEapsOn; - RArray mOuterEapsOff; - -}; - -#endif // EAPQTCONFIGINTERFACEPRIVATE_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtpacstoreconfig_p.h --- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtpacstoreconfig_p.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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-FAST PAC store configuration data (private part) - * - */ - -/* - * %version: 2 % - */ - -#ifndef EAPQTPACSTORECONFIG_P_H -#define EAPQTPACSTORECONFIG_P_H - -// System includes -#include -#include - -// User includes - -// Forward declarations - -// External data types - -// Constants - -// Class declaration -class EapQtPacStoreConfigPrivate -{ - -public: - - // Data types - - EapQtPacStoreConfigPrivate(); - ~EapQtPacStoreConfigPrivate(); - -private: - - Q_DISABLE_COPY(EapQtPacStoreConfigPrivate) - -private: // data - - QHash mPacStoreSettings; - - // Friend classes - friend class EapQtPacStoreConfig; - -}; - -#endif // EAPQTPACSTORECONFIG_P_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpacstorepassword.h --- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpacstorepassword.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method validator: PAC Store password - * - */ - -/* - * %version: 6 % - */ - -#ifndef EAPQTVALIDATORPACSTOREPASSWORD_H -#define EAPQTVALIDATORPACSTOREPASSWORD_H - -// System includes -#include - -// User includes - -// Forward declarations - -// External data types - -// Constants - -// Class declaration -class EapQtValidatorPacStorePassword : public EapQtValidator -{ - -public: - - // Data types - - EapQtValidatorPacStorePassword(); - ~EapQtValidatorPacStorePassword(); - - virtual EapQtValidator::Status validate(const QVariant& value); - virtual void updateEditor(HbLineEdit* const edit); - -private: - - Q_DISABLE_COPY(EapQtValidatorPacStorePassword) - -}; - -#endif // EAPQTVALIDATORPACSTOREPASSWORD_H - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpacstorepasswordconfirm.h --- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpacstorepasswordconfirm.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method validator: PAC Store password confirmation - * - */ - -/* - * %version: 5 % - */ - -#ifndef EAPQTVALIDATORPACSTOREPASSWORDCONFIRM_H -#define EAPQTVALIDATORPACSTOREPASSWORDCONFIRM_H - -// System includes -#include - -// User includes - -// Forward declarations - -// External data types - -// Constants - -// Class declaration -class EapQtValidatorPacStorePasswordConfirm : public EapQtValidator -{ - -public: - - // Data types - - EapQtValidatorPacStorePasswordConfirm(); - ~EapQtValidatorPacStorePasswordConfirm(); - - virtual EapQtValidator::Status validate(const QVariant& value); - virtual void updateEditor(HbLineEdit* const edit); - -private: - - Q_DISABLE_COPY(EapQtValidatorPacStorePasswordConfirm) - -}; - -#endif // EAPQTVALIDATORPACSTOREPASSWORDCONFIRM_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpassword.h --- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpassword.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method validator: password - * - */ - -/* - * %version: 5 % - */ - -#ifndef EAPQTVALIDATORPASSWORD_H -#define EAPQTVALIDATORPASSWORD_H - -// System includes -#include -#include - -// User includes - -// Forward declarations - -// External data types - -// Constants - -// Class declaration -class EapQtValidatorPassword : public EapQtValidator -{ - -public: - - // Data types - - explicit EapQtValidatorPassword(const EapQtExpandedEapType& type); - ~EapQtValidatorPassword(); - - // from EapQtValidator - EapQtValidator::Status validate(const QVariant& value); - void updateEditor(HbLineEdit* const edit); - -private: - - EapQtValidatorPassword(); - Q_DISABLE_COPY(EapQtValidatorPassword) - - EapQtValidator::Status validateGeneral(const QVariant& value); - void updateEditorGeneral(HbLineEdit* const edit); - -private: // data - - EapQtExpandedEapType mEapType; - -}; - -#endif // EAPQTVALIDATORPASSWORD_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorrealm.h --- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorrealm.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method validator: realm - * - */ - -/* - * %version: 5 % - */ - -#ifndef EAPQTVALIDATORREALM_H -#define EAPQTVALIDATORREALM_H - -// System includes -#include -#include - -// User includes - -// Forward declarations - -// External data types - -// Constants - -// Class declaration -class EapQtValidatorRealm : public EapQtValidator -{ - -public: - - // Data types - - explicit EapQtValidatorRealm(const EapQtExpandedEapType& type); - ~EapQtValidatorRealm(); - - // from EapQtValidator - EapQtValidator::Status validate(const QVariant& value); - void updateEditor(HbLineEdit* const edit); - -private: - - EapQtValidatorRealm(); - Q_DISABLE_COPY(EapQtValidatorRealm) - - EapQtValidator::Status validateGeneral(const QVariant& value); - void updateEditorGeneral(HbLineEdit* const edit); - -private: // data - - EapQtExpandedEapType mEapType; - -}; - -#endif // EAPQTVALIDATORREALM_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorusername.h --- a/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorusername.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method validator: username - * - */ - -/* - * %version: 7 % - */ - -#ifndef EAPQTVALIDATORUSERNAME_H -#define EAPQTVALIDATORUSERNAME_H - -// System includes -#include -#include - -// User includes - -// Forward declarations - -// External data types - -// Constants - -// Class declaration -class EapQtValidatorUsername: public EapQtValidator -{ - -public: - - // Data types - - explicit EapQtValidatorUsername(const EapQtExpandedEapType& type); - ~EapQtValidatorUsername(); - - // from EapQtValidator - EapQtValidator::Status validate(const QVariant& value); - void updateEditor(HbLineEdit* const edit); - -private: - - EapQtValidatorUsername(); - Q_DISABLE_COPY(EapQtValidatorUsername) - - EapQtValidator::Status validateGeneral(const QVariant& value); - bool validateCharacters(const QString& str); - void updateEditorGeneral(HbLineEdit* const edit); - bool isEmptyAllowed(); - -private: // data - - EapQtExpandedEapType mEapType; - -}; - -#endif // EAPQTVALIDATORUSERNAME_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/rom/eapqtconfiginterface.iby --- a/securitysettings/qtconfigutils/eapqtconfiginterface/rom/eapqtconfiginterface.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method configuration QT interface - * - */ - -/* - * %version: 6 % - */ - -#ifndef EAPQTCONFIGINTERFACE_IBY -#define EAPQTCONFIGINTERFACE_IBY - -#include -#include - -#ifdef __PROTOCOL_WLAN - -file=ABI_DIR/BUILD_DIR/eapqtconfiginterface.dll SHARED_LIB_DIR/eapqtconfiginterface.dll - -#endif // __PROTOCOL_WLAN - -#endif // EAPQTCONFIGINTERFACE_IBY diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/rom/eapqtconfiginterface_resources.iby --- a/securitysettings/qtconfigutils/eapqtconfiginterface/rom/eapqtconfiginterface_resources.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method configuration QT interface - * - */ - -/* - * %version: 2 % - */ - -#ifndef EAPQTCONFIGINTERFACE_RES_IBY -#define EAPQTCONFIGINTERFACE_RES_IBY - -#include -#include - -#ifdef __PROTOCOL_WLAN - -data=DATAZ_/QT_TRANSLATIONS_DIR/cpeapuiplugins.qm QT_TRANSLATIONS_DIR/cpeapuiplugins.qm - -#endif // __PROTOCOL_WLAN - -#endif // EAPQTCONFIGINTERFACE_RES_IBY diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtcertificateinfo.cpp --- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtcertificateinfo.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Certificate information data structure for EAP QT configuration interface - * - */ - -/* - * %version: 6 % - */ - -// System includes -#include - -// User includes -#include "eapqtcertificateinfo_p.h" - -/*! - * \class EapQtCertificateInfo - * \brief Public implementation of certificate information data - * structure for EAP QT configuration interface - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtCertificateInfo::EapQtCertificateInfo() : - d_ptr(new EapQtCertificateInfoPrivate) -{ -} - -EapQtCertificateInfo::~EapQtCertificateInfo() -{ - // scoped pointer deleted automatically -} - -EapQtCertificateInfo::EapQtCertificateInfo(const EapQtCertificateInfo &certInfo) : - d_ptr(new EapQtCertificateInfoPrivate(*(certInfo.d_ptr))) -{ -} - -EapQtCertificateInfo& EapQtCertificateInfo::operator=(const EapQtCertificateInfo &certInfo) -{ - // check if assigning to myself - if (this != &certInfo) { - d_ptr.reset(new EapQtCertificateInfoPrivate(*(certInfo.d_ptr))); - } - return *this; -} - -QVariant EapQtCertificateInfo::value(const ItemId id) const -{ - // check for valid range, otherwise memory is consumed for no reason - if(id >= ItemIdLast) { - qDebug("ERROR: EapQtCertificateInfo::value - invalid id!"); - return QVariant::Invalid; - } - return d_ptr->value(id); -} - -void EapQtCertificateInfo::setValue(const ItemId id, const QVariant &newValue) const -{ - // check for valid range, otherwise memory is consumed for no reason - if (id < ItemIdLast) { - d_ptr->setValue(id, newValue); - } - else { - qDebug("ERROR: EapQtCertificateInfo::setValue - invalid id!"); - } -} - -void EapQtCertificateInfo::clear() const -{ - d_ptr->clear(); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtcertificateinfo_p.cpp --- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtcertificateinfo_p.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Certificate information data structure for EAP QT configuration interface - * - */ - -/* - * %version: 6 % - */ - -// System includes - -// User includes -#include "eapqtcertificateinfo_p.h" - -/*! - * \class EapQtCertificateInfoPrivate - * \brief Private implementation of certificate information data - * structure for EAP QT configuration interface - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtCertificateInfoPrivate::EapQtCertificateInfoPrivate() -{ -} - -EapQtCertificateInfoPrivate::~EapQtCertificateInfoPrivate() -{ -} - -EapQtCertificateInfoPrivate::EapQtCertificateInfoPrivate( - const EapQtCertificateInfoPrivate &certInfo) -{ - mCerts = certInfo.mCerts; -} - -QVariant EapQtCertificateInfoPrivate::value(const int id) -{ - return mCerts[id]; -} - -void EapQtCertificateInfoPrivate::setValue(const int id, const QVariant &newValue) -{ - mCerts[id] = newValue; -} - -void EapQtCertificateInfoPrivate::clear() -{ - mCerts.clear(); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfig.cpp --- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfig.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,166 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method QT configuration - * - */ - -/* - * %version: 13 % - */ - -// System includes -#include - -// User includes -#include "eapqtconfig_p.h" - -/*! - * \class EapQtConfig - * \brief Public implementation of EAP method QT configuration data - * structure for EAP QT configuration interface - * - * Following lists the applicable settings per EAP method: - * - * EAP-SIM, EAP-AKA - * - UsernameAutomatic - * - Username - * - RealmAutomatic - * - Realm - * - UsePseudonyms - * - SessionValidityTime - * - OuterType - * - * EAP-GTC, LEAP, EAP-MSCHAPv2, Plain-MSCHAPv2, PAP - * - Username - * - PasswordPrompt - * - Password - * - PasswordStored - * - PasswordClear - * - SessionValidityTime - * - OuterType - * - * EAP-TLS - * - UsernameAutomatic - * - Username - * - RealmAutomatic - * - Realm - * - VerifyServerRealm - * - ClientAuthenticationRequired - * - SessionValidityTime - * - CipherSuites - * - AuthorityCertificateAutomatic - * - AuthorityCertificate - * - UserCertificate - * - OuterType - * - UseIdentityPrivacy - * - * EAP-TTLS - * - UsernameAutomatic - * - Username - * - RealmAutomatic - * - Realm - * - VerifyServerRealm - * - ClientAuthenticationRequired - * - SessionValidityTime - * - CipherSuites - * - AuthorityCertificateAutomatic - * - AuthorityCertificate - * - UserCertificate - * - InnerType - * - UseIdentityPrivacy - * - * EAP-FAST - * - UsernameAutomatic - * - Username - * - RealmAutomatic - * - Realm - * - VerifyServerRealm - * - ClientAuthenticationRequired - * - SessionValidityTime - * - CipherSuites - * - AuthorityCertificateAutomatic - * - AuthorityCertificate - * - UserCertificate - * - InnerType - * - ProvisioningModeAuthenticated - * - ProvisioningModeUnauthenticated - * - PACGroupReference - * - WarnADHPNoPAC - * - WarnADHPNoMatchingPAC - * - WarnNotDefaultServer - * - UseIdentityPrivacy - * - * PEAP - * - UsernameAutomatic - * - Username - * - RealmAutomatic - * - Realm - * - VerifyServerRealm - * - ClientAuthenticationRequired - * - SessionValidityTime - * - CipherSuites - * - PeapVersion0Allowed - * - PeapVersion1Allowed - * - PeapVersion2Allowed - * - AuthorityCertificateAutomatic - * - AuthorityCertificate - * - UserCertificate - * - InnerType - * - UseIdentityPrivacy - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtConfig::EapQtConfig() : - d_ptr(new EapQtConfigPrivate) -{ -} - -EapQtConfig::~EapQtConfig() -{ - // scoped pointer deleted automatically -} - -QVariant EapQtConfig::value(const SettingsId id) const -{ - // check for valid range, otherwise memory is consumed for no reason - if (id >= SettingsIdLast) { - qDebug("ERROR: EapQtConfig::value - invalid id!"); - return QVariant::Invalid; - } - return d_ptr->mSettings[id]; -} - -void EapQtConfig::setValue(const SettingsId id, const QVariant &newValue) const -{ - // check for valid range, otherwise memory is consumed for no reason - if (id < SettingsIdLast) { - d_ptr->mSettings[id] = newValue; - } - else { - qDebug("ERROR: EapQtConfig::setValue - invalid id!"); - } -} - -void EapQtConfig::clear() const -{ - d_ptr->mSettings.clear(); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfig_p.cpp --- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfig_p.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method QT configuration - * - */ - -/* - * %version: 3 % - */ - -// System includes - -// User includes -#include "eapqtconfig_p.h" - -/*! - * \class EapQtConfigPrivate - * \brief Private implementation of EAP method QT configuration data - * structure for EAP QT configuration interface - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtConfigPrivate::EapQtConfigPrivate() -{ - // nothing to do -} - -EapQtConfigPrivate::~EapQtConfigPrivate() -{ - // nothing to do -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfiginterface.cpp --- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfiginterface.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,154 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method configuration QT interface - * - */ - -/* - * %version: 25 % - */ - -// System includes -#include -#include -#include - -// User includes -#include "eapqtconfiginterface_p.h" -#include "cpeapplugininterface.h" - -/*! - * \class EapQtConfigInterface - * \brief Public implementation of EAP QT configuration interface - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtConfigInterface::EapQtConfigInterface() : - d_ptr(new EapQtConfigInterfacePrivate) -{ -} - -EapQtConfigInterface::EapQtConfigInterface(const EapBearerType bearerType, const int iapId) : - d_ptr(new EapQtConfigInterfacePrivate(bearerType, iapId)) -{ -} - -EapQtConfigInterface::~EapQtConfigInterface() -{ - // d_ptr is scoped pointer, deleted automatically -} - -bool EapQtConfigInterface::setConfigurationReference(const int iapId) const -{ - return d_ptr->setConfigurationReference(iapId); -} - -QList EapQtConfigInterface::supportedOuterTypes() const -{ - return d_ptr->supportedOuterTypes(); -} - -QList EapQtConfigInterface::supportedInnerTypes(const EapQtPluginHandle &outerType) const -{ - return d_ptr->supportedInnerTypes(outerType); -} - -bool EapQtConfigInterface::updateCertificates() const -{ - return d_ptr->updateCertificates(); -} - -QList EapQtConfigInterface::certificateAuthorityCertificates() const -{ - return d_ptr->certificateAuthorityCertificates(); -} - -QList EapQtConfigInterface::userCertificates() const -{ - return d_ptr->userCertificates(); -} - -CpBaseSettingView *EapQtConfigInterface::uiInstance(const EapQtPluginHandle &outerHandle, - const EapQtPluginHandle &pluginHandle) const -{ - return d_ptr->uiInstance(outerHandle, pluginHandle); -} - -QList EapQtConfigInterface::selectedOuterTypes() const -{ - return d_ptr->selectedOuterTypes(); -} - -bool EapQtConfigInterface::isSupportedOuterType(const EapQtPluginHandle &handle) const -{ - return d_ptr->isSupportedOuterType(handle); -} - -bool EapQtConfigInterface::isSupportedInnerType(const EapQtPluginHandle &outerHandle, - const EapQtPluginHandle& innerHandle) const -{ - return d_ptr->isSupportedInnerType(outerHandle, innerHandle); -} - -bool EapQtConfigInterface::setSelectedOuterTypes(const QList &outerHandles) const -{ - return d_ptr->setSelectedOuterTypes(outerHandles); -} - -bool EapQtConfigInterface::readConfiguration(const EapQtPluginHandle &outerHandle, - const EapQtPluginHandle &pluginHandle, EapQtConfig &config) const -{ - return d_ptr->readConfiguration(outerHandle, pluginHandle, config); -} - -bool EapQtConfigInterface::saveConfiguration(const EapQtPluginHandle &pluginInfo, - const EapQtConfig &config) const -{ - return d_ptr->saveConfiguration(pluginInfo, config); -} - -bool EapQtConfigInterface::deleteConfiguration() const -{ - return d_ptr->deleteConfiguration(); -} - -EapQtValidator *EapQtConfigInterface::validatorEap(const EapQtExpandedEapType &type, - const EapQtConfig::SettingsId id) const -{ - return d_ptr->validatorEap(type, id); -} - -bool EapQtConfigInterface::readPacStoreConfiguration(EapQtPacStoreConfig &config) const -{ - return d_ptr->readPacStoreConfiguration(config); -} - -bool EapQtConfigInterface::savePacStoreConfiguration(const EapQtPacStoreConfig &config) const -{ - return d_ptr->savePacStoreConfiguration(config); -} - -EapQtValidator *EapQtConfigInterface::validatorPacStore( - const EapQtPacStoreConfig::PacStoreSettings id) const -{ - return d_ptr->validatorPacStore(id); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfiginterface_p.cpp --- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfiginterface_p.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1934 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method configuration QT interface - * - */ - -/* - * %version: 52 % - */ - -// System includes -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// User includes -#include "cpeapplugininterface.h" -#include "eapqtconfiginterface_p.h" -#include "eapqtvalidatorpassword.h" -#include "eapqtvalidatorusername.h" -#include "eapqtvalidatorrealm.h" -#include "eapqtvalidatorpacstorepassword.h" -#include "eapqtvalidatorpacstorepasswordconfirm.h" - -/*! - * \class EapQtConfigInterfacePrivate - * \brief Private implementation of EAP QT configuration interface - */ - -// External function prototypes - -// Local constants -static const QString eapTranslationFile("cpeapuiplugins"); - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtConfigInterfacePrivate::EapQtConfigInterfacePrivate() : - mValidatorInstance(true), - mLastOuterHandle(EapQtPluginHandle::PluginUndefined), - mTranslator(NULL), - mEapGsIf(NULL), - mEapTypeIf(NULL), - mIapId(0), - mEapBearer(ELan), - mEapDbIndex(EapQtConfigInterface::IapIdUndefined), - mEapDbIndexValid(false) -{ - qDebug("EapQtConfigInterfacePrivate() - created validator instance, this = 0x%08x", this); -} - -EapQtConfigInterfacePrivate::EapQtConfigInterfacePrivate( - const EapQtConfigInterface::EapBearerType bearerType, const int iapId) : - mValidatorInstance(false), - mLastOuterHandle(EapQtPluginHandle::PluginUndefined), - mTranslator(NULL), - mEapGsIf(NULL), - mEapTypeIf(NULL), - mIapId(iapId), - mEapBearer(ELan), - mEapDbIndex(EapQtConfigInterface::IapIdUndefined), - mEapDbIndexValid(false) -{ - qDebug("EapQtConfigInterfacePrivate() - creating non-validator instance, this = 0x%08x", this); - - switch (bearerType) { - case EapQtConfigInterface::EapBearerTypeVpn: - mEapBearer = EVpn; - break; - default: - // All others default to EapQtConfigInterface::EapBearerTypeWlan i.e. ELan - mEapBearer = ELan; - } - - if (!setEapDbIndex(iapId)) { - qDebug("ERROR: EapQtConfigInterfacePrivate() - setIapId failed, bearer = %d, index = %d", - mEapBearer, iapId); - shutdown(); - // throw an exception - qt_symbian_throwIfError(KErrNotFound); - } - - // load plugins after everything else is ok - qDebug("EapQtConfigInterfacePrivate() - load plugins"); - loadPlugins(); - - qDebug("EapQtConfigInterfacePrivate() - ends"); -} - -EapQtConfigInterfacePrivate::~EapQtConfigInterfacePrivate() -{ - qDebug("EapQtConfigInterfacePrivate::~EapQtConfigInterfacePrivate(), this = 0x%08x", this); - - shutdown(); -} - -void EapQtConfigInterfacePrivate::shutdown() -{ - qDebug("EapQtConfigInterfacePrivate::shutdown(), this = 0x%08x", this); - - mOuterEapsOn.Close(); - mOuterEapsOff.Close(); - - // cleanup Ecom - REComSession::FinalClose(); - - // mTranslator gets deleted automatically (QScopedPointer) - // mEapTypeIf gets deleted automatically (QScopedPointer) - // mEapGsIf gets deleted automatically (QScopedPointer) -} - -bool EapQtConfigInterfacePrivate::setConfigurationReference(const int iapId) -{ - qDebug("EapQtConfigInterfacePrivate::setConfigurationReference - requested id: %d, this = 0x%08x", iapId, this); - - checkInstanceThrowing(); - return setEapDbIndex(iapId); -} - -bool EapQtConfigInterfacePrivate::setEapDbIndex(const int iapId) -{ - - qDebug("EapQtConfigInterfacePrivate::setIapId - requested id: %d, this = 0x%08x", iapId, this); - - - // optimization: do not re-create the interface if the reference does - // not change and mEapGsIf exists already - - // WLAN reference is checked after setEapWlanDbIndex below since iapId may be - // different than WLAN service ID - - // case for EapQtConfigInterface::IapIdUndefined i.e. setIapId was called - // with a negative id last time and now again - if (!mEapDbIndexValid && !mEapGsIf.isNull() && iapId < 0) { - qDebug( - "EapQtConfigInterfacePrivate::setIapId - interface created for IapIdUndefined already"); - return true; - } - - // case for VPN (or any other bearer) in which iap id equals EAP db index - if (mEapBearer != ELan && mEapDbIndexValid && !mEapGsIf.isNull() && iapId == mEapDbIndex) { - qDebug( - "EapQtConfigInterfacePrivate::setIapId - interface created for requested IAP ID for VPN already"); - return true; - } - - // save the current id for checking if WLAN reference changes or not - TInt previousEapDbIndex = mEapDbIndex; - bool wlanIndexOk = true; - - // allow accessing certain methods with negative iapId - if (iapId < 0) { - // set to zero to be able to create EAP server instances - mEapDbIndex = 0; - mEapDbIndexValid = false; - } - // for real usage iapId must not be negative - else { - // for VPN - mIapId = iapId; - mEapDbIndex = iapId; - mEapDbIndexValid = true; - - // for WLAN - if (mEapBearer == ELan) { - // get WLAN service ID as the reference - mEapDbIndexValid = setEapWlanDbIndex(iapId); - wlanIndexOk = mEapDbIndexValid; - // do not re-create if the interface is ok for the new (i.e. same) index already - if (!mEapGsIf.isNull() && mEapDbIndex == previousEapDbIndex) { - qDebug() << "EapQtConfigInterfacePrivate::setIapId - interface" - << "created for requested IAP ID for WLAN already"; - return true; - } - - } - } - - // delete possibly existing instances - mEapGsIf.reset(NULL); - mEapTypeIf.reset(NULL); - - mCurrentServerEapType = *EapExpandedTypeNone.GetType(); - mLastOuterHandle = EapQtPluginHandle::PluginUndefined; - - if (!wlanIndexOk && mEapBearer == ELan) { - // setEapWlanDbIndex was called and failed - qDebug("ERROR: EapQtConfigInterfacePrivate::setIapId() - setEapWlanDbIndex failed"); - return false; - } - - qDebug( - "EapQtConfigInterfacePrivate::setIapId() - calls CEapGeneralSettings::NewL(), bearer = %d, index = %d", - mEapBearer, mEapDbIndex); - - // load EAP general settings interface - CEapGeneralSettings* tmp = NULL; - TRAPD(err, tmp = CEapGeneralSettings::NewL(mEapBearer, mEapDbIndex)); - if (err != KErrNone) { - qDebug("ERROR: EapQtConfigInterfacePrivate::setIapId - CEapGeneralSettings::NewL() failed"); - mEapDbIndexValid = false; - return false; - } - - // set to the created instance - mEapGsIf.reset(tmp); - - return true; -} - -bool EapQtConfigInterfacePrivate::setEapWlanDbIndex(const int iapId) -{ - qDebug("EapQtConfigInterfacePrivate::setEapWlanDbIndex - requested id: %d, this = 0x%08x", iapId, this); - - RCmManager cmm; - TRAPD(err, cmm.OpenL()); - if (err != KErrNone) { - qDebug("ERROR: EapQtConfigInterfacePrivate::setEapWlanDbIndex - cmm.OpenL() failed", - mEapBearer, iapId); - mEapDbIndex = EapQtConfigInterface::IapIdUndefined; - mIapId = 0; - return false; - } - - TRAP(err, mEapDbIndex = cmm.GetConnectionMethodInfoIntL(iapId, CMManager::EWlanServiceId)); - if (err != KErrNone) { - qDebug( - "ERROR: EapQtConfigInterfacePrivate::setEapWlanDbIndex - cmm.GetConnectionMethodInfoIntL() failed", - mEapBearer, iapId); - cmm.Close(); - mEapDbIndex = EapQtConfigInterface::IapIdUndefined; - mIapId = 0; - return false; - } - - cmm.Close(); - - qDebug("EapQtConfigInterfacePrivate::setEapWlanDbIndex - obtained WLAN service id: %d", - mEapDbIndex); - - return true; -} - -void EapQtConfigInterfacePrivate::checkInstanceThrowing() const -{ - qDebug() << "EapQtConfigInterfacePrivate::checkInstanceThrowing() - mValidatorInstance:" - << mValidatorInstance; - - if (mValidatorInstance) { - qDebug( - "ERROR: EapQtConfigInterfacePrivate::checkInstanceThrowing - method not supported by this instance"); - qt_symbian_throwIfError(KErrNotSupported); - } -} - -void EapQtConfigInterfacePrivate::appendEapTypes(const RArray* const eapTypes, - QList* const eapList) -{ - qDebug("EapQtConfigInterfacePrivate::appendEapTypes(), this = 0x%08x", this); - - Q_ASSERT(eapTypes); - Q_ASSERT(eapList); - - qDebug("EapQtConfigInterfacePrivate - appendEapTypes, EAP count = %d", eapTypes->Count()); - - QByteArray tmpEap; - for (int ind = 0; ind < eapTypes->Count(); ind++) { - tmpEap.append(reinterpret_cast ((*eapTypes)[ind].GetValue().Ptr()), - (*eapTypes)[ind].GetValue().Length()); - eapList->append(tmpEap); - qDebug() << "EapQtConfigInterfacePrivate - appendEapTypes added EAP: " << tmpEap.toHex(); - tmpEap.clear(); - } -} - -QList EapQtConfigInterfacePrivate::supportedOuterTypes() -{ - qDebug("EapQtConfigInterfacePrivate::supportedOuterTypes(), this = 0x%08x", this); - - checkInstanceThrowing(); - - if (mEapGsIf.isNull()) { - qDebug("ERROR: EapQtConfigInterfacePrivate::supportedOuterTypes() - mEapGsIf is NULL"); - mOuterEapsOn.Reset(); - mOuterEapsOff.Reset(); - // return empty list - mSupportedOuterTypes.clear(); - return mSupportedOuterTypes; - } - - // get outer EAPs from EAP server, - // returned in two lists: enabled and disabled outer EAPs - // do this always as the list might have changed and mOuterEapsOn/Off are needed in - // other methods - - mOuterEapsOn.Reset(); - mOuterEapsOff.Reset(); - - qDebug("EapQtConfigInterfacePrivate::supportedOuterTypes() - calls GetEapMethods()"); - - TUint err = mEapGsIf->GetEapMethods(mOuterEapsOn, mOuterEapsOff); - if (err != KErrNone) { - qDebug("ERROR: EapQtConfigInterfacePrivate::supportedOuterTypes() - GetEapMethods failed"); - mOuterEapsOn.Reset(); - mOuterEapsOff.Reset(); - // return empty list - mSupportedOuterTypes.clear(); - return mSupportedOuterTypes; - } - - // optimization: collect the list only once per instance life time - // since no new EAPs will appear to the combination of mOuterEapsOn and mOuterEapsOff - if (mSupportedOuterTypes.count() > 0) { - qDebug( - "EapQtConfigInterfacePrivate - supportedOuterTypes: supported EAPs already listed, return stored list"); - return mSupportedOuterTypes; - } - - qDebug("EapQtConfigInterfacePrivate - supportedOuterTypes: copy response to QList"); - - // copy response to qlist for easier comparison - QList outerEaps; - - appendEapTypes(&mOuterEapsOn, &outerEaps); - appendEapTypes(&mOuterEapsOff, &outerEaps); - - qDebug("EapQtConfigInterfacePrivate - supportedOuterTypes: EAP server outer type count: %d", - outerEaps.count()); - - qDebug("EapQtConfigInterfacePrivate - supportedOuterTypes: collected UI plugin count: %d", - mPluginInfos.count()); - - // set mSupportedOuterTypes to contain only EAPs that both UI and EAP server support - QByteArray tmpEap; - for (int ind = 0; ind < mPluginInfos.count(); ind++) { - tmpEap = mPluginInfos[ind].pluginHandle().type().eapExpandedData(); - if (outerEaps.contains(tmpEap)) { - mSupportedOuterTypes.append(mPluginInfos[ind]); - qDebug() << "EapQtConfigInterfacePrivate - supportedOuterTypes: appended EAP: " - << tmpEap.toHex(); - } - } - - // sort the list - qSort(mSupportedOuterTypes.begin(), mSupportedOuterTypes.end(), - EapQtConfigInterfacePrivate::pluginLessThan); - - qDebug("EapQtConfigInterfacePrivate - supportedOuterTypes: supported EAP count: %d", - mSupportedOuterTypes.count()); - - return mSupportedOuterTypes; -} - -// checks if UI plugins support supplied eapType and returns the -// index (in mPluginInfos) of the supporting plugin -bool EapQtConfigInterfacePrivate::isUiSupported(const QByteArray &eapType, int &pluginIndex) const -{ - qDebug("EapQtConfigInterfacePrivate::isUiSupported(), this = 0x%08x", this); - - bool ret = false; - for (int ind = 0; ind < mPluginInfos.count(); ind++) { - qDebug("EapQtConfigInterfacePrivate::isUiSupported() - checking index: %d", ind); - pluginIndex = ind; - if (eapType == mPluginInfos[ind].pluginHandle().type().eapExpandedData()) { - qDebug("EapQtConfigInterfacePrivate::isUiSupported() - ui supported!"); - ret = true; - break; - } - } - return ret; -} - -QList EapQtConfigInterfacePrivate::supportedInnerTypes( - const EapQtPluginHandle &outer) -{ - qDebug("EapQtConfigInterfacePrivate::supportedInnerTypes(), this = 0x%08x", this); - - checkInstanceThrowing(); - - // check if we already have up-to-date data - if (mLastOuterHandle == outer) { - return mSupportedInnerTypes; - } - - // clear previous query result - mSupportedInnerTypes.clear(); - mLastOuterHandle = EapQtPluginHandle::PluginUndefined; - - qDebug() - << "EapQtConfigInterfacePrivate::supportedInnerTypes() - calls isSupportedOuterType for: " - << outer.type().eapExpandedData().toHex(); - - // check if the queried outer EAP is supported - if (!isSupportedOuterType(outer)) { - qDebug() - << "ERROR: EapQtConfigInterfacePrivate::supportedInnerTypes() - queried outer type not supported: " - << outer.type().eapExpandedData().toHex(); - // return empty list - return mSupportedInnerTypes; - } - - qDebug("EapQtConfigInterfacePrivate::supportedInnerTypes() - calls getEapTypeIf"); - - // get outer EAP settings interface - getEapTypeIf(outer); - if (mEapTypeIf.isNull()) { - qDebug("ERROR: EapQtConfigInterfacePrivate::supportedInnerTypes() - getEapTypeIf failed"); - // return empty list - return mSupportedInnerTypes; - } - - // get outer EAP settings - EAPSettings eapSettings; - TRAPD(err, mEapTypeIf->GetConfigurationL(eapSettings)); - // getEapTypeIf has set mCurrentServerEapType correctly for comparison - if (err != KErrNone || eapSettings.iEAPExpandedType != mCurrentServerEapType) { - qDebug() - << "ERROR: EapQtConfigInterfacePrivate::supportedInnerTypes - GetConfigurationL failed, code:" - << err; - // clear the instance so that the next attempt starts from scratch - mEapTypeIf.reset(NULL); - // return empty list - return mSupportedInnerTypes; - } - - // store inner EAPs supported by EAP server - QList innerEaps; - appendEapTypes(&(eapSettings.iEnabledEncapsulatedEAPExpandedTypes), &innerEaps); - appendEapTypes(&(eapSettings.iDisabledEncapsulatedEAPExpandedTypes), &innerEaps); - - int pluginIndex = 0; - for (int ind = 0; ind < innerEaps.count(); ind++) { - // report only EAPs which do have an UI plugin - if (isUiSupported(innerEaps[ind], pluginIndex)) { - mSupportedInnerTypes.append(mPluginInfos[pluginIndex]); - qDebug() << "EapQtConfigInterfacePrivate::supportedInnerTypes - added inner EAP: " - << innerEaps[ind].toHex(); - } - } - - mLastOuterHandle = outer; - - // sort the list - qSort(mSupportedInnerTypes.begin(), mSupportedInnerTypes.end(), - EapQtConfigInterfacePrivate::pluginLessThan); - - qDebug("EapQtConfigInterfacePrivate - supportedInnerTypes: supported EAP count: %d", - mSupportedInnerTypes.count()); - - return mSupportedInnerTypes; -} - -void EapQtConfigInterfacePrivate::copyCertificateInfo( - const RPointerArray* const certEntries, - QList* const certInfos) -{ - qDebug("EapQtConfigInterfacePrivate::copyCertificateInfo(), this = 0x%08x", this); - - Q_ASSERT(certEntries); - Q_ASSERT(certInfos); - - certInfos->clear(); - - EapQtCertificateInfo cert; - TKeyIdentifier subjectKeyId; - const TDes* text = 0; - int ind = 0; - - for (ind = 0; ind < certEntries->Count(); ind++) { - - // cleanup cert - cert.clear(); - - EapCertificateEntry* certPtr = (*certEntries)[ind]; - - qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo *** certificate starts *** "; - - if (certPtr->GetSubjectNamePresent() != EFalse) { - - text = certPtr->GetSubjectName(); - cert.setValue(EapQtCertificateInfo::SubjectName, QString::fromUtf16(text->Ptr(), - text->Length())); - - qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo SubjectName: " - << QString::fromUtf16(text->Ptr(), text->Length()); - } - if (certPtr->GetIssuerNamePresent() != EFalse) { - - text = certPtr->GetIssuerName(); - cert.setValue(EapQtCertificateInfo::IssuerName, QString::fromUtf16(text->Ptr(), - text->Length())); - - qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo IssuerName: " - << QString::fromUtf16(text->Ptr(), text->Length()); - } - if (certPtr->GetSerialNumberPresent() != EFalse) { - - text = certPtr->GetSerialNumber(); - cert.setValue(EapQtCertificateInfo::SerialNumber, QString::fromUtf16(text->Ptr(), - text->Length())); - - qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo SerialNumber: " - << QString::fromUtf16(text->Ptr(), text->Length()); - } - if (certPtr->GetSubjectKeyIdPresent() != EFalse) { - - subjectKeyId = certPtr->GetSubjectKeyId(); - cert.setValue(EapQtCertificateInfo::SubjectKeyId, QByteArray( - reinterpret_cast (subjectKeyId.Ptr()), subjectKeyId.Length())); - - qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo SubjectKeyId: " - << (QByteArray(reinterpret_cast (subjectKeyId.Ptr()), - subjectKeyId.Length())).toHex(); - } - if (certPtr->GetThumbprintPresent() != EFalse) { - - text = certPtr->GetThumbprint(); - cert.setValue(EapQtCertificateInfo::ThumbPrint, QString::fromUtf16(text->Ptr(), - text->Length())); - - qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo ThumbPrint: " - << QString::fromUtf16(text->Ptr(), text->Length()); - } - if (certPtr->GetLabelPresent() != EFalse) { - - text = certPtr->GetLabel(); - cert.setValue(EapQtCertificateInfo::CertificateLabel, QString::fromUtf16(text->Ptr(), - text->Length())); - - qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo CertificateLabel: " - << QString::fromUtf16(text->Ptr(), text->Length()); - } - - qDebug() << "EapQtConfigInterfacePrivate - copyCertificateInfo *** certificate ends *** "; - - certInfos->append(cert); - - } -} - -bool EapQtConfigInterfacePrivate::fetchCertificates(QList* const caInfos, - QList* const clientInfos) -{ - qDebug("EapQtConfigInterfacePrivate::fetchCertificates(), this = 0x%08x", this); - - Q_ASSERT(caInfos != NULL || clientInfos != NULL); - Q_ASSERT(!mEapGsIf.isNull()); - - TInt err(KErrNone); - RPointerArray clientCerts; - RPointerArray caCerts; - - err = mEapGsIf->GetCertificateLists(clientCerts, caCerts); - if (err != KErrNone) { - qDebug("EapQtConfigInterfacePrivate - fetchCertificates failed: %d", err); - caCerts.ResetAndDestroy(); - clientCerts.ResetAndDestroy(); - return false; - } - - qDebug("user cert count: %d, CA cert count: %d", clientCerts.Count(), caCerts.Count()); - - if (caInfos != NULL) { - copyCertificateInfo(&caCerts, caInfos); - } - if (clientInfos != NULL) { - copyCertificateInfo(&clientCerts, clientInfos); - } - - caCerts.ResetAndDestroy(); - clientCerts.ResetAndDestroy(); - return true; -} - -bool EapQtConfigInterfacePrivate::updateCertificates() { - - qDebug("EapQtConfigInterfacePrivate::updateCertificates(), this = 0x%08x", this); - - checkInstanceThrowing(); - - // empty current state - mCaCertificates.clear(); - mUserCertificates.clear(); - - return fetchCertificates(&mCaCertificates, &mUserCertificates); -} - -QList EapQtConfigInterfacePrivate::certificateAuthorityCertificates() -{ - qDebug("EapQtConfigInterfacePrivate::certificateAuthorityCertificates(), this = 0x%08x", this); - - checkInstanceThrowing(); - - // update only if the list is empty - if(mCaCertificates.length() == 0) { - qDebug() << "EapQtConfigInterfacePrivate::certificateAuthorityCertificates() - updates certificate lists"; - updateCertificates(); - } - - return mCaCertificates; -} - -QList EapQtConfigInterfacePrivate::userCertificates() -{ - qDebug("EapQtConfigInterfacePrivate::userCertificates(), this = 0x%08x", this); - - // use the CA certificates method, it will update both the lists - // if CA list is empty - (void) certificateAuthorityCertificates(); - return mUserCertificates; -} - -void EapQtConfigInterfacePrivate::getEapTypeIf(const EapQtPluginHandle &pluginHandle) -{ - qDebug("EapQtConfigInterfacePrivate::getEapTypeIf(), this = 0x%08x", this); - - // dig up the EAP type in TEapExpandedType format - TEapExpandedType eapServerType; - QByteArray eapType = pluginHandle.type().eapExpandedData(); - TInt err(KErrNone); - - qDebug() << "EapQtConfigInterfacePrivate - getEapTypeIf: wanted EAP type: " << eapType.toHex(); - - // no need to check if this is successful, - // CEapType::NewL call will handle errors - (void) eapServerType.SetValue(eapType.data(), eapType.length()); - - // slight optimization, load interface only if it does not exist or the EAP type changes - if (mEapTypeIf.isNull() || mCurrentServerEapType != eapServerType) { - - qDebug("EapQtConfigInterfacePrivate - getEapTypeIf deletes previous instance"); - - // delete previous instance - mEapTypeIf.reset(NULL); - mCurrentServerEapType = eapServerType; - - qDebug("EapQtConfigInterfacePrivate - getEapTypeIf calls CEapType::NewL()"); - - // trap all leaves - CEapType* tmp = NULL; - TRAP(err, tmp = CEapType::NewL(mEapBearer, mEapDbIndex, mCurrentServerEapType)); - if (err != KErrNone) { - qDebug( - "ERROR: EapQtConfigInterfacePrivate - getEapTypeIf CEapType::NewL failed with error: %d", - err); - mCurrentServerEapType = *EapExpandedTypeNone.GetType(); - } - mEapTypeIf.reset(tmp); - } - - // always clear the tunnelling type state just in case some earlier call has set it - if (!mEapTypeIf.isNull()) { - mEapTypeIf->SetTunnelingType(*EapExpandedTypeNone.GetType()); - } - -} - -// in config: -// if OuterType is defined, the configuration for pluginHandle is set inside this OuterType -// if OuterType is not defined, pluginHandle is for an outer type -// if InnerType is defined, the defined inner types in config are activated for pluginHandle -// if InnerType is not defined, the pluginHandle does not activate any inner type (or they do not exist) -bool EapQtConfigInterfacePrivate::saveConfiguration(const EapQtPluginHandle &pluginHandle, - const EapQtConfig &config) -{ - qDebug("EapQtConfigInterfacePrivate::saveConfiguration(), this = 0x%08x", this); - - checkInstanceThrowing(); - - if (!mEapDbIndexValid) { - qDebug() << "ERROR: Database reference not valid, call setConfigurationReference first!"; - return false; - } - - // set tunneling type & check if the requested EAP is supported - // if we are configuring outer type, OuterType == QVariant::Invalid or - // EapQtPluginHandle::PluginUndefined - - EapQtPluginHandle tmpOuterHandle; - QVariant varValue = config.value(EapQtConfig::OuterType); - if (varValue != QVariant::Invalid && !(varValue.value () == EapQtPluginHandle::PluginUndefined)) { - tmpOuterHandle = varValue.value (); - // check if supported - if(!isSupportedInnerType(tmpOuterHandle, pluginHandle)) { - qDebug("ERROR: EapQtConfigInterfacePrivate::saveConfiguration() - not supported outer/inner type combination"); - return false; - } - } - else { - tmpOuterHandle = EapQtPluginHandle::PluginUndefined; - // check if supported - if(!isSupportedOuterType(pluginHandle)) { - qDebug("ERROR: EapQtConfigInterfacePrivate::saveConfiguration() - not supported outer type"); - return false; - } - } - - getEapTypeIf(pluginHandle); - if (mEapTypeIf.isNull()) { - qDebug("ERROR: EapQtConfigInterfacePrivate::saveConfiguration() - getEapTypeIf failed"); - return false; - } - - TEapExpandedType tmpOuterEap; - tmpOuterEap.SetValue(tmpOuterHandle.type().eapExpandedData().data(), - tmpOuterHandle.type().eapExpandedData().length()); - - qDebug() << "EapQtConfigInterfacePrivate::saveConfiguration() - sets tunnelling type to: " - << tmpOuterHandle.type().eapExpandedData().toHex(); - - mEapTypeIf->SetTunnelingType(tmpOuterEap); - - // set EAP type here - QByteArray eapType = pluginHandle.type().eapExpandedData(); - - // copy config to EAP settings, - // no need to check if this is successful, - // SetConfigurationL call will handle errors - EAPSettings eapSettings; - (void) eapSettings.iEAPExpandedType.SetValue(eapType.data(), eapType.length()); - - // copy the rest of the settings in the function - copyToEapSettings(config, eapSettings); - // store settings - TRAPD(err, mEapTypeIf->SetConfigurationL(eapSettings)); - if (err != KErrNone) { - qDebug("ERROR: EapQtConfigInterfacePrivate - saveConfiguration: SetConfigurationL failed"); - // clear the instance so that the next attempt starts from scratch - mEapTypeIf.reset(NULL); - mCurrentServerEapType = *EapExpandedTypeNone.GetType(); - return false; - } - - return true; -} - -// config must be empty when calling -bool EapQtConfigInterfacePrivate::readConfiguration(const EapQtPluginHandle &outerHandle, - const EapQtPluginHandle &pluginHandle, EapQtConfig &config) -{ - qDebug("EapQtConfigInterfacePrivate::readConfiguration(), this = 0x%08x", this); - - // clear input - config.clear(); - - checkInstanceThrowing(); - - if (!mEapDbIndexValid) { - qDebug() << "ERROR: Database reference not valid, call setConfigurationReference first!"; - return false; - } - - // check EAP type support - if(!(outerHandle == EapQtPluginHandle::PluginUndefined)) { - if(!isSupportedInnerType(outerHandle, pluginHandle)) { - qDebug("ERROR: EapQtConfigInterfacePrivate::readConfiguration() - not supported outer/inner type combination"); - return false; - } - } else { - if(!isSupportedOuterType(pluginHandle)) { - qDebug("ERROR: EapQtConfigInterfacePrivate::readConfiguration() - not supported outer type"); - return false; - } - } - - getEapTypeIf(pluginHandle); - if (mEapTypeIf.isNull()) { - qDebug("ERROR: EapQtConfigInterfacePrivate::readConfiguration - getEapTypeIf failed"); - return false; - } - - // set tunneling type - // if we are configuring outer type, outerHandle == EapQtPluginHandle::PluginUndefined - // and calling SetTunnelingType is also ok - TEapExpandedType tmpEap; - tmpEap.SetValue(outerHandle.type().eapExpandedData().data(), - outerHandle.type().eapExpandedData().length()); - - qDebug() << "EapQtConfigInterfacePrivate::readConfiguration - sets tunnelling type to: " - << outerHandle.type().eapExpandedData().toHex(); - - mEapTypeIf->SetTunnelingType(tmpEap); - - // always set OuterType, - // set to EapQtPluginHandle::PluginUndefined if no outer type specified - config.setValue(EapQtConfig::OuterType, qVariantFromValue(outerHandle)); - - qDebug("EapQtConfigInterfacePrivate::readConfiguration - calls GetConfigurationL()"); - - // trap all leaves - EAPSettings eapSettings; - TRAPD(err, mEapTypeIf->GetConfigurationL(eapSettings)); - - // check if failed or something strange happened (incorrect EAP type settings received) - if (err != KErrNone || eapSettings.iEAPExpandedType != mCurrentServerEapType) { - qDebug() - << "ERROR: EapQtConfigInterfacePrivate - readConfiguration: GetConfigurationL failed" - << "wanted EAP:" << pluginHandle.type().eapExpandedData().toHex() - << "- got EAP vendor ID:" << eapSettings.iEAPExpandedType.GetVendorId() - << ", vendor type" << eapSettings.iEAPExpandedType.GetVendorType() << ", error code:" - << err; - // clear the instance so that the next attempt starts from scratch - mEapTypeIf.reset(NULL); - mCurrentServerEapType = *EapExpandedTypeNone.GetType(); - // nothing to be set to config - return false; - } - copyFromEapSettings(eapSettings, config); - return true; -} - -bool EapQtConfigInterfacePrivate::convertToBool(TBool value) -{ - return (value != EFalse ? true : false); -} - -TBool EapQtConfigInterfacePrivate::convertToTbool(bool value) -{ - return (value ? ETrue : EFalse); -} - -void EapQtConfigInterfacePrivate::copyToEapSettings(const EapQtConfig &config, EAPSettings &eapSettings) -{ - qDebug("EapQtConfigInterfacePrivate::copyToEapSettings(), this = 0x%08x", this); - - int ind = 0; - - QVariant varValue = config.value(EapQtConfig::UsernameAutomatic); - if (varValue.type() == QVariant::Bool) { - eapSettings.iUseAutomaticUsernamePresent = ETrue; - eapSettings.iUseAutomaticUsername = convertToTbool(varValue.toBool()); - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings UsernameAutomatic: " - << varValue.toBool(); - } - - varValue = config.value(EapQtConfig::AuthorityCertificateAutomatic); - if (varValue.type() == QVariant::Bool) { - eapSettings.iUseAutomaticCACertificatePresent = ETrue; - eapSettings.iUseAutomaticCACertificate = convertToTbool(varValue.toBool()); - qDebug() - << "EapQtConfigInterfacePrivate - copyToEapSettings AuthorityCertificateAutomatic: " - << varValue.toBool(); - } - - varValue = config.value(EapQtConfig::Username); - // do not copy if too large string - if (varValue.type() == QVariant::String && varValue.toString().count() <= StringMaxLength) { - // QString::utf16 returns a null terminated string - eapSettings.iUsername.Copy(varValue.toString().utf16()); - eapSettings.iUsernamePresent = ETrue; - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings Username: " - << varValue.toString(); - } - - varValue = config.value(EapQtConfig::PasswordPrompt); - if (varValue.type() == QVariant::Bool) { - eapSettings.iShowPassWordPromptPresent = ETrue; - eapSettings.iShowPassWordPrompt = convertToTbool(varValue.toBool()); - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings PasswordPrompt: " - << varValue.toBool(); - } - - varValue = config.value(EapQtConfig::Password); - // do not copy if too large string - if (varValue.type() == QVariant::String && varValue.toString().count() <= StringMaxLength) { - //QString::utf16 returns a null terminated string - eapSettings.iPassword.Copy(varValue.toString().utf16()); - eapSettings.iPasswordPresent = ETrue; - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings Password: " - << varValue.toString(); - } - - varValue = config.value(EapQtConfig::PasswordClear); - if (varValue.type() == QVariant::Bool) { - eapSettings.iPasswordExistPresent = ETrue; - // eapSettings.iPasswordExist = false cleans the password from database, true does nothing - eapSettings.iPasswordExist = convertToTbool(!varValue.toBool()); - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings PasswordClear: " - << varValue.toBool(); - } - - varValue = config.value(EapQtConfig::RealmAutomatic); - if (varValue.type() == QVariant::Bool) { - eapSettings.iUseAutomaticRealmPresent = ETrue; - eapSettings.iUseAutomaticRealm = convertToTbool(varValue.toBool()); - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings RealmAutomatic: " - << varValue.toBool(); - } - - varValue = config.value(EapQtConfig::Realm); - // do not copy if too large string - if (varValue.type() == QVariant::String && varValue.toString().count() <= StringMaxLength) { - // QString::utf16 returns a null terminated string - eapSettings.iRealm.Copy(varValue.toString().utf16()); - eapSettings.iRealmPresent = ETrue; - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings Realm: " - << varValue.toString(); - } - - varValue = config.value(EapQtConfig::UsePseudonyms); - if (varValue.type() == QVariant::Bool) { - eapSettings.iUsePseudonymsPresent = ETrue; - eapSettings.iUsePseudonyms = convertToTbool(varValue.toBool()); - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings UsePseudonyms: " - << varValue.toBool(); - } - - varValue = config.value(EapQtConfig::VerifyServerRealm); - if (varValue.type() == QVariant::Bool) { - eapSettings.iVerifyServerRealmPresent = ETrue; - eapSettings.iVerifyServerRealm = convertToTbool(varValue.toBool()); - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings VerifyServerRealm: " - << varValue.toBool(); - } - - varValue = config.value(EapQtConfig::ClientAuthenticationRequired); - if (varValue.type() == QVariant::Bool) { - eapSettings.iRequireClientAuthenticationPresent = ETrue; - eapSettings.iRequireClientAuthentication = convertToTbool(varValue.toBool()); - qDebug() - << "EapQtConfigInterfacePrivate - copyToEapSettings ClientAuthenticationRequired: " - << varValue.toBool(); - } - - varValue = config.value(EapQtConfig::SessionValidityTime); - if (varValue.type() == QVariant::UInt) { - eapSettings.iSessionValidityTimePresent = ETrue; - eapSettings.iSessionValidityTime = varValue.toUInt(); - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings SessionValidityTime: " - << varValue.toUInt(); - } - - varValue = config.value(EapQtConfig::PeapVersion0Allowed); - if (varValue.type() == QVariant::Bool) { - eapSettings.iPEAPVersionsPresent = ETrue; - eapSettings.iPEAPv0Allowed = convertToTbool(varValue.toBool()); - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings PeapVersion0Allowed: " - << varValue.toBool(); - } else { - // in any other case disable PEAP version; - // no need to set eapSettings.iPEAPVersionsPresent, - // it will be set if one of the other PEAP versions is enabled, - // otherwise this setting is redundant and can be ignored - eapSettings.iPEAPv0Allowed = EFalse; - } - - varValue = config.value(EapQtConfig::PeapVersion1Allowed); - if (varValue.type() == QVariant::Bool) { - eapSettings.iPEAPVersionsPresent = ETrue; - eapSettings.iPEAPv1Allowed = convertToTbool(varValue.toBool()); - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings PeapVersion1Allowed: " - << varValue.toBool(); - } else { - // in any other case disable PEAP version; - // no need to set eapSettings.iPEAPVersionsPresent, - // it will be set if one of the other PEAP versions is enabled, - // otherwise this setting is redundant and can be ignored - eapSettings.iPEAPv1Allowed = EFalse; - } - - varValue = config.value(EapQtConfig::PeapVersion2Allowed); - if (varValue.type() == QVariant::Bool) { - eapSettings.iPEAPVersionsPresent = ETrue; - eapSettings.iPEAPv2Allowed = convertToTbool(varValue.toBool()); - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings PeapVersion2Allowed: " - << varValue.toBool(); - } else { - // in any other case disable PEAP version; - // no need to set eapSettings.iPEAPVersionsPresent, - // it will be set if one of the other PEAP versions is enabled, - // otherwise this setting is redundant and can be ignored - eapSettings.iPEAPv2Allowed = EFalse; - } - - varValue = config.value(EapQtConfig::ProvisioningModeAuthenticated); - if (varValue.type() == QVariant::Bool) { - eapSettings.iAuthProvModeAllowedPresent = ETrue; - eapSettings.iAuthProvModeAllowed = convertToTbool(varValue.toBool()); - qDebug() - << "EapQtConfigInterfacePrivate - copyToEapSettings ProvisioningModeAuthenticated: " - << varValue.toBool(); - } - - varValue = config.value(EapQtConfig::ProvisioningModeUnauthenticated); - if (varValue.type() == QVariant::Bool) { - eapSettings.iUnauthProvModeAllowedPresent = ETrue; - eapSettings.iUnauthProvModeAllowed = convertToTbool(varValue.toBool()); - qDebug() - << "EapQtConfigInterfacePrivate - copyToEapSettings ProvisioningModeUnauthenticated: " - << varValue.toBool(); - } - - varValue = config.value(EapQtConfig::PACGroupReference); - // do not copy if too large string - if (varValue.type() == QVariant::String && varValue.toString().count() <= StringMaxLength) { - eapSettings.iPACGroupReference.Copy(varValue.toString().utf16()); - eapSettings.iPACGroupReferencePresent = ETrue; - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings PACGroupReference: " - << varValue.toString(); - } - - varValue = config.value(EapQtConfig::WarnADHPNoPAC); - if (varValue.type() == QVariant::Bool) { - eapSettings.iWarnADHPNoPACPresent = ETrue; - eapSettings.iWarnADHPNoPAC = convertToTbool(varValue.toBool()); - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings WarnADHPNoPAC: " - << varValue.toBool(); - } - - varValue = config.value(EapQtConfig::WarnADHPNoMatchingPAC); - if (varValue.type() == QVariant::Bool) { - eapSettings.iWarnADHPNoMatchingPACPresent = ETrue; - eapSettings.iWarnADHPNoMatchingPAC = convertToTbool(varValue.toBool()); - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings WarnADHPNoMatchingPAC: " - << varValue.toBool(); - } - - varValue = config.value(EapQtConfig::WarnNotDefaultServer); - if (varValue.type() == QVariant::Bool) { - eapSettings.iWarnNotDefaultServerPresent = ETrue; - eapSettings.iWarnNotDefaultServer = convertToTbool(varValue.toBool()); - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings WarnNotDefaultServer: " - << varValue.toBool(); - } - - varValue = config.value(EapQtConfig::UseIdentityPrivacy); - if (varValue.type() == QVariant::Bool) { - eapSettings.iUseIdentityPrivacyPresent = ETrue; - eapSettings.iUseIdentityPrivacy = convertToTbool(varValue.toBool()); - qDebug() << "EapQtConfigInterfacePrivate - copyToEapSettings UseIdentityPrivacy: " - << varValue.toBool(); - } - - varValue = config.value(EapQtConfig::InnerType); - if (varValue.type() == QVariant::List) { - - // not need to set disable inner types - // EAP server takes care of them internally - - qDebug() << "EapQtConfigInterfacePrivate::copyToEapSettings() - InnerType present"; - - QList varList = varValue.toList(); - TEapExpandedType tmpEap; - EapQtPluginHandle tmpHandle; - TUint err(KErrNone); - - for (ind = 0; ind < varList.count(); ind++) { - if (varList[ind].canConvert ()) { - // set to true only if at least one item is ok - eapSettings.iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue; - - tmpHandle = varList[ind].value (); - tmpEap.SetValue(tmpHandle.type().eapExpandedData().data(), - tmpHandle.type().eapExpandedData().length()); - err = eapSettings.iEnabledEncapsulatedEAPExpandedTypes.Append(tmpEap); - if(err != KErrNone) - { - qDebug() << "ERROR: EapQtConfigInterfacePrivate::copyToEapSettings() - RArray::Append failed for inner types"; - eapSettings.iEnabledEncapsulatedEAPExpandedTypes.Reset(); - // no dynamic memory allocated for tmpEap, just continue with - // the rest of the settings; EapSettings takes care of deallocations in its destructor - break; - } - - qDebug() - << "EapQtConfigInterfacePrivate::copyToEapSettings() - Added to InnerType: " - << tmpHandle.type().eapExpandedData().toHex(); - } - } - } - - varValue = config.value(EapQtConfig::CipherSuites); - if (varValue.type() == QVariant::List) { - - qDebug() << "EapQtConfigInterfacePrivate::copyToEapSettings() - CipherSuites present"; - QList varCiphers = varValue.toList(); - - // clears the ciphersuite configuration if the provided list is empty - eapSettings.iCipherSuitesPresent = ETrue; - TUint err(KErrNone); - - for (ind = 0; ind < varCiphers.count(); ind++) { - // check that the item is of correct type (int also accepted to not be too strict) - if (varCiphers[ind].type() == QVariant::UInt || varCiphers[ind].type() == QVariant::Int) { - - err = eapSettings.iCipherSuites.Append(varCiphers[ind].toUInt()); - if(err != KErrNone) - { - qDebug() << "ERROR: EapQtConfigInterfacePrivate::copyToEapSettings() - RArray::Append failed for ciphersuites"; - eapSettings.iCipherSuites.Reset(); - // continue with the rest of the settings, no dynamic - // memory allocated for varCiphers[ind].toUInt() - break; - } - - qDebug( - "EapQtConfigInterfacePrivate::copyToEapSettings() - CipherSuites at %d: 0x%08x", - ind, varCiphers[ind].toUInt()); - } - } - } - - // set always to true to support clearing previously configured CA/user certificates - // if the EAP method in question does not use certificates, - // EAP server will ignore the setting; - // CA/user certificates get cleared if EapQtConfig::Authority/UserCertificate is QVariant::Invalid or - // the provided lists are empty - eapSettings.iCertificatesPresent = ETrue; - - varValue = config.value(EapQtConfig::AuthorityCertificate); - if (varValue.type() == QVariant::List) { - - qDebug() - << "EapQtConfigInterfacePrivate::copyToEapSettings() - AuthorityCertificate present"; - - QList varCerts = varValue.toList(); - for (ind = 0; ind < varCerts.count(); ind++) { - // check that the item is of correct type - if (varCerts[ind].canConvert ()) { - appendCertificateInfo(true, varCerts[ind].value (), - &(eapSettings.iCertificates)); - qDebug() - << "EapQtConfigInterfacePrivate::copyToEapSettings() - AuthorityCertificate appended"; - } - } - } - - varValue = config.value(EapQtConfig::UserCertificate); - if (varValue.type() == QVariant::List) { - - qDebug() << "EapQtConfigInterfacePrivate::copyToEapSettings() - UserCertificate present"; - - QList varCerts = varValue.toList(); - for (ind = 0; ind < varCerts.count(); ind++) { - // check that the item is of correct type - if (varCerts[ind].canConvert ()) { - appendCertificateInfo(false, varCerts[ind].value (), - &(eapSettings.iCertificates)); - qDebug() - << "EapQtConfigInterfacePrivate::copyToEapSettings() - AuthorityCertificate appended"; - } - } - } - -} - -// caller takes care of deallocating resulting data in certList -void EapQtConfigInterfacePrivate::appendCertificateInfo(bool isCaCertificate, - const EapQtCertificateInfo& certInfo, RPointerArray* const certList) -{ - qDebug("EapQtConfigInterfacePrivate::appendCertificateInfo(), this = 0x%08x", this); - - Q_ASSERT(certList); - - // use scoped pointer to make sure memory is not leaked in failures - QScopedPointer certEntry(new EapCertificateEntry); - - // set certificate enabled in EAP settings - certEntry->SetIsEnabledPresent(); - certEntry->SetIsEnabled(ETrue); - - if (isCaCertificate) { - qDebug("EapQtConfigInterfacePrivate::appendCertificateInfo() - CA certificate"); - certEntry->SetCertType(EapCertificateEntry::ECA); - } - else { - qDebug("EapQtConfigInterfacePrivate::appendCertificateInfo() - Client certificate"); - certEntry->SetCertType(EapCertificateEntry::EUser); - } - - qDebug("EapQtConfigInterfacePrivate::appendCertificateInfo() - *** Adding cert data"); - - TBuf certText; - - QVariant varValue = certInfo.value(EapQtCertificateInfo::SubjectName); - if (varValue.type() == QVariant::String && varValue.toString().count() <= StringMaxLength) { - certEntry->SetSubjectNamePresent(); - certText.Copy(varValue.toString().utf16()); - certEntry->SetSubjectName(certText); - - qDebug() << "EapQtConfigInterfacePrivate::appendCertificateInfo() - SubjectName: " - << varValue.toString(); - } - - varValue = certInfo.value(EapQtCertificateInfo::IssuerName); - if (varValue.type() == QVariant::String && varValue.toString().count() <= StringMaxLength) { - certEntry->SetIssuerNamePresent(); - certText.Copy(varValue.toString().utf16()); - certEntry->SetIssuerName(certText); - - qDebug() << "EapQtConfigInterfacePrivate::appendCertificateInfo() - IssuerName: " - << varValue.toString(); - } - - varValue = certInfo.value(EapQtCertificateInfo::SerialNumber); - if (varValue.type() == QVariant::String && varValue.toString().count() <= StringMaxLength) { - certEntry->SetSerialNumberPresent(); - certText.Copy(varValue.toString().utf16()); - certEntry->SetSerialNumber(certText); - - qDebug() << "EapQtConfigInterfacePrivate::appendCertificateInfo() - SerialNumber: " - << varValue.toString(); - } - - TCertLabel certLabel; - - varValue = certInfo.value(EapQtCertificateInfo::CertificateLabel); - if (varValue.type() == QVariant::String && varValue.toString().count() <= CertLabelMaxLength) { - certEntry->SetLabelPresent(); - certLabel.Copy(varValue.toString().utf16()); - certEntry->SetLabel(certLabel); - - qDebug() << "EapQtConfigInterfacePrivate::appendCertificateInfo() - CertificateLabel: " - << varValue.toString(); - } - - TBuf thumbPrint; - - varValue = certInfo.value(EapQtCertificateInfo::ThumbPrint); - if (varValue.type() == QVariant::String && varValue.toString().count() - <= CertThumbprintMaxLength) { - certEntry->SetThumbprintPresent(); - thumbPrint.Copy(varValue.toString().utf16()); - certEntry->SetThumbprint(thumbPrint); - - qDebug() << "EapQtConfigInterfacePrivate::appendCertificateInfo() - ThumbPrint: " - << varValue.toString(); - } - - TKeyIdentifier keyId; - - varValue = certInfo.value(EapQtCertificateInfo::SubjectKeyId); - if (varValue.type() == QVariant::ByteArray && varValue.toByteArray().count() - <= CertSubjectKeyIdLength) { - certEntry->SetSubjectKeyIdPresent(); - keyId.Copy(reinterpret_cast (varValue.toByteArray().data()), - varValue.toByteArray().size()); - certEntry->SetSubjectKeyId(keyId); - - qDebug() << "EapQtConfigInterfacePrivate::appendCertificateInfo() - SubjectKeyId: " - << varValue.toByteArray().toHex(); - } - - TUint err = certList->Append(certEntry.data()); - if (err != KErrNone) { - qDebug() << "ERROR: EapQtConfigInterfacePrivate::appendCertificateInfo()" - << "- RPointerArray::Append failed for certificate entry"; - // scoped certEntry pointer deleted automatically - // no need to touch the array, it is handled by the caller - } - else { - qDebug() << "EapQtConfigInterfacePrivate::appendCertificateInfo()" - << "- *** certificate appended to list"; - // remove the ownerhsip from scoped pointer, entry owned by the array now - (void) certEntry.take(); - } - - // EapSettings destructor takes care of deallocating the array entries -} - -void EapQtConfigInterfacePrivate::copyFromEapSettings(EAPSettings &eapSettings, EapQtConfig &config) -{ - qDebug("EapQtConfigInterfacePrivate::copyFromEapSettings(), this = 0x%08x", this); - - int ind = 0; - - // automatic username - if (eapSettings.iUseAutomaticUsernamePresent) { - config.setValue(EapQtConfig::UsernameAutomatic, convertToBool( - eapSettings.iUseAutomaticUsername)); - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings UsernameAutomatic: " - << config.value(EapQtConfig::UsernameAutomatic).toBool(); - } - - // automatic CA certificate - if (eapSettings.iUseAutomaticCACertificatePresent) { - config.setValue(EapQtConfig::AuthorityCertificateAutomatic, convertToBool( - eapSettings.iUseAutomaticCACertificate)); - qDebug() - << "EapQtConfigInterfacePrivate - copyFromEapSettings AuthorityCertificateAutomatic: " - << config.value(EapQtConfig::AuthorityCertificateAutomatic).toBool(); - } - - // username - if (eapSettings.iUsernamePresent) { - config.setValue(EapQtConfig::Username, QString::fromUtf16(eapSettings.iUsername.Ptr(), - eapSettings.iUsername.Length())); - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings Username: " << config.value( - EapQtConfig::Username).toString(); - } - - // password existence check, password itself is write-only, cannot be read - if (eapSettings.iPasswordExistPresent) { - // report to caller if password exists in the database - config.setValue(EapQtConfig::PasswordStored, convertToBool(eapSettings.iPasswordExist)); - - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings PasswordStored: " - << config.value(EapQtConfig::PasswordStored).toBool(); - } - - // password prompt - if (eapSettings.iShowPassWordPromptPresent) { - config.setValue(EapQtConfig::PasswordPrompt, convertToBool(eapSettings.iShowPassWordPrompt)); - - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings PasswordPrompt: " - << config.value(EapQtConfig::PasswordPrompt).toBool(); - } - - // automatic realm - if (eapSettings.iUseAutomaticRealmPresent) { - config.setValue(EapQtConfig::RealmAutomatic, convertToBool(eapSettings.iUseAutomaticRealm)); - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings RealmAutomatic: " - << config.value(EapQtConfig::RealmAutomatic).toBool(); - } - - // realm - if (eapSettings.iRealmPresent) { - config.setValue(EapQtConfig::Realm, QString::fromUtf16(eapSettings.iRealm.Ptr(), - eapSettings.iRealm.Length())); - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings Realm: " << config.value( - EapQtConfig::Realm).toString(); - } - - // server name - if (eapSettings.iVerifyServerRealmPresent) { - config.setValue(EapQtConfig::VerifyServerRealm, convertToBool( - eapSettings.iVerifyServerRealm)); - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings VerifyServerRealm: " - << config.value(EapQtConfig::VerifyServerRealm).toBool(); - } - - // pseudonym - if (eapSettings.iUsePseudonymsPresent) { - config.setValue(EapQtConfig::UsePseudonyms, convertToBool(eapSettings.iUsePseudonyms)); - - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings UsePseudonyms: " - << config.value(EapQtConfig::UsePseudonyms).toBool(); - } - - // policy: server must require client authentication - if (eapSettings.iRequireClientAuthenticationPresent) { - config.setValue(EapQtConfig::ClientAuthenticationRequired, convertToBool( - eapSettings.iRequireClientAuthentication)); - - qDebug() - << "EapQtConfigInterfacePrivate - copyFromEapSettings ClientAuthenticationRequired: " - << config.value(EapQtConfig::ClientAuthenticationRequired).toBool(); - } - - // session validity time - if (eapSettings.iSessionValidityTimePresent) { - config.setValue(EapQtConfig::SessionValidityTime, eapSettings.iSessionValidityTime); - - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings SessionValidityTime: " - << config.value(EapQtConfig::SessionValidityTime).toUInt(); - } - - // TLS ciphersuites - if (eapSettings.iCipherSuitesPresent) { - QList ciphers; // QVariant has a constructor for uint - for (ind = 0; ind < eapSettings.iCipherSuites.Count(); ind++) { - ciphers.append(eapSettings.iCipherSuites[ind]); - qDebug("EapQtConfigInterfacePrivate - copyFromEapSettings CipherSuites at %d: 0x%08x", - ind, ciphers[ind].toUInt()); - } - config.setValue(EapQtConfig::CipherSuites, ciphers); - } - - // certificates - if (eapSettings.iCertificatesPresent) { - - QList caCerts; - QList clientCerts; - RPointerArray serverCaCerts; - RPointerArray serverClientCerts; - - // separate CA and client certs to their own lists - for (ind = 0; ind < eapSettings.iCertificates.Count(); ind++) { - - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings certificates, " - << "cert type: " << eapSettings.iCertificates[ind]->GetCertType() << ", enabled: " - << convertToBool(eapSettings.iCertificates[ind]->GetIsEnabled()); - - // only enabled certificates are reported - if (eapSettings.iCertificates[ind]->GetCertType() == EapCertificateEntry::EUser - && eapSettings.iCertificates[ind]->GetIsEnabled() != EFalse) { - // no need to check the return value for failures, - // serverClientCerts does not own the pointed data, - // eapSettings owns and deallocates it - (void) serverClientCerts.Append(eapSettings.iCertificates[ind]); - } - // only enabled certificates are reported - else if (eapSettings.iCertificates[ind]->GetCertType() == EapCertificateEntry::ECA - && eapSettings.iCertificates[ind]->GetIsEnabled() != EFalse) { - // no need to check the return value for failures, - // serverCaCerts does not own the pointed data, - // eapSettings owns and deallocates it - (void) serverCaCerts.Append(eapSettings.iCertificates[ind]); - } - else { - qDebug() - << "WARNING: EapQtConfigInterfacePrivate - copyFromEapSettings certificates, " - << "unknown certificate type in the list or certificate not enabled"; - } - } - - // copy to lists of our type - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings AuthorityCertificates"; - copyCertificateInfo(&serverCaCerts, &caCerts); - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings UserCertificates"; - copyCertificateInfo(&serverClientCerts, &clientCerts); - - // reset the arrays, data is owned by EapSettings.h, - // must not be destroyed here - serverCaCerts.Reset(); - serverClientCerts.Reset(); - - // we still need to convert QList to QList - // to be able to store to config - QVariant tmp; - QList varCaCerts; - QList varClientCerts; - - for (ind = 0; ind < caCerts.count(); ind++) { - tmp.setValue(caCerts[ind]); - varCaCerts.append(tmp); - } - for (ind = 0; ind < clientCerts.count(); ind++) { - tmp.setValue(clientCerts[ind]); - varClientCerts.append(tmp); - } - - // finally copy to config - config.setValue(EapQtConfig::AuthorityCertificate, varCaCerts); - config.setValue(EapQtConfig::UserCertificate, varClientCerts); - } - - // PEAP specific - if (eapSettings.iPEAPVersionsPresent) { - config.setValue(EapQtConfig::PeapVersion0Allowed, convertToBool(eapSettings.iPEAPv0Allowed)); - config.setValue(EapQtConfig::PeapVersion1Allowed, convertToBool(eapSettings.iPEAPv1Allowed)); - config.setValue(EapQtConfig::PeapVersion2Allowed, convertToBool(eapSettings.iPEAPv2Allowed)); - - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings PeapVersion0Allowed: " - << config.value(EapQtConfig::PeapVersion0Allowed).toBool(); - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings PeapVersion1Allowed: " - << config.value(EapQtConfig::PeapVersion1Allowed).toBool(); - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings PeapVersion2Allowed: " - << config.value(EapQtConfig::PeapVersion2Allowed).toBool(); - } - - // TLS privacy - if (eapSettings.iUseIdentityPrivacyPresent) { - config.setValue(EapQtConfig::UseIdentityPrivacy, convertToBool( - eapSettings.iUseIdentityPrivacy)); - - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings UseIdentityPrivacy: " - << config.value(EapQtConfig::UseIdentityPrivacy).toBool(); - } - - // EAP-FAST specific - if (eapSettings.iAuthProvModeAllowedPresent) { - config.setValue(EapQtConfig::ProvisioningModeAuthenticated, convertToBool( - eapSettings.iAuthProvModeAllowed)); - - qDebug() - << "EapQtConfigInterfacePrivate - copyFromEapSettings ProvisioningModeAuthenticated: " - << config.value(EapQtConfig::ProvisioningModeAuthenticated).toBool(); - } - if (eapSettings.iUnauthProvModeAllowedPresent) { - config.setValue(EapQtConfig::ProvisioningModeUnauthenticated, convertToBool( - eapSettings.iUnauthProvModeAllowed)); - - qDebug() - << "EapQtConfigInterfacePrivate - copyFromEapSettings ProvisioningModeUnauthenticated: " - << config.value(EapQtConfig::ProvisioningModeUnauthenticated).toBool(); - } - if (eapSettings.iWarnADHPNoPACPresent) { - config.setValue(EapQtConfig::WarnADHPNoPAC, convertToBool(eapSettings.iWarnADHPNoPAC)); - - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings WarnADHPNoPAC: " - << config.value(EapQtConfig::WarnADHPNoPAC).toBool(); - } - if (eapSettings.iWarnADHPNoMatchingPACPresent) { - config.setValue(EapQtConfig::WarnADHPNoMatchingPAC, convertToBool( - eapSettings.iWarnADHPNoMatchingPAC)); - - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings WarnADHPNoMatchingPAC: " - << config.value(EapQtConfig::WarnADHPNoMatchingPAC).toBool(); - } - if (eapSettings.iWarnNotDefaultServerPresent) { - config.setValue(EapQtConfig::WarnNotDefaultServer, convertToBool( - eapSettings.iWarnNotDefaultServer)); - - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings WarnNotDefaultServer: " - << config.value(EapQtConfig::WarnNotDefaultServer).toBool(); - } - if (eapSettings.iPACGroupReferencePresent) { - config.setValue(EapQtConfig::PACGroupReference, QString::fromUtf16( - eapSettings.iPACGroupReference.Ptr(), eapSettings.iPACGroupReference.Length())); - qDebug() << "EapQtConfigInterfacePrivate - copyFromEapSettings PACGroupReference: " - << config.value(EapQtConfig::PACGroupReference).toString(); - } - - // enabled inner EAPs - if (eapSettings.iEnabledEncapsulatedEAPExpandedTypesPresent) { - - qDebug("EapQtConfigInterfacePrivate - copyFromEapSettings InnerType, enabled count %d", - eapSettings.iEnabledEncapsulatedEAPExpandedTypes.Count()); - - QList innerEapsOn; - appendEapTypes(&(eapSettings.iEnabledEncapsulatedEAPExpandedTypes), &innerEapsOn); - - // convert to QList to be able to store to config - QVariant varTmp; - QList varInnerEapsOn; - int dummy = 0; - - for (ind = 0; ind < innerEapsOn.count(); ind++) { - // report only EAPs which do have an UI plugin - if (isUiSupported(innerEapsOn[ind], dummy)) { - // create plugin handle from EAP type with constructors - // calls: EapQtExpandedEapType(const QByteArray data) -> EapQtPluginHandle(EapQtExpandedEapType type) - varTmp.setValue(EapQtPluginHandle(EapQtExpandedEapType(innerEapsOn[ind]))); - varInnerEapsOn.append(varTmp); - qDebug() - << "EapQtConfigInterfacePrivate - copyFromEapSettings InnerType: added EAP: " - << innerEapsOn[ind].toHex(); - } - } - - // copy to config - config.setValue(EapQtConfig::InnerType, varInnerEapsOn); - } - - // disabled inner EAPs - if (eapSettings.iDisabledEncapsulatedEAPExpandedTypesPresent) { - // setting is not needed, enabled are enough - qDebug( - "EapQtConfigInterfacePrivate - copyFromEapSettings InnerType: disabled count %d (not needed for anything here)", - eapSettings.iDisabledEncapsulatedEAPExpandedTypes.Count()); - } - -} - -QList EapQtConfigInterfacePrivate::selectedOuterTypes() -{ - qDebug("EapQtConfigInterfacePrivate::selectedOuterTypes(), this = 0x%08x", this); - - checkInstanceThrowing(); - - if (!mEapDbIndexValid) { - qDebug() << "ERROR: Database reference not valid, call setConfigurationReference first!"; - return QList (); - } - - // call to make sure the members (mOuterEapsOn and mSupportedOuterTypes) are up-to-date - (void) supportedOuterTypes(); - - QList selectedOuterTypes; - - QList tmpEaps; - appendEapTypes(&mOuterEapsOn, &tmpEaps); - - // report only the ones that also have an UI, i.e. listed in mSupportedOuterTypes - for (int ind = 0; ind < mSupportedOuterTypes.count(); ind++) { - if (tmpEaps.contains(mSupportedOuterTypes[ind].pluginHandle().type().eapExpandedData())) { - selectedOuterTypes.append(mSupportedOuterTypes[ind].pluginHandle()); - } - } - - qDebug("EapQtConfigInterfacePrivate - selected outer type count: %d", - selectedOuterTypes.count()); - - return selectedOuterTypes; -} - -bool EapQtConfigInterfacePrivate::isSupportedOuterType(const EapQtPluginHandle &handle) -{ - qDebug("EapQtConfigInterfacePrivate::isSupportedOuterType(), this = 0x%08x", this); - - checkInstanceThrowing(); - - // check if mSupportedOuterTypes is up-to-date - if (mSupportedOuterTypes.count() <= 0) { - // update mSupportedOuterTypes - (void) supportedOuterTypes(); - } - - bool ret = false; - for (int ind = 0; ind < mSupportedOuterTypes.count(); ind++) { - if (mSupportedOuterTypes[ind].pluginHandle() == handle) { - ret = true; - } - } - return ret; -} - -bool EapQtConfigInterfacePrivate::setSelectedOuterTypes( - const QList &outerHandles) -{ - qDebug("EapQtConfigInterfacePrivate::setSelectedOuterTypes()"); - - checkInstanceThrowing(); - - if (!mEapDbIndexValid || mEapGsIf.isNull()) { - qDebug() - << "ERROR: Database reference not valid (or mEapGsIf is NULL), call setConfigurationReference first!"; - return false; - } - - // check if mSupportedOuterTypes is up-to-date - if (mSupportedOuterTypes.count() <= 0) { - // update mSupportedOuterTypes - (void) supportedOuterTypes(); - } - - // clear arrays - mOuterEapsOn.Reset(); - mOuterEapsOff.Reset(); - - // pick only the supported ones from outerHandles - TEapExpandedType tmpEap; - TUint err(KErrNone); - for (int ind = 0; ind < mSupportedOuterTypes.count(); ind++) { - if (outerHandles.contains(mSupportedOuterTypes[ind].pluginHandle())) { - - // convert to TEapExpandedType - tmpEap.SetValue( - mSupportedOuterTypes[ind].pluginHandle().type().eapExpandedData().data(), - mSupportedOuterTypes[ind].pluginHandle().type().eapExpandedData().length()); - - // add to mOuterEapsOn - err = mOuterEapsOn.Append(tmpEap); - if(err != KErrNone) - { - qDebug() << "ERROR: EapQtConfigInterfacePrivate - setSelectedOuterTypes RArray::Append failed"; - // reset the array, no dynamic memory allocated for tmpEap - mOuterEapsOn.Reset(); - return false; - } - - qDebug() - << "EapQtConfigInterfacePrivate - setSelectedOuterTypes adding to enabledOuterHandles: " - << mSupportedOuterTypes[ind].pluginHandle().type().eapExpandedData().toHex(); - } - } - - bool ret = true; - - // set selection to EAP server, no need to have correct content in mOuterEapsOff, - // EAP server handles it, mOuterEapsOn is only important - err = mEapGsIf->SetEapMethods(mOuterEapsOn, mOuterEapsOff); - if (err != KErrNone) { - qDebug("EapQtConfigInterfacePrivate::setSelectedOuterTypes() - SetEapMethods failed: %d", - err); - // nothing we can do to recover, just exit - ret = false; - } - return ret; -} - -bool EapQtConfigInterfacePrivate::isSupportedInnerType(const EapQtPluginHandle &outerHandle, - const EapQtPluginHandle &innerHandle) -{ - qDebug("EapQtConfigInterfacePrivate::isSupportedInnerType(), this = 0x%08x", this); - - checkInstanceThrowing(); - - // update mSupportedInnerTypes - (void) supportedInnerTypes(outerHandle); - - for (int ind = 0; ind < mSupportedInnerTypes.count(); ind++) { - if (mSupportedInnerTypes[ind].pluginHandle() == innerHandle) { - return true; - } - } - return false; -} - -bool EapQtConfigInterfacePrivate::deleteConfiguration() -{ - qDebug("EapQtConfigInterfacePrivate::deleteConfiguration(), this = 0x%08x", this); - - checkInstanceThrowing(); - - if (!mEapDbIndexValid || mEapGsIf.isNull()) { - qDebug() - << "ERROR: Database reference not valid (or mEapGsIf is NULL), call setConfigurationReference first!"; - return false; - } - - bool ret = true; - TInt err = mEapGsIf->DeleteAllEapSettings(); - if (err != KErrNone) { - ret = false; - } - return ret; -} - -void EapQtConfigInterfacePrivate::loadPlugins() -{ - qDebug("EapQtConfigInterfacePrivate::loadPlugins(), this = 0x%08x", this); - - checkInstanceThrowing(); - - // plugin directory defined in cpeapplugininterface.h - QDir pluginsDir(CpEapPluginInterfacePluginDirectory); - foreach( QString fileName, pluginsDir.entryList(QDir::Files) ) - { - QPluginLoader loader(pluginsDir.absoluteFilePath(fileName)); - QObject *tmp = loader.instance(); - if (tmp) { - CpEapPluginInterface *plugin = qobject_cast (tmp); - if (plugin) { - mPlugins.append(plugin); - } - } - } - - // collect UI plugin infos - QList::iterator iter; - for (iter = mPlugins.begin(); iter != mPlugins.end(); ++iter) { - mPluginInfos.append((*iter)->pluginInfo()); - } - - // sort the UI plugins according to their order number - qSort(mPluginInfos.begin(), mPluginInfos.end(), EapQtConfigInterfacePrivate::pluginLessThan); - - qDebug("EapQtConfigInterfacePrivate - loadPlugins: supported EAP plugin count: %d", - mPluginInfos.count()); -} - -bool EapQtConfigInterfacePrivate::pluginLessThan( - const EapQtPluginInfo &plugin1, - const EapQtPluginInfo &plugin2) -{ - return plugin1.orderNumber() < plugin2.orderNumber(); -} - -CpBaseSettingView *EapQtConfigInterfacePrivate::uiInstance(const EapQtPluginHandle &outerHandle, - const EapQtPluginHandle &pluginHandle) -{ - qDebug("EapQtConfigInterfacePrivate::uiInstance(), this = 0x%08x", this); - - checkInstanceThrowing(); - - // if outer type UI is requested, outerHandle must be undefined and pluginHandle - // must be supported as outer type - if (outerHandle == EapQtPluginHandle::PluginUndefined) { - if (!isSupportedOuterType(pluginHandle)) { - qDebug() << "ERROR: EapQtConfigInterfacePrivate::uiInstance() -" - << "plugin not supported as outer type"; - return NULL; - } - } - else { - // outerHandle defined, pluginHandle must be supported inside outerHandle - if (!isSupportedInnerType(outerHandle, pluginHandle)) { - qDebug() << "ERROR: EapQtConfigInterfacePrivate::uiInstance() -" - << "plugin not supported as the inner type of the specified outer type"; - return NULL; - } - } - - if (mTranslator.isNull()) { - // install translations for EAP UI plugins - mTranslator.reset(new HbTranslator(eapTranslationFile)); - } - - // go through all interfaces (dlls) - QList::iterator iter; - for (iter = mPlugins.begin(); iter != mPlugins.end(); ++iter) { - QList plugins; - plugins.append((*iter)->pluginInfo()); - - // go through all plugings inside the interface implementation - QList::iterator j; - for (j = plugins.begin(); j != plugins.end(); ++j) { - if ((*j).pluginHandle() == pluginHandle) { - qDebug("EapQtConfigInterfacePrivate::uiInstance() - found plugin"); - // indicate configured IAP to plugin - (*iter)->setSettingsReference(getEapBearer(), mIapId); - return (*iter)->uiInstance(outerHandle, *j); - } - } - - } - qDebug("ERROR: EapQtConfigInterfacePrivate::uiInstance() - plugin not found"); - return NULL; -} - -EapQtConfigInterface::EapBearerType EapQtConfigInterfacePrivate::getEapBearer() -{ - EapQtConfigInterface::EapBearerType ret(EapQtConfigInterface::EapBearerTypeWlan); - - switch (mEapBearer) { - case EVpn: - ret = EapQtConfigInterface::EapBearerTypeVpn; - break; - default: - ret = EapQtConfigInterface::EapBearerTypeWlan; - break; - } - return ret; -} - -EapQtValidator *EapQtConfigInterfacePrivate::validatorEap(const EapQtExpandedEapType &type, - const EapQtConfig::SettingsId id) -{ - qDebug("EapQtConfigInterfacePrivate::validatorEap(), this = 0x%08x", this); - - qDebug() << "EapQtConfigInterfacePrivate::validatorEap() - requested EAP: " - << type.eapExpandedData().toHex(); - qDebug() << "EapQtConfigInterfacePrivate::validatorEap() - setting: " << id; - - EapQtValidator *ret = NULL; - - switch (id) { - - case EapQtConfig::Username: - switch (type.type()) { - case EapQtExpandedEapType::TypeEapAka: - case EapQtExpandedEapType::TypeEapFast: - case EapQtExpandedEapType::TypeEapGtc: - case EapQtExpandedEapType::TypeLeap: - case EapQtExpandedEapType::TypeEapMschapv2: - case EapQtExpandedEapType::TypePeap: - case EapQtExpandedEapType::TypeEapSim: - case EapQtExpandedEapType::TypeEapTls: - case EapQtExpandedEapType::TypeEapTtls: - case EapQtExpandedEapType::TypePap: - case EapQtExpandedEapType::TypePlainMschapv2: - ret = new EapQtValidatorUsername(type); - break; - default: - ret = NULL; - } - break; - - case EapQtConfig::Password: - switch (type.type()) { - case EapQtExpandedEapType::TypeEapGtc: - case EapQtExpandedEapType::TypeLeap: - case EapQtExpandedEapType::TypeEapMschapv2: - case EapQtExpandedEapType::TypePap: - case EapQtExpandedEapType::TypePlainMschapv2: - ret = new EapQtValidatorPassword(type); - break; - default: - ret = NULL; - } - break; - - case EapQtConfig::Realm: - switch (type.type()) { - case EapQtExpandedEapType::TypeEapAka: - case EapQtExpandedEapType::TypeEapFast: - case EapQtExpandedEapType::TypePeap: - case EapQtExpandedEapType::TypeEapSim: - case EapQtExpandedEapType::TypeEapTls: - case EapQtExpandedEapType::TypeEapTtls: - ret = new EapQtValidatorRealm(type); - break; - default: - ret = NULL; - } - break; - - default: - ret = NULL; - - } - - qDebug() << "EapQtConfigInterfacePrivate::validatorEap() - is returning NULL: " << (ret == NULL); - - return ret; -} - -bool EapQtConfigInterfacePrivate::readPacStoreConfiguration(EapQtPacStoreConfig& /* config */) -{ - // not supported - return false; -} - -bool EapQtConfigInterfacePrivate::savePacStoreConfiguration(const EapQtPacStoreConfig& /* config */) -{ - // not supported - return false; -} - -EapQtValidator *EapQtConfigInterfacePrivate::validatorPacStore( - const EapQtPacStoreConfig::PacStoreSettings id) -{ - qDebug("EapQtConfigInterfacePrivate::validatorPacStore(), this = 0x%08x", this); - - EapQtValidator *ret = NULL; - - switch (id) { - case EapQtPacStoreConfig::PacStorePassword: - ret = new EapQtValidatorPacStorePassword(); - break; - case EapQtPacStoreConfig::PacStorePasswordConfirmation: - ret = new EapQtValidatorPacStorePasswordConfirm(); - break; - default: - ret = NULL; - } - - return ret; -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtpacstoreconfig.cpp --- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtpacstoreconfig.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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-FAST PAC store configuration data - * - */ - -/* - * %version: 2 % - */ - -// System includes -#include - -// User includes -#include "eapqtpacstoreconfig_p.h" - -/*! - * \class EapQtPacStoreConfig - * \brief Public implementation of EAP-FAST PAC store configuration data - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtPacStoreConfig::EapQtPacStoreConfig() : - d_ptr(new EapQtPacStoreConfigPrivate) -{ -} - -EapQtPacStoreConfig::~EapQtPacStoreConfig() -{ - // scoped pointer deleted automatically -} - -QVariant EapQtPacStoreConfig::value(const PacStoreSettings id) const -{ - // check for valid range, otherwise memory is consumed for no reason - if(id >= PacStoreLast) { - qDebug("ERROR: EapQtPacStoreConfig::value - invalid id!"); - return QVariant::Invalid; - } - return d_ptr->mPacStoreSettings[id]; -} - -void EapQtPacStoreConfig::setValue(const PacStoreSettings id, const QVariant &newValue) const -{ - // check for valid range, otherwise memory is consumed for no reason - if (id < PacStoreLast) { - d_ptr->mPacStoreSettings[id] = newValue; - } - else { - qDebug("ERROR: EapQtPacStoreConfig::setValue - invalid id!"); - } -} - -void EapQtPacStoreConfig::clear() const -{ - d_ptr->mPacStoreSettings.clear(); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtpacstoreconfig_p.cpp --- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtpacstoreconfig_p.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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-FAST PAC store configuration data (private part) - * - */ - -/* - * %version: 2 % - */ - -// System includes - -// User includes -#include "eapqtpacstoreconfig_p.h" - -/*! - * \class EapQtPacStoreConfigPrivate - * \brief Private implementation of EAP-FAST PAC store configuration data - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtPacStoreConfigPrivate::EapQtPacStoreConfigPrivate() -{ - // nothing to do -} - -EapQtPacStoreConfigPrivate::~EapQtPacStoreConfigPrivate() -{ - // nothing to do -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpacstorepassword.cpp --- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpacstorepassword.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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-FAST PAC store password format validator - * - */ - -/* - * %version: 6 % - */ - -// System includes -#include -#include - -// User includes -#include "eapqtvalidatorpacstorepassword.h" -#include "eapqtconfiginterface_p.h" - -/*! - * \class EapQtValidatorPacStorePassword - * \brief EAP-FAST PAC store password format validator - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtValidatorPacStorePassword::EapQtValidatorPacStorePassword() -{ - // nothing to do -} - -EapQtValidatorPacStorePassword::~EapQtValidatorPacStorePassword() -{ - // nothing to do -} - -EapQtValidator::Status EapQtValidatorPacStorePassword::validate(const QVariant& /* value */) -{ - qDebug("EapQtValidatorPacStorePassword::validate()"); - // not supported - return EapQtValidator::StatusInvalidCharacters; -} - -void EapQtValidatorPacStorePassword::updateEditor(HbLineEdit* const edit) -{ - qDebug("EapQtValidatorPacStorePassword::updateEditor()"); - - Q_ASSERT(edit); - - edit->setMaxLength(EapQtConfigInterfacePrivate::StringMaxLength); - edit->setInputMethodHints(Qt::ImhNoAutoUppercase | Qt::ImhPreferLowercase - | Qt::ImhNoPredictiveText); - - // do not set editor class or auto completing since they might leak the pwd - HbEditorInterface editInterface(edit); - editInterface.setSmileyTheme(HbSmileyTheme()); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpacstorepasswordconfirm.cpp --- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpacstorepasswordconfirm.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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-FAST PAC store password correctness validator - * - */ - -/* - * %version: 5 % - */ - -// System includes -#include -#include - -// User includes -#include "eapqtvalidatorpacstorepasswordconfirm.h" -#include "eapqtconfiginterface_p.h" - -/*! - * \class EapQtValidatorPacStorePasswordConfirm - * \brief EAP-FAST PAC store password correctness validator, checks if the - * supplied password can be used for opening the existing PAC store - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtValidatorPacStorePasswordConfirm::EapQtValidatorPacStorePasswordConfirm() -{ - // nothing to do -} - -EapQtValidatorPacStorePasswordConfirm::~EapQtValidatorPacStorePasswordConfirm() -{ - // nothing to do -} - -EapQtValidator::Status EapQtValidatorPacStorePasswordConfirm::validate(const QVariant& /* value */) -{ - qDebug("EapQtValidatorPacStorePasswordConfirm::validate()"); - // not supported - return EapQtValidator::StatusInvalid; -} - -void EapQtValidatorPacStorePasswordConfirm::updateEditor(HbLineEdit* const edit) -{ - qDebug("EapQtValidatorPacStorePasswordConfirm::updateEditor()"); - - Q_ASSERT(edit); - - edit->setMaxLength(EapQtConfigInterfacePrivate::StringMaxLength); - edit->setInputMethodHints(Qt::ImhNoAutoUppercase | Qt::ImhPreferLowercase - | Qt::ImhNoPredictiveText); - - // do not set editor class or auto completing since they might leak the pwd - HbEditorInterface editInterface(edit); - editInterface.setSmileyTheme(HbSmileyTheme()); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpassword.cpp --- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpassword.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,135 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method password format validator - * - */ - -/* - * %version: 9 % - */ - -// System includes -#include -#include - -// User includes -#include "eapqtvalidatorpassword.h" -#include "eapqtconfiginterface_p.h" - -/*! - * \class EapQtValidatorPassword - * \brief EAP method password format validator - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtValidatorPassword::EapQtValidatorPassword(const EapQtExpandedEapType& type) : - mEapType(type) -{ -} - -EapQtValidatorPassword::~EapQtValidatorPassword() -{ -} - -EapQtValidator::Status EapQtValidatorPassword::validate(const QVariant& value) -{ - qDebug("EapQtValidatorPassword::validate()"); - - Status status(StatusOk); - - switch (mEapType.type()) { - case EapQtExpandedEapType::TypeEapGtc: - case EapQtExpandedEapType::TypeEapMschapv2: - case EapQtExpandedEapType::TypeLeap: - case EapQtExpandedEapType::TypePap: - case EapQtExpandedEapType::TypePlainMschapv2: - status = validateGeneral(value); - break; - default: - // for methods that do not have a password - status = StatusInvalid; - } - - return status; -} - -EapQtValidator::Status EapQtValidatorPassword::validateGeneral(const QVariant& value) -{ - Status status(StatusOk); - QString str = value.toString(); - - // input must be of correct type - if (value.type() != QVariant::String) { - status = StatusInvalid; - } - // zero length password is not ok - else if (str.length() <= 0) { - status = StatusTooShort; - } - // check maximum length - else if (str.length() > EapQtConfigInterfacePrivate::StringMaxLength) { - status = StatusTooLong; - } - - // any character is ok for passwords - qDebug("EapQtValidatorPassword::validateGeneral - return status: %d", status); - - return status; -} - -void EapQtValidatorPassword::updateEditor(HbLineEdit* const edit) -{ - qDebug("EapQtValidatorPassword::updateEditor()"); - - Q_ASSERT(edit); - if(edit == NULL) { - return; - } - - switch (mEapType.type()) { - case EapQtExpandedEapType::TypeEapGtc: - case EapQtExpandedEapType::TypeEapMschapv2: - case EapQtExpandedEapType::TypeLeap: - case EapQtExpandedEapType::TypePap: - case EapQtExpandedEapType::TypePlainMschapv2: - updateEditorGeneral(edit); - // falls through on purpose - default: - // nothing for methods that do not have a password - break; - } -} - -void EapQtValidatorPassword::updateEditorGeneral(HbLineEdit* const edit) -{ - qDebug("EapQtValidatorPassword::updateEditorGeneral()"); - - Q_ASSERT(edit); - - edit->setMaxLength(EapQtConfigInterfacePrivate::StringMaxLength); - edit->setInputMethodHints(Qt::ImhNoAutoUppercase | Qt::ImhPreferLowercase - | Qt::ImhNoPredictiveText); - - // do not set editor class or auto completing since they might leak the pwd - HbEditorInterface editInterface(edit); - editInterface.setSmileyTheme(HbSmileyTheme()); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorrealm.cpp --- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorrealm.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,147 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method realm format validator - * - */ - -/* - * %version: 8 % - */ - -// System includes -#include -#include - -// User includes -#include "eapqtvalidatorrealm.h" -#include "eapqtconfiginterface_p.h" - -/*! - * \class EapQtValidatorRealm - * \brief EAP method realm format validator - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtValidatorRealm::EapQtValidatorRealm(const EapQtExpandedEapType& type) : - mEapType(type) -{ -} - -EapQtValidatorRealm::~EapQtValidatorRealm() -{ -} - -EapQtValidator::Status EapQtValidatorRealm::validate(const QVariant& value) -{ - qDebug("EapQtValidatorRealm::validate()"); - - Status status(StatusOk); - - switch (mEapType.type()) { - case EapQtExpandedEapType::TypeEapAka: - case EapQtExpandedEapType::TypeEapFast: - case EapQtExpandedEapType::TypeEapGtc: - case EapQtExpandedEapType::TypeEapMschapv2: - case EapQtExpandedEapType::TypeEapSim: - case EapQtExpandedEapType::TypeEapTls: - case EapQtExpandedEapType::TypeEapTtls: - case EapQtExpandedEapType::TypeLeap: - case EapQtExpandedEapType::TypePeap: - status = validateGeneral(value); - break; - default: - // for methods that do not have a realm - status = StatusInvalid; - } - - return status; -} - -EapQtValidator::Status EapQtValidatorRealm::validateGeneral(const QVariant& value) -{ - Status status(StatusOk); - QString str = value.toString(); - - // input must be of correct type - if (value.type() != QVariant::String) { - status = StatusInvalid; - } - // zero length realm is ok - else if (str.length() > EapQtConfigInterfacePrivate::StringMaxLength) { - status = StatusTooLong; - } - // username and realm are separated with @, not allowed to be part of realm - else if (str.contains(QChar('@'), Qt::CaseInsensitive)) { - status = StatusInvalidCharacters; - } - - qDebug("EapQtValidatorRealm::validateGeneral - return status: %d", status); - - return status; -} - -void EapQtValidatorRealm::updateEditor(HbLineEdit* const edit) -{ - qDebug("EapQtValidatorRealm::updateEditor()"); - - Q_ASSERT(edit); - if(edit == NULL) { - return; - } - - switch (mEapType.type()) { - case EapQtExpandedEapType::TypeEapAka: - case EapQtExpandedEapType::TypeEapFast: - case EapQtExpandedEapType::TypeEapGtc: - case EapQtExpandedEapType::TypeEapMschapv2: - case EapQtExpandedEapType::TypeEapSim: - case EapQtExpandedEapType::TypeEapTls: - case EapQtExpandedEapType::TypeEapTtls: - case EapQtExpandedEapType::TypeLeap: - case EapQtExpandedEapType::TypePeap: - updateEditorGeneral(edit); - // falls through on purpose - default: - // no realm for other types - break; - } -} - -void EapQtValidatorRealm::updateEditorGeneral(HbLineEdit* const edit) -{ - qDebug("EapQtValidatorRealm::updateEditorGeneral()"); - - Q_ASSERT(edit); - - edit->setMaxLength(EapQtConfigInterfacePrivate::StringMaxLength); - edit->setInputMethodHints(Qt::ImhNoAutoUppercase | Qt::ImhPreferLowercase - | Qt::ImhNoPredictiveText); - - HbEditorInterface editInterface(edit); - editInterface.setEditorClass(HbInputEditorClassNetworkDomain); - - HbEditorConstraints constraints = HbEditorConstraintAutoCompletingField; - editInterface.setInputConstraints(constraints); - - // no smileys :) - editInterface.setSmileyTheme(HbSmileyTheme()); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorusername.cpp --- a/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorusername.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,201 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method username format validator - * - */ - -/* - * %version: 11 % - */ - -// System includes -#include -#include - -// User includes -#include "eapqtvalidatorusername.h" -#include "eapqtconfiginterface_p.h" - -/*! - * \class EapQtValidatorUsername - * \brief EAP method username format validator - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtValidatorUsername::EapQtValidatorUsername(const EapQtExpandedEapType& type) : - mEapType(type) -{ -} - -EapQtValidatorUsername::~EapQtValidatorUsername() -{ -} - -EapQtValidator::Status EapQtValidatorUsername::validate(const QVariant& value) -{ - qDebug("EapQtValidatorUsername::validate()"); - - Status status(StatusOk); - - switch (mEapType.type()) { - case EapQtExpandedEapType::TypeEapAka: - case EapQtExpandedEapType::TypeEapFast: - case EapQtExpandedEapType::TypeEapGtc: - case EapQtExpandedEapType::TypeEapMschapv2: - case EapQtExpandedEapType::TypeEapSim: - case EapQtExpandedEapType::TypeEapTls: - case EapQtExpandedEapType::TypeEapTtls: - case EapQtExpandedEapType::TypeLeap: - case EapQtExpandedEapType::TypePeap: - case EapQtExpandedEapType::TypePap: - case EapQtExpandedEapType::TypePlainMschapv2: - status = validateGeneral(value); - break; - default: - // for methods that do not have a realm - status = StatusInvalid; - break; - } - - return status; -} - -EapQtValidator::Status EapQtValidatorUsername::validateGeneral(const QVariant& value) -{ - Status status(StatusOk); - QString str = value.toString(); - - // input must be of correct type - if (value.type() != QVariant::String) { - status = StatusInvalid; - } - else if (str.length() <= 0 && !isEmptyAllowed()) { - status = StatusTooShort; - } - // zero length username is ok - else if (str.length() > EapQtConfigInterfacePrivate::StringMaxLength) { - status = StatusTooLong; - } - else if (!validateCharacters(str)) { - status = StatusInvalidCharacters; - } - - qDebug("EapQtValidatorUsername::validateGeneral - return status: %d", status); - - return status; -} - -bool EapQtValidatorUsername::isEmptyAllowed() -{ - qDebug("EapQtValidatorUsername::isEmptyAllowed()"); - - bool ret(true); - - switch (mEapType.type()) { - case EapQtExpandedEapType::TypeEapGtc: - case EapQtExpandedEapType::TypeEapMschapv2: - case EapQtExpandedEapType::TypeLeap: - case EapQtExpandedEapType::TypePap: - case EapQtExpandedEapType::TypePlainMschapv2: - ret = false; - break; - default: - // other methods can have empty username - break; - } - - return ret; -} - -bool EapQtValidatorUsername::validateCharacters(const QString& str) -{ - qDebug("EapQtValidatorUsername::validateCharacters()"); - - bool ret(true); - - switch (mEapType.type()) { - case EapQtExpandedEapType::TypeEapAka: - case EapQtExpandedEapType::TypeEapFast: - case EapQtExpandedEapType::TypeEapSim: - case EapQtExpandedEapType::TypeEapTls: - case EapQtExpandedEapType::TypeEapTtls: - case EapQtExpandedEapType::TypePeap: - // these methods have a separate UI setting for realm, - // hence @ is not allowed in username field - ret = !(str.contains(QChar('@'), Qt::CaseInsensitive)); - break; - default: - // username field can contain realm separated with @ - break; - } - - return ret; -} - -void EapQtValidatorUsername::updateEditor(HbLineEdit* const edit) -{ - qDebug("EapQtValidatorUsername::updateEditor()"); - - Q_ASSERT(edit); - if(edit == NULL) { - return; - } - - switch (mEapType.type()) { - case EapQtExpandedEapType::TypeEapAka: - case EapQtExpandedEapType::TypeEapFast: - case EapQtExpandedEapType::TypeEapGtc: - case EapQtExpandedEapType::TypeEapMschapv2: - case EapQtExpandedEapType::TypeEapSim: - case EapQtExpandedEapType::TypeEapTls: - case EapQtExpandedEapType::TypeEapTtls: - case EapQtExpandedEapType::TypeLeap: - case EapQtExpandedEapType::TypePeap: - case EapQtExpandedEapType::TypePap: - case EapQtExpandedEapType::TypePlainMschapv2: - updateEditorGeneral(edit); - // falls through on purpose - default: - // no editor preferences for other types - break; - } -} - -void EapQtValidatorUsername::updateEditorGeneral(HbLineEdit* const edit) -{ - qDebug("EapQtValidatorUsername::updateEditorGeneral()"); - - Q_ASSERT(edit); - - edit->setMaxLength(EapQtConfigInterfacePrivate::StringMaxLength); - edit->setInputMethodHints(Qt::ImhNoAutoUppercase | Qt::ImhPreferLowercase - | Qt::ImhNoPredictiveText); - - HbEditorInterface editInterface(edit); - editInterface.setEditorClass(HbInputEditorClassUsername); - - HbEditorConstraints constraints = HbEditorConstraintAutoCompletingField; - editInterface.setInputConstraints(constraints); - - // no smileys :) - editInterface.setSmileyTheme(HbSmileyTheme()); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtplugininfo/bwins/eapqtplugininfou.def --- a/securitysettings/qtconfigutils/eapqtplugininfo/bwins/eapqtplugininfou.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -EXPORTS - ??0EapQtPluginHandle@@QAE@ABVEapQtExpandedEapType@@@Z @ 1 NONAME ; EapQtPluginHandle::EapQtPluginHandle(class EapQtExpandedEapType const &) - ?type@EapQtPluginHandle@@QBE?AVEapQtExpandedEapType@@XZ @ 2 NONAME ; class EapQtExpandedEapType EapQtPluginHandle::type(void) const - ?orderNumber@EapQtPluginInfo@@QBEHXZ @ 3 NONAME ; int EapQtPluginInfo::orderNumber(void) const - ??4EapQtPluginInfo@@QAEAAV0@ABV0@@Z @ 4 NONAME ; class EapQtPluginInfo & EapQtPluginInfo::operator=(class EapQtPluginInfo const &) - ??1EapQtPluginHandle@@QAE@XZ @ 5 NONAME ; EapQtPluginHandle::~EapQtPluginHandle(void) - ??1EapQtExpandedEapType@@QAE@XZ @ 6 NONAME ; EapQtExpandedEapType::~EapQtExpandedEapType(void) - ?pluginId@EapQtPluginHandle@@QBE?AW4Plugin@1@XZ @ 7 NONAME ; enum EapQtPluginHandle::Plugin EapQtPluginHandle::pluginId(void) const - ??0EapQtExpandedEapType@@QAE@W4Type@0@@Z @ 8 NONAME ; EapQtExpandedEapType::EapQtExpandedEapType(enum EapQtExpandedEapType::Type) - ??0EapQtPluginInfo@@QAE@ABVEapQtPluginHandle@@ABVQString@@H@Z @ 9 NONAME ; EapQtPluginInfo::EapQtPluginInfo(class EapQtPluginHandle const &, class QString const &, int) - ??0EapQtExpandedEapType@@QAE@ABVQByteArray@@@Z @ 10 NONAME ; EapQtExpandedEapType::EapQtExpandedEapType(class QByteArray const &) - ??0EapQtPluginInfo@@QAE@ABV0@@Z @ 11 NONAME ; EapQtPluginInfo::EapQtPluginInfo(class EapQtPluginInfo const &) - ??0EapQtExpandedEapType@@QAE@ABV0@@Z @ 12 NONAME ; EapQtExpandedEapType::EapQtExpandedEapType(class EapQtExpandedEapType const &) - ??0EapQtExpandedEapType@@QAE@XZ @ 13 NONAME ; EapQtExpandedEapType::EapQtExpandedEapType(void) - ?localizationId@EapQtPluginInfo@@QBE?AVQString@@XZ @ 14 NONAME ; class QString EapQtPluginInfo::localizationId(void) const - ??0EapQtPluginHandle@@QAE@XZ @ 15 NONAME ; EapQtPluginHandle::EapQtPluginHandle(void) - ??0EapQtPluginHandle@@QAE@W4Plugin@0@@Z @ 16 NONAME ; EapQtPluginHandle::EapQtPluginHandle(enum EapQtPluginHandle::Plugin) - ??0EapQtPluginHandle@@QAE@ABV0@@Z @ 17 NONAME ; EapQtPluginHandle::EapQtPluginHandle(class EapQtPluginHandle const &) - ??0EapQtPluginHandle@@QAE@ABVEapQtExpandedEapType@@H@Z @ 18 NONAME ; EapQtPluginHandle::EapQtPluginHandle(class EapQtExpandedEapType const &, int) - ??4EapQtPluginHandle@@QAEAAV0@ABV0@@Z @ 19 NONAME ; class EapQtPluginHandle & EapQtPluginHandle::operator=(class EapQtPluginHandle const &) - ??4EapQtExpandedEapType@@QAEAAV0@ABV0@@Z @ 20 NONAME ; class EapQtExpandedEapType & EapQtExpandedEapType::operator=(class EapQtExpandedEapType const &) - ?protocolImplementationUid@EapQtPluginHandle@@QBEHXZ @ 21 NONAME ; int EapQtPluginHandle::protocolImplementationUid(void) const - ?eapExpandedData@EapQtExpandedEapType@@QBE?AVQByteArray@@XZ @ 22 NONAME ; class QByteArray EapQtExpandedEapType::eapExpandedData(void) const - ??8EapQtExpandedEapType@@QBE_NABV0@@Z @ 23 NONAME ; bool EapQtExpandedEapType::operator==(class EapQtExpandedEapType const &) const - ?pluginHandle@EapQtPluginInfo@@QBE?AVEapQtPluginHandle@@XZ @ 24 NONAME ; class EapQtPluginHandle EapQtPluginInfo::pluginHandle(void) const - ??9EapQtExpandedEapType@@QBE_NABV0@@Z @ 25 NONAME ; bool EapQtExpandedEapType::operator!=(class EapQtExpandedEapType const &) const - ?type@EapQtExpandedEapType@@QBE?AW4Type@1@XZ @ 26 NONAME ; enum EapQtExpandedEapType::Type EapQtExpandedEapType::type(void) const - ??9EapQtPluginHandle@@QBE_NABV0@@Z @ 27 NONAME ; bool EapQtPluginHandle::operator!=(class EapQtPluginHandle const &) const - ??8EapQtPluginHandle@@QBE_NABV0@@Z @ 28 NONAME ; bool EapQtPluginHandle::operator==(class EapQtPluginHandle const &) const - ??1EapQtPluginInfo@@QAE@XZ @ 29 NONAME ; EapQtPluginInfo::~EapQtPluginInfo(void) - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtplugininfo/eabi/eapqtplugininfou.def --- a/securitysettings/qtconfigutils/eapqtplugininfo/eabi/eapqtplugininfou.def Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -EXPORTS - _ZN15EapQtPluginInfoC1ERK17EapQtPluginHandleRK7QStringi @ 1 NONAME - _ZN15EapQtPluginInfoC1ERKS_ @ 2 NONAME - _ZN15EapQtPluginInfoC2ERK17EapQtPluginHandleRK7QStringi @ 3 NONAME - _ZN15EapQtPluginInfoC2ERKS_ @ 4 NONAME - _ZN15EapQtPluginInfoD1Ev @ 5 NONAME - _ZN15EapQtPluginInfoD2Ev @ 6 NONAME - _ZN15EapQtPluginInfoaSERKS_ @ 7 NONAME - _ZN17EapQtPluginHandleC1ENS_6PluginE @ 8 NONAME - _ZN17EapQtPluginHandleC1ERK20EapQtExpandedEapType @ 9 NONAME - _ZN17EapQtPluginHandleC1ERK20EapQtExpandedEapTypei @ 10 NONAME - _ZN17EapQtPluginHandleC1ERKS_ @ 11 NONAME - _ZN17EapQtPluginHandleC1Ev @ 12 NONAME - _ZN17EapQtPluginHandleC2ENS_6PluginE @ 13 NONAME - _ZN17EapQtPluginHandleC2ERK20EapQtExpandedEapType @ 14 NONAME - _ZN17EapQtPluginHandleC2ERK20EapQtExpandedEapTypei @ 15 NONAME - _ZN17EapQtPluginHandleC2ERKS_ @ 16 NONAME - _ZN17EapQtPluginHandleC2Ev @ 17 NONAME - _ZN17EapQtPluginHandleD1Ev @ 18 NONAME - _ZN17EapQtPluginHandleD2Ev @ 19 NONAME - _ZN17EapQtPluginHandleaSERKS_ @ 20 NONAME - _ZN20EapQtExpandedEapTypeC1ENS_4TypeE @ 21 NONAME - _ZN20EapQtExpandedEapTypeC1ERK10QByteArray @ 22 NONAME - _ZN20EapQtExpandedEapTypeC1ERKS_ @ 23 NONAME - _ZN20EapQtExpandedEapTypeC1Ev @ 24 NONAME - _ZN20EapQtExpandedEapTypeC2ENS_4TypeE @ 25 NONAME - _ZN20EapQtExpandedEapTypeC2ERK10QByteArray @ 26 NONAME - _ZN20EapQtExpandedEapTypeC2ERKS_ @ 27 NONAME - _ZN20EapQtExpandedEapTypeC2Ev @ 28 NONAME - _ZN20EapQtExpandedEapTypeD1Ev @ 29 NONAME - _ZN20EapQtExpandedEapTypeD2Ev @ 30 NONAME - _ZN20EapQtExpandedEapTypeaSERKS_ @ 31 NONAME - _ZNK15EapQtPluginInfo11orderNumberEv @ 32 NONAME - _ZNK15EapQtPluginInfo12pluginHandleEv @ 33 NONAME - _ZNK15EapQtPluginInfo14localizationIdEv @ 34 NONAME - _ZNK17EapQtPluginHandle25protocolImplementationUidEv @ 35 NONAME - _ZNK17EapQtPluginHandle4typeEv @ 36 NONAME - _ZNK17EapQtPluginHandle8pluginIdEv @ 37 NONAME - _ZNK17EapQtPluginHandleeqERKS_ @ 38 NONAME - _ZNK17EapQtPluginHandleneERKS_ @ 39 NONAME - _ZNK20EapQtExpandedEapType15eapExpandedDataEv @ 40 NONAME - _ZNK20EapQtExpandedEapType4typeEv @ 41 NONAME - _ZNK20EapQtExpandedEapTypeeqERKS_ @ 42 NONAME - _ZNK20EapQtExpandedEapTypeneERKS_ @ 43 NONAME - diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtplugininfo/eapqtplugininfo.pro --- a/securitysettings/qtconfigutils/eapqtplugininfo/eapqtplugininfo.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# QT EAP plugin information handling component -# - -# %version: 14 % - - -TEMPLATE = lib -TARGET = eapqtplugininfo - -DEFINES += BUILD_EAP_QT_PLUGIN_INFO_DLL -DEPENDPATH += . - -# Storage for generated files -MOC_DIR = _build -RCC_DIR = _build -OBJECTS_DIR = _build - -# hb config -CONFIG += hb - -HEADERS += \ - inc/eapqtexpandedeaptype_p.h \ - inc/eapqtpluginhandle_p.h \ - inc/eapqtplugininfo_p.h - -SOURCES += \ - src/eapqtplugininfo.cpp \ - src/eapqtplugininfo_p.cpp \ - src/eapqtexpandedeaptype.cpp \ - src/eapqtexpandedeaptype_p.cpp \ - src/eapqtpluginhandle.cpp \ - src/eapqtpluginhandle_p.cpp - -symbian { - # path to def files - defFilePath = . - - # symbian libs - LIBS += \ - -leapsymbiantools \ - -leaptools - - TARGET.UID3 = 0x2002C2FD - TARGET.EPOCALLOWDLLDATA = 1 - - TARGET.CAPABILITY = CAP_GENERAL_DLL - - BLD_INF_RULES.prj_exports += \ - "rom/eapqtplugininfo.iby CORE_MW_LAYER_IBY_EXPORT_PATH(eapqtplugininfo.iby)" -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtexpandedeaptype_p.h --- a/securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtexpandedeaptype_p.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Expanded EAP type QT data structure - * - */ - -/* - * %version: 4 % - */ - -#ifndef EAPQTEXPANDEDEAPTYPE_P_H -#define EAPQTEXPANDEDEAPTYPE_P_H - -// System includes -#include -#include - -// User includes - -// Forward declarations - -// External data types - -// Constants - -// Class declaration -class EapQtExpandedEapTypePrivate -{ - -public: - - // Data types - - EapQtExpandedEapTypePrivate(); - EapQtExpandedEapTypePrivate(const EapQtExpandedEapType::Type type); - EapQtExpandedEapTypePrivate(const QByteArray &data); - - ~EapQtExpandedEapTypePrivate(); - -private: - - Q_DISABLE_COPY(EapQtExpandedEapTypePrivate) - -private: // data - - QByteArray mData; - EapQtExpandedEapType::Type mType; - - // Friend classes - friend class EapQtExpandedEapType; - -}; - -#endif // EAPQTEXPANDEDEAPTYPE_P_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtpluginhandle_p.h --- a/securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtpluginhandle_p.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel EAP plugin information - * - */ - -/* - * %version: 3 % - */ - - -#ifndef EAPQTPLUGINHANDLE_P_H -#define EAPQTPLUGINHANDLE_P_H - -// System includes -#include - -// User includes - -// Forward declarations - -// External data types - -// Constants - -// Class declaration -class EapQtPluginHandlePrivate -{ - -public: - - // Data types - - EapQtPluginHandlePrivate(const EapQtExpandedEapType& type, const int uid); - ~EapQtPluginHandlePrivate(); - -private: - - EapQtPluginHandlePrivate(); - Q_DISABLE_COPY(EapQtPluginHandlePrivate) - -private: // data - - EapQtExpandedEapType mType; - int mProtocolImplementationUid; - - // Friend classes - friend class EapQtPluginHandle; - -}; - -#endif // EAPQTPLUGINHANDLE_P_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtplugininfo_p.h --- a/securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtplugininfo_p.h Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Control Panel EAP plugin information - * - */ - -/* - * %version: 4 % - */ - -#ifndef EAPQTPLUGININFO_P_H -#define EAPQTPLUGININFO_P_H - -// System includes -#include -#include - -// User includes - -// Forward declarations - -// External data types - -// Constants - -// Class declaration -class EapQtPluginInfoPrivate -{ - -public: - - // Data types - - EapQtPluginInfoPrivate(const EapQtPluginHandle &mHandle, const QString &locId, - const int orderNumber); - ~EapQtPluginInfoPrivate(); - -private: - - EapQtPluginInfoPrivate(); - Q_DISABLE_COPY(EapQtPluginInfoPrivate) - -private: // data - - EapQtPluginHandle mHandle; - QString mLocId; - int mOrderNumber; - - // Friend classes - friend class EapQtPluginInfo; - -}; - -#endif // EAPPLUGININFO_P_H diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtplugininfo/rom/eapqtplugininfo.iby --- a/securitysettings/qtconfigutils/eapqtplugininfo/rom/eapqtplugininfo.iby Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 method configuration QT interface -* -*/ - -/* -* %version: 4 % -*/ - -#ifndef EAPQTPLUGININFO_IBY -#define EAPQTPLUGININFO_IBY - -#include -#include - -#ifdef __PROTOCOL_WLAN - -file=ABI_DIR/BUILD_DIR/eapqtplugininfo.dll SHARED_LIB_DIR/eapqtplugininfo.dll - -#endif // __PROTOCOL_WLAN - -#endif // EAPQTPLUGININFO_IBY diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtexpandedeaptype.cpp --- a/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtexpandedeaptype.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Expanded EAP type QT data structure - * - */ - -/* - * %version: 13 % - */ - -// System includes -#include - -// User includes -#include "eapqtexpandedeaptype_p.h" - -/*! - * \class EapQtExpandedEapType - * \brief Public implementation of expanded EAP type QT data structure - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtExpandedEapType::EapQtExpandedEapType() : - d_ptr(new EapQtExpandedEapTypePrivate) -{ -} - -EapQtExpandedEapType::EapQtExpandedEapType(const Type type) : - d_ptr(new EapQtExpandedEapTypePrivate(type)) -{ -} - -EapQtExpandedEapType::EapQtExpandedEapType(const QByteArray &data) : - d_ptr(new EapQtExpandedEapTypePrivate(data)) -{ -} - -EapQtExpandedEapType::EapQtExpandedEapType(const EapQtExpandedEapType &type) : - d_ptr(new EapQtExpandedEapTypePrivate) -{ - d_ptr->mData = type.d_ptr->mData; - d_ptr->mType = type.d_ptr->mType; -} - -EapQtExpandedEapType::~EapQtExpandedEapType() -{ - // scoped pointer delete -} - -QByteArray EapQtExpandedEapType::eapExpandedData() const -{ - return d_ptr->mData; -} - -EapQtExpandedEapType::Type EapQtExpandedEapType::type() const -{ - return d_ptr->mType; -} - -bool EapQtExpandedEapType::operator ==(const EapQtExpandedEapType &right_type_value) const -{ - return (d_ptr->mData == right_type_value.d_ptr->mData) && (d_ptr->mType == right_type_value.d_ptr->mType); -} - -bool EapQtExpandedEapType::operator !=(const EapQtExpandedEapType &right_type_value) const -{ - return (d_ptr->mData != right_type_value.d_ptr->mData) || (d_ptr->mType != right_type_value.d_ptr->mType); -} - -EapQtExpandedEapType& EapQtExpandedEapType::operator=(const EapQtExpandedEapType &type) -{ - // check if assigning to myself - if (this != &type) { - d_ptr.reset(new EapQtExpandedEapTypePrivate); - d_ptr->mData = type.d_ptr->mData; - d_ptr->mType = type.d_ptr->mType; - } - return *this; -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtexpandedeaptype_p.cpp --- a/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtexpandedeaptype_p.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,209 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Expanded EAP type QT data structure - * - */ - -/* - * %version: 6 % - */ - -// System includes -#include - -// User includes -#include "eapqtexpandedeaptype_p.h" - -/*! - * \class EapQtExpandedEapTypePrivate - * \brief Private implementation of expanded EAP type QT data structure - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtExpandedEapTypePrivate::EapQtExpandedEapTypePrivate() -{ - mData.clear(); - mType = EapQtExpandedEapType::TypeUndefined; -} - -EapQtExpandedEapTypePrivate::EapQtExpandedEapTypePrivate(const EapQtExpandedEapType::Type type) -{ - TBuf8 tmpType; - TEapExpandedType tmpEapType; - - mType = type; - mData.clear(); - - // little bit playing with the types and constructors below to convert to QByteArray - - switch (type) { - case EapQtExpandedEapType::TypeEapAka: - { - TEapExpandedType localTmpEapType(*EapExpandedTypeAka.GetType()); - tmpEapType = localTmpEapType; - } - break; - case EapQtExpandedEapType::TypeEapFast: - { - TEapExpandedType localTmpEapType(*EapExpandedTypeFast.GetType()); - tmpEapType = localTmpEapType; - } - break; - case EapQtExpandedEapType::TypeEapGtc: - { - TEapExpandedType localTmpEapType(*EapExpandedTypeGtc.GetType()); - tmpEapType = localTmpEapType; - } - break; - case EapQtExpandedEapType::TypeLeap: - { - TEapExpandedType localTmpEapType(*EapExpandedTypeLeap.GetType()); - tmpEapType = localTmpEapType; - } - break; - case EapQtExpandedEapType::TypeEapMschapv2: - { - TEapExpandedType localTmpEapType(*EapExpandedTypeMsChapv2.GetType()); - tmpEapType = localTmpEapType; - } - break; - case EapQtExpandedEapType::TypePeap: - { - TEapExpandedType localTmpEapType(*EapExpandedTypePeap.GetType()); - tmpEapType = localTmpEapType; - } - break; - case EapQtExpandedEapType::TypeEapSim: - { - TEapExpandedType localTmpEapType(*EapExpandedTypeSim.GetType()); - tmpEapType = localTmpEapType; - } - break; - case EapQtExpandedEapType::TypeEapTls: - { - TEapExpandedType localTmpEapType(*EapExpandedTypeTls.GetType()); - tmpEapType = localTmpEapType; - } - break; - case EapQtExpandedEapType::TypeEapTtls: - { - TEapExpandedType localTmpEapType(*EapExpandedTypeTtls.GetType()); - tmpEapType = localTmpEapType; - } - break; - case EapQtExpandedEapType::TypeProtectedSetup: - { - TEapExpandedType localTmpEapType(*EapExpandedTypeProtectedSetup.GetType()); - tmpEapType = localTmpEapType; - } - break; - case EapQtExpandedEapType::TypePap: - { - TEapExpandedType localTmpEapType(*EapExpandedTypeTtlsPap.GetType()); - tmpEapType = localTmpEapType; - } - break; - case EapQtExpandedEapType::TypePlainMschapv2: - { - TEapExpandedType localTmpEapType(*EapExpandedPlainMsChapv2.GetType()); - tmpEapType = localTmpEapType; - } - break; - case EapQtExpandedEapType::TypeUndefined: - default: - { - TEapExpandedType localTmpEapType(*EapExpandedTypeNone.GetType()); - tmpEapType = localTmpEapType; - mType = EapQtExpandedEapType::TypeUndefined; - } - break; - } - - tmpType = tmpEapType.GetValue(); - mData.append(reinterpret_cast (tmpType.Ptr()), tmpType.Length()); -} - -EapQtExpandedEapTypePrivate::EapQtExpandedEapTypePrivate(const QByteArray &data) -{ - mData = data; - - TEapExpandedType tmpType; - tmpType.SetValue(data.data(), data.size()); - - if (tmpType.GetValue() == *(EapExpandedTypeGtc.GetType())) { - mType = EapQtExpandedEapType::TypeEapGtc; - - } - else if (tmpType.GetValue() == *(EapExpandedTypeTls.GetType())) { - mType = EapQtExpandedEapType::TypeEapTls; - - } - else if (tmpType.GetValue() == *(EapExpandedTypeLeap.GetType())) { - mType = EapQtExpandedEapType::TypeLeap; - - } - else if (tmpType.GetValue() == *(EapExpandedTypeSim.GetType())) { - mType = EapQtExpandedEapType::TypeEapSim; - - } - else if (tmpType.GetValue() == *(EapExpandedTypeAka.GetType())) { - mType = EapQtExpandedEapType::TypeEapAka; - - } - else if (tmpType.GetValue() == *(EapExpandedTypeTtls.GetType())) { - mType = EapQtExpandedEapType::TypeEapTtls; - - } - else if (tmpType.GetValue() == *(EapExpandedTypePeap.GetType())) { - mType = EapQtExpandedEapType::TypePeap; - - } - else if (tmpType.GetValue() == *(EapExpandedTypeMsChapv2.GetType())) { - mType = EapQtExpandedEapType::TypeEapMschapv2; - - } - else if (tmpType.GetValue() == *(EapExpandedTypeFast.GetType())) { - mType = EapQtExpandedEapType::TypeEapFast; - - } - else if (tmpType.GetValue() == *(EapExpandedTypeProtectedSetup.GetType())) { - mType = EapQtExpandedEapType::TypeProtectedSetup; - - } - else if (tmpType.GetValue() == *(EapExpandedTypeTtlsPap.GetType())) { - mType = EapQtExpandedEapType::TypePap; - - } - else if (tmpType.GetValue() == *(EapExpandedPlainMsChapv2.GetType())) { - mType = EapQtExpandedEapType::TypePlainMschapv2; - } - else { - mType = EapQtExpandedEapType::TypeUndefined; - mData = QByteArray(reinterpret_cast ((*EapExpandedTypeNone.GetType()).Ptr()), - (*EapExpandedTypeNone.GetType()).Length()); - } - qDebug("EapQtExpandedEapTypePrivate(const QByteArray data) - mType: %d", mType); -} - -EapQtExpandedEapTypePrivate::~EapQtExpandedEapTypePrivate() -{ -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtpluginhandle.cpp --- a/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtpluginhandle.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,156 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Handle to EAP plugin information - * - */ - -/* - * %version: 16 % - */ - -// System includes -#include - -// User includes -#include "eapqtpluginhandle_p.h" - -/*! - * \class EapQtPluginHandle - * \brief Public implementation of handle to EAP plugin information - */ - -// External function prototypes - -// Local constants - -struct EapQtPluginHandleMapper -{ - EapQtExpandedEapType::Type mType; - int mUid; -}; - -// mapper from EapQtPluginHandle::Plugin to default -// EapQtExpandedEapType & protocol plugin implementation UID pair -static const EapQtPluginHandleMapper handleMapper[EapQtPluginHandle::PluginLast] = { - {EapQtExpandedEapType::TypeUndefined, 0x00000000}, - {EapQtExpandedEapType::TypeEapAka, 0x102073c2}, - {EapQtExpandedEapType::TypeEapFast, 0x2000BF12}, - {EapQtExpandedEapType::TypeEapGtc, 0x101f8e80}, - {EapQtExpandedEapType::TypeLeap, 0x101f8ea7}, - {EapQtExpandedEapType::TypeEapMschapv2, 0x101f8e67}, - {EapQtExpandedEapType::TypePeap, 0x101f8e4e}, - {EapQtExpandedEapType::TypeEapSim, 0x101f8e4b}, - {EapQtExpandedEapType::TypeEapTls, 0x101f8e4d}, - {EapQtExpandedEapType::TypeEapTtls, 0x101f8e4f}, - {EapQtExpandedEapType::TypePap, 0x2001B2F2}, - {EapQtExpandedEapType::TypePlainMschapv2, 0x101f8e7b} -}; - -// mapper from EapQtExpandedEapType::Type to EapQtPluginHandle::Plugin -static const EapQtPluginHandle::Plugin typeMapper[EapQtExpandedEapType::TypeLast] = { - EapQtPluginHandle::PluginUndefined, - EapQtPluginHandle::PluginEapAka, - EapQtPluginHandle::PluginEapFast, - EapQtPluginHandle::PluginEapGtc, - EapQtPluginHandle::PluginLeap, - EapQtPluginHandle::PluginEapMschapv2, - EapQtPluginHandle::PluginPeap, - EapQtPluginHandle::PluginEapSim, - EapQtPluginHandle::PluginEapTls, - EapQtPluginHandle::PluginEapTtls, - EapQtPluginHandle::PluginUndefined, /* wps does not have a plugin */ - EapQtPluginHandle::PluginPap, - EapQtPluginHandle::PluginPlainMschapv2 -}; - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtPluginHandle::EapQtPluginHandle() : - d_ptr(new EapQtPluginHandlePrivate(handleMapper[PluginUndefined].mType, - handleMapper[PluginUndefined].mUid)) -{ -} - -EapQtPluginHandle::EapQtPluginHandle(const Plugin id) : - d_ptr(NULL) -{ - Plugin localId; - if (id < PluginLast) { - localId = id; - } - else { - localId = PluginUndefined; - } - d_ptr.reset(new EapQtPluginHandlePrivate(handleMapper[localId].mType, - handleMapper[localId].mUid)); -} - -EapQtPluginHandle::EapQtPluginHandle(const EapQtExpandedEapType& type, const int uid) : - d_ptr(new EapQtPluginHandlePrivate(type, uid)) -{ -} - -EapQtPluginHandle::EapQtPluginHandle(const EapQtExpandedEapType& type) : - d_ptr(new EapQtPluginHandlePrivate(type, handleMapper[typeMapper[type.type()]].mUid)) -{ -} - -EapQtPluginHandle::EapQtPluginHandle(const EapQtPluginHandle& handle) : - d_ptr(new EapQtPluginHandlePrivate(handle.type(), handle.protocolImplementationUid())) -{ -} - -EapQtPluginHandle::~EapQtPluginHandle() -{ - // scoped pointer delete -} - -EapQtExpandedEapType EapQtPluginHandle::type() const -{ - return d_ptr->mType; -} - -int EapQtPluginHandle::protocolImplementationUid() const -{ - return d_ptr->mProtocolImplementationUid; -} - -EapQtPluginHandle::Plugin EapQtPluginHandle::pluginId() const -{ - return typeMapper[d_ptr->mType.type()]; -} - -EapQtPluginHandle& EapQtPluginHandle::operator=(const EapQtPluginHandle &handle) -{ - // check if assigning to myself - if (this != &handle) { - d_ptr.reset(new EapQtPluginHandlePrivate(handle.type(), handle.protocolImplementationUid())); - } - return *this; -} - -bool EapQtPluginHandle::operator ==(const EapQtPluginHandle &right_type_value) const -{ - return (right_type_value.d_ptr->mProtocolImplementationUid == d_ptr->mProtocolImplementationUid) - && (right_type_value.d_ptr->mType == d_ptr->mType); -} - -bool EapQtPluginHandle::operator !=(const EapQtPluginHandle &right_type_value) const -{ - return (right_type_value.d_ptr->mProtocolImplementationUid != d_ptr->mProtocolImplementationUid) - || (right_type_value.d_ptr->mType != d_ptr->mType); -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtpluginhandle_p.cpp --- a/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtpluginhandle_p.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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: - * Handle to EAP plugin information - * - */ - -/* - * %version: 2 % - */ - -// System includes - -// User includes -#include "eapqtpluginhandle_p.h" - -/*! - * \class EapQtPluginHandlePrivate - * \brief Private implementation of handle to EAP plugin information - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtPluginHandlePrivate::EapQtPluginHandlePrivate(const EapQtExpandedEapType& type, const int uid) : - mType(type), mProtocolImplementationUid(uid) -{ -} - -EapQtPluginHandlePrivate::~EapQtPluginHandlePrivate() -{ -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtplugininfo.cpp --- a/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtplugininfo.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 plugin information - * - */ - -/* - * %version: 6 % - */ - -// System includes -#include -#include -#include -#include - -// User includes -#include "eapqtplugininfo_p.h" - -/*! - * \class EapQtPluginInfo - * \brief Public implementation of EAP plugin information - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtPluginInfo::EapQtPluginInfo(const EapQtPluginHandle &id, const QString &locId, - const int orderNumber) : - d_ptr(new EapQtPluginInfoPrivate(id, locId, orderNumber)) -{ -} - -EapQtPluginInfo::EapQtPluginInfo(const EapQtPluginInfo &info) : - d_ptr( - new EapQtPluginInfoPrivate(info.pluginHandle(), info.localizationId(), info.orderNumber())) -{ -} - -EapQtPluginInfo& EapQtPluginInfo::operator=(const EapQtPluginInfo &info) -{ - // check if assigning to myself - if (this != &info) { - d_ptr.reset(new EapQtPluginInfoPrivate(info.pluginHandle(), info.localizationId(), - info.orderNumber())); - } - return *this; -} - -EapQtPluginInfo::~EapQtPluginInfo() -{ - // scoped pointer delete -} - -EapQtPluginHandle EapQtPluginInfo::pluginHandle() const -{ - return d_ptr->mHandle; -} - -QString EapQtPluginInfo::localizationId() const -{ - return d_ptr->mLocId; -} - -int EapQtPluginInfo::orderNumber() const -{ - return d_ptr->mOrderNumber; -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtplugininfo_p.cpp --- a/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtplugininfo_p.cpp Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "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 plugin information - * - */ - -/* - * %version: 2 % - */ - -// System includes - -// User includes -#include "eapqtplugininfo_p.h" - -/*! - * \class EapQtPluginInfoPrivate - * \brief Private implementation of EAP plugin information - */ - -// External function prototypes - -// Local constants - -// ======== LOCAL FUNCTIONS ======== - -// ======== MEMBER FUNCTIONS ======== - -EapQtPluginInfoPrivate::EapQtPluginInfoPrivate(const EapQtPluginHandle& handle, - const QString &locId, const int orderNumber) : - mHandle(handle), mLocId(locId), mOrderNumber(orderNumber) -{ -} - -EapQtPluginInfoPrivate::~EapQtPluginInfoPrivate() -{ -} diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/qtconfigutils/qtconfigutils.pro --- a/securitysettings/qtconfigutils/qtconfigutils.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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 QT utility components -# - -# %version: 5 % - -TEMPLATE = subdirs -SUBDIRS = eapqtplugininfo eapqtconfiginterface -CONFIG += ordered diff -r bad0cc58d154 -r c74b3d9f6b9e securitysettings/securitysettings.pro --- a/securitysettings/securitysettings.pro Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -# -# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -# All rights reserved. -# This component and the accompanying materials are made available -# under the terms of "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: -# Project definition file for accesssec package QT components -# -# %version: 7 % -# - -TEMPLATE = subdirs - -SUBDIRS += \ - qtconfigutils \ - cpwlansecurityuiplugins \ - cpeapuiplugins \ - eapqtdialogs - -CONFIG += ordered diff -r bad0cc58d154 -r c74b3d9f6b9e sysdef_1_4_0.dtd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysdef_1_4_0.dtd Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r bad0cc58d154 -r c74b3d9f6b9e sysdef_1_5_1.dtd --- a/sysdef_1_5_1.dtd Tue Aug 31 15:16:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,34 @@ +/* +* Copyright (c) 2001-2009 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: Build information file +* +*/ + +/* +* %version: 5 % +*/ + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +PRJ_MMPFILES +#include "../wapisecuritysettingsui/stub/group/bld.inf" +#include "../wepsecuritysettingsui/group/bld.inf" +#include "../wifiprotectedsetup/group/bld.inf" +#include "../wlaneapsettingsui/group/bld.inf" +#include "../wpasecuritysettingsui/group/bld.inf" + +PRJ_TESTMMPFILES \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wapisecuritysettingsui/bwinscw/wapisecuritysettingsuiu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wapisecuritysettingsui/bwinscw/wapisecuritysettingsuiu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,12 @@ +EXPORTS + ?LoadL@CWAPISecuritySettings@@QAEXKAAVCMDBSession@CommsDat@@@Z @ 1 NONAME ; void CWAPISecuritySettings::LoadL(unsigned long, class CommsDat::CMDBSession &) + ?SetPreSharedKeyL@CWAPISecuritySettings@@QAEXW4TWapiKeyFormat@1@ABVTDesC16@@@Z @ 2 NONAME ; void CWAPISecuritySettings::SetPreSharedKeyL(enum CWAPISecuritySettings::TWapiKeyFormat, class TDesC16 const &) + ?EditL@CWAPISecuritySettings@@QAEHAAVCWAPISecuritySettingsUi@@ABVTDesC16@@@Z @ 3 NONAME ; int CWAPISecuritySettings::EditL(class CWAPISecuritySettingsUi &, class TDesC16 const &) + ?SaveL@CWAPISecuritySettings@@QBEXKAAVCMDBSession@CommsDat@@@Z @ 4 NONAME ; void CWAPISecuritySettings::SaveL(unsigned long, class CommsDat::CMDBSession &) const + ?NewL@CWAPISecuritySettings@@SAPAV1@XZ @ 5 NONAME ; class CWAPISecuritySettings * CWAPISecuritySettings::NewL(void) + ??1CWAPISecuritySettings@@UAE@XZ @ 6 NONAME ; CWAPISecuritySettings::~CWAPISecuritySettings(void) + ??1CWAPISecuritySettingsUi@@UAE@XZ @ 7 NONAME ; CWAPISecuritySettingsUi::~CWAPISecuritySettingsUi(void) + ?NewL@CWAPISecuritySettingsUi@@SAPAV1@AAVCEikonEnv@@@Z @ 8 NONAME ; class CWAPISecuritySettingsUi * CWAPISecuritySettingsUi::NewL(class CEikonEnv &) + ?DeleteAPSpecificDataL@CWAPISecuritySettings@@QAEXH@Z @ 9 NONAME ; void CWAPISecuritySettings::DeleteAPSpecificDataL(int) + ?IsValid@CWAPISecuritySettings@@QBEHXZ @ 10 NONAME ; int CWAPISecuritySettings::IsValid(void) const + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wapisecuritysettingsui/eabi/wapisecuritysettingsuiu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wapisecuritysettingsui/eabi/wapisecuritysettingsuiu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,16 @@ +EXPORTS + _ZN21CWAPISecuritySettings16SetPreSharedKeyLENS_14TWapiKeyFormatERK7TDesC16 @ 1 NONAME + _ZN21CWAPISecuritySettings21DeleteAPSpecificDataLEi @ 2 NONAME + _ZN21CWAPISecuritySettings4NewLEv @ 3 NONAME + _ZN21CWAPISecuritySettings5EditLER23CWAPISecuritySettingsUiRK7TDesC16 @ 4 NONAME + _ZN21CWAPISecuritySettings5LoadLEmRN8CommsDat11CMDBSessionE @ 5 NONAME + _ZN21CWAPISecuritySettingsD0Ev @ 6 NONAME + _ZN21CWAPISecuritySettingsD1Ev @ 7 NONAME + _ZN21CWAPISecuritySettingsD2Ev @ 8 NONAME + _ZN23CWAPISecuritySettingsUi4NewLER9CEikonEnv @ 9 NONAME + _ZN23CWAPISecuritySettingsUiD0Ev @ 10 NONAME + _ZN23CWAPISecuritySettingsUiD1Ev @ 11 NONAME + _ZN23CWAPISecuritySettingsUiD2Ev @ 12 NONAME + _ZNK21CWAPISecuritySettings5SaveLEmRN8CommsDat11CMDBSessionE @ 13 NONAME + _ZNK21CWAPISecuritySettings7IsValidEv @ 14 NONAME + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wapisecuritysettingsui/rom/wapisecuritysettingsui.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wapisecuritysettingsui/rom/wapisecuritysettingsui.iby Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,35 @@ +/* +* Copyright (c) 2001-2009 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: Image description file for project wapisecuritysettingsui +* +*/ + +/* +* %version: 9 % +*/ + +#ifndef __WAPISECURITYSETTINGSUI_IBY__ +#define __WAPISECURITYSETTINGSUI_IBY__ + +#ifdef __PROTOCOL_WLAN +#ifndef FF_WLAN_WAPI_INCLUDE_IN_ROM +// Use stub implementation +FILE=ABI_DIR\BUILD_DIR\wapisecuritysettingsui.dll SHARED_LIB_DIR\wapisecuritysettingsui.dll +#else +// Use real implementation +FILE=ABI_DIR\BUILD_DIR\realwapisecuritysettingsui.dll SHARED_LIB_DIR\wapisecuritysettingsui.dll +#endif // FF_WLAN_WAPI_INCLUDE_IN_ROM +#endif // __PROTOCOL_WLAN + +#endif // #ifndef __WAPISECURITYSETTINGSUI_IBY__ diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wapisecuritysettingsui/rom/wapisecuritysettingsuiresources.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wapisecuritysettingsui/rom/wapisecuritysettingsuiresources.iby Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2001-2009 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: Image description file for project wapisecuritysettingsui +* +*/ + +/* +* %version: 3.1.4 % +*/ + +#ifndef __WAPISECURITYSETTINGSUIRESOURCES_IBY__ +#define __WAPISECURITYSETTINGSUIRESOURCES_IBY__ + +#ifdef __PROTOCOL_WLAN +DATA=DATAZ_\RESOURCE_FILES_DIR\wapisecuritysettingsui.rsc RESOURCE_FILES_DIR\wapisecuritysettingsui.rsc +#endif + +#endif \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wapisecuritysettingsui/stub/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wapisecuritysettingsui/stub/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,35 @@ +/* +* Copyright (c) 2001-2009 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: This file provides the information required for building the wapisecuritysettings stub. +* +*/ + +/* +* %version: 8 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +// export iby files +../../rom/wapisecuritysettingsui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wapisecuritysettingsui.iby) + +PRJ_MMPFILES +./wapisecuritysettingsstub.mmp + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wapisecuritysettingsui/stub/group/wapisecuritysettingsstub.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wapisecuritysettingsui/stub/group/wapisecuritysettingsstub.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,53 @@ +/* +* Copyright (c) 2001-2009 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: This is project specification file for the wapisecuritysettings stub. +* +*/ + +/* +* %version: 8 % +*/ + +#include +#include + + +TARGET wapisecuritysettingsui.dll +TARGETTYPE DLL + +CAPABILITY CAP_GENERAL_DLL +VENDORID VID_DEFAULT + +SOURCEPATH ../src + +SOURCE wapisecuritysettingsstub.cpp +SOURCE wapisecuritysettingsuistub.cpp + + +// Component specific internal headers +USERINCLUDE ../../inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE + +//Used libraries +LIBRARY euser.lib + +#if defined( WINSCW ) +DEFFILE ../../bwinscw/wapisecuritysettingsui.def +#else +DEFFILE ../../eabi/wapisecuritysettingsui.def +#endif + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wapisecuritysettingsui/stub/src/wapisecuritysettingsstub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wapisecuritysettingsui/stub/src/wapisecuritysettingsstub.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,111 @@ +/* +* Copyright (c) 2001-2009 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: Stub Implementation of class CWAPISecuritySettings. +* +*/ + +/* +* %version: 9 % +*/ + +// INCLUDE FILES +#include +#include + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWAPISecuritySettings::NewL +// --------------------------------------------------------- +// +EXPORT_C CWAPISecuritySettings* CWAPISecuritySettings::NewL() + { + User::Leave(KErrNotSupported); + return NULL; + } + + +// --------------------------------------------------------- +// CWAPISecuritySettings::~CWAPISecuritySettings +// --------------------------------------------------------- +// +EXPORT_C CWAPISecuritySettings::~CWAPISecuritySettings() + { + + } + + +// --------------------------------------------------------- +// CWAPISecuritySettings::EditL +// --------------------------------------------------------- +// +EXPORT_C TInt CWAPISecuritySettings::EditL( CWAPISecuritySettingsUi& /* aUi */, + const TDesC& /* aTitle */ ) + { + return 0; + } + + +// --------------------------------------------------------- +// CWAPISecuritySettings::LoadL +// --------------------------------------------------------- +// +EXPORT_C void CWAPISecuritySettings::LoadL( TUint32 /* aIapRecordId */, CMDBSession& /* aSession */) + { + + } + + +// --------------------------------------------------------- +// CWAPISecuritySettings::IsValid +// --------------------------------------------------------- +// +EXPORT_C TBool CWAPISecuritySettings::IsValid( ) const + + { + return EFalse; + } + + +// --------------------------------------------------------- +// CWAPISecuritySettings::SaveL +// --------------------------------------------------------- +// +EXPORT_C void CWAPISecuritySettings::SaveL( TUint32 /* aIapRecordId */, CMDBSession& /* aSession */ ) const + + { + + } + + +// --------------------------------------------------------- +// CWAPISecuritySettings::SetPreSharedKey +// --------------------------------------------------------- +// +EXPORT_C void CWAPISecuritySettings::SetPreSharedKeyL( const TWapiKeyFormat /* aKeyFormat */, const TDesC& /* aPreSharedKey */ ) + { + } + + +// --------------------------------------------------------- +// CWAPISecuritySettings::DeleteAPSpecificDataL +// --------------------------------------------------------- +// +EXPORT_C void CWAPISecuritySettings::DeleteAPSpecificDataL( const TInt /* aId */) + { + + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wapisecuritysettingsui/stub/src/wapisecuritysettingsuistub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wapisecuritysettingsui/stub/src/wapisecuritysettingsuistub.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,50 @@ +/* +* Copyright (c) 2001-2009 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: Stub implementation of class CWAPISecuritySettingsUi. +* +*/ + +/* +* %version: 5 % +*/ + +// INCLUDE FILES +#include +#include + + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWAPISecuritySettingsUi::NewL +// --------------------------------------------------------- +// +EXPORT_C CWAPISecuritySettingsUi* CWAPISecuritySettingsUi::NewL( + CEikonEnv& /* aEikEnv */) + { + User::Leave(KErrNotSupported); + return NULL; + } + + +// --------------------------------------------------------- +// CWAPISecuritySettingsUi::~CWAPISecuritySettingsUi +// --------------------------------------------------------- +// +EXPORT_C CWAPISecuritySettingsUi::~CWAPISecuritySettingsUi() + { + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/Rom/WEPSecuritySettingsUI.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/Rom/WEPSecuritySettingsUI.iby Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 2001-2009 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: Image description file for project WEPSecuritySettingsUI +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +#ifndef __WEPSECURITYSETTINGSUI_IBY__ +#define __WEPSECURITYSETTINGSUI_IBY__ + +#ifdef __PROTOCOL_WLAN +FILE=ABI_DIR\BUILD_DIR\WEPSecuritySettingsUI.dll SHARED_LIB_DIR\WEPSecuritySettingsUI.dll +#else +// stub for non-WLAN products +FILE=ABI_DIR\BUILD_DIR\wepsecuritysettingsuistub.dll SHARED_LIB_DIR\WEPSecuritySettingsUI.dll +#endif // __PROTOCOL_WLAN + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/Rom/WEPSecuritySettingsUIResources.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/Rom/WEPSecuritySettingsUIResources.iby Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2001-2009 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: Image description file for project WEPSecuritySettingsUI +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +#ifndef __WEPSECURITYSETTINGSUIRESOURCES_IBY__ +#define __WEPSECURITYSETTINGSUIRESOURCES_IBY__ + +#ifdef __PROTOCOL_WLAN +DATA=DATAZ_\RESOURCE_FILES_DIR\WEPSecuritySettingsUI.rsc RESOURCE_FILES_DIR\WEPSecuritySettingsUI.rsc +#endif // __PROTOCOL_WLAN + +#endif \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/bwinscw/WEPSecuritySettingsUI_EKA2_ALRu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/bwinscw/WEPSecuritySettingsUI_EKA2_ALRu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,16 @@ +EXPORTS + ??1CWEPSecuritySettings@@UAE@XZ @ 1 NONAME ; CWEPSecuritySettings::~CWEPSecuritySettings(void) + ??1CWEPSecuritySettingsUi@@UAE@XZ @ 2 NONAME ; CWEPSecuritySettingsUi::~CWEPSecuritySettingsUi(void) + ?Cvt@CWEPSecuritySettingsUi@@SAHXZ @ 3 NONAME ; int CWEPSecuritySettingsUi::Cvt(void) + ?EditL@CWEPSecuritySettings@@QAEHAAVCWEPSecuritySettingsUi@@ABVTDesC16@@@Z @ 4 NONAME ; int CWEPSecuritySettings::EditL(class CWEPSecuritySettingsUi &, class TDesC16 const &) + ?LoadL@CWEPSecuritySettings@@QAEXKAAVCCommsDatabase@@@Z @ 5 NONAME ; void CWEPSecuritySettings::LoadL(unsigned long, class CCommsDatabase &) + ?NewL@CWEPSecuritySettings@@SAPAV1@XZ @ 6 NONAME ; class CWEPSecuritySettings * CWEPSecuritySettings::NewL(void) + ?NewL@CWEPSecuritySettingsUi@@SAPAV1@AAVCEikonEnv@@@Z @ 7 NONAME ; class CWEPSecuritySettingsUi * CWEPSecuritySettingsUi::NewL(class CEikonEnv &) + ?SaveL@CWEPSecuritySettings@@QBEXKAAVCCommsDatabase@@@Z @ 8 NONAME ; void CWEPSecuritySettings::SaveL(unsigned long, class CCommsDatabase &) const + ?IsValid@CWEPSecuritySettings@@QBEHXZ @ 9 NONAME ; int CWEPSecuritySettings::IsValid(void) const + ?SetKeyDataL@CWEPSecuritySettings@@QAEHHABVTDesC16@@H@Z @ 10 NONAME ; int CWEPSecuritySettings::SetKeyDataL(int, class TDesC16 const &, int) + ?LoadL@CWEPSecuritySettings@@QAEXKAAVCMDBSession@CommsDat@@@Z @ 11 NONAME ; void CWEPSecuritySettings::LoadL(unsigned long, class CommsDat::CMDBSession &) + ?SaveL@CWEPSecuritySettings@@QBEXKAAVCMDBSession@CommsDat@@@Z @ 12 NONAME ; void CWEPSecuritySettings::SaveL(unsigned long, class CommsDat::CMDBSession &) const + ?SetAuthentication@CWEPSecuritySettings@@QAEXW4TWEPAuthentication@1@@Z @ 13 NONAME ; void CWEPSecuritySettings::SetAuthentication(enum CWEPSecuritySettings::TWEPAuthentication) + ?SetKeyInUse@CWEPSecuritySettings@@QAEXW4TWEPKeyInUse@1@@Z @ 14 NONAME ; void CWEPSecuritySettings::SetKeyInUse(enum CWEPSecuritySettings::TWEPKeyInUse) + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/data/WEPSecuritySettingsUI.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/data/WEPSecuritySettingsUI.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,390 @@ +/* +* Copyright (c) 2001-2009 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: This file contains all the resources for the WEP Security Settings UI. +* +*/ + +/* +* %version: tr1cfwln#7.1.11 % +*/ + +// RESOURCE IDENTIFIER +NAME AWSS // 4 letter ID + +// INCLUDES +#include +#include +#include +#include +#include + +#include "WEPSecuritySettingsUI.hrh" +#include + + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + +RESOURCE TBUF { buf="WEPSecuritySettings"; } + + +//---------------------------------------------------- +// +// r_wep_security_settings_menubar +// Menubar +// +//---------------------------------------------------- +// +RESOURCE MENU_BAR r_wep_security_settings_menubar + { + titles= + { + MENU_TITLE + { + menu_pane = r_wep_security_settings_menu; + } + }; + } + + + +//---------------------------------------------------- +// +// r_wep_security_settings_menu +// The Options menu +// +//---------------------------------------------------- +// +RESOURCE MENU_PANE r_wep_security_settings_menu + { + items= + { + MENU_ITEM + { + command = EWepSelCmdChange; + txt = qtn_set_options_change; + flags = EEikMenuItemAction; + }, + + MENU_ITEM + { + command = EAknCmdHelp; + txt = qtn_options_help; + }, + + MENU_ITEM + { + command = EAknCmdExit; + txt = qtn_options_exit; + } + }; + } + + + +//---------------------------------------------------- +// +// r_wepsettings_pane_softkeys_options_back_edit +// WEP Security Settings softkeys +// +//---------------------------------------------------- +// +RESOURCE CBA r_wepsettings_pane_softkeys_options_back_edit + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = EWepSelCmdChange; txt = qtn_msk_change; } + }; + } + + + +//---------------------------------------------------- +// +// r_wepsettings_dialog +// WEP Security Settings main dialog +// +//---------------------------------------------------- +// +RESOURCE DIALOG r_wepsettings_dialog + { + flags = EEikDialogFlagWait | EEikDialogFlagNoDrag | + EEikDialogFlagNoTitleBar | EEikDialogFlagFillAppClientRect | + EEikDialogFlagCbaButtons; + + buttons = r_wepsettings_pane_softkeys_options_back_edit; + + items = + { + DLG_LINE + { + type = EAknCtSettingListBox; + id = KWepMainSettingsListboxId; + control = LISTBOX + { + flags = EAknListBoxSelectionList; + }; + } + }; + } + + + +//---------------------------------------------------- +// +// r_setting_app_edwin_key_data +// Window to enter key data +// +//---------------------------------------------------- +// +RESOURCE EDWIN r_setting_app_edwin_key_data + { + avkon_flags = EAknEditorFlagNoT9 | EAknEditorFlagLatinInputModesOnly; + lines = 8; + } + + +//---------------------------------------------------- +// +// r_text_setting_page_key_data +// Setting page for entering key data +// +//---------------------------------------------------- +// +RESOURCE AVKON_SETTING_PAGE r_text_setting_page_key_data + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + number= EAknSettingPageNoOrdinalDisplayed; + label= qtn_wlan_sett_wep_key_data; + type = EEikCtEdwin; + editor_resource_id = r_setting_app_edwin_key_data; + } + + + +//---------------------------------------------------- +// +// r_setting_app_listbox +// Listbox for setting page +// +//---------------------------------------------------- +// +RESOURCE LISTBOX r_setting_app_listbox + { + flags = EEikListBoxMultipleSelection; + } + + + +//---------------------------------------------------- +// +// r_wepsettings_pane_softkeys_ok_cancel_select +// WEP Security Settings softkeys +// +//---------------------------------------------------- +// +RESOURCE CBA r_wepsettings_pane_softkeys_ok_cancel_select + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_ok; }, + CBA_BUTTON { id = EAknSoftkeyCancel; txt = text_softkey_cancel; }, + CBA_BUTTON { id = EAknSoftkeyOk; txt = qtn_msk_select; } + }; + } + + +//---------------------------------------------------- +// +// r_radio_button_setting_page +// Setting page with radio buttons +// +//---------------------------------------------------- +// +RESOURCE AVKON_SETTING_PAGE r_radio_button_setting_page + { + number = EAknSettingPageNoOrdinalDisplayed; + softkey_resource = r_wepsettings_pane_softkeys_ok_cancel_select; + type = EAknSetListBox; + editor_resource_id= r_setting_app_listbox; + } + + + +//---------------------------------------------------- +// +// r_wep_sec_sett_conf_query +// ConfirmationQuery dialog +// +//---------------------------------------------------- +// +RESOURCE DIALOG r_wep_sec_sett_conf_query + { + flags = EGeneralQueryFlags; + buttons = R_AVKON_SOFTKEYS_YES_NO__YES; + items = + { + DLG_LINE + { + type = EAknCtQuery; + id = EGeneralQuery; + control = AVKON_CONFIRMATION_QUERY + { + layout = EConfirmationQueryLayout; + }; + } + }; + } + + + +RESOURCE TBUF r_wep_view_text_cannot_access_db + { + buf = qtn_set_err_db_inaccessible; + } + +RESOURCE TBUF r_wep_key_in_use + { + buf = qtn_wlan_sett_wep_key_in_use; + } + +RESOURCE TBUF r_wep_authentication + { + buf = qtn_wlan_sett_wep_auth_mode; + } + +RESOURCE TBUF r_wep_key_configuration + { + buf = qtn_wlan_sett_wep_key_settings; + } + +RESOURCE TBUF r_wep_key_number_1 + { + buf = qtn_wlan_sett_wep_key_1; + } + +RESOURCE TBUF r_wep_key_number_2 + { + buf = qtn_wlan_sett_wep_key_2; + } + +RESOURCE TBUF r_wep_key_number_3 + { + buf = qtn_wlan_sett_wep_key_3; + } + +RESOURCE TBUF r_wep_key_number_4 + { + buf = qtn_wlan_sett_wep_key_4; + } + +RESOURCE TBUF r_wep_tab_key_1 + { + buf = qtn_wlan_tab_wep_key_1; + } + +RESOURCE TBUF r_wep_tab_key_2 + { + buf = qtn_wlan_tab_wep_key_2; + } + +RESOURCE TBUF r_wep_tab_key_3 + { + buf = qtn_wlan_tab_wep_key_3; + } + +RESOURCE TBUF r_wep_tab_key_4 + { + buf = qtn_wlan_tab_wep_key_4; + } + +RESOURCE TBUF r_wep_authentication_open + { + buf = qtn_wlan_sett_wep_auth_mode_open; + } + +RESOURCE TBUF r_wep_authentication_shared + { + buf = qtn_wlan_sett_wep_auth_mode_shared; + } + +RESOURCE TBUF r_wep_key_length + { + buf = qtn_wlan_sett_wep_key_length; + } + +RESOURCE TBUF r_wep_key_format + { + buf = qtn_wlan_sett_wep_key_format; + } + +RESOURCE TBUF r_wep_key_data + { + buf = qtn_wlan_sett_wep_key_data; + } + +RESOURCE TBUF r_wep_key_length_64_bits + { + buf = qtn_wlan_sett_wep_key_length_64_bits; + } + +RESOURCE TBUF r_wep_key_length_128_bits + { + buf = qtn_wlan_sett_wep_key_length_128_bits; + } + +RESOURCE TBUF r_wep_key_length_256_bits + { + buf = qtn_wlan_sett_wep_key_length_256_bits; + } + +RESOURCE TBUF r_wep_key_format_ascii + { + buf = qtn_wlan_sett_wep_key_format_ascii; + } + +RESOURCE TBUF r_wep_key_format_hex + { + buf = qtn_wlan_sett_wep_key_format_hexa; + } + +RESOURCE TBUF r_wep_key_data_must_be_defined + { + buf = qtn_selec_setting_compulsory; + } + +RESOURCE TBUF r_wep_key_data_stars + { + buf = qtn_wlan_sett_wep_key_format_hexa; + } + +RESOURCE TBUF r_wep_data_missing + { + buf = qtn_wlan_quest_wep_key_data_missing; + } + +RESOURCE TBUF r_info_wep_key_too_short + { + buf = qtn_wlan_info_wep_key_too_short; + } + +RESOURCE TBUF r_info_wep_key_illegal_chars + { + buf = qtn_wlan_info_wep_key_illegal_chars; + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/eabi/WEPSecuritySettingsUI_EKA2_ALRu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/eabi/WEPSecuritySettingsUI_EKA2_ALRu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,20 @@ +EXPORTS + _ZN20CWEPSecuritySettings4NewLEv @ 1 NONAME + _ZN20CWEPSecuritySettings5EditLER22CWEPSecuritySettingsUiRK7TDesC16 @ 2 NONAME + _ZN20CWEPSecuritySettings5LoadLEmR14CCommsDatabase @ 3 NONAME + _ZN20CWEPSecuritySettingsD0Ev @ 4 NONAME + _ZN20CWEPSecuritySettingsD1Ev @ 5 NONAME + _ZN20CWEPSecuritySettingsD2Ev @ 6 NONAME + _ZN22CWEPSecuritySettingsUi3CvtEv @ 7 NONAME + _ZN22CWEPSecuritySettingsUi4NewLER9CEikonEnv @ 8 NONAME + _ZN22CWEPSecuritySettingsUiD0Ev @ 9 NONAME + _ZN22CWEPSecuritySettingsUiD1Ev @ 10 NONAME + _ZN22CWEPSecuritySettingsUiD2Ev @ 11 NONAME + _ZNK20CWEPSecuritySettings5SaveLEmR14CCommsDatabase @ 12 NONAME + _ZNK20CWEPSecuritySettings7IsValidEv @ 13 NONAME + _ZN20CWEPSecuritySettings11SetKeyDataLEiRK7TDesC16i @ 14 NONAME + _ZN20CWEPSecuritySettings5LoadLEmRN8CommsDat11CMDBSessionE @ 15 NONAME + _ZNK20CWEPSecuritySettings5SaveLEmRN8CommsDat11CMDBSessionE @ 16 NONAME + _ZN20CWEPSecuritySettings11SetKeyInUseENS_12TWEPKeyInUseE @ 17 NONAME + _ZN20CWEPSecuritySettings17SetAuthenticationENS_18TWEPAuthenticationE @ 18 NONAME + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/group/WEPSecuritySettingsUI.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/group/WEPSecuritySettingsUI.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,79 @@ +/* +* Copyright (c) 2001-2009 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: This is project specification file for the WEPSecuritySettingsUI. +* +*/ + +/* +* %version: tr1cfwln#25 % +*/ + +#include +#include + + +TARGET WEPSecuritySettingsUI.dll +TARGETTYPE DLL + +CAPABILITY CAP_GENERAL_DLL +VENDORID VID_DEFAULT + + +START RESOURCE ../data/WEPSecuritySettingsUI.rss +HEADER +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS +END // RESOURCE + + +SOURCEPATH ../src + +SOURCE WEPSecuritySettings.cpp +SOURCE WEPSecuritySettingsImpl.cpp +SOURCE WEPSecuritySettingsUI.cpp +SOURCE WEPSecuritySettingsUiImpl.cpp +SOURCE WEPSecuritySettingsDlg.cpp +SOURCE WepKeyDataTextSettingPage.cpp +SOURCE WEPSecuritySettingsUiPanic.cpp + +// Component specific internal headers +USERINCLUDE ../inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE +APP_LAYER_SYSTEMINCLUDE + +LIBRARY hlplch.lib +LIBRARY euser.lib +LIBRARY cone.lib +LIBRARY eikcore.lib +LIBRARY eikcoctl.lib +LIBRARY avkon.lib +LIBRARY eikdlg.lib +LIBRARY bafl.lib +LIBRARY commonengine.lib +LIBRARY commdb.lib +LIBRARY FeatMgr.lib +LIBRARY commsdat.lib + +DEBUGLIBRARY flogger.lib + +#if defined( WINSCW ) + DEFFILE ../bwinscw/WEPSecuritySettingsUI_EKA2_ALR.def +#else + DEFFILE ../eabi/WEPSecuritySettingsUI_EKA2_ALR.def +#endif + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,46 @@ +/* +* Copyright (c) 2001-2009 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: This file provides the information required for building the whole of a WEPSecuritySettingsUI. +* +*/ + +/* +* %version: tr1cfwln#22 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +// export iby files +../Rom/WEPSecuritySettingsUI.iby CORE_MW_LAYER_IBY_EXPORT_PATH(WEPSecuritySettingsUI.iby) +../Rom/WEPSecuritySettingsUIResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(WEPSecuritySettingsUIResources.iby) + +// export localised loc file +../loc/wepsecuritysettingsui.loc MW_LAYER_LOC_EXPORT_PATH(wepsecuritysettingsui.loc) + + +PRJ_MMPFILES +// real implementation for WLAN products +./WEPSecuritySettingsUI.mmp +// stub implementation for non-WLAN products +./wepsecuritysettingsuistub.mmp + +PRJ_TESTMMPFILES + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/group/wepsecuritysettingsuistub.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/group/wepsecuritysettingsuistub.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,51 @@ +/* +* Copyright (c) 2001-2010 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: Project specification file for stub implementation of +* WEP UI for non-WLAN products to support linking +* +*/ + +/* +* %version: 6 % +*/ + +#include +#include + +TARGET wepsecuritysettingsuistub.dll +TARGETTYPE DLL + +CAPABILITY CAP_GENERAL_DLL +VENDORID VID_DEFAULT + +SOURCEPATH ../src + +SOURCE wepsecuritysettingsstub.cpp +SOURCE wepsecuritysettingsuistub.cpp + +// Component specific internal headers +USERINCLUDE ../inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE + +LIBRARY euser.lib + +#if defined( WINSCW ) + DEFFILE ../bwinscw/WEPSecuritySettingsUI_EKA2_ALR.def +#else + DEFFILE ../eabi/WEPSecuritySettingsUI_EKA2_ALR.def +#endif + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/inc/SecuritySettingsLogger.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/inc/SecuritySettingsLogger.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,155 @@ +/* +* Copyright (c) 2001-2009 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: Logger utility. +* +*/ + +/* +* %version: tr1cfwln#8 % +*/ + +#ifndef SECURITYSETTINGSLOGGER_H +#define SECURITYSETTINGSLOGGER_H + + +// INCLUDES + +#include +#include +#include + + +#ifdef _DEBUG +#define __SEC_SETT_LOG__ +#endif // _DEBUG + + +#ifdef __SEC_SETT_LOG__ + +// CONSTANTS + +// SecuritySettingsLogger logging directory. +_LIT( KSecSettLogDir, "TestSecSett" ); +// SecSett log file name. +_LIT( KSecSettLogFile, "SecSett.log" ); +// Format string: enter function. +_LIT( KSecSettLogEnterFn, "-> %S" ); +// Format string: leave function. +_LIT( KSecSettLogLeaveFn, "<- %S" ); +// Format string: time. +_LIT( KSecSettLogTimeFormatString, "%H:%T:%S:%*C2" ); +// Format string: timestamp. +_LIT( KSecSettLogTimeStampFormatString, "%S %S" ); + +// DEFINES + +// Write log: enter function. +#define CLOG_ENTERFN( a ) \ + { \ + _LIT( temp, a ); \ + RFileLogger::WriteFormat \ + ( \ + KSecSettLogDir, \ + KSecSettLogFile, \ + EFileLoggingModeAppend, \ + KSecSettLogEnterFn, \ + &temp \ + ); \ + } + +// Write log: leave function. +#define CLOG_LEAVEFN( a ) \ + { \ + _LIT( temp, a ); \ + RFileLogger::WriteFormat \ + ( \ + KSecSettLogDir, \ + KSecSettLogFile, \ + EFileLoggingModeAppend, \ + KSecSettLogLeaveFn, \ + &temp \ + ); \ + } + +// Write log: string 'a'. +#define CLOG_WRITE( a ) \ + { \ + _LIT( temp, a ); \ + RFileLogger::Write \ + ( \ + KSecSettLogDir, \ + KSecSettLogFile, \ + EFileLoggingModeAppend, \ + temp \ + ); \ + } + +// Write log: formatted. +#define CLOG_WRITE_FORMAT( a, b ) \ + { \ + _LIT( temp, a ); \ + RFileLogger::WriteFormat \ + ( \ + KSecSettLogDir, \ + KSecSettLogFile, \ + EFileLoggingModeAppend, \ + temp, \ + b \ + ); \ + } + +// Write log: timestamp. +#define CLOG_WRITE_TIMESTAMP( a ) \ + { \ + _LIT( temp, a ); \ + TTime time; \ + time.HomeTime(); \ + TBuf<32> timeBuf; \ + TRAPD( err, time.FormatL( timeBuf, KSecSettLogTimeFormatString ) ); \ + if ( !err ) \ + { \ + RFileLogger::WriteFormat \ + ( \ + KSecSettLogDir, \ + KSecSettLogFile, \ + EFileLoggingModeAppend, \ + KSecSettLogTimeStampFormatString, \ + &temp, \ + &timeBuf \ + ); \ + } \ + } + +#else // not defined __SEC_SETT_LOG__ + +// DEFINES + +// Empty definition (disable log). +#define CLOG_ENTERFN( a ) + +// Empty definition (disable log). +#define CLOG_LEAVEFN( a ) + +// Empty definition (disable log). +#define CLOG_WRITE( a ) + +// Empty definition (disable log). +#define CLOG_WRITE_FORMAT( a, b ) + +// Empty definition (disable log). +#define CLOG_WRITE_TIMESTAMP( a ) + +#endif // __SEC_SETT_LOG__ + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsDlg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsDlg.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,318 @@ +/* +* Copyright (c) 2001-2009 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: Declares dialog. +* +*/ + +/* +* %version: tr1cfwln#14 % +*/ + +#ifndef WEP_SECURITY_SETTINGS_DLG_H +#define WEP_SECURITY_SETTINGS_DLG_H + + +// INCLUDES +#include +#include +#include +#include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS +#include +#else +#include +#include +#endif + +#include "WepSecuritySettingsDefs.h" + + +// FORWARD DECLARATIONS +class CAknTitlePane; +class CAknNavigationControlContainer; +class CAknNavigationDecorator; +class CAknTabGroup; + + +// CLASS DECLARATION +/** +* CWEPSecuritySettingsDlg dialog class +*/ +NONSHARABLE_CLASS( CWEPSecuritySettingsDlg ) : public CAknDialog, + public MEikListBoxObserver, + public MAknTabObserver + { + + public: // Constructors and destructor + + /** + * Create and launch dialog. + * @param aSecuritySettings Security settings + * @param aTitle Title of the dialog + * @return The ID of the button that closed the dialog + */ + TInt ConstructAndRunLD( CWEPSecuritySettingsImpl* aSecuritySettings, + const TDesC& aTitle ); + + + /** + * Two-phase construction. + * @param aEventStore A reference to hold the events happened + * @return The constructed CWEPSecuritySettingsDlg object. + */ + static CWEPSecuritySettingsDlg* NewL( TInt& aEventStore ); + + + /** + * Destructor. + */ + ~CWEPSecuritySettingsDlg(); + + + protected: + /** + * Constructor. + * @param aEventStore A reference to hold the events happened + */ + CWEPSecuritySettingsDlg( TInt& aEventStore ); + + + public: // Functions from base classes + /** + * Handle key events. + * @param aKeyEvent: key event + * @param aType: type of event + * @return The key response, if it was consumed or not. + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType ); + + + public: // From MAknTabObserver + + /** + * Called when a key is tab change happens. + * @param aIndex index of the new tab + */ + void TabChangedL( TInt aIndex ); + + + private: + + /** + * This function is called by the dialog framework before the dialog is + * sized and laid out. + */ + virtual void PreLayoutDynInitL(); + + + /** + * Handles a dialog button press for the specified button + * @param aButtonId The ID of the button that was activated. + * @return ETrue to validate and exit the dialog, + * EFalse to keep the dialog active + */ + TBool OkToExitL( TInt aButtonId ); + + + /** + * Processes user commands. + * @param aCommandId ID of the command to respond to. + */ + virtual void ProcessCommandL( TInt aCommandId ); + + + /** + * Handles list box events. + * @param aListBox The originating list box. + * @param aEventType A code for the event. + */ + void HandleListBoxEventL( CEikListBox* aListBox, + TListBoxEvent aEventType ); + + /** + * Get help context. + * @param aContext Help context is returned here. + */ + void GetHelpContext( TCoeHelpContext& aContext ) const; + + /** + * Initialize menu pane. + * @param aResourceId Menu pane resource id. + * @param CEikMenuPane Menu pane. + */ + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + + protected: // New functions + + /** + * Handles listbox data change + */ + void HandleListboxDataChangeL(); + + + /** + * Fills up the listbox with data + * @param aItemArray Array where to add the elements + * @param arr Array to be used as list elements + * @param aLength The number of elements in the above array + * @param aRes Array of resource IDs to be used for the + * elements of arr + */ + void FillListWithDataL( CDesCArrayFlat& aItemArray, + const CWEPSecuritySettings::TWepMember& arr, + TInt aLength, + const TInt* aRes ); + + + /** + * Updates one listbox item for the given member + * @param aMember Value specifying which member has to be added to + * the list + * @param aRes Resource ID for the 'title text' for this member + * @param aPos The current position of the item in the list + */ + void UpdateListBoxItemL( CWEPSecuritySettings::TWepMember aMember, + TInt aRes, TInt aPos ); + + + /** + * Creates one 'textual' listbox item for the given member + * @param aMember Value specifying which member has to be added to + * the list + * @param aRes Resource ID for the 'title text' for this member + * @return The created listbox item text. + */ + HBufC* CreateTextualListBoxItemL( CWEPSecuritySettings::TWepMember aMember, + TInt aRes ); + + + /** + * Changes one setting. The setting, which is + * highlighted as current in the listbox is changed. + * @param aQuick ETrue if the setting is "two-choices", and can be + * automatically changed, without showing the list of + * elements + */ + void ChangeSettingsL( TBool aQuick ); + + + /** + * Shows a popup setting page (radio buttons) for the given member + * @param aDataMember The member which needs to be changed + * @return A boolean indicating whether the current setting + * has been changed or not. + */ + TBool ShowPopupSettingPageL( + CWEPSecuritySettings::TWepMember aDataMember ); + + + /** + * Shows a popup text setting page for the given member + * @return A boolean indicating whether the current setting + * has been changed or not. + */ + TBool ShowPopupTextSettingPageL(); + + + /** + * Fills up a pop-up radio button setting page with the currently + * valid and available choices for the given member. + * @param aData The member whose new setting is needed + * @param aCurrvalue The current value of the setting + * @return An array of choices for the given member, pushed to the + * CleanupStack. + */ + CDesCArrayFlat* FillPopupSettingPageLC( + CWEPSecuritySettings::TWepMember aData, + TInt& aCurrvalue ); + + + /** + * Updates the given member's data with the new setting from the setting + * page. + * @param aData The member to update + * @param aCurrvalue The new value + * @return A boolean indicating if the value is actually changed + */ + TBool UpdateFromPopupSettingPage( CWEPSecuritySettings::TWepMember aData, + TInt aCurrvalue ); + + + /** + * Inverts one boolean member + * @param aDataMember the member to invert. + */ + void InvertSettings( CWEPSecuritySettings::TWepMember aDataMember ); + + + private: //data + + // Stores the name of the connection, to be showed as the title. + TBuf iConnectionName; + + // Title pane. Not owned. + CAknTitlePane* iTitlePane; + + // Pointer to the old title. Owned. + HBufC* iOldTitleText; + + // Empty Navigation decorator. Owned. + CAknNavigationDecorator* iNaviDecoratorEmpty; + + // Tabbed Navigation decorator. Owned. + CAknNavigationDecorator* iNaviDecoratorTabbed; + + // Navi Pane. Not owned. + CAknNavigationControlContainer* iNaviPane; + + // Tab Group. Not owned. + CAknTabGroup* iTabGroup; + + // Index of the active tab + TInt iActiveTab; + + // Owned through resources, destroyed automatically by the dialog. + CAknSettingStyleListBox* iList; + + // Array of the items. Not owned. + CDesCArrayFlat* iItemArray; + + // Fields of the main view. Not owned. + CWEPSecuritySettings::TWepMember* iFieldsMain; + + // Titles of the main view. Not owned. + TInt* iTitlesMain; + + // Fields of the key configuration view. Not owned. + CWEPSecuritySettings::TWepMember* iFieldsKeyConfiguration; + + // Titles of the key configuration view. Not owned. + TInt* iTitlesKeyConfiguration; + + // Pointer to the WEP Security Settings. Not owned. + CWEPSecuritySettingsImpl* iSecuritySettings; + + // current level (main or key configuration) + TInt iLevel; + + // To hold the events. Not owned. + TInt* iEventStore; + }; + + +#endif // WEP_SECURITY_SETTINGS_DLG_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsImpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsImpl.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,269 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of class CWEPSecuritySettingsImpl. +* +*/ + +/* +* %version: tr1cfwln#19 % +*/ + +#ifndef WEPSECURITYSETTINGSIMPL_H +#define WEPSECURITYSETTINGSIMPL_H + +// INCLUDES +#include + +#include +#include "WepSecuritySettingsDefs.h" + +#include +using namespace CommsDat; + +// FORWARD DECLARATIONS + +class CCommsDatabase; + + +// CLASS DECLARATION + +/** +* WEP Security Settings. +* Implementation behind proxy class CWEPSecuritySettings. +*/ +NONSHARABLE_CLASS( CWEPSecuritySettingsImpl ) : public CBase + { + + public: // Constructors and destructor + + /** + * Two-phased constructor. Leaves on failure. + * @return The constructed CWEPSecuritySettings object. + */ + static CWEPSecuritySettingsImpl* NewL(); + + /** + * Destructor. + */ + virtual ~CWEPSecuritySettingsImpl(); + + protected: // Constructors + + /** + * Constructor. + * @param aEikEnv Eikon environment. + */ + CWEPSecuritySettingsImpl(); + + /** + * Second-phase constructor. + */ + void ConstructL(); + + public: // New methods + + /** + * Load from database. + * @param aIapId Wlan Service Table Id of the IAP to be loaded + * @param aCommsDb Comms database. + */ + void LoadL( TUint32 aIapId, CCommsDatabase& aCommsDb ); + + /** + * Save to database. + * @param aIapId Wlan Service Table Id of the IAP to be saved + * @param aCommsDb Comms database. + */ + void SaveL( TUint32 aIapId, CCommsDatabase& aCommsDb ) const; + + /** + * Tells if the settings are valid and can be saved + * @return ETrue if all the compulsory settings have been entered + */ + TBool IsValid(); + + + /** + * Sets the new data of the key + * @param aElement Index of the element whose data has to be set. + * @param aKeyData The new value for data of the key. + * @param aHex ETrue if data is in Ascii format + */ + TInt SetKeyDataL( const TInt aElement, const TDesC& aKeyData, + const TBool aHex ); + + + /** + * Calculates expected length of hex string of keyData on the base of + * the selected key length. + * @param aKeyLength Chosen key length + * @return Expected length + */ + TInt ExpectedLengthOfKeyData( CWEPSecuritySettings::TWEPKeyLength + aKeyLength ); + + + /** + * Gets Key currently in use + * @return The key in use. + */ + inline CWEPSecuritySettings::TWEPKeyInUse KeyInUse () const; + + /** + * Sets Key currently in use + * @param aKeyInUse The new value for key in use. + */ + inline void SetKeyInUse ( const CWEPSecuritySettings::TWEPKeyInUse + aKeyInUse ); + + + /** + * Gets type of Authentication + * @return The type of Authentication. + */ + inline CWEPSecuritySettings::TWEPAuthentication Authentication () const; + + /** + * Sets type of Authentication + * @param aAuthentication The new value for type of Authentication. + */ + inline void SetAuthentication( + const CWEPSecuritySettings::TWEPAuthentication aAuthentication ); + + + /** + * Gets the length of the key + * @param aElement Index of the element whose length has to be + * retrieved. + * @return The length of the key + */ + inline CWEPSecuritySettings::TWEPKeyLength KeyLength ( + const TInt aElement ) const; + + /** + * Sets the length of the key + * @param aElement Index of the element whose length has to be set. + * @param aKeyLength The new value for length of the key. + */ + inline void SetKeyLength( const TInt aElement, + const CWEPSecuritySettings::TWEPKeyLength aKeyLength ); + + + /** + * Gets the format of the key + * @param aElement Index of the element whose format has to be + * retrieved. + * @return The format of the key + */ + inline CWEPSecuritySettings::TWEPKeyFormat KeyFormat( + const TInt aElement ) const; + + /** + * Sets the format of the key + * @param aElement Index of the element whose format has to be set. + * @param aKeyLength The new value for format of the key. + */ + inline void SetKeyFormat( const TInt aElement, + const CWEPSecuritySettings::TWEPKeyFormat aKeyFormat ); + + + /** + * Gets the key data + * @param aElement Index of the element whose keyData has to be + * retrieved. + * @return The data of the key + */ + inline TDes8* KeyData( const TInt aElement ); + + /** + * Sets the new data of the key + * @param aElement Index of the element whose data has to be set. + * @param aKeyLength The new value for data of the key. + */ + inline void SetKeyData( const TInt aElement, const TDesC8& aKeyData ); + + /** + * Tells if the Wep256 feature is enabled or not + * @return ETrue if the flag is enabled + */ + inline TBool WEP256Enabled() const; + + /** + * Verify if the entered keyData is valid + * @param aTextToTest The text to be verified + * @param aLengthOfKeyData The expected length of the keyData + * @param aWEPKeyFormat The format chosen to enter the keyData + * @return KErrNone if the text is valid, or error code if not. + */ + TInt VerifyKeyData( const TDesC8& aTextToTest, TInt aLengthOfKeyData, + CWEPSecuritySettings::TWEPKeyFormat aWEPKeyFormat ); + + /** + * Converts keyData enetered in Ascii format to hex format + * @param aSource Source string + * @param aDest destination string + */ + void ConvertAsciiToHex( const TDesC8& aSource, HBufC8*& aDest ); + + /** + * Load from database. + * @param aIapId Wlan Service Table Id of the IAP to be loaded + * @param aSession CommsDat session. + */ + void LoadL( TUint32 aIapId, CMDBSession& aSession ); + + /** + * Save to database. + * @param aIapId Wlan Service Table Id of the IAP to be saved + * @param aSession CommsDat session. + */ + void SaveL( TUint32 aIapId, CMDBSession& aSession ) const; + + + private: + + /** + * Sets keyLength parsing data contained in iKeyData + * @param aIndex Index of the element whose length has to be calculated. + */ + void SetLenKeyDataFromText( const TInt aIndex ); + + + private: // Data + + // Index of the key currently in use (EKeyNumber1, EKeyNumber2, + // EKeyNumber3, EKeyNumber4 + CWEPSecuritySettings::TWEPKeyInUse iKeyInUse; + + // Type of authentication (EAuthOpen, EAuthShared) + CWEPSecuritySettings::TWEPAuthentication iAuthentication; + + // Length of the key (E40Bits, E104Bits, E232Bits) + CWEPSecuritySettings::TWEPKeyLength iKeyLength[KMaxNumberofKeys]; + + // Format of the key (EAscii, EHexadecimal) + CWEPSecuritySettings::TWEPKeyFormat iKeyFormat[KMaxNumberofKeys]; + + // Data of the key + TBuf8 iKeyData[KMaxNumberofKeys]; + + // Tells if the Wep256 feature is enabled + TBool iIsWEP256Enabled; + }; + +// Include inline functions +#include "WEPSecuritySettingsImpl.inl" + + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsImpl.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsImpl.inl Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,148 @@ +/* +* Copyright (c) 2001-2009 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: CWEPSecuritySettingsImpl inline functions +* +*/ + +/* +* %version: tr1cfwln#12 % +*/ + +#ifndef WEPSECURITYSETTINGSIMPL_INL +#define WEPSECURITYSETTINGSIMPL_INL + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::KeyInUse +// --------------------------------------------------------- +// +inline CWEPSecuritySettings::TWEPKeyInUse + CWEPSecuritySettingsImpl::KeyInUse() const + { + return iKeyInUse; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::Authentication +// --------------------------------------------------------- +// +inline CWEPSecuritySettings::TWEPAuthentication + CWEPSecuritySettingsImpl::Authentication() const + { + return iAuthentication; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::KeyLength +// --------------------------------------------------------- +// +inline CWEPSecuritySettings::TWEPKeyLength + CWEPSecuritySettingsImpl::KeyLength( const TInt aElement ) const + { + return iKeyLength[aElement]; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::KeyFormat +// --------------------------------------------------------- +// +inline CWEPSecuritySettings::TWEPKeyFormat + CWEPSecuritySettingsImpl::KeyFormat( const TInt aElement ) const + { + return iKeyFormat[aElement]; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::KeyData +// --------------------------------------------------------- +// +inline TDes8* CWEPSecuritySettingsImpl::KeyData( const TInt aElement ) + { + return &iKeyData[aElement]; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::SetKeyInUse +// --------------------------------------------------------- +// +inline void CWEPSecuritySettingsImpl::SetKeyInUse( + const CWEPSecuritySettings::TWEPKeyInUse aKeyInUse ) + { + iKeyInUse = aKeyInUse; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::SetAuthentication +// --------------------------------------------------------- +// +inline void CWEPSecuritySettingsImpl::SetAuthentication( + const CWEPSecuritySettings::TWEPAuthentication aAuthentication ) + { + iAuthentication = aAuthentication; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::SetKeyLength +// --------------------------------------------------------- +// +inline void CWEPSecuritySettingsImpl::SetKeyLength( const TInt aElement, + const CWEPSecuritySettings::TWEPKeyLength aKeyLength ) + { + iKeyLength[aElement] = aKeyLength; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::SetKeyFormat +// --------------------------------------------------------- +// +inline void CWEPSecuritySettingsImpl::SetKeyFormat( const TInt aElement, + const CWEPSecuritySettings::TWEPKeyFormat aKeyFormat ) + { + iKeyFormat[aElement] = aKeyFormat; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::SetKeyData +// --------------------------------------------------------- +// +inline void CWEPSecuritySettingsImpl::SetKeyData( const TInt aElement, + const TDesC8& aKeyData ) + { + iKeyData[aElement] = aKeyData; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::WEP256Enabled +// --------------------------------------------------------- +// +inline TBool CWEPSecuritySettingsImpl::WEP256Enabled() const + { + // WEP256 is deprecated. + return EFalse; + } + + +#endif + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUI.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUI.hrh Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,52 @@ +/* +* Copyright (c) 2001-2009 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: This file contains declarations for resources of WEPSecuritySettingsUI. The file can be included in C++ or resource file. +* +*/ + +/* +* %version: % +*/ + +#ifndef WEPSecuritySettingsUI_HRH +#define WEPSecuritySettingsUI_HRH + + +// Menu command IDs +enum TWepSelectorMenuCommands + { + EWepSelCmdChange = 1357 + }; + + +// dialog line IDs +enum TWepSelectorDllDlgLineId + { + KWepMainSettingsListboxId = 3 + }; + + +// IDs of the tabs +enum TWepTabId + { + EWEPSecuritySettingsTab1 = 1, + EWEPSecuritySettingsTab2, + EWEPSecuritySettingsTab3, + EWEPSecuritySettingsTab4 + }; + + +#endif // WEPSecuritySettingsUI_HRH + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUiImpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUiImpl.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,98 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of class CWEPSecuritySettingsUiImpl. +* +*/ + +/* +* %version: tr1cfwln#8 % +*/ + +#ifndef WEPSECURITYSETTINGSUIIMPL_H +#define WEPSECURITYSETTINGSUIIMPL_H + +// INCLUDES + +#include + + +// FORWARD DECLARATIONS + +class CEikonEnv; +class CWEPSecuritySettings; +class CWEPSecuritySettingsUiImpl; +class CWEPSecuritySettingsImpl; + + +// CLASS DECLARATION + +/** +* WEP Security Settings UI implementation (behind proxy class +* CWEPSecuritySettingsUi) +*/ +NONSHARABLE_CLASS( CWEPSecuritySettingsUiImpl ) : public CBase + { + + public: // Constructors and destructor + + /** + * Two-phased constructor. Leaves on failure. + * @param aEikEnv Eikon environment. + * @return The constructed CWEPSecuritySettingsUiImpl object. + */ + static CWEPSecuritySettingsUiImpl* NewL( CEikonEnv& aEikEnv ); + + /** + * Destructor. + */ + virtual ~CWEPSecuritySettingsUiImpl(); + + protected: // Constructors + + /** + * Constructor. + * @param aEikEnv Eikon environment. + */ + CWEPSecuritySettingsUiImpl( CEikonEnv& aEikEnv ); + + /** + * Second-phase constructor. + */ + void ConstructL(); + + public: // New methods + + /** + * Edit the settings. + * @param aSettings Settings to edit. + * @param aTitle Title Pane text to display during edit. + * @return Exit code. Value from CWEPSecuritySettings::TEvent bits + * combined. + */ + TInt EditL( CWEPSecuritySettingsImpl& aSettings, const TDesC& aTitle ); + + + private: // Data + + // To hold the events + TInt iEventStore; + + // Resource file offset. + TInt iResOffset; + + // Eikon environment. Not owned. + CEikonEnv* iEikEnv; + }; + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUiPanic.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUiPanic.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,46 @@ +/* +* Copyright (c) 2001-2009 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: Panic function and codes. +* +*/ + +/* +* %version: tr1cfwln#9 % +*/ + +#ifndef WEPSECURITYSETTINGSUIPANIC_H +#define WEPSECURITYSETTINGSUIPANIC_H + +// TYPES + +/** +* Panic reasons for WEP Security Settings UI. +*/ +enum TWepSecuritySettingsPanicCodes + { + EUnknownCase, + ETableNotFound, + EGeneral + }; + + +// FUNCTION DECLARATIONS + +/** +* Panic the thread. +* @param aReason Reason for the panic. +*/ +void Panic( TWepSecuritySettingsPanicCodes aPanic ); + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/inc/WepKeyDataTextSettingPage.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WepKeyDataTextSettingPage.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,68 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of class CWEPKeyDataTextSettingPage. +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +#ifndef WEPKEYDATA_TEXT_SETTING_PAGE_H +#define WEPKEYDATA_TEXT_SETTING_PAGE_H + + +// INCLUDE FILES +#include +#include +#include "WepSecuritySettingsDefs.h" + + +// CLASS DECLARATION + +/* +* Setting page for KeyData text. Overrides standard CAknTextSettingPage +* to set some parameters at runtime, according to the KeyFormat +*/ +NONSHARABLE_CLASS( CWEPKeyDataTextSettingPage ) : public CAknTextSettingPage + { + public: // Constructors + + /** + * Constructor. + * @param aText Reference to text for editing + * @param aMaxLength Number of characters to be entered + * @param aWEPKeyFormat Format of data (EAscii or EHexadecimal) + */ + CWEPKeyDataTextSettingPage( TDes& aText, TInt aMaxLength, + CWEPSecuritySettings::TWEPKeyFormat aWEPKeyFormat ); + + /** + * Constructs the setting page. Called by ExecuteLD + */ + virtual void ConstructL(); + + private: + + // Number of characters to be entered + TInt iLengthOfKeyData; + + // Format of data (EAscii or EHexadecimal) + CWEPSecuritySettings::TWEPKeyFormat iWEPKeyFormat; + }; + + +#endif + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/inc/WepSecuritySettingsDefs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/inc/WepSecuritySettingsDefs.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,60 @@ +/* +* Copyright (c) 2001-2009 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: Definitions. +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +#ifndef WEPSECURITYSETTINGSDEFS_H +#define WEPSECURITYSETTINGSDEFS_H + + +// CONSTANTS + +// Empty key +LOCAL_D const TUint KKeyDataLengthEmpty = 0; + +// Number of characters for a 40 bits key +LOCAL_D const TUint KKeyDataLength40Bits = 10; + +// Number of characters for a 104 bits key +LOCAL_D const TUint KKeyDataLength104Bits = 26; + +// Number of characters for a 232 bits key +LOCAL_D const TUint KKeyDataLength232Bits = 58; + +// The maximum length of key data +LOCAL_D const TUint KMaxLengthOfKeyData = KKeyDataLength232Bits; + +// Number of keys +LOCAL_D const TUint KMaxNumberofKeys = 4; + +// Invalid id +LOCAL_D const TUint32 KUidNone = 0; + + +// UID of application containing help texts (General Settings). +LOCAL_D const TUid KWEPSecuritySettingsUiHelpMajor = { 0x100058EC }; + +// Error code for invalid length of key data +LOCAL_D const TInt KErrInvalidLength = 101; + +// Error code for key data containing invalid characters +LOCAL_D const TInt KErrInvalidChar = 102; + + +#endif // WEPSECURITYSETTINGSDEFS_H diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/loc/wepsecuritysettingsui.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/loc/wepsecuritysettingsui.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,248 @@ +/* +* Copyright (c) 2001-2009 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: This is a localisation file for WEPSecuritySettingsUI A .loc file is the one and only place where the logical strings to be localised are defined. +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + + +//d:Command in options menu. +//d:Exits WEP Security Settings. +//l:list_single_pane_t1_cp2 +//w: +//r:3.0 +// +#define qtn_set_options_exit "Exit" + + +//d:Command in options menu. +//d:Modifies the currently selected item. +//l:list_single_pane_t1_cp2 +//w: +//r:3.0 +// +#define qtn_set_options_change "Change" + + +//d:Name of the first tab of four +//l:tabs_4_active_pane_t1/opt1 +//w: +//r:3.0 +// +#define qtn_wlan_tab_wep_key_1 "#1" + + +//d:Name of the second tab of four +//l:tabs_4_active_pane_t1/opt1 +//w: +//r:3.0 +// +#define qtn_wlan_tab_wep_key_2 "#2" + + +//d:Name of the third tab of four +//l:tabs_4_active_pane_t1/opt1 +//w: +//r:3.0 +// +#define qtn_wlan_tab_wep_key_3 "#3" + + +//d:Name of the fourth tab of four +//l:tabs_4_active_pane_t1/opt1 +//w: +//r:3.0 +// +#define qtn_wlan_tab_wep_key_4 "#4" + + +//d:Error note message: database is inaccessible. +//l:popup_note_window +//w: +//r:3.0 +// +#define qtn_set_err_db_inaccessible "Cannot access\ndatabase.\nTry again later." + + +//d:Item text in setting list. +//l:list_setting_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_key_in_use "WEP key in use" + + +//d:Item text in setting list. +//l:list_setting_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_auth_mode "Authentication type" + + +//d:Item text in setting list. +//l:list_setting_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_key_settings "WEP key settings" + + +//d:Item text in setting list. +//l:list_setting_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_key_length "WEP key length" + + +//d:Item text in setting list. +//l:list_setting_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_key_format "WEP key format" + + +//d:Item text in setting list. +//l:list_setting_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_key_data "WEP key data" + + +//d:List pane for the setting value item list qtn_wlan_sett_wep_key_in_use +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_key_1 "#1" + + +//d:List pane for the setting value item list qtn_wlan_sett_wep_key_in_use +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_key_2 "#2" + + +//d:List pane for the setting value item list qtn_wlan_sett_wep_key_in_use +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_key_3 "#3" + + +//d:List pane for the setting value item list qtn_wlan_sett_wep_key_in_use +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_key_4 "#4" + + +//d:List pane for the setting value item list qtn_wlan_sett_wep_auth_mode +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_auth_mode_open "Open" + + +//d:List pane for the setting value item list qtn_wlan_sett_wep_auth_mode +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_auth_mode_shared "Shared" + + +//d:List pane for the setting value item list qtn_wlan_sett_wep_key_length +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_key_length_64_bits "64 bits" + + +//d:List pane for the setting value item list qtn_wlan_sett_wep_key_length +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_key_length_128_bits "128 bits" + + +//d:List pane for the setting value item list qtn_wlan_sett_wep_key_length +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_key_length_256_bits "256 bits" + + +//d:List pane for the setting value item list qtn_wlan_sett_wep_key_format +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_key_format_ascii "ASCII" + + +//d:List pane for the setting value item list qtn_wlan_sett_wep_key_format +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wep_key_format_hexa "Hexadecimal" + + +//d:Confirmation query text to ask the user if he wants to continue even if +//d:qtn_wlan_sett_wep_key_data was not entered and therefore security settings +//d:will not be saved. +//l:popup_note_window +//w: +//r:3.0 +// +#define qtn_wlan_quest_wep_key_data_missing "WEP key data for the key in use is compulsory. Security settings will not be saved. Continue?" + + +//d:Error note to be showed when invalid number of characters have been +//d:entered for qtn_wlan_sett_wep_key_data editor. +//d:%N is the number of characters that must be entered. +//l:popup_note_window +//w: +//r:3.0 +// +#define qtn_wlan_info_wep_key_too_short "WEP key too short. Key must be exactly %N characters long" + + +//d:Error note to be showed when invalid characters have been entered for +//d:qtn_wlan_sett_wep_key_data editor +//l:popup_note_window +//w: +//r:3.0 +// +#define qtn_wlan_info_wep_key_illegal_chars "Illegal characters in WEP key" + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettings.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettings.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,154 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWEPSecuritySettings. +* +*/ + +/* +* %version: tr1cfwln#15 % +*/ + +// INCLUDE FILES + +#include + +#include "WEPSecuritySettingsImpl.h" +#include "WEPSecuritySettingsUiImpl.h" + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWEPSecuritySettings::NewL +// --------------------------------------------------------- +// +EXPORT_C CWEPSecuritySettings* CWEPSecuritySettings::NewL() + { + CWEPSecuritySettings* settings = new ( ELeave ) CWEPSecuritySettings(); + CleanupStack::PushL( settings ); + settings->iImpl = CWEPSecuritySettingsImpl::NewL(); + CleanupStack::Pop( settings ); + return settings; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::~CWEPSecuritySettings +// --------------------------------------------------------- +// +EXPORT_C CWEPSecuritySettings::~CWEPSecuritySettings() + { + delete iImpl; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::LoadL +// --------------------------------------------------------- +// +EXPORT_C void CWEPSecuritySettings::LoadL( TUint32 aIapId, + CCommsDatabase& aCommsDb ) + { + iImpl->LoadL( aIapId, aCommsDb ); + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::SaveL +// --------------------------------------------------------- +// +EXPORT_C void CWEPSecuritySettings::SaveL( TUint32 aIapId, + CCommsDatabase& aCommsDb ) const + { + iImpl->SaveL( aIapId, aCommsDb ); + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::EditL +// --------------------------------------------------------- +// +EXPORT_C TInt CWEPSecuritySettings::EditL( CWEPSecuritySettingsUi& aUi, + const TDesC& aTitle ) + { + return aUi.iImpl->EditL( *iImpl, aTitle ); + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::IsValid +// --------------------------------------------------------- +// +EXPORT_C TBool CWEPSecuritySettings::IsValid() const + { + return iImpl->IsValid(); + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::SetKeyDataL +// --------------------------------------------------------- +// +EXPORT_C TInt CWEPSecuritySettings::SetKeyDataL( const TInt aElement, + const TDesC& aKeyData, + const TBool aHex ) + { + return iImpl->SetKeyDataL( aElement, aKeyData, aHex ); + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::LoadL +// --------------------------------------------------------- +// +EXPORT_C void CWEPSecuritySettings::LoadL( TUint32 aIapId, + CMDBSession& aSession ) + { + iImpl->LoadL( aIapId, aSession ); + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::SaveL +// --------------------------------------------------------- +// +EXPORT_C void CWEPSecuritySettings::SaveL( TUint32 aIapId, + CMDBSession& aSession ) const + { + iImpl->SaveL( aIapId, aSession ); + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::SetKeyInUse +// --------------------------------------------------------- +// +EXPORT_C void CWEPSecuritySettings::SetKeyInUse( + CWEPSecuritySettings::TWEPKeyInUse aKey ) + { + iImpl->SetKeyInUse( aKey ); + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::SetAuthentication +// --------------------------------------------------------- +// +EXPORT_C void CWEPSecuritySettings::SetAuthentication( + CWEPSecuritySettings::TWEPAuthentication aAuthentication ) + { + iImpl->SetAuthentication( aAuthentication ); + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsDlg.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsDlg.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,1328 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of dialog. +* +*/ + +/* +* %version: tr1cfwln#8.1.23 % +*/ + +// INCLUDE FILES +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "WEPSecuritySettingsImpl.h" +#include "WEPSecuritySettingsUiPanic.h" +#include "WEPSecuritySettingsDlg.h" +#include "WepKeyDataTextSettingPage.h" + +#include "WEPSecuritySettingsUI.hrh" + +#include +#include + +#include + + +// CONSTANT DECLARATIONS + +// Number of fields of main view +LOCAL_D const TInt KNumOfFieldsMain = 3; + +// Number of fields of key configuration view +LOCAL_D const TInt KNumOfFieldsKeyConfiguration = 3; + +// Ratio of ascii and hex key sizes +LOCAL_D const TInt KAsciiHexRatio = 2; + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWEPSecuritySettingsDlg::CWEPSecuritySettingsDlg +// --------------------------------------------------------- +// +CWEPSecuritySettingsDlg::CWEPSecuritySettingsDlg( TInt& aEventStore ) +: iNaviPane( NULL ), +iTabGroup( NULL ), +iActiveTab( 0 ), +iLevel( 0 ), +iEventStore( &aEventStore ) + { + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsDlg::~CWEPSecuritySettingsDlg +// --------------------------------------------------------- +// +CWEPSecuritySettingsDlg::~CWEPSecuritySettingsDlg() + { + if ( iNaviDecoratorEmpty ) + { + delete iNaviDecoratorEmpty; + } + + if ( iNaviDecoratorTabbed ) + { + delete iNaviDecoratorTabbed; + } + + if ( iTitlePane ) + { + // set old text back, if we have it... + if ( iOldTitleText ) + { + TRAP_IGNORE( iTitlePane->SetTextL( *iOldTitleText ) ); + delete iOldTitleText; + } + } + + FeatureManager::UnInitializeLib(); + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsDlg::NewL +// --------------------------------------------------------- +// +CWEPSecuritySettingsDlg* CWEPSecuritySettingsDlg::NewL( TInt& aEventStore ) + { + CWEPSecuritySettingsDlg* secSett = + new ( ELeave )CWEPSecuritySettingsDlg( aEventStore ); + return secSett; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsDlg::ConstructAndRunLD +// --------------------------------------------------------- +// +TInt CWEPSecuritySettingsDlg::ConstructAndRunLD( + CWEPSecuritySettingsImpl* aSecuritySettings, + const TDesC& aTitle ) + { + CleanupStack::PushL( this ); + + const TInt Titles_Wep_Main[KNumOfFieldsMain] = + { + R_WEP_KEY_IN_USE, + R_WEP_AUTHENTICATION, + R_WEP_KEY_CONFIGURATION + }; + + const TInt Fields_Wep_Main[KNumOfFieldsMain] = + { + CWEPSecuritySettings::EWepKeyInUse, + CWEPSecuritySettings::EWepAuthentication, + CWEPSecuritySettings::EWepKeyConfiguration + }; + + const TInt Fields_Wep_Key_Configuration[KNumOfFieldsKeyConfiguration] = + { + CWEPSecuritySettings::EWepKeyLength, + CWEPSecuritySettings::EWepKeyFormat, + CWEPSecuritySettings::EWepKeyData + }; + + const TInt Titles_Wep_Key_Configuration[KNumOfFieldsKeyConfiguration] = + { + R_WEP_KEY_LENGTH, + R_WEP_KEY_FORMAT, + R_WEP_KEY_DATA + }; + + iSecuritySettings = aSecuritySettings; + iConnectionName = aTitle; + + iFieldsMain = ( CWEPSecuritySettings::TWepMember* ) Fields_Wep_Main; + iTitlesMain = MUTABLE_CAST( TInt*, Titles_Wep_Main ); + + iFieldsKeyConfiguration = ( CWEPSecuritySettings::TWepMember* ) + Fields_Wep_Key_Configuration; + iTitlesKeyConfiguration = MUTABLE_CAST( TInt*, + Titles_Wep_Key_Configuration ); + + FeatureManager::InitializeLibL(); + + ConstructL( R_WEP_SECURITY_SETTINGS_MENUBAR ); + + // ExecuteLD will PushL( this ), so we have to Pop it... + CleanupStack::Pop( this ); // this + + return ExecuteLD( R_WEPSETTINGS_DIALOG ); + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsDlg::OkToExitL +// --------------------------------------------------------- +// +TBool CWEPSecuritySettingsDlg::OkToExitL( TInt aButtonId ) +{ + // Translate the button presses into commands for the appui & current + // view to handle + TBool retval( EFalse ); + if ( aButtonId == EAknSoftkeyOptions ) + { + DisplayMenuL(); + } + else if ( aButtonId == EEikCmdExit ) // ShutDown requested + { + *iEventStore |= CWEPSecuritySettings::EShutDownReq; + retval = ETrue; + } + else if ( aButtonId == EAknSoftkeyBack || aButtonId == EAknCmdExit ) + { + if ( iSecuritySettings->IsValid() ) + { + *iEventStore |= CWEPSecuritySettings::EValid; + retval = ETrue; + } + else if ( aButtonId == EAknSoftkeyBack ) + { + HBufC* stringHolder = StringLoader::LoadL( + R_WEP_DATA_MISSING, iEikonEnv ); + CleanupStack::PushL( stringHolder ); + + CAknQueryDialog *queryDialog = new (ELeave) CAknQueryDialog(); + + queryDialog->PrepareLC( R_WEP_SEC_SETT_CONF_QUERY ); + queryDialog->SetPromptL( stringHolder->Des() ); + if ( queryDialog->RunLD() ) + { + retval = ETrue; + } + else + { + iActiveTab = iSecuritySettings->KeyInUse(); + iTabGroup->SetActiveTabByIndex( iActiveTab ); + HandleListboxDataChangeL(); + } + CleanupStack::PopAndDestroy( stringHolder ); // stringHolder + } + else + { + retval = ETrue; + } + + if ( aButtonId == EAknCmdExit ) + { + *iEventStore |= CWEPSecuritySettings::EExitReq; + } + } + else if( aButtonId == EWepSelCmdChange ) + { + ChangeSettingsL( ETrue ); + retval = EFalse; // don't exit the dialog + } + + return retval; +} + + +// --------------------------------------------------------- +// CWEPSecuritySettingsDlg::OfferKeyEventL +// --------------------------------------------------------- +// +TKeyResponse CWEPSecuritySettingsDlg::OfferKeyEventL( + const TKeyEvent& aKeyEvent, TEventCode aType ) + { + TKeyResponse retval( EKeyWasNotConsumed ); + TChar charCode( aKeyEvent.iCode ); + + // Only interested in standard key events + if ( aType == EEventKey ) + { + // If a menu is showing offer key events to it. + if ( CAknDialog::MenuShowing() ) + { + retval = CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + } + else + { + if ( iList ) + { + // as list IS consuming, must handle because it IS the SHUTDOWN... + // or, a view switch is shutting us down... + if ( aKeyEvent.iCode == EKeyEscape ) + { + ProcessCommandL( EEikCmdExit ); + retval = EKeyWasConsumed; + } + else if ( iLevel && ( charCode == EKeyLeftArrow || + charCode == EKeyRightArrow ) ) + { + if ( iTabGroup ) + { + return iTabGroup->OfferKeyEventL( aKeyEvent, aType ); + } + } + else + { + retval = iList->OfferKeyEventL( aKeyEvent, aType ); + } + } + else + { + if ( aKeyEvent.iCode == EKeyOK ) + { + ProcessCommandL( EWepSelCmdChange ); + retval = EKeyWasConsumed; + } + } + } + } + + return retval; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsDlg::HandleListboxDataChangeL +// --------------------------------------------------------- +// +void CWEPSecuritySettingsDlg::HandleListboxDataChangeL() + { + // fill up our new list with data + CDesCArrayFlat* itemArray = new ( ELeave ) CDesCArrayFlat( 4 ); + CleanupStack::PushL( itemArray ); + + if ( iLevel ) + { + FillListWithDataL( *itemArray, *iFieldsKeyConfiguration, + KNumOfFieldsKeyConfiguration, + iTitlesKeyConfiguration ); + + iNaviPane->ReplaceL( *iNaviDecoratorEmpty, *iNaviDecoratorTabbed ); + } + else + { + FillListWithDataL( *itemArray, *iFieldsMain, KNumOfFieldsMain, + iTitlesMain ); + iNaviPane->ReplaceL( *iNaviDecoratorTabbed, *iNaviDecoratorEmpty ); + } + + iList->Model()->SetItemTextArray( itemArray ); + + CleanupStack::Pop( itemArray ); // now it is owned by the LB, so pop it + iItemArray = itemArray; + + iList->HandleItemAdditionL(); + } + + + +// --------------------------------------------------------- +// CWEPSecuritySettingsDlg::ProcessCommandL +// --------------------------------------------------------- +// +void CWEPSecuritySettingsDlg::ProcessCommandL( TInt aCommandId ) + { + if ( MenuShowing() ) + { + HideMenu(); + } + + switch ( aCommandId ) + { + case EWepSelCmdChange: + { + ChangeSettingsL( EFalse ); + break; + } + + case EAknCmdHelp: + { + HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), + iEikonEnv->EikAppUi()->AppHelpContextL() ); + break; + } + + case EAknSoftkeyBack: + case EAknCmdExit: + case EEikCmdExit: + { + TryExitL( aCommandId ); + break; + } + + default: + { + // silently ignore it + break; + } + } + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsDlg::HandleListBoxEventL +// --------------------------------------------------------- +// +void CWEPSecuritySettingsDlg::HandleListBoxEventL( CEikListBox* /*aListBox*/, + TListBoxEvent aEventType ) + { + switch ( aEventType ) + { + case EEventEnterKeyPressed: + // both handled in the same way for now... + case EEventItemSingleClicked: + { + ChangeSettingsL( ETrue ); + break; + } + + case EEventEditingStarted: + case EEventEditingStopped: + case EEventPenDownOnItem: + case EEventItemDraggingActioned: + { + break; + } + + + default: + { + __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) ); + break; + }; + }; + } + + + + +// --------------------------------------------------------- +// CWEPSecuritySettingsDlg::PreLayoutDynInitL() +// --------------------------------------------------------- +// +void CWEPSecuritySettingsDlg::PreLayoutDynInitL() + { + // first get StatusPane + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + + // then get TitlePane + iTitlePane = ( CAknTitlePane* ) statusPane->ControlL( TUid::Uid( + EEikStatusPaneUidTitle ) ); + // if not already stored, store it for restoring + if ( !iOldTitleText ) + { + iOldTitleText = iTitlePane->Text()->AllocL(); + } + + // set new titlepane text + iTitlePane->SetTextL( iConnectionName ); + + // Fetch pointer to the default navi pane control + iNaviPane = ( CAknNavigationControlContainer* ) + statusPane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) ); + + _LIT( KEmpty, "" ); + if ( !iNaviDecoratorEmpty ) + { + iNaviDecoratorEmpty = iNaviPane->CreateNavigationLabelL( KEmpty ); + } + if ( !iNaviDecoratorEmpty ) + { + __ASSERT_DEBUG( EFalse, Panic( EGeneral ) ); + } + if ( !iNaviDecoratorTabbed ) + { + iNaviDecoratorTabbed = iNaviPane->CreateTabGroupL(); + + if (iNaviDecoratorTabbed) + { + iTabGroup = static_cast< CAknTabGroup* > + ( iNaviDecoratorTabbed->DecoratedControl() ); + + HBufC16* tabText = iEikonEnv->AllocReadResourceLC( R_WEP_TAB_KEY_1 ); + TPtr localizedTabText( tabText->Des() ); + AknTextUtils::LanguageSpecificNumberConversion( localizedTabText ); + iTabGroup->AddTabL( EWEPSecuritySettingsTab1, *tabText ); + CleanupStack::PopAndDestroy( tabText ); // tabText + + tabText = iEikonEnv->AllocReadResourceLC( R_WEP_TAB_KEY_2 ); + localizedTabText.Set( tabText->Des() ); + AknTextUtils::LanguageSpecificNumberConversion( localizedTabText ); + iTabGroup->AddTabL( EWEPSecuritySettingsTab2, *tabText ); + CleanupStack::PopAndDestroy( tabText ); // tabText + + tabText = iEikonEnv->AllocReadResourceLC( R_WEP_TAB_KEY_3 ); + localizedTabText.Set( tabText->Des() ); + AknTextUtils::LanguageSpecificNumberConversion( localizedTabText ); + iTabGroup->AddTabL( EWEPSecuritySettingsTab3, *tabText ); + CleanupStack::PopAndDestroy( tabText ); // tabText + + tabText = iEikonEnv->AllocReadResourceLC( R_WEP_TAB_KEY_4 ); + localizedTabText.Set( tabText->Des() ); + AknTextUtils::LanguageSpecificNumberConversion( localizedTabText ); + iTabGroup->AddTabL( EWEPSecuritySettingsTab4, *tabText ); + CleanupStack::PopAndDestroy( tabText ); // tabText + + iTabGroup->SetTabFixedWidthL( EAknTabWidthWithFourTabs ); + iTabGroup->SetActiveTabByIndex( 0 ); + + iTabGroup->SetObserver( this ); + } + else + { + __ASSERT_DEBUG( EFalse, Panic( EGeneral ) ); + } + } + iNaviPane->PushL( *iNaviDecoratorEmpty ); + iList = STATIC_CAST( CAknSettingStyleListBox*, + Control( KWepMainSettingsListboxId ) ); + + iList->CreateScrollBarFrameL( ETrue ); + iList->ScrollBarFrame()->SetScrollBarVisibilityL + ( CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto ); + + HandleListboxDataChangeL(); + + iList->SetCurrentItemIndex( 0 ); + iList->SetListBoxObserver( this ); + } + + + +// --------------------------------------------------------- +// CWEPSecuritySettingsDlg::DynInitMenuPaneL +// --------------------------------------------------------- +// +void CWEPSecuritySettingsDlg::DynInitMenuPaneL( TInt aResourceId, + CEikMenuPane* aMenuPane ) + { + CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane ); + if ( aResourceId == R_WEP_SECURITY_SETTINGS_MENU ) + { + if( !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) + { + aMenuPane->DeleteMenuItem( EAknCmdHelp ); + } + } + } + + +//---------------------------------------------------------- +// CWEPSecuritySettingsDlg::FillListWithDataL +//---------------------------------------------------------- +// +void CWEPSecuritySettingsDlg::FillListWithDataL( CDesCArrayFlat& aItemArray, + const CWEPSecuritySettings::TWepMember& arr, + TInt aLength, + const TInt* aRes ) + { + _LIT( KTxtMenuListItemFormat, " \t%S\t\t" ); + const TInt KSpaceAndTabsLength = 4; + + CWEPSecuritySettings::TWepMember* wepMember = + MUTABLE_CAST( CWEPSecuritySettings::TWepMember*, &arr ); + + for( TInt i = 0; i < aLength; i++ ) + { + if ( *wepMember == CWEPSecuritySettings::EWepKeyConfiguration ) + { + // Define a heap descriptor to hold all the item text + // HBufC is non-modifiable + HBufC* title = iEikonEnv->AllocReadResourceLC( *aRes ); + + // Define a heap descriptor to hold all the item text + HBufC* itemText = HBufC::NewLC( title->Length() + + KSpaceAndTabsLength ); + + // Define a modifiable pointer descriptor to be able to append + // text to the non-modifiable heap descriptor itemText + TPtr itemTextPtr = itemText->Des(); + itemTextPtr.Format( KTxtMenuListItemFormat, title ); + + aItemArray.AppendL( *itemText ); + + CleanupStack::PopAndDestroy( 2, title ); // itemText, title + } + else + { + HBufC* itemText = CreateTextualListBoxItemL( *wepMember, + *aRes ); + CleanupStack::PushL( itemText ); + aItemArray.AppendL( itemText->Des() ); + CleanupStack::PopAndDestroy( itemText ); + } + + wepMember++; + aRes++; + } + } + + +//---------------------------------------------------------- +// CWEPSecuritySettingsDlg::UpdateListBoxItemL +//---------------------------------------------------------- +// +void CWEPSecuritySettingsDlg::UpdateListBoxItemL( + CWEPSecuritySettings::TWepMember aMember, + TInt aRes, TInt aPos ) + { + HBufC* itemText = CreateTextualListBoxItemL( aMember, aRes ); + CleanupStack::PushL( itemText ); + // first try to add, if Leaves, list will be untouched + iItemArray->InsertL( aPos, itemText->Des() ); + // if successful, previous item is scrolled up with one, + // so delete that one... + if ( ++aPos < iItemArray->MdcaCount() ) + { + iItemArray->Delete( aPos ); + } + CleanupStack::PopAndDestroy( itemText ); + } + + +//---------------------------------------------------------- +// CWEPSecuritySettingsDlg::CreateTextualListBoxItemL +//---------------------------------------------------------- +// +HBufC* CWEPSecuritySettingsDlg::CreateTextualListBoxItemL( + CWEPSecuritySettings::TWepMember aMember, + TInt aRes ) + { + // Define a heap descriptor to hold all the item text + // HBufC is non-modifiable + HBufC* title = iEikonEnv->AllocReadResourceLC( aRes ); + + // both variables needed independently of the following conditions so I + // must declare them here... + HBufC16* value; + TUint32 valueResourceID; + + switch ( aMember ) + { + case CWEPSecuritySettings::EWepKeyInUse: + { + switch ( iSecuritySettings->KeyInUse() ) + { + case CWEPSecuritySettings::EKeyNumber1: + { + valueResourceID = R_WEP_KEY_NUMBER_1; + break; + } + + case CWEPSecuritySettings::EKeyNumber2: + { + valueResourceID = R_WEP_KEY_NUMBER_2; + break; + } + + case CWEPSecuritySettings::EKeyNumber3: + { + valueResourceID = R_WEP_KEY_NUMBER_3; + break; + } + + case CWEPSecuritySettings::EKeyNumber4: + { + valueResourceID = R_WEP_KEY_NUMBER_4; + break; + } + + default: + { + valueResourceID = 0; + break; + } + } + break; + } + + case CWEPSecuritySettings::EWepAuthentication: + { + switch ( iSecuritySettings->Authentication() ) + { + case CWEPSecuritySettings::EAuthOpen: + { + valueResourceID = R_WEP_AUTHENTICATION_OPEN; + break; + } + + case CWEPSecuritySettings::EAuthShared: + { + valueResourceID = R_WEP_AUTHENTICATION_SHARED; + break; + } + + default: + { + valueResourceID = 0; + break; + } + } + break; + } + + case CWEPSecuritySettings::EWepKeyLength: + { + switch ( iSecuritySettings->KeyLength( iActiveTab ) ) + { + case CWEPSecuritySettings::E40Bits: + { + valueResourceID = R_WEP_KEY_LENGTH_64_BITS; + break; + } + + case CWEPSecuritySettings::E104Bits: + { + valueResourceID = R_WEP_KEY_LENGTH_128_BITS; + break; + } + + case CWEPSecuritySettings::E232Bits: + { + valueResourceID = iSecuritySettings->WEP256Enabled() ? + R_WEP_KEY_LENGTH_256_BITS : 0; + break; + } + + default: + { + valueResourceID = 0; + break; + } + } + break; + } + + case CWEPSecuritySettings::EWepKeyFormat: + { + switch ( iSecuritySettings->KeyFormat( iActiveTab ) ) + { + case CWEPSecuritySettings::EAscii: + { + valueResourceID = R_WEP_KEY_FORMAT_ASCII; + break; + } + + case CWEPSecuritySettings::EHexadecimal: + { + valueResourceID = R_WEP_KEY_FORMAT_HEX; + break; + } + + default: + { + valueResourceID = 0; + break; + } + } + break; + } + + case CWEPSecuritySettings::EWepKeyData: + { + if ( !iSecuritySettings->KeyData( iActiveTab )->Length() ) + { + valueResourceID = R_WEP_KEY_DATA_MUST_BE_DEFINED; + } + else + { + valueResourceID = 0; + } + + break; + } + + default: + { + valueResourceID = 0; + break; + } + } + + _LIT( KStars, "****" ); + _LIT( KTxtListItemFormat, " \t%S\t\t%S" ); + const TInt KSpaceAndTabsLength = 4; + _LIT( KTxtCompulsory, "\t*" ); + + if ( valueResourceID ) + { + // Read up value text from resource + value = iEikonEnv->AllocReadResourceLC( valueResourceID ); + if( aMember == CWEPSecuritySettings::EWepKeyInUse ) + { + TPtr localizedValue( value->Des() ); + AknTextUtils::LanguageSpecificNumberConversion( localizedValue ); + } + } + else + { + value = HBufC::NewLC( KStars().Length() ); + value->Des().Copy( KStars ); + } + + // Define a heap descriptor to hold all the item text + // +4 for space and tab characters + TInt length = title->Length() + value->Length() + KSpaceAndTabsLength; + if ( aMember == CWEPSecuritySettings::EWepKeyData ) // Compulsory + { + length += KTxtCompulsory().Length(); + } + + HBufC* itemText = HBufC::NewLC( length ); + + // Define a modifiable pointer descriptor to be able to append text to the + // non-modifiable heap descriptor itemText + TPtr itemTextPtr = itemText->Des(); + itemTextPtr.Format( KTxtListItemFormat, title, value ); + if ( aMember == CWEPSecuritySettings::EWepKeyData ) // Compulsory + { + itemTextPtr.Append( KTxtCompulsory ); + } + CleanupStack::Pop( itemText ); // itemtext, + + CleanupStack::PopAndDestroy( 2, title ); // title, value + + return itemText; + } + + + +//---------------------------------------------------------- +// CWEPSecuritySettingsDlg::ShowPopupSettingPageL +//---------------------------------------------------------- +// +TBool CWEPSecuritySettingsDlg::ShowPopupSettingPageL( + CWEPSecuritySettings::TWepMember aData ) + { + TInt currvalue( 0 ); + TBool retval( EFalse ); + CDesCArrayFlat* items = FillPopupSettingPageLC( aData, currvalue ); + + TInt attr_resid( 0 ); + + // not text based ones: + switch ( aData ) + { + case CWEPSecuritySettings::EWepKeyInUse: + { + attr_resid = R_WEP_KEY_IN_USE; + break; + } + + case CWEPSecuritySettings::EWepAuthentication: + { + attr_resid = R_WEP_AUTHENTICATION; + break; + } + + case CWEPSecuritySettings::EWepKeyLength: + { + attr_resid = R_WEP_KEY_LENGTH; + break; + } + + case CWEPSecuritySettings::EWepKeyFormat: + { + attr_resid = R_WEP_KEY_FORMAT; + break; + } + + default: + { + __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) ); + attr_resid = 0; + break; + } + } + + HBufC* titlebuf; + CAknRadioButtonSettingPage* dlg; + if ( attr_resid ) + { + titlebuf = iEikonEnv->AllocReadResourceLC( attr_resid ); + dlg = new ( ELeave )CAknRadioButtonSettingPage( + R_RADIO_BUTTON_SETTING_PAGE, currvalue, items ); + CleanupStack::PushL( dlg ); + TPtrC ptr( titlebuf->Des() ); + dlg->SetSettingTextL( ptr ); + CleanupStack::Pop( dlg ); // dlg + } + else + { + dlg = new ( ELeave )CAknRadioButtonSettingPage( + R_RADIO_BUTTON_SETTING_PAGE, currvalue, items ); + } + if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenAccepted ) ) + { + retval = UpdateFromPopupSettingPage( aData, currvalue ); + } + + if ( attr_resid ) + { + CleanupStack::PopAndDestroy( titlebuf ); // titlebuf + } + + CleanupStack::PopAndDestroy( items ); // items. It deletes also all + // elements in the array. + return retval; + } + + + +//---------------------------------------------------------- +// CWEPSecuritySettingsDlg::ShowPopupTextSettingPageL +//---------------------------------------------------------- +// +TBool CWEPSecuritySettingsDlg::ShowPopupTextSettingPageL() + { + TBool retval( EFalse ); + + CWEPSecuritySettings::TWEPKeyFormat keyFormat = + iSecuritySettings->KeyFormat( iActiveTab ); + TInt expectedLength = iSecuritySettings->ExpectedLengthOfKeyData( + iSecuritySettings->KeyLength( iActiveTab ) ); + + if ( keyFormat == CWEPSecuritySettings::EAscii ) + { + expectedLength /= KAsciiHexRatio; //Ascii key is half the length of Hex + } + + HBufC16* bufKeyData = HBufC16::NewLC( expectedLength ); + TPtr16 ptrKeyData( bufKeyData->Des() ); + + TBool showPage( ETrue ); + while ( showPage ) + { + CWEPKeyDataTextSettingPage* dlg = + new( ELeave )CWEPKeyDataTextSettingPage( ptrKeyData, + expectedLength, + keyFormat ); + + if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenAccepted ) ) + { + HBufC8* buf8 = HBufC8::NewLC( bufKeyData->Des().Length() ); + buf8->Des().Copy( bufKeyData->Des() ); + + TInt err = iSecuritySettings->VerifyKeyData( *buf8, expectedLength, + iSecuritySettings->KeyFormat( iActiveTab ) ); + if ( err == KErrNone ) + { + if ( keyFormat == CWEPSecuritySettings::EAscii ) + { + HBufC8* buf8Conv = + HBufC8::NewLC( bufKeyData->Des().Length() + * KAsciiHexRatio ); + // Ascii key is half the length of Hex + + iSecuritySettings->ConvertAsciiToHex( buf8->Des(), + buf8Conv ); + iSecuritySettings->SetKeyData( iActiveTab, + buf8Conv->Des() ); + CleanupStack::PopAndDestroy( buf8Conv ); // buf8Conv + } + else + { + iSecuritySettings->SetKeyData( iActiveTab, buf8->Des() ); + } + + retval = ETrue; + showPage = EFalse; + } + else + { + HBufC* stringLabel; + + if ( err == KErrInvalidLength ) + { + stringLabel = StringLoader::LoadL( R_INFO_WEP_KEY_TOO_SHORT, + expectedLength, + iEikonEnv ); + } + else + { + stringLabel = StringLoader::LoadL( + R_INFO_WEP_KEY_ILLEGAL_CHARS, + iEikonEnv ); + } + + CleanupStack::PushL( stringLabel ); + + CAknInformationNote* dialog = new (ELeave)CAknInformationNote( + ETrue ); + CleanupStack::Pop( stringLabel ); + + dialog->ExecuteLD( *stringLabel ); + + delete stringLabel; // stringLabel + + ptrKeyData.Zero(); + } + + CleanupStack::PopAndDestroy( buf8 ); // buf8 + } + else + { + showPage = EFalse; + } + } + + CleanupStack::PopAndDestroy( bufKeyData ); // bufKeyData + + return retval; + } + + + +// --------------------------------------------------------- +// CWEPSecuritySettingsDlg::FillPopupSettingPageLC +// --------------------------------------------------------- +// +CDesCArrayFlat* CWEPSecuritySettingsDlg::FillPopupSettingPageLC( + CWEPSecuritySettings::TWepMember aData, + TInt& aCurrvalue ) + { + CDesCArrayFlat* items = new( ELeave)CDesCArrayFlat( 1 ); + CleanupStack::PushL( items ); + + switch ( aData ) + { + case CWEPSecuritySettings::EWepKeyInUse: + { + RBuf16 convert( iEikonEnv->AllocReadResourceL( + R_WEP_KEY_NUMBER_1 ) ); + AknTextUtils::LanguageSpecificNumberConversion( convert ); + items->AppendL( convert ); + convert.Close(); + + convert.Assign( iEikonEnv->AllocReadResourceL( + R_WEP_KEY_NUMBER_2 ) ); + AknTextUtils::LanguageSpecificNumberConversion( convert ); + items->AppendL( convert ); + convert.Close(); + + convert.Assign( iEikonEnv->AllocReadResourceL( + R_WEP_KEY_NUMBER_3 ) ); + AknTextUtils::LanguageSpecificNumberConversion( convert ); + items->AppendL( convert ); + convert.Close(); + + convert.Assign( iEikonEnv->AllocReadResourceL( + R_WEP_KEY_NUMBER_4 ) ); + AknTextUtils::LanguageSpecificNumberConversion( convert ); + items->AppendL( convert ); + convert.Close(); + + aCurrvalue = iSecuritySettings->KeyInUse(); + break; + } + + case CWEPSecuritySettings::EWepAuthentication: + { + items->AppendL( *iEikonEnv->AllocReadResourceLC( + R_WEP_AUTHENTICATION_OPEN ) ); + CleanupStack::PopAndDestroy(); + items->AppendL( *iEikonEnv->AllocReadResourceLC( + R_WEP_AUTHENTICATION_SHARED ) ); + CleanupStack::PopAndDestroy(); + + aCurrvalue = iSecuritySettings->Authentication(); + break; + } + + case CWEPSecuritySettings::EWepKeyLength: + { + items->AppendL( *iEikonEnv->AllocReadResourceLC( + R_WEP_KEY_LENGTH_64_BITS ) ); + CleanupStack::PopAndDestroy(); + items->AppendL( *iEikonEnv->AllocReadResourceLC( + R_WEP_KEY_LENGTH_128_BITS ) ); + CleanupStack::PopAndDestroy(); + + if ( iSecuritySettings->WEP256Enabled() ) + { + items->AppendL( *iEikonEnv->AllocReadResourceLC( + R_WEP_KEY_LENGTH_256_BITS ) ); + CleanupStack::PopAndDestroy(); + } + + aCurrvalue = iSecuritySettings->KeyLength( iActiveTab ); + break; + } + + case CWEPSecuritySettings::EWepKeyFormat: + { + items->AppendL( *iEikonEnv->AllocReadResourceLC( + R_WEP_KEY_FORMAT_ASCII ) ); + CleanupStack::PopAndDestroy(); + items->AppendL( *iEikonEnv->AllocReadResourceLC( + R_WEP_KEY_FORMAT_HEX ) ); + CleanupStack::PopAndDestroy(); + + aCurrvalue = iSecuritySettings->KeyFormat( iActiveTab ); + break; + } + + default: + { + __ASSERT_DEBUG( EFalse, Panic ( EUnknownCase ) ); + break; + } + } + return items; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsDlg::UpdateFromPopupSettingPage +// --------------------------------------------------------- +// +TBool CWEPSecuritySettingsDlg::UpdateFromPopupSettingPage( + CWEPSecuritySettings::TWepMember aData, + TInt aCurrvalue ) + { + TBool retVal( EFalse ); + + switch ( aData ) + { + case CWEPSecuritySettings::EWepKeyInUse: + { + if ( iSecuritySettings->KeyInUse() != + ( CWEPSecuritySettings::TWEPKeyInUse )aCurrvalue ) + { + iSecuritySettings->SetKeyInUse( + ( CWEPSecuritySettings::TWEPKeyInUse )aCurrvalue ); + retVal = ETrue; + } + break; + } + + case CWEPSecuritySettings::EWepAuthentication: + { + if ( iSecuritySettings->Authentication() != + ( CWEPSecuritySettings::TWEPAuthentication )aCurrvalue ) + { + iSecuritySettings->SetAuthentication( + ( CWEPSecuritySettings::TWEPAuthentication )aCurrvalue ); + retVal = ETrue; + } + break; + } + + case CWEPSecuritySettings::EWepKeyLength: + { + if ( iSecuritySettings->KeyLength( iActiveTab ) != + ( CWEPSecuritySettings::TWEPKeyLength )aCurrvalue ) + { + iSecuritySettings->SetKeyLength( iActiveTab, + ( CWEPSecuritySettings::TWEPKeyLength )aCurrvalue ); + retVal = ETrue; + } + break; + } + + case CWEPSecuritySettings::EWepKeyFormat: + { + if ( iSecuritySettings->KeyFormat( iActiveTab ) != + ( CWEPSecuritySettings::TWEPKeyFormat )aCurrvalue ) + { + iSecuritySettings->SetKeyFormat( iActiveTab, + ( CWEPSecuritySettings::TWEPKeyFormat )aCurrvalue ); + retVal = ETrue; + } + break; + } + + default: + { + __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) ); + break; + } + } + + return retVal; + } + + + +//---------------------------------------------------------- +// CWEPSecuritySettingsDlg::ChangeSettingsL +//---------------------------------------------------------- +// +void CWEPSecuritySettingsDlg::ChangeSettingsL( TBool aQuick ) + { + TInt itemIndex = ( Max( iList->CurrentItemIndex(), 0 ) ); + CWEPSecuritySettings::TWepMember* ptr = + (iLevel ? iFieldsKeyConfiguration : iFieldsMain) + itemIndex; + TInt* tptr = ( iLevel ? iTitlesKeyConfiguration : iTitlesMain ) + itemIndex; + + const TInt KShiftFromKeyLengthToKeyData = 2; + switch ( *ptr ) + { + case CWEPSecuritySettings::EWepKeyInUse: + case CWEPSecuritySettings::EWepKeyLength: + { // Pop-up setting item + if ( ShowPopupSettingPageL( *ptr ) ) + { + UpdateListBoxItemL( *ptr, *tptr, itemIndex ); + *iEventStore |= CWEPSecuritySettings::EModified; + if ( *ptr == CWEPSecuritySettings::EWepKeyLength ) + { + ptr += KShiftFromKeyLengthToKeyData; + tptr += KShiftFromKeyLengthToKeyData; + iSecuritySettings->KeyData( iActiveTab )->Zero(); + UpdateListBoxItemL( *ptr, *tptr, + itemIndex+KShiftFromKeyLengthToKeyData ); + iList->SetCurrentItemIndexAndDraw( itemIndex+ + KShiftFromKeyLengthToKeyData ); + } + } + break; + } + + case CWEPSecuritySettings::EWepAuthentication: + case CWEPSecuritySettings::EWepKeyFormat: + { // Setting item with two available values + TBool changed( ETrue ); + if ( aQuick ) + { + InvertSettings( *ptr ); + } + else + { + changed = ShowPopupSettingPageL( *ptr ); + } + + if ( changed ) + { + UpdateListBoxItemL( *ptr, *tptr, itemIndex ); + if ( *ptr == CWEPSecuritySettings::EWepAuthentication ) + { + *iEventStore |= CWEPSecuritySettings::EModified; + } + } + break; + } + + case CWEPSecuritySettings::EWepKeyData: + { // Text setting item + if ( ShowPopupTextSettingPageL() ) + { + UpdateListBoxItemL( *ptr, *tptr, itemIndex ); + *iEventStore |= CWEPSecuritySettings::EModified; + } + break; + } + + case CWEPSecuritySettings::EWepKeyConfiguration: + { + iLevel = 1; + + iActiveTab = iSecuritySettings->KeyInUse(); + iTabGroup->SetActiveTabByIndex( iActiveTab ); + + HandleListboxDataChangeL(); + itemIndex = 0; + + break; + } + + default: + { + __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) ); + break; + } + } + + iList->ScrollToMakeItemVisible( itemIndex ); + iList->SetCurrentItemIndexAndDraw( itemIndex ); + } + + + + +//---------------------------------------------------------- +// CWEPSecuritySettingsDlg::InvertSettings +//---------------------------------------------------------- +// +void CWEPSecuritySettingsDlg::InvertSettings( CWEPSecuritySettings::TWepMember + aDataMember ) + { + if ( aDataMember == CWEPSecuritySettings::EWepAuthentication ) + { + if ( iSecuritySettings->Authentication() == + CWEPSecuritySettings::EAuthOpen ) + { + iSecuritySettings->SetAuthentication( + CWEPSecuritySettings::EAuthShared ); + } + else + { + iSecuritySettings->SetAuthentication( + CWEPSecuritySettings::EAuthOpen ); + } + } + else if ( aDataMember == CWEPSecuritySettings::EWepKeyFormat ) + { + if ( iSecuritySettings->KeyFormat( iActiveTab ) == + CWEPSecuritySettings::EAscii ) + { + iSecuritySettings->SetKeyFormat( iActiveTab, + CWEPSecuritySettings::EHexadecimal ); + } + else + { + iSecuritySettings->SetKeyFormat( iActiveTab, + CWEPSecuritySettings::EAscii ); + } + } + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsDlg::GetHelpContext +// --------------------------------------------------------- +// +void CWEPSecuritySettingsDlg::GetHelpContext( TCoeHelpContext& aContext ) const + { + aContext.iMajor = KWEPSecuritySettingsUiHelpMajor; + if ( iLevel ) + { + aContext.iContext = KSET_HLP_WLAN_WEP_KEY_SETT; + } + else + { + aContext.iContext = KSET_HLP_WLAN_WEP_MAIN; + } + } + + +// ----------------------------------------------------------------------------- +// CWEPSecuritySettingsDlg::TabChangedL( TInt aIndex ) +// ----------------------------------------------------------------------------- +// +void CWEPSecuritySettingsDlg::TabChangedL( TInt aIndex ) + { + iActiveTab = aIndex; + HandleListboxDataChangeL(); + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsImpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsImpl.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,633 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of class CWEPSecuritySettingsImpl. +* +*/ + +/* +* %version: tr1cfwln#27 % +*/ + +// INCLUDE FILES + +#include "WEPSecuritySettingsImpl.h" +#include "WEPSecuritySettingsUiPanic.h" + +#include +#include +#include +#include + +#include +#include +#include + +// CONSTANT DECLARATIONS + +// Index of first key +LOCAL_D const TInt KFirstKey = 0; + +// Index of second key +LOCAL_D const TInt KSecondKey = 1; + +// Index of third key +LOCAL_D const TInt KThirdKey = 2; + +// Index of fourth key +LOCAL_D const TInt KFourthKey = 3; + +// Ratio of ascii and hex key sizes +LOCAL_D const TInt KAsciiHexRatio = 2; + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::NewL +// --------------------------------------------------------- +// +CWEPSecuritySettingsImpl* CWEPSecuritySettingsImpl::NewL() + { + CWEPSecuritySettingsImpl* settings = + new ( ELeave ) CWEPSecuritySettingsImpl(); + CleanupStack::PushL( settings ); + settings->ConstructL(); + CleanupStack::Pop( settings ); + return settings; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::CWEPSecuritySettingsImpl +// --------------------------------------------------------- +// +CWEPSecuritySettingsImpl::CWEPSecuritySettingsImpl() +: iIsWEP256Enabled( ETrue ) + { + iKeyInUse = CWEPSecuritySettings::EKeyNumber1; + iAuthentication = CWEPSecuritySettings::EAuthOpen; + for ( TUint i = 0; i < KMaxNumberofKeys; i++) + { + iKeyLength[i] = CWEPSecuritySettings::E40Bits; + iKeyFormat[i] = CWEPSecuritySettings::EAscii; + iKeyData[i].Zero(); + } + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::ConstructL +// --------------------------------------------------------- +// +void CWEPSecuritySettingsImpl::ConstructL() + { + // WEP256 is deprecated. + iIsWEP256Enabled = EFalse; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::~CWEPSecuritySettingsImpl +// --------------------------------------------------------- +// +CWEPSecuritySettingsImpl::~CWEPSecuritySettingsImpl() + { + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::LoadL +// --------------------------------------------------------- +// +void CWEPSecuritySettingsImpl::LoadL( TUint32 aIapId, + CCommsDatabase& aCommsDb ) + { + if ( aIapId == KUidNone ) + { + return; + } + + CCommsDbTableView* wLanServiceTable; + + wLanServiceTable = aCommsDb.OpenViewMatchingUintLC( + TPtrC( WLAN_SERVICE ), TPtrC( WLAN_SERVICE_ID ), aIapId ); + + TInt errorCode = wLanServiceTable->GotoFirstRecord(); + if ( errorCode == KErrNone ) + { + // Get index of key in use + TRAPD( err, wLanServiceTable->ReadUintL( TPtrC( WLAN_WEP_INDEX ), + ( TUint32& ) iKeyInUse ) ); + + // Get index of key in use + TRAP( err, wLanServiceTable->ReadUintL( + TPtrC( NU_WLAN_AUTHENTICATION_MODE ), + ( TUint32& ) iAuthentication ) ); + + // Get first WEP key + wLanServiceTable->ReadTextL( TPtrC( NU_WLAN_WEP_KEY1 ), + iKeyData[KFirstKey] ); + SetLenKeyDataFromText( KFirstKey ); + + // Get second WEP key + wLanServiceTable->ReadTextL( TPtrC( NU_WLAN_WEP_KEY2 ), + iKeyData[KSecondKey] ); + SetLenKeyDataFromText( KSecondKey ); + + // Get third WEP key + wLanServiceTable->ReadTextL( TPtrC( NU_WLAN_WEP_KEY3 ), + iKeyData[KThirdKey] ); + SetLenKeyDataFromText( KThirdKey ); + + // Get fourth WEP key + wLanServiceTable->ReadTextL( TPtrC( NU_WLAN_WEP_KEY4 ), + iKeyData[KFourthKey] ); + SetLenKeyDataFromText( KFourthKey ); + + + // Get the format of the keys + TRAP( err, wLanServiceTable->ReadUintL( TPtrC( WLAN_WEP_KEY1_FORMAT ), + ( TUint32& ) iKeyFormat[KFirstKey] ) ); + + TRAP( err, wLanServiceTable->ReadUintL( TPtrC( WLAN_WEP_KEY2_FORMAT ), + ( TUint32& ) iKeyFormat[KSecondKey] ) ); + + TRAP( err, wLanServiceTable->ReadUintL( TPtrC( WLAN_WEP_KEY3_FORMAT ), + ( TUint32& ) iKeyFormat[KThirdKey] ) ); + + TRAP( err, wLanServiceTable->ReadUintL( TPtrC( WLAN_WEP_KEY4_FORMAT ), + ( TUint32& ) iKeyFormat[KFourthKey] ) ); + } + else + { + // silently ignore KErrNotFound. It is caused by incorrect DB, + // we are 'repairing it' this way. + if ( errorCode != KErrNotFound ) + { + User::Leave( errorCode ); + } + } + + CleanupStack::PopAndDestroy( wLanServiceTable ); // wLanServiceTable + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::SaveL +// --------------------------------------------------------- +// +void CWEPSecuritySettingsImpl::SaveL( TUint32 aIapId, + CCommsDatabase& aCommsDb ) const + { + CCommsDbTableView* wLanServiceTable; + + // Caller MUST initiate a transaction, WE WILL NOT. + + wLanServiceTable = aCommsDb.OpenViewMatchingUintLC( + TPtrC( WLAN_SERVICE ), TPtrC( WLAN_SERVICE_ID ), aIapId ); + TInt errorCode = wLanServiceTable->GotoFirstRecord(); + + if ( errorCode == KErrNone ) + { + wLanServiceTable->UpdateRecord(); + } + else + { + TUint32 dummyUid( KUidNone ); + User::LeaveIfError( wLanServiceTable->InsertRecord( dummyUid ) ); + + // Save link to LAN service + wLanServiceTable->WriteUintL( TPtrC( WLAN_SERVICE_ID ), aIapId ); + } + + // Save index of key in use + wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_INDEX ), + ( TUint32& ) iKeyInUse ); + + // Save index of key in use + wLanServiceTable->WriteUintL( TPtrC( NU_WLAN_AUTHENTICATION_MODE ), + ( TUint32& ) iAuthentication ); + + // Save first WEP key + wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY1 ), + iKeyData[KFirstKey] ); + + // Save second WEP key + wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY2 ), + iKeyData[KSecondKey] ); + + // Save third WEP key + wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY3 ), + iKeyData[KThirdKey] ); + + // Save fourth WEP key + wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY4 ), + iKeyData[KFourthKey] ); + + // Save the format of the keys + wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY1_FORMAT ), + ( TUint32& ) iKeyFormat[KFirstKey] ); + + wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY2_FORMAT ), + ( TUint32& ) iKeyFormat[KSecondKey] ); + + wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY3_FORMAT ), + ( TUint32& ) iKeyFormat[KThirdKey] ); + + wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY4_FORMAT ), + ( TUint32& ) iKeyFormat[KFourthKey] ); + + wLanServiceTable->PutRecordChanges(); + + CleanupStack::PopAndDestroy( wLanServiceTable ); // wLanServiceTable + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::SetLenKeyDataFromText +// --------------------------------------------------------- +// +void CWEPSecuritySettingsImpl::SetLenKeyDataFromText( const TInt aIndex ) + { + const TUint keyDataLength = iKeyData[aIndex].Length(); + + if ( keyDataLength == KKeyDataLength104Bits ) + { + iKeyLength[aIndex] = CWEPSecuritySettings::E104Bits; + } + else if ( keyDataLength == KKeyDataLength232Bits && iIsWEP256Enabled ) + { + iKeyLength[aIndex] = CWEPSecuritySettings::E232Bits; + } + else // if ( aKeyDataLength == KKeyDataLength40Bits ) or any + { // other case, by default + iKeyLength[aIndex] = CWEPSecuritySettings::E40Bits; + } + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::IsValid +// --------------------------------------------------------- +// +TBool CWEPSecuritySettingsImpl::IsValid() + { + return ( KeyData( KeyInUse() )->Length() == + ExpectedLengthOfKeyData( KeyLength( KeyInUse() ) ) ); + } + + +//---------------------------------------------------------- +// CWEPSecuritySettingsImpl::ExpectedLengthOfKeyData +//---------------------------------------------------------- +// +TInt CWEPSecuritySettingsImpl::ExpectedLengthOfKeyData( + CWEPSecuritySettings::TWEPKeyLength aKeyLength ) + { + TInt retVal; + + switch ( aKeyLength ) + { + case CWEPSecuritySettings::E40Bits: + { + retVal = KKeyDataLength40Bits; + break; + } + + case CWEPSecuritySettings::E104Bits: + { + retVal = KKeyDataLength104Bits; + break; + } + + case CWEPSecuritySettings::E232Bits: + { + retVal = WEP256Enabled() ? KKeyDataLength232Bits : 0; + break; + } + + default: + { + retVal = 0; + break; + } + } + + return retVal; + } + + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::SetKeyDataL +// --------------------------------------------------------- +// +TInt CWEPSecuritySettingsImpl::SetKeyDataL( const TInt aElement, + const TDesC& aKeyData, + const TBool aHex ) + { + CWEPSecuritySettings::TWEPKeyFormat keyFormat = aHex ? + CWEPSecuritySettings::EHexadecimal : + CWEPSecuritySettings::EAscii; + SetKeyFormat( aElement, keyFormat ); + + TInt dataLength = aKeyData.Length(); + if ( dataLength == KKeyDataLength40Bits || + dataLength == KKeyDataLength40Bits / KAsciiHexRatio ) + { + SetKeyLength( aElement, CWEPSecuritySettings::E40Bits ); + } + else if ( dataLength == KKeyDataLength104Bits || + dataLength == KKeyDataLength104Bits / KAsciiHexRatio ) + { + SetKeyLength( aElement, CWEPSecuritySettings::E104Bits ); + } + else if ( dataLength == KKeyDataLength232Bits || + dataLength == KKeyDataLength232Bits / KAsciiHexRatio ) + { + SetKeyLength( aElement, CWEPSecuritySettings::E232Bits ); + } + else + { + return KErrInvalidLength; + } + + TInt expectedLength = ExpectedLengthOfKeyData( KeyLength( aElement ) ); + + if ( keyFormat == CWEPSecuritySettings::EAscii ) + { + expectedLength /= KAsciiHexRatio; //Ascii key is half the length of Hex + } + + HBufC8* buf8 = HBufC8::NewL( dataLength ); + CleanupStack::PushL( buf8 ); + buf8->Des().Copy( aKeyData ); + + TInt errData = VerifyKeyData( *buf8, expectedLength, + KeyFormat( aElement ) ); + if ( errData == KErrNone ) + { + if ( aHex ) + { + SetKeyData( aElement, buf8->Des() ); + } + else + { + HBufC8* buf8Conv = HBufC8::NewL( dataLength * KAsciiHexRatio ); + // Ascii key is half the length of Hex + ConvertAsciiToHex( buf8->Des(), buf8Conv ); + SetKeyData( aElement, buf8Conv->Des() ); + delete buf8Conv; + } + } + + CleanupStack::PopAndDestroy( buf8 ); // buf8 + + return errData; + } + + +//---------------------------------------------------------- +// CWEPSecuritySettingsImpl::VerifyKeyData +//---------------------------------------------------------- +// +TInt CWEPSecuritySettingsImpl::VerifyKeyData( const TDesC8& aTextToTest, + TInt aLengthOfKeyData, + CWEPSecuritySettings::TWEPKeyFormat aWEPKeyFormat ) + { + TInt err = KErrNone; + TInt lengthOfText = aTextToTest.Length(); + + if ( aTextToTest.Length() != aLengthOfKeyData ) + { + err = KErrInvalidLength; + } + else if ( aWEPKeyFormat == CWEPSecuritySettings::EHexadecimal ) + { + for ( TInt i = 0; i < lengthOfText; i++ ) + { + TChar c ( aTextToTest[i] ); + + if ( !c.IsHexDigit() ) + { + err = KErrInvalidChar; + break; + } + } + } + + return err; + } + + +//---------------------------------------------------------- +// CWEPSecuritySettingsImpl::ConvertAsciiToHex +//---------------------------------------------------------- +// +void CWEPSecuritySettingsImpl::ConvertAsciiToHex( const TDesC8& aSource, + HBufC8*& aDest ) + { + _LIT( hex, "0123456789ABCDEF" ); + TInt size = aSource.Size(); + TPtr8 ptr = aDest->Des(); + for ( TInt ii = 0; ii < size; ii++ ) + { + TText8 ch = aSource[ii]; + ptr.Append( hex()[(ch/16)&0x0f] ); + ptr.Append( hex()[ch&0x0f] ); + } + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::LoadL +// --------------------------------------------------------- +// +void CWEPSecuritySettingsImpl::LoadL( TUint32 aIapId, + CMDBSession& aSession ) + { + + if ( aIapId == KUidNone ) + { + return; + } + + // Load WLAN service table + // first get WLAN table id + CMDBGenericRecord* generic = static_cast + ( CCDRecordBase::RecordFactoryL( 0 ) ); + CleanupStack::PushL( generic ); + generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL ); + generic->LoadL( aSession ); + TMDBElementId wlanTableId = generic->TableId(); + + CMDBField* sidField = static_cast*> + (generic->GetFieldByIdL( KCDTIdWlanServiceId)); + + // prime with service id + *sidField = aIapId; + + if( generic->FindL( aSession) ) + { + // get the values + CMDBField* keyInUseField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanWepIndex ) ); + ( TUint32& )iKeyInUse = *keyInUseField; + CMDBField* authenticationField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanAuthMode ) ); + ( TUint32& )iAuthentication = *authenticationField; + + CMDBField* wepKey1Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanWepKey1 ) ); + iKeyData[ KFirstKey ] = *wepKey1Field; + SetLenKeyDataFromText( KFirstKey ); + + CMDBField* wepKey2Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanWepKey2 ) ); + iKeyData[ KSecondKey ] = *wepKey2Field; + SetLenKeyDataFromText( KSecondKey ); + + CMDBField* wepKey3Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanWepKey3 ) ); + iKeyData[ KThirdKey ] = *wepKey3Field; + SetLenKeyDataFromText( KThirdKey ); + + CMDBField* wepKey4Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanWepKey4 ) ); + iKeyData[ KFourthKey ] = *wepKey4Field; + SetLenKeyDataFromText( KFourthKey ); + + CMDBField* formatKey1Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanFormatKey1 ) ); + ( TUint32& )iKeyFormat[ KFirstKey ] = *formatKey1Field; + CMDBField* formatKey2Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanFormatKey2 ) ); + ( TUint32& )iKeyFormat[ KSecondKey ] = *formatKey2Field; + CMDBField* formatKey3Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanFormatKey3 ) ); + ( TUint32& )iKeyFormat[ KThirdKey ] = *formatKey3Field; + CMDBField* formatKey4Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanFormatKey4 ) ); + ( TUint32& )iKeyFormat[ KFourthKey ] = *formatKey4Field; + } + + CleanupStack::PopAndDestroy( generic ); + + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsImpl::SaveL +// --------------------------------------------------------- +// +void CWEPSecuritySettingsImpl::SaveL( TUint32 aIapId, + CMDBSession& aSession ) const + { + const TInt KRetryWait = 100000; // Wait time between retries in TTimeIntervalMicroSeconds32 + const TInt KRetryCount = 50; // Max retry count + + // Load WLAN service table + // first get WLAN table id + CMDBGenericRecord* generic = static_cast + ( CCDRecordBase::RecordFactoryL( 0 ) ); + CleanupStack::PushL( generic ); + generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL ); + generic->LoadL( aSession ); + TMDBElementId wlanTableId = generic->TableId(); + + CMDBField* sidField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanServiceId ) ); + + // prime with service id + *sidField = aIapId; + + TBool found = generic->FindL( aSession); + + // If loading failed, WLAN service record will be + // created and StoreL()-d, otherwise, ModifyL() + + CMDBField* keyInUseField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanWepIndex ) ); + keyInUseField->SetL( iKeyInUse ); + + CMDBField* authenticationField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanAuthMode ) ); + authenticationField->SetL( iAuthentication ); + + CMDBField* wepKey1Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanWepKey1 ) ); + wepKey1Field->SetL( iKeyData[ KFirstKey ] ); + CMDBField* wepKey2Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanWepKey2 ) ); + wepKey2Field->SetL( iKeyData[ KSecondKey ] ); + CMDBField* wepKey3Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanWepKey3 ) ); + wepKey3Field->SetL( iKeyData[ KThirdKey ] ); + CMDBField* wepKey4Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanWepKey4 ) ); + wepKey4Field->SetL( iKeyData[ KFourthKey ] ); + + CMDBField* formatKey1Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanFormatKey1 ) ); + formatKey1Field->SetL( iKeyFormat[ KFirstKey ] ); + CMDBField* formatKey2Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanFormatKey2 ) ); + formatKey2Field->SetL( iKeyFormat[ KSecondKey ] ); + CMDBField* formatKey3Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanFormatKey3 ) ); + formatKey3Field->SetL( iKeyFormat[ KThirdKey ] ); + CMDBField* formatKey4Field = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanFormatKey4 ) ); + formatKey4Field->SetL( iKeyFormat[ KFourthKey ] ); + + TInt error( KErrNone ); + + // Saving changes + for ( TInt i( 0 ); i < KRetryCount; i++ ) + { + + // If table existed modify it + if( found ) + { + TRAP( error, generic->ModifyL( aSession ) ); + } + + // Otherwise store a new record + else + { + generic->SetRecordId( KCDNewRecordRequest ); + TRAP( error, generic->StoreL( aSession ) ); + } + + // If operation failed with KErrLocked, we'll retry. + if ( KErrLocked == error ) + { + User::After( KRetryWait ); + } + + // Otherwise break the retry loop. + else + { + break; + } + } + + // If the save operation failed, leave now. + User::LeaveIfError( error ); + + CleanupStack::PopAndDestroy( generic ); + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUI.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUI.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,68 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWEPSecuritySettingsUi. +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +// INCLUDE FILES +#include + +#include "WEPSecuritySettingsUiImpl.h" + + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWEPSecuritySettingsUi::NewLC +// --------------------------------------------------------- +// +EXPORT_C CWEPSecuritySettingsUi* CWEPSecuritySettingsUi::NewL( + CEikonEnv& aEikEnv ) + { + CWEPSecuritySettingsUi* secSett = new( ELeave ) CWEPSecuritySettingsUi(); + CleanupStack::PushL( secSett ); + secSett->iImpl = CWEPSecuritySettingsUiImpl::NewL( aEikEnv ); + CleanupStack::Pop( secSett ); // secSett + return secSett; + } + + + +// --------------------------------------------------------- +// CWEPSecuritySettingsUi::~CWEPSecuritySettingsUi +// --------------------------------------------------------- +// +EXPORT_C CWEPSecuritySettingsUi::~CWEPSecuritySettingsUi() + { + delete iImpl; + } + + + +// --------------------------------------------------------- +// CWEPSecuritySettingsUi::Cvt() +// --------------------------------------------------------- +// +EXPORT_C TInt CWEPSecuritySettingsUi::Cvt() + { + return KErrNone; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUiImpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUiImpl.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,115 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWEPSecuritySettingsUiImpl. +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +// INCLUDE FILES +#include +#include + +#include + +#include "WEPSecuritySettingsUiImpl.h" +#include "WEPSecuritySettingsDlg.h" + + +// CONSTANTS +_LIT( KDriveZ, "z:" ); // ROM folder +_LIT( KResourceFileName, "WEPSecuritySettingsUI.rsc" ); // RSC file name. + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWEPSecuritySettingsUiImpl::NewL +// --------------------------------------------------------- +// +CWEPSecuritySettingsUiImpl* CWEPSecuritySettingsUiImpl::NewL( + CEikonEnv& aEikEnv ) + { + CWEPSecuritySettingsUiImpl* uiImpl = + new( ELeave ) CWEPSecuritySettingsUiImpl( aEikEnv ); + CleanupStack::PushL( uiImpl ); + uiImpl->ConstructL(); + CleanupStack::Pop( uiImpl ); // uiImpl + return uiImpl; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsUiImpl::CWEPSecuritySettingsUiImpl +// --------------------------------------------------------- +// +CWEPSecuritySettingsUiImpl::CWEPSecuritySettingsUiImpl( CEikonEnv& aEikEnv ) +: iEventStore( ENone ), + iEikEnv( &aEikEnv ) + { + } + + +// --------------------------------------------------------- +// CWEPSecuritySettingsUiImpl::~CWEPSecuritySettingsUiImpl +// --------------------------------------------------------- +// +CWEPSecuritySettingsUiImpl::~CWEPSecuritySettingsUiImpl() + { + if ( iResOffset ) + { + iEikEnv->DeleteResourceFile( iResOffset ); + } + } + + + +// --------------------------------------------------------- +// CWEPSecuritySettingsUiImpl::ConstructL +// --------------------------------------------------------- +// +void CWEPSecuritySettingsUiImpl::ConstructL() + { + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + BaflUtils::NearestLanguageFile( iEikEnv->FsSession(), fileName ); + iResOffset = iEikEnv->AddResourceFileL( fileName ); + } + + + +// --------------------------------------------------------- +// CWEPSecuritySettingsUiImpl::EditL +// --------------------------------------------------------- +// +TInt CWEPSecuritySettingsUiImpl::EditL( CWEPSecuritySettingsImpl& aSettings, + const TDesC& aTitle ) + { + iEventStore = ENone; + + CWEPSecuritySettingsDlg* secSettDlg = + CWEPSecuritySettingsDlg::NewL( iEventStore ); + secSettDlg->ConstructAndRunLD( &aSettings, aTitle ); + + return iEventStore; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUiPanic.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUiPanic.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,42 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of panic function. +* +*/ + +/* +* %version: tr1cfwln#8 % +*/ + +// INCLUDE FILES + +#include + +#include "WEPSecuritySettingsUiPanic.h" + + +// ================= LOCAL FUNCTIONS ======================= + +// --------------------------------------------------------- +// Panic() +// --------------------------------------------------------- +// +void Panic( TWepSecuritySettingsPanicCodes aPanic ) + { + _LIT( kWepSet, "WEPSecuritySettingsUi" ); + User::Panic( kWepSet, aPanic ); + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/src/WepKeyDataTextSettingPage.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/src/WepKeyDataTextSettingPage.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,75 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of CWEPKeyDataTextSettingPage. +* +*/ + +/* +* %version: tr1cfwln#11 % +*/ + +// INCLUDE FILES + +//#include + +#include + +#include "WepKeyDataTextSettingPage.h" + + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWEPKeyDataTextSettingPage::CWEPKeyDataTextSettingPage +// --------------------------------------------------------- +// +CWEPKeyDataTextSettingPage::CWEPKeyDataTextSettingPage( TDes& aText, + TInt aMaxLength, + CWEPSecuritySettings::TWEPKeyFormat aWEPKeyFormat ) +:CAknTextSettingPage( R_TEXT_SETTING_PAGE_KEY_DATA, aText, + EAknSettingPageNoOrdinalDisplayed ), + iLengthOfKeyData( aMaxLength ), + iWEPKeyFormat( aWEPKeyFormat ) + { + } + + + +// --------------------------------------------------------- +// CWEPKeyDataTextSettingPage::ConstructL +// --------------------------------------------------------- +// +void CWEPKeyDataTextSettingPage::ConstructL() + { + CAknTextSettingPage::ConstructL(); + + CEikEdwin* editor = TextControl(); + + editor->SetMaxLength( iLengthOfKeyData ); + + if ( iWEPKeyFormat == CWEPSecuritySettings::EAscii ) + { + editor->SetOnlyASCIIChars( ETrue ); + editor->SetAknEditorCase( EAknEditorLowerCase ); + } + else + { + editor->SetAknEditorCase( EAknEditorUpperCase ); + editor->SetAknEditorSpecialCharacterTable( 0 ); + } + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/src/wepsecuritysettingsstub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/src/wepsecuritysettingsstub.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,143 @@ +/* +* Copyright (c) 2001-2009 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: Stub implementation of class CWEPSecuritySettings for +* non-WLAN products to support linking +* +*/ + +/* +* %version: 3 % +*/ + +// INCLUDE FILES + +#include + + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWEPSecuritySettings::NewL +// --------------------------------------------------------- +// +EXPORT_C CWEPSecuritySettings* CWEPSecuritySettings::NewL() + { + User::Leave(KErrNotSupported); + return NULL; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::~CWEPSecuritySettings +// --------------------------------------------------------- +// +EXPORT_C CWEPSecuritySettings::~CWEPSecuritySettings() + { + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::LoadL +// --------------------------------------------------------- +// +EXPORT_C void CWEPSecuritySettings::LoadL( TUint32 /* aIapId */, + CCommsDatabase& /* aCommsDb */ ) + { + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::SaveL +// --------------------------------------------------------- +// +EXPORT_C void CWEPSecuritySettings::SaveL( TUint32 /* aIapId */, + CCommsDatabase& /* aCommsDb */ ) const + { + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::EditL +// --------------------------------------------------------- +// +EXPORT_C TInt CWEPSecuritySettings::EditL( CWEPSecuritySettingsUi& /* aUi */, + const TDesC& /* aTitle */ ) + { + return KErrNotSupported; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::IsValid +// --------------------------------------------------------- +// +EXPORT_C TBool CWEPSecuritySettings::IsValid() const + { + return EFalse; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::SetKeyDataL +// --------------------------------------------------------- +// +EXPORT_C TInt CWEPSecuritySettings::SetKeyDataL( const TInt /* aElement */, + const TDesC& /* aKeyData */, + const TBool /* aHex */ ) + { + return KErrNotSupported; + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::LoadL +// --------------------------------------------------------- +// +EXPORT_C void CWEPSecuritySettings::LoadL( TUint32 /* aIapId */, + CMDBSession& /* aSession */ ) + { + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::SaveL +// --------------------------------------------------------- +// +EXPORT_C void CWEPSecuritySettings::SaveL( TUint32 /* aIapId */, + CMDBSession& /* aSession */ ) const + { + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::SetKeyInUse +// --------------------------------------------------------- +// +EXPORT_C void CWEPSecuritySettings::SetKeyInUse( + CWEPSecuritySettings::TWEPKeyInUse /* aKey */ ) + { + } + + +// --------------------------------------------------------- +// CWEPSecuritySettings::SetAuthentication +// --------------------------------------------------------- +// +EXPORT_C void CWEPSecuritySettings::SetAuthentication( + CWEPSecuritySettings::TWEPAuthentication /* aAuthentication */ ) + { + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wepsecuritysettingsui/src/wepsecuritysettingsuistub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wepsecuritysettingsui/src/wepsecuritysettingsuistub.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,63 @@ +/* +* Copyright (c) 2001-2009 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: Stub implementation of class CWEPSecuritySettingsUi for +* non-WLAN products to support linking +* +*/ + +/* +* %version: 3 % +*/ + +// INCLUDE FILES + +#include + + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWEPSecuritySettingsUi::NewLC +// --------------------------------------------------------- +// +EXPORT_C CWEPSecuritySettingsUi* CWEPSecuritySettingsUi::NewL( + CEikonEnv& /* aEikEnv */ ) + { + User::Leave(KErrNotSupported); + return NULL; + } + + + +// --------------------------------------------------------- +// CWEPSecuritySettingsUi::~CWEPSecuritySettingsUi +// --------------------------------------------------------- +// +EXPORT_C CWEPSecuritySettingsUi::~CWEPSecuritySettingsUi() + { + } + + + +// --------------------------------------------------------- +// CWEPSecuritySettingsUi::Cvt() +// --------------------------------------------------------- +// +EXPORT_C TInt CWEPSecuritySettingsUi::Cvt() + { + return KErrNotSupported; + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/bwinscw/wifiprotclient_alru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/bwinscw/wifiprotclient_alru.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,8 @@ +EXPORTS + ??1CWiFiProtUiClient@@UAE@XZ @ 1 NONAME ; CWiFiProtUiClient::~CWiFiProtUiClient(void) + ?CancelWiFiProt@CWiFiProtUiClient@@QAEXXZ @ 2 NONAME ; void CWiFiProtUiClient::CancelWiFiProt(void) + ?NewL@CWiFiProtUiClient@@SAPAV1@XZ @ 3 NONAME ; class CWiFiProtUiClient * CWiFiProtUiClient::NewL(void) + ?StartWiFiProtL@CWiFiProtUiClient@@QAEXABV?$TBuf8@$0CA@@@HAAV?$RArray@K@@AAW4TWiFiReturn@WiFiProt@@AAVTRequestStatus@@@Z @ 4 NONAME ; void CWiFiProtUiClient::StartWiFiProtL(class TBuf8<32> const &, int, class RArray &, enum WiFiProt::TWiFiReturn &, class TRequestStatus &) + ?StartWiFiProtSyncL@CWiFiProtUiClient@@QAE?AW4TWiFiReturn@WiFiProt@@ABV?$TBuf8@$0CA@@@HAAV?$RArray@K@@@Z @ 5 NONAME ; enum WiFiProt::TWiFiReturn CWiFiProtUiClient::StartWiFiProtSyncL(class TBuf8<32> const &, int, class RArray &) + ?StartWiFiProtConnL@CWiFiProtUiClient@@QAEXABV?$TBuf8@$0CA@@@AAUTWlanProtectedSetupCredentialAttribute@@AAW4TWiFiReturn@WiFiProt@@AAVTRequestStatus@@@Z @ 6 NONAME ; void CWiFiProtUiClient::StartWiFiProtConnL(class TBuf8<32> const &, struct TWlanProtectedSetupCredentialAttribute &, enum WiFiProt::TWiFiReturn &, class TRequestStatus &) + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/bwinscw/wifiprotpluginu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/bwinscw/wifiprotpluginu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,5 @@ +EXPORTS + ?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr * NotifierArray(void) + ?NewL@CWifiProtUiInProcess@@SAPAV1@PAVRCmManagerExt@@@Z @ 2 NONAME ; class CWifiProtUiInProcess * CWifiProtUiInProcess::NewL(class RCmManagerExt *) + ?StartFromUiL@CWifiProtUiInProcess@@QAE?AW4TWiFiReturn@WiFiProt@@ABV?$TBuf8@$0CA@@@HAAV?$RArray@K@@@Z @ 3 NONAME ; enum WiFiProt::TWiFiReturn CWifiProtUiInProcess::StartFromUiL(class TBuf8<32> const &, int, class RArray &) + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/data/wifiprotplugin.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/data/wifiprotplugin.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,331 @@ +/* +* Copyright (c) 2001-2009 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: This file contains all the resources for the Connection Ui Utilities Notifier +* +*/ + +/* +* %version: tr1cfwln#12 % +*/ + +// RESOURCE IDENTIFIER +NAME AWPS // 4 letter ID + +// INCLUDES +#include +#include +#include +#include +#include + +#include +#include "wifiprotplugin.hrh" +#include + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + +RESOURCE TBUF { buf="WiFiProtPlugin"; } + + + +RESOURCE DIALOG r_wifiprot_configure_auto_dialog + { + flags = EEikDialogFlagNotifyEsc | EEikDialogFlagCbaButtons | + EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar ; + buttons = R_AVKON_SOFTKEYS_YES_NO__YES; + items = + { + DLG_LINE + { + type = EAknCtQuery; + id = EGeneralQuery; + control = AVKON_CONFIRMATION_QUERY + { + layout = EConfirmationLayout; + animation = R_QGN_NOTE_QUERY_ANIM; + label = qtn_ntw_conset_quest_wps_configure_auto; + }; + } + }; + } + +RESOURCE CBA r_softkeys_continue_cancel__continue + { + buttons = + { + CBA_BUTTON { id = EWiFiSoftkeyContinue; txt = qtn_text_sotkey_continue; }, + CBA_BUTTON { id = EAknSoftkeyCancel; txt = text_softkey_cancel; }, + CBA_BUTTON { id = EWiFiSoftkeyContinue; txt = qtn_text_sotkey_continue;} + }; + } + +RESOURCE CBA r_softkeys_select_cancel__select + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyView; txt = text_softkey_select; }, + CBA_BUTTON { id = EAknSoftkeyNo; txt = text_softkey_cancel; }, + CBA_BUTTON { id = EAknSoftkeyView; txt = text_softkey_select;} + }; + } + +RESOURCE DIALOG r_wifiprot_initiate_easy_setup_dialog + { + flags = EEikDialogFlagNotifyEsc | EEikDialogFlagCbaButtons | + EEikDialogFlagNoDrag ; + buttons = r_softkeys_continue_cancel__continue; + items = + { + DLG_LINE + { + type = EAknCtPopupHeadingPane; + id = EAknMessageQueryHeaderId; + control = AVKON_HEADING + { + label = qtn_netw_conset_prmpt_wps_initiate; + }; + }, + DLG_LINE + { + type = EAknCtMessageQuery; + id = EAknMessageQueryContentId; + control = AVKON_MESSAGE_QUERY + { + }; + } + }; + } + +RESOURCE DIALOG r_wifiprot_enter_pin_code_dialog + { + flags = EEikDialogFlagNotifyEsc | EEikDialogFlagCbaButtons | + EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar ; + buttons = r_softkeys_continue_cancel__continue; + items = + { + DLG_LINE + { + type = EAknCtQuery; + id = EGeneralQuery; + control = AVKON_CONFIRMATION_QUERY + { + layout = EConfirmationLayout; + animation = R_QGN_NOTE_INFO_ANIM; + label = qtn_netw_conset_wps_info_enter_pin_code; + }; + } + }; + } + + +RESOURCE DIALOG r_wifiprot_wait_note + { + flags = EAknWaitNoteFlags; + buttons = R_AVKON_SOFTKEYS_CANCEL; + items = + { + DLG_LINE + { + type = EAknCtNote; + id = EGeneralNote; + control= AVKON_NOTE + { + layout = EWaitLayout; + animation = R_QGN_GRAF_WAIT_BAR_ANIM; + }; + } + }; + } + + +RESOURCE DIALOG r_wifiprot_ok_note + { + flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | + EEikDialogFlagCbaButtons | EEikDialogFlagWait; + buttons = R_AVKON_SOFTKEYS_EMPTY; + items = + { + DLG_LINE + { + type = EAknCtNote; + id = EGeneralNote; + control = AVKON_NOTE + { + layout = EGeneralLayout; + animation = R_QGN_NOTE_OK_ANIM; + }; + } + }; + } + +RESOURCE DIALOG r_wifiprot_info_note + { + flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | + EEikDialogFlagCbaButtons | EEikDialogFlagWait; + buttons = R_AVKON_SOFTKEYS_EMPTY; + items = + { + DLG_LINE + { + type = EAknCtNote; + id = EGeneralNote; + control = AVKON_NOTE + { + layout = EGeneralLayout; + animation = R_QGN_NOTE_INFO_ANIM; + }; + } + }; + } + +RESOURCE DIALOG r_wifiprot_error_note + { + flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | + EEikDialogFlagCbaButtons | EEikDialogFlagWait; + buttons = R_AVKON_SOFTKEYS_EMPTY; + items = + { + DLG_LINE + { + type = EAknCtNote; + id = EGeneralNote; + control = AVKON_NOTE + { + layout = EGeneralLayout; + animation = R_QGN_NOTE_ERROR_ANIM; + }; + } + }; + } + +RESOURCE AVKON_LIST_QUERY r_conn_list_query + { + softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT; + flags = EEikDialogFlagNotifyEsc; + + items = + { + AVKON_LIST_QUERY_DLG_LINE + { + id = EListQueryControl; + control = AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX + { + actuallisttype = EAknCtSingleGraphicPopupMenuListBox; + listbox = AVKON_LIST_QUERY_LIST + { + flags = EAknListBoxSelectionList; + }; + + heading = qtn_netw_conset_wps_prmpt_select_network; + }; + } + }; + } + + + +RESOURCE TBUF r_qtn_wlan_info_no_networks_found + { + buf = qtn_wlan_info_no_networks_found; + } + +RESOURCE TBUF r_qtn_netw_conset_wps_detail_select_network + { + buf = qtn_netw_conset_wps_detail_select_network; + } + +RESOURCE TBUF r_qtn_netw_conset_wps_msg_pbc + { + buf = qtn_netw_conset_wps_msg_pbc; + } + +RESOURCE TBUF r_qtn_netw_conset_wps_info_enter_pin_code + { + buf = qtn_netw_conset_wps_info_enter_pin_code; + } + +RESOURCE TBUF r_qtn_netw_conset_wps_msg_link_use_pin + { + buf = qtn_netw_conset_wps_msg_link_use_pin; + } + +RESOURCE TBUF r_qtn_netw_conset_wait_wps_configuring + { + buf = qtn_netw_conset_wait_wps_configuring; + } + +RESOURCE TBUF r_qtn_netw_conset_conf_wps_one_network_configured + { + buf = qtn_netw_conset_conf_wps_one_network_configured; + } + +RESOURCE TBUF r_qtn_netw_conset_conf_wps_multiple_networks_config + { + buf = qtn_netw_conset_conf_wps_multiple_networks_config; + } + +RESOURCE TBUF r_qtn_netw_conset_conf_wps_no_networks_configured + { + buf = qtn_netw_conset_conf_wps_no_networks_configured; + } + +RESOURCE TBUF r_qtn_err_wlan_sc_config_failed_try_again + { + buf = qtn_err_wlan_sc_config_failed_try_again; + } + +RESOURCE TBUF r_qtn_err_wlan_sc_config_failed + { + buf = qtn_err_wlan_sc_config_failed; + } + +RESOURCE TBUF r_qtn_err_wlan_signal_too_weak + { + buf = qtn_err_wlan_signal_too_weak; + } + +RESOURCE TBUF r_qtn_err_wlan_network_not_found + { + buf = qtn_err_wlan_network_not_found; + } + +RESOURCE TBUF r_qtn_err_wlan_sc_config_failed_multiple_pb_sessions + { + buf = qtn_err_wlan_sc_config_failed_multiple_pb_sessions; + } + +RESOURCE TBUF r_qtn_err_wlan_sc_config_failed_rogue_activity + { + buf = qtn_err_wlan_sc_config_failed_rogue_activity; + } + +RESOURCE TBUF r_qtn_err_wlan_sc_config_failed_pin_not_supported + { + buf = qtn_err_wlan_sc_config_failed_pin_not_supported; + } + +RESOURCE TBUF r_qtn_err_wlan_sc_config_failed_pb_not_supported + { + buf = qtn_err_wlan_sc_config_failed_pb_not_supported; + } + +RESOURCE TBUF r_qtn_wlan_info_connection_already_active + { + buf = qtn_wlan_info_connection_already_active; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/eabi/wifiprotclient_alru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/eabi/wifiprotclient_alru.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,14 @@ +EXPORTS + _ZN17CWiFiProtUiClient14CancelWiFiProtEv @ 1 NONAME + _ZN17CWiFiProtUiClient14StartWiFiProtLERK5TBuf8ILi32EEiR6RArrayImERN8WiFiProt11TWiFiReturnER14TRequestStatus @ 2 NONAME + _ZN17CWiFiProtUiClient18StartWiFiProtSyncLERK5TBuf8ILi32EEiR6RArrayImE @ 3 NONAME + _ZN17CWiFiProtUiClient4NewLEv @ 4 NONAME + _ZN17CWiFiProtUiClientD0Ev @ 5 NONAME + _ZN17CWiFiProtUiClientD1Ev @ 6 NONAME + _ZN17CWiFiProtUiClientD2Ev @ 7 NONAME + _ZTI17CWiFiProtUiClient @ 8 NONAME ; ## + _ZTI19CWiFiProtSyncClient @ 9 NONAME ; ## + _ZTV17CWiFiProtUiClient @ 10 NONAME ; ## + _ZTV19CWiFiProtSyncClient @ 11 NONAME ; ## + _ZN17CWiFiProtUiClient18StartWiFiProtConnLERK5TBuf8ILi32EER38TWlanProtectedSetupCredentialAttributeRN8WiFiProt11TWiFiReturnER14TRequestStatus @ 12 NONAME + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/eabi/wifiprotpluginu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/eabi/wifiprotpluginu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,11 @@ +EXPORTS + _Z13NotifierArrayv @ 1 NONAME + _ZN20CWifiProtUiInProcess12StartFromUiLERK5TBuf8ILi32EEiR6RArrayImE @ 2 NONAME + _ZN20CWifiProtUiInProcess4NewLEP13RCmManagerExt @ 3 NONAME + _ZTI19CWiFiProtDlgsPlugin @ 4 NONAME ; ## + _ZTI20CWifiProtUiInProcess @ 5 NONAME ; ## + _ZTI21CWiFiProtActiveRunner @ 6 NONAME ; ## + _ZTV19CWiFiProtDlgsPlugin @ 7 NONAME ; ## + _ZTV20CWifiProtUiInProcess @ 8 NONAME ; ## + _ZTV21CWiFiProtActiveRunner @ 9 NONAME ; ## + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,55 @@ +/* +* Copyright (c) 2001-2009 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: This file provides the information required for building the Wi-Fi Protected Setup Ui. +* +*/ + +/* +* %version: tr1cfwln#15 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS +// export iby files + +../rom/WiFiProt.iby CORE_MW_LAYER_IBY_EXPORT_PATH(WiFiProt.iby) +../rom/WiFiProtResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(WiFiProtResources.iby) + + +// export localised loc file +../loc/wifiprot.loc MW_LAYER_LOC_EXPORT_PATH(wifiprot.loc) + +PRJ_MMPFILES + +./wifiprotclient.mmp +./wifiprotplugin.mmp +// stub implementation for non-WLAN products +./wifiprotclientstub.mmp +./wifiprotpluginstub.mmp + +PRJ_EXTENSIONS + +START EXTENSION s60/mifconv +OPTION TARGETFILE wifiprot.mif +OPTION HEADERFILE wifiprot.mbg +OPTION SOURCES -c8,1 qgn_prop_wlan_bearer +END + +PRJ_TESTMMPFILES + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/group/wifiprot_icons.mk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/group/wifiprot_icons.mk Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,66 @@ +# +# Copyright (c) 2008 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: Makefile for icons of WPS UI +# + +ifeq (WINS,$(findstring WINS, $(PLATFORM))) +ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z +else +ZDIR=\epoc32\data\z +endif + + +TARGETDIR=$(ZDIR)\resource\apps +ICONTARGETFILENAME=$(TARGETDIR)\wifiprot.mif + +HEADERDIR=\epoc32\include +HEADERFILENAME=$(HEADERDIR)\wifiprot.mbg + +do_nothing : + @rem do_nothing + +MAKMAKE : do_nothing + +BLD : do_nothing + +CLEAN : do_nothing + +LIB : do_nothing + +CLEANLIB : do_nothing + +# ---------------------------------------------------------------------------- +# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by +# MifConv if the mask detph is defined. +# +# NOTE 2: Usually, source paths should not be included in the bitmap +# definitions. MifConv searches for the icons in all icon directories in a +# predefined order, which is currently \s60\icons, \s60\bitmaps2, \s60\bitmaps. +# The directory \s60\icons is included in the search only if the feature flag +# __SCALABLE_ICONS is defined. +# ---------------------------------------------------------------------------- + +RESOURCE : + mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \ + /c8,1 qgn_prop_wlan_bearer.bmp + +FREEZE : do_nothing + +SAVESPACE : do_nothing + +RELEASABLES : + @echo $(HEADERFILENAME)&& \ + @echo $(ICONTARGETFILENAME) + +FINAL : do_nothing diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/group/wifiprotclient.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/group/wifiprotclient.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,70 @@ +/* +* Copyright (c) 2001-2009 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: This is project specification file for the ConnectionUiUtilities. +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +#include +#include + + +TARGET wifiprotclient.dll +TARGETTYPE DLL + +CAPABILITY CAP_GENERAL_DLL +VENDORID VID_DEFAULT + + +SOURCEPATH ../src +SOURCE wifiprotuiclient.cpp +SOURCE wifiprotsession.cpp +SOURCE wifiprotuiclientimpl.cpp +SOURCE wifiprotactiveresp.cpp +SOURCE wifiprotsyncclient.cpp + + +// Component specific internal headers +USERINCLUDE ../inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE + +LIBRARY euser.lib +LIBRARY cone.lib +LIBRARY eikcore.lib +LIBRARY eikcoctl.lib +LIBRARY avkon.lib +LIBRARY eikdlg.lib +LIBRARY bafl.lib +LIBRARY commonengine.lib +LIBRARY aknskins.lib +LIBRARY featmgr.lib +LIBRARY aknnotify.lib +LIBRARY ecom.lib +LIBRARY aknlayout.lib + +LIBRARY flogger.lib + +#if defined( ARMCC ) + DEFFILE ../eabi/wifiprotclient_alr.def +#elif defined( WINSCW ) + DEFFILE ../bwinscw/wifiprotclient_alr.def +#endif + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/group/wifiprotclientstub.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/group/wifiprotclientstub.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,55 @@ +/* +* Copyright (c) 2001-2009 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: Project specification file for stub implementation of + WiFiProt UI for non-WLAN products to support linking. +* +*/ + +/* +* %version: 1 % +*/ + +#include +#include + + +TARGET wifiprotclientstub.dll +TARGETTYPE DLL + +CAPABILITY CAP_GENERAL_DLL +VENDORID VID_DEFAULT + + +SOURCEPATH ../src +SOURCE wifiprotuiclientstub.cpp + +// Component specific internal headers +USERINCLUDE ../inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE + +LIBRARY euser.lib + + +LIBRARY flogger.lib + +#if defined( ARMCC ) + DEFFILE ../eabi/wifiprotclient_alr.def +#elif defined( WINSCW ) + DEFFILE ../bwinscw/wifiprotclient_alr.def +#endif + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/group/wifiprotplugin.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/group/wifiprotplugin.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,97 @@ +/* +* Copyright (c) 2001-2009 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: This is project specification file for the Wi-Fi Protected Setup Notifier +* +*/ + +/* +* %version: tr1cfwln#13 % +*/ + +#include +#include + +TARGET wifiprotplugin.dll + +TARGETTYPE DLL + +TARGETPATH /system/libs + +UID 0x101FDFAE 0x10281BC0 + +CAPABILITY CAP_GENERAL_DLL + +VENDORID VID_DEFAULT + +START RESOURCE ../data/wifiprotplugin.rss +HEADER + TARGETPATH RESOURCE_FILES_DIR + LANGUAGE_IDS +END // RESOURCE + +SOURCEPATH ../pluginsrc +SOURCE wifiprotplugin.cpp +SOURCE wifiprotdlgsplugin.cpp +SOURCE wifiprotconfirmationnotedlg.cpp +SOURCE wifiprotenterpindlg.cpp +SOURCE wifiprotinitiateeasysetupdlg.cpp +SOURCE wifiprotselectnetworkdlg.cpp +SOURCE wifiprotactiverunner.cpp +SOURCE wifiprotuiinprocess.cpp + + +USERINCLUDE ../plugininc + +// Component specific internal headers +USERINCLUDE ../inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE + +LIBRARY euser.lib +LIBRARY eikdlg.lib +LIBRARY eiksrv.lib +LIBRARY cone.lib +LIBRARY eikcore.lib +LIBRARY eikcoctl.lib +LIBRARY bafl.lib +LIBRARY avkon.lib +LIBRARY aknskins.lib +LIBRARY ecom.lib +LIBRARY eiksrvui.lib +LIBRARY aknnotify.lib +LIBRARY aknicon.lib +LIBRARY egul.lib +LIBRARY aknlayout.lib +LIBRARY akncapserverclient.lib +LIBRARY featmgr.lib +LIBRARY commonengine.lib +LIBRARY cmmanager.lib +LIBRARY wpasecuritysettingsui.lib +LIBRARY wepsecuritysettingsui.lib +LIBRARY commsdat.lib +LIBRARY charconv.lib +LIBRARY flogger.lib +LIBRARY efsrv.lib +LIBRARY centralrepository.lib + +#if defined(ARMCC) + DEFFILE ../eabi/wifiprotplugin.def +#elif defined( WINSCW ) + DEFFILE ../bwinscw/wifiprotplugin.def +#endif + + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/group/wifiprotpluginstub.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/group/wifiprotpluginstub.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,62 @@ +/* +* Copyright (c) 2001-2009 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: Project specification file for stub implementation of + WiFiProt UI for non-WLAN products to support linking. +* +*/ + +/* +* %version: 1 % +*/ + +#include +#include + +TARGET wifiprotpluginstub.dll + +TARGETTYPE DLL + +TARGETPATH /system/libs + +UID 0x101FDFAE 0x10281BC0 + +CAPABILITY CAP_GENERAL_DLL + +VENDORID VID_DEFAULT + + +SOURCEPATH ../pluginsrc +SOURCE wifiprotpluginstub.cpp + + +USERINCLUDE ../plugininc + +// Component specific internal headers +USERINCLUDE ../inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE + +LIBRARY euser.lib +LIBRARY eiksrv.lib + +#if defined(ARMCC) + DEFFILE ../eabi/wifiprotplugin.def +#elif defined( WINSCW ) + DEFFILE ../bwinscw/wifiprotplugin.def +#endif + + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/inc/wifiparams.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiparams.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,72 @@ +/* +* Copyright (c) 2001-2009 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: Declares the common used constants and types for Wi-Fi Protected Setup. +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +#ifndef T_WIFIPARAMS_H +#define T_WIFIPARAMS_H + +#include +#include +#include + +namespace WiFiProt + { + struct TWiFiInputParams + { + // ssid of the network we want to configure + TWlanSsid iSSid; + // a flag to indicate that a connection is needed + // when setup is complete + TBool iConnectionNeeded; + // constructor to initialise input parameters data + inline TWiFiInputParams( const TDesC8& aInitBuf, + const TBool aConnectionNeeded ); + }; + + const TInt KMaxNumberOfUids = 30; //to be specified + + struct TWiFiOutputParams + { + // returned iapids of the configured connection methods + TBuf8 iIapIds; + // return value, see TWiFiReturn + TWiFiReturn iReturn; + // constructor to initialise output parameters data + inline TWiFiOutputParams( const TDesC8& aInitBuf ); + }; + + struct TWiFiConnOutputParams + { + // returned iapids of the configured connection methods + TWlanProtectedSetupCredentialAttribute iNetworkSettings; + // return value, see TWiFiReturn + TWiFiReturn iReturn; + // constructor to initialise output parameters data + inline TWiFiConnOutputParams( + const TWlanProtectedSetupCredentialAttribute& aNetworkSettings ); + // default constructor + inline TWiFiConnOutputParams( ); + }; + } +#include "wifiparams.inl" +#endif // T_WIFIPARAMS_H + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/inc/wifiparams.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiparams.inl Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,58 @@ +/* +* Copyright (c) 2001-2009 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: Declares inline functions for input/output parameter sructures +* +*/ + +/* +* %version: tr1cfwln#8 % +*/ + +#ifndef WIFIPARAMS_INL +#define WIFIPARAMS_INL + +using namespace WiFiProt; + +WiFiProt::TWiFiInputParams::TWiFiInputParams(const TDesC8& aInitBuf, + const TBool aConnectionNeeded): + iSSid(aInitBuf), + iConnectionNeeded(aConnectionNeeded) + { + + } + + +WiFiProt::TWiFiOutputParams::TWiFiOutputParams(const TDesC8& aInitBuf): + iIapIds(aInitBuf), + iReturn(EWiFiCancel) + { + + } + +WiFiProt::TWiFiConnOutputParams::TWiFiConnOutputParams( + const TWlanProtectedSetupCredentialAttribute& aNetworkSettings): + iNetworkSettings(aNetworkSettings), + iReturn(EWiFiCancel) + { + + } + +WiFiProt::TWiFiConnOutputParams::TWiFiConnOutputParams( ): + iNetworkSettings( TWlanProtectedSetupCredentialAttribute() ), + iReturn(EWiFiCancel) + { + + } +#endif // WIFIPARAMS_INL +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/inc/wifiprot.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiprot.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,150 @@ +/* +* Copyright (c) 2001-2009 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: This is a localisation file for Wi-Fi Protected Setup A .loc file is the one and only place where the logical strings to be localised are defined. +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + +//d:Wi-Fi protected Setup initial query dialog. Asks the user if he wants to use easy setup. +//l:popup_note_window +//w: +//r:3.2 +#define qtn_ntw_conset_quest_wps_configure_auto "Selected network supports easy setup for receiving settings. Configure automatically?" + +//d:Left softkey text +//l:control_pane_t1 +//w: +//r:3.2 +// +#define qtn_text_sotkey_continue "Continue" + +//d:Wi-Fi protected Setup 'Initiate easy setup' query dialog heading text +//l:heading_pane_t1 +//w: +//r:3.2 +// +#define qtn_netw_conset_prmpt_wps_initiate "Initiate easy setup" + +//d:Wi-Fi protected Setup 'Initiate easy setup' query dialog text +//l:popup_info_list_pane_t1 +//w: +//r:3.2 +// +#define qtn_netw_conset_wps_msg_pbc "Push a button on the wireless station to initiate the easy setup process, and select 'Continue'." + + +//d:Link inside 'Initiate easy setup' to activate 'use PIN code' option +//l:popup_info_list_pane_t1 +//w: +//r:3.2 +// +#define qtn_netw_conset_wps_msg_link_use_pin "Use PIN code instead" + +//d:Wi-Fi protected Setup dialog to display PIN code that should be entered to wireless station. +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_netw_conset_wps_info_enter_pin_code "Enter '%N' on the wireless station and select 'Continue'" + +//d:Wi-Fi protected Setup wait note shown during configuring connection +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_netw_conset_wait_wps_configuring "Configuring connection..." + +//d:Wi-Fi protected Setup ok note shown after successful configuration of a single connection +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_netw_conset_conf_wps_one_network_configured "Settings configured for '%U' network" + +//d:Wi-Fi protected Setup ok note shown after successful configuration of multiple connections +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_netw_conset_conf_wps_multiple_networks_config "Settings for multiple networks configured" + +//d:Wi-Fi protected Setup ok note shown after unsuccessful configuration of network(s) +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_netw_conset_conf_wps_no_networks_configured "No settings received" + +//d:Wi-Fi protected Setup error note show when configuration fails +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_sc_config_failed_try_again "Configuration failed. Please try again." + +//d:Wi-Fi protected Setup error note show when configuration fails and user is requested to try again +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_sc_config_failed "Configuration failed." + +//d:Wi-Fi protected Setup error note show when configuration fails because signal is too weak +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_signal_too_weak "WLAN signal too weak. Move closer to wireless station." + +//d:Wi-Fi protected Setup error note show when configuration fails because WLAN network can't be found +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_network_not_found "Connection failed. Could not find WLAN network." + +//d:Wi-Fi protected Setup error note show when configuration fails because multiple push-button sessions +//d:were detected +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_sc_config_failed_multiple_pb_sessions "Multiple push-button sessions detected. Wait a moment and try again, or use PIN code mechanism instead." + +//d:Wi-Fi protected Setup error note show when configuration fails and user is requested to try again with PIN code +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_sc_config_failed_rogue_activity "Connection failed. Please try again with PIN code mechanism." + +//d:Wi-Fi protected Setup error note show when configuration fails because PIN code mechanism is not supported +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_sc_config_failed_pin_not_supported "Configuration failed. Device you tried to connect to does not support PIN code mechanism." + +//d:Wi-Fi protected Setup error note show when configuration fails because push-button mechanism is not supported +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_sc_config_failed_pb_not_supported "Configuration failed. Device you tried to connect to does not support push-button mechanism." +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/inc/wifiprotactiveresp.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotactiveresp.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,166 @@ +/* +* Copyright (c) 2001-2009 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: CWiFiProtActiveResp class +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +#ifndef C_WIFIPROTACTIVERESP_H +#define C_WIFIPROTACTIVERESP_H + +// INCLUDES +#include +#include "wifiparams.h" + +// CLASS DECLARATION + +/** +* ActiveObject for asynchronous operations +*/ +NONSHARABLE_CLASS( CWiFiProtActiveResp ) : public CActive + { + public: // Constructors and destructor + /** + * Two-phased constructor. + * @param aSSid contains SSid of the network we want to configure + * @param aConnectionNeeded ETrue if we need a connection + * via the configured network + * @param aUidsReturned uids of the configured connection methods + * @param aReturnValue - possible return values are ok, cancel + * process and not use + * protected setup (No Automatic Setup). + */ + static CWiFiProtActiveResp* NewL( const TWlanSsid& aSSid, + TBool aConnectionNeeded, RArray& aUidsReturned, + WiFiProt::TWiFiReturn& aReturnValue ); + + /** + * Two-phased constructor. + * @param aSSid contains SSid of the network we want to configure + * via the configured network + * @param aNetworkSettings the configured network settings + * to be returned + * @param aReturnValue - possible return values are ok, cancel + * process and not use + * protected setup (No Automatic Setup). + */ + static CWiFiProtActiveResp* NewL( const TWlanSsid& aSSid, + TWlanProtectedSetupCredentialAttribute& aNetworkSettings, + WiFiProt::TWiFiReturn& aReturnValue ); + + /** + * Destructor. + */ + virtual ~CWiFiProtActiveResp(); + + public: // From base class + /** + * This function is called when the scheduled function ends. + */ + void RunL(); + + /** + * Cancel operations. + */ + void DoCancel(); + + + public: // New functions + /** + * Add this class on the ActiveScheduler and puts itself active. + * @param aStatus The status that is checked by the caller of the + * Authenticate dialog. + */ + void Observe( TRequestStatus &aStatus ); + + /** + * Returns the TWiFiInputParams + * @return A pointer to iWiFiInputParams. + */ + TPckgBuf* InputBuffer(); + + /** + * Returns the TWiFiOutputParams + * @return A pointer to iWiFiOutputParams. + */ + TPckgBuf* OutputBuffer(); + + /** + * Returns the TWiFiConnOutputParams + * @return A pointer to iConnWiFiOutputParams. + */ + TPckgBuf* ConnOutputBuffer(); + + private: + /** + * C++ default constructor. + * @param aSSid contains SSid of the network we want to configure + * @param aConnectionNeeded ETrue if we need a connection via the + * configured network + * @param aUidsReturned uids of the configured connection methods + * @param aReturnValue - possible return values are ok, cancel + * process and not use + * protected setup (No Automatic Setup). + */ + CWiFiProtActiveResp( const TWlanSsid& aSSid, + TBool aConnectionNeeded, RArray& aUidsReturned, + WiFiProt::TWiFiReturn& aReturnValue ); + + /** + * C++ default constructor. + * @param aSSid contains SSid of the network we want to configure + * @param aNetworkSettings network settings to be returned + * @param aReturnValue - possible return values are ok, cancel + * process and not use + * protected setup (No Automatic Setup). + */ + CWiFiProtActiveResp( const TWlanSsid& aSSid, + TWlanProtectedSetupCredentialAttribute& aNetworkSettings, + WiFiProt::TWiFiReturn& aReturnValue ); + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL( ); + + private: // Data + // The status that is checked by the caller of the Wi-Fi + // Protected Setup ui. Not owned. + TRequestStatus* iRequestStatus; + + // The address of the area where the caller of the Wi-Fi + // Protected Setup ui expects the value for iap list. Not owned. + RArray* iIapIds; + + //Contains the return value passed to the client + WiFiProt::TWiFiReturn& iReturnValue; + + // Packed buffer containing Wi-Fi Protected Setup output parameters. + TPckgBuf iWiFiOutputParams; + // Packed buffer containing Wi-Fi Protected Setup input parameters. + TPckgBuf iWiFiInputParams; + // Packed buffer containing Wi-Fi Protected Setup output parameters + // for connection creation mode. + TPckgBuf iWiFiConnOutputParams; + // network settings to be returned + // used only for connection creation + TWlanProtectedSetupCredentialAttribute* iNetworkSettings; + }; + + +#endif //C_WIFIPROTACTIVERESP_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/inc/wifiprotlogger.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotlogger.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,126 @@ +/* +* Copyright (c) 2001-2009 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: Definition of macros used for logging +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +#ifndef WIFIPROTLOGGER_H_INCLUDED +#define WIFIPROTLOGGER_H_INCLUDED + +// ========== INCLUDE FILES ================================ + +#include +#include + +#ifdef _DEBUG + +// Format string: enter function. +_LIT( KCCDLGLogEnterFn, "-> %S" ); +// Format string: leave function. +_LIT( KCCDLGLogLeaveFn, "<- %S" ); +// Format string: time. +_LIT( KCCDLGLogTimeFormatString, "%H:%T:%S:%*C2" ); + +// Logging directory. +_LIT( KCCDLGLogDir, "wps" ); +// Log file name. +_LIT( KCCDLGLogFile, "wps.txt" ); +_LIT( KCCDLGLogBanner, "****************\n\nWiFiProtectedSetupUi\n\n****************" ); +_LIT( KCCDLGLogExit, "WiFiProtectedSetupUi: Exit" ); + +#define CLOG_CREATE {FCreate();} +#define CLOG_DELETE {RFileLogger::Write(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, KCCDLGLogExit);} +#define CLOG_ENTERFN(a) {_LIT(temp, a); RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, KCCDLGLogEnterFn, &temp);} +#define CLOG_LEAVEFN(a) {_LIT(temp, a); RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, KCCDLGLogLeaveFn, &temp);} +#define CLOG_WRITE(a) {_LIT(temp, a); RFileLogger::Write(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, temp);} +#define CLOG_WRITE_TIMESTAMP(a) {_LIT(temp, a); TTime time; time.HomeTime(); TBuf<256> buffer; time.FormatL( buffer, KCCDLGLogTimeFormatString ); buffer.Insert(0, temp); RFileLogger::Write(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, buffer); } +#define CLOG_WRITEF FPrint + +// --------------------------------------------------------- +// FPrint +// --------------------------------------------------------- +// +inline void FPrint(const TRefByValue aFmt, ...) + { + VA_LIST list; + VA_START(list,aFmt); + RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, aFmt, list); + } + +// --------------------------------------------------------- +// FPrint +// --------------------------------------------------------- +// +inline void FPrint(const TDesC& aDes) + { + RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, aDes); + } + +// --------------------------------------------------------- +// FHex +// --------------------------------------------------------- +// +inline void FHex(const TUint8* aPtr, TInt aLen) + { + RFileLogger::HexDump(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, 0, 0, aPtr, aLen); + } + +// --------------------------------------------------------- +// FHex +// --------------------------------------------------------- +// +inline void FHex(const TDesC8& aDes) + { + FHex(aDes.Ptr(), aDes.Length()); + } + +// --------------------------------------------------------- +// FCreate +// --------------------------------------------------------- +// +inline void FCreate() + { + TFileName path( _L( "c:\\logs\\" ) ); + path.Append( KCCDLGLogDir ); + path.Append( _L( "\\" ) ); + RFs& fs = CEikonEnv::Static()->FsSession(); + fs.MkDirAll( path ); + RFileLogger::WriteFormat( KCCDLGLogDir, KCCDLGLogFile, + EFileLoggingModeAppend, KCCDLGLogBanner ); + } + +#else // ! _DEBUG + +// --------------------------------------------------------- +// FPrint +// --------------------------------------------------------- +// +inline void FPrint(const TRefByValue /*aFmt*/, ...) { }; + +#define CLOG_CREATE +#define CLOG_DELETE +#define CLOG_ENTERFN(a) +#define CLOG_LEAVEFN(a) +#define CLOG_WRITE(a) +#define CLOG_WRITEF 1 ? ((void)0) : FPrint +#define CLOG_WRITE_TIMESTAMP(a) + +#endif // _DEBUG + + +#endif // WIFIPROTLOGGER_H_INCLUDED diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/inc/wifiprotsession.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotsession.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,109 @@ +/* +* Copyright (c) 2001-2009 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: RWiFiProtSession class. +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +#ifndef R_WIFIPROTSESSION_H +#define R_WIFIPROTSESSION_H + +// INCLUDES +#include + +#include "wifiparams.h" +#include "wifiprotactiveresp.h" + +// CLASS DECLARATION + +/** + * RWiFiProtSession + * Session class to handle communication with Notifier Framework + */ +class RWiFiProtSession : public RSessionBase + { + public: + + /** + * Constructor. + */ + RWiFiProtSession(); + + /** + * Destructor. + */ + ~RWiFiProtSession(); + + /** + * Connect to the notifier server. Must be called before any other + * function. + * @return KErrNone if connection succeeded and a standard error code + * otherwise. + */ + TInt Connect(); + + /** + * Disconnect from the notifier server. + */ + void Close(); + + /** + * Starts WiFi Protected Setup sequence + * @param aSSid contains SSid of the network we want to configure + * @param aConnectionNeeded not used anymore + * @param aUidsReturned uids of the configured connection methods + * @param aReturnValue - possible return values are ok, cancel + * process and not use protected setup (No Automatic Setup). + * @param aStatus - Request status of the client + */ + void StartWiFiProtL( const TWlanSsid& aSSid, TBool aConnectionNeeded, + RArray& aUidsReturned, + WiFiProt::TWiFiReturn& aReturnValue, + TRequestStatus& aStatus ); + + /** + * Starts WiFi Protected Setup sequence in Connection initiation mode + * (WPS phase 2 implementation) + * @param aSSid contains SSid of the network we want to configure + * @param aNetworkSettings configuration settings of the network to use + * for the connection (returned as the result of Protected Setup) + * @param aReturnValue - possible return values are ok, cancel + * process and not use protected setup (No Automatic Setup). + * @param aStatus - Request status of the client + */ + void StartWiFiProtConnL( const TWlanSsid& aSSid, + TWlanProtectedSetupCredentialAttribute& + aNetworkSettings, + WiFiProt::TWiFiReturn& aReturnValue, + TRequestStatus& aStatus ); + /** + * Cancels WiFi Protected Setup sequence + */ + void CancelWiFiProt(); + + private: + // Pointer to the client interface + RNotifier* iNotifier; + // Active object used to get TDesC data from the Notifier Framework + // message + CWiFiProtActiveResp* iWiFiProtActiveResp; + }; + +#endif /* R_WIFIPROTSESSION_H */ + +// End of File + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/inc/wifiprotsyncclient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotsyncclient.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,123 @@ +/* +* Copyright (c) 2001-2009 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: CWiFiProtSyncClient class. +* +*/ + +/* +* %version: tr1cfwln#6 % +*/ + +#ifndef C_WIFIPROTSYNCCLIENT_H +#define C_WIFIPROTSYNCCLIENT_H + +// INCLUDES +#include + +#include "wifiprotsession.h" + +/** +* CWiFiProtSyncClient +* Active object to convert a sychronous client call asynchronous, and +* return only when the request is completed +*/ +class CWiFiProtSyncClient : public CActive + { + public: + /** + * Two phased constructor + * @param aClient RWiFiProtSession class to handle communication with + * Notifier Framework + * @param aPriority Active object priority + **/ + static CWiFiProtSyncClient* NewL( RWiFiProtSession& aClient, + TInt aPriority = CActive::EPriorityStandard ); + /** + * Destructor + **/ + ~CWiFiProtSyncClient(); + + /** + * Starts WiFi Protected Setup sequence + * @param aSSid contains SSid of the network we want to configure + * @param aConnectionNeeded ETrue if we need a connection via the + * configured network + * @param aUidsReturned uids of the configured connection methods + * @return possible return values are ok, cancel process and not use + * protected setup (No Automatic Setup). + */ + WiFiProt::TWiFiReturn StartWiFiProtL( const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned + ); + + private: + // Each Notifier Framework call has a corresponding enum, + // and CWiFiProtSyncClient uses it to keep track of the + // currently active call + // The only one is ERunWiFiProt at the moment + enum TWiFiState + { + ENoState = 0, + // StartWiFiProtL was called + ERunWiFiProt + }; + + private: + /** + * Constructor + * @param aClient RWiFiProtSession class to handle communication + * with Notifier Framework + * @param aPriority Active object priority + **/ + CWiFiProtSyncClient( RWiFiProtSession& aClient, TInt aPriority ); + + /** + * Second phase constructor + **/ + void ConstructL(); + + /** + * Calls CActive::SetActive() and sets TWiFiState also + * @param aState identifier of the active call + **/ + void SetActive( TWiFiState aState ); + + /** From CActive */ + + /** + * @see CActive::DoCancel + **/ + virtual void DoCancel(); + + /** + * @see CActive::RunL + **/ + virtual void RunL(); + + private: + // RWiFiProtSession class to handle communication with Notifier + // Framework + RWiFiProtSession& iClient; + // identifier of the active call + CWiFiProtSyncClient::TWiFiState iState; + // Active Scheduler Waiter class to halt the process until the + // call is completed + CActiveSchedulerWait iWait; + }; + + +#endif //C_WIFIPROTSYNCCLIENT_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/inc/wifiprotuiclientimpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotuiclientimpl.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,133 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of class CWiFiProtUiClientImpl. +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +#ifndef C_WIFIPROTUICLIENTIMPL_H +#define C_WIFIPROTUICLIENTIMPL_H + +// INCLUDES +#include +#include + +#include "wifiparams.h" +#include "wifiprotsyncclient.h" + +// FORWARD DECLARATIONS +class CCommsDatabase; +class TConnectionPrefs; +class CAknGlobalNote; + + +// CLASS DECLARATION + +/** +* Wi-Fi Protected Setup. +* Implementation behind proxy class CWiFiProt. +*/ +NONSHARABLE_CLASS( CWiFiProtUiClientImpl ) : public CBase + { + public: + + /** + * Two-phased constructor. Leaves on failure. + * @return The constructed CConnectionUiUtilities object. + */ + static CWiFiProtUiClientImpl* NewL(); + + /** + * Destructor. + */ + virtual ~CWiFiProtUiClientImpl(); + + public: + /** + * Starts WiFi Protected Setup sequence - async version + * @param aSSid contains SSid of the network we want to configure + * @param aConnectionNeeded not used anymore + * @param aUidsReturned uids of the configured connection methods + * @param aReturnValue - possible return values are ok, cancel + * process and not use + * protected setup (No Automatic Setup). + */ + void StartWiFiProtL ( const TWlanSsid& aSSid, + TBool aConnectionNeeded, RArray& aUidsReturned, + WiFiProt::TWiFiReturn& aReturnValue, TRequestStatus& aStatus ); + + /** + * Starts WiFi Protected Setup sequence - sync version, returns + * when completed + * @param aSSid contains SSid of the network we want to configure + * @param aConnectionNeeded not used anymore + * @param aUidsReturned uids of the configured connection methods + * @return possible return values are ok, cancel process and not use + * protected setup (No Automatic Setup). + * We can return a value since the call is sychronous. + */ + WiFiProt::TWiFiReturn StartWiFiProtSyncL( const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned ); + + /** + * Starts WiFi Protected Setup sequence in Connection initiation mode + * (WPS phase 2 implementation) + * @param aSSid contains SSid of the network we want to configure + * @param aNetworkSettings configuration settings of the network to use + * for the connection (returned as the result of Protected Setup) + * @param aReturnValue - possible return values are ok, cancel + * process and not use protected setup (No Automatic Setup). + * @param aStatus - Request status of the client + */ + void StartWiFiProtConnL( const TWlanSsid& aSSid, + TWlanProtectedSetupCredentialAttribute& + aNetworkSettings, + WiFiProt::TWiFiReturn& aReturnValue, + TRequestStatus& aStatus ); + + /** + * Cancels WiFi Protected Setup sequence + */ + void CancelWiFiProt( ); + + private: // Constructors + + /** + * Constructor. + */ + CWiFiProtUiClientImpl(); + + /** + * Second-phase constructor. + */ + void ConstructL(); + + + // Data + private: + // notifier client + RWiFiProtSession iNotif; + // Synchronously callable client + CWiFiProtSyncClient* iWiFiProtSyncClient; + }; + + +#endif // C_WIFIPROTUICLIENTIMPL_H + +// End of File + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/loc/wifiprot.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/loc/wifiprot.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,179 @@ +/* +* Copyright (c) 2001-2009 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: This is a localisation file for Wi-Fi Protected Setup A .loc file is the one and only place where the logical strings to be localised are defined. +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + +//d:Wi-Fi protected Setup initial query dialog. Asks the user if he wants to use easy setup. +//l:popup_note_window +//w: +//r:3.2 +#define qtn_ntw_conset_quest_wps_configure_auto "Selected network supports easy setup for receiving settings. Configure automatically?" + +//d:Left softkey text +//l:control_pane_t1 +//w: +//r:3.2 +// +#define qtn_text_sotkey_continue "Continue" + +//d:Wi-Fi protected Setup 'Initiate easy setup' query dialog heading text +//l:heading_pane_t1 +//w: +//r:3.2 +// +#define qtn_netw_conset_prmpt_wps_initiate "Initiate easy setup" + +//d:Wi-Fi protected Setup 'Initiate easy setup' query dialog text +//l:popup_info_list_pane_t1 +//w: +//r:3.2 +// +#define qtn_netw_conset_wps_msg_pbc "Push a button on the wireless station to initiate the easy setup process, and select 'Continue'." + + +//d:Link inside 'Initiate easy setup' to activate 'use PIN code' option +//l:popup_info_list_pane_t1 +//w: +//r:3.2 +// +#define qtn_netw_conset_wps_msg_link_use_pin "Use PIN code instead" + +//d:Wi-Fi protected Setup dialog to display PIN code that should be entered to wireless station. +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_netw_conset_wps_info_enter_pin_code "Enter '%N' on the wireless station and select 'Continue'" + +//d:Wi-Fi protected Setup 'Select Network' query dialog heading text +//l:heading_pane_t1 +//w: +//r:5.0 +// +#define qtn_netw_conset_wps_prmpt_select_network "Select network:" + +//d:Wi-Fi protected Setup 'Select Network' query dialog description text +//l:loc_type_pane +//w: +//r:5.0 +// +#define qtn_netw_conset_wps_detail_select_network "Settings for multiple networks received. Select the network to connect to:" + +//d:Wi-Fi protected Setup wait note shown during configuring connection +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_netw_conset_wait_wps_configuring "Configuring connection..." + +//d:Wi-Fi protected Setup ok note shown after successful configuration of a single connection +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_netw_conset_conf_wps_one_network_configured "Settings configured for '%U' network" + +//d:Wi-Fi protected Setup ok note shown after successful configuration of multiple connections +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_netw_conset_conf_wps_multiple_networks_config "Settings for multiple networks configured" + +//d:Wi-Fi protected Setup ok note shown after unsuccessful configuration of network(s) +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_netw_conset_conf_wps_no_networks_configured "No settings received" + +//d:"Search for WLAN" - information note +//l:popup_note_window +//w: +//r:5.0 +// +#define qtn_wlan_info_no_networks_found "No WLAN networks found" + + +//d:Wi-Fi protected Setup error note show when configuration fails +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_sc_config_failed_try_again "Configuration failed. Please try again." + +//d:Wi-Fi protected Setup error note show when configuration fails and user is requested to try again +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_sc_config_failed "Configuration failed." + +//d:Wi-Fi protected Setup error note show when configuration fails because signal is too weak +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_signal_too_weak "WLAN signal too weak. Move closer to wireless station." + +//d:Wi-Fi protected Setup error note show when configuration fails because WLAN network can't be found +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_network_not_found "Connection failed. Could not find WLAN network." + +//d:Wi-Fi protected Setup error note show when configuration fails because multiple push-button sessions +//d:were detected +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_sc_config_failed_multiple_pb_sessions "Multiple push-button sessions detected. Wait a moment and try again, or use PIN code mechanism instead." + +//d:Wi-Fi protected Setup error note show when configuration fails and user is requested to try again with PIN code +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_sc_config_failed_rogue_activity "Connection failed. Please try again with PIN code mechanism." + +//d:Wi-Fi protected Setup error note show when configuration fails because PIN code mechanism is not supported +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_sc_config_failed_pin_not_supported "Configuration failed. Device you tried to connect to does not support PIN code mechanism." + +//d:Wi-Fi protected Setup error note show when configuration fails because push-button mechanism is not supported +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_err_wlan_sc_config_failed_pb_not_supported "Configuration failed. Device you tried to connect to does not support push-button mechanism." + +//d:Wi-Fi protected Setup error note show when WLAN connection already exists +//l:popup_note_window/opt1 +//w: +//r:3.2 +// +#define qtn_wlan_info_connection_already_active "A WLAN connection is already active. Close connection and try again." +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotactiverunner.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotactiverunner.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,507 @@ +/* +* Copyright (c) 2001-2009 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: Implements a state - machine like active object that controls Wi-Fi Protected Setup Process. +* +*/ + +/* +* %version: tr1cfwln#16 % +*/ + +#ifndef C_WIFIPROTACTIVERUNNER_H +#define C_WIFIPROTACTIVERUNNER_H + +// INCLUDES +#include +#include +#include +#include + +#include "wifiprotdlgsplugin.h" +#include "wifiparams.h" +#include "wifiprotactiverunnercallback.h" + + +//FORWARD DECLARATIONS +class CWlanMgmtClient; +class CMDBSession; +class CWiFiProtConfirmationNoteDlg; +class CWiFiProtInitiateEasySetupDlg; +class CWlanScanInfo; +class CWiFiProtEnterPinDlg; +class CWEPSecuritySettings; +class RCmConnectionMethodExt; + +//CONSTS +const TInt KMaxPINLength = 8; //is it really 8? +// ID of OfflineWlanNote dialog +const TUid KUidCOfflineWlanNoteDlg = { 0x101FD671 }; + +/** +* CWiFiProtActiveRunner +* State machine like object that manages Wi-Fi Protected setup ui process +* @since S60 v3.2 +*/ +class CWiFiProtActiveRunner : public CActive, public MProgressDialogCallback, + MActiveRunnerCallback + { + private: + // States to control Wi-Fi Protected Setup sequence + enum TWiFiProtStates + { + // Display 'Configure Automatically?' Dialog + EWiFiProtAskConfigureAutomatically = 1, + // Display 'Initiate Easy Setup?' Dialog + EWiFiProtInitiateEasySetup, + // If phone is in offline mode, continue with + // "Create WLAN connection in offline mode?" confirmation + EWifiProtOfflineQuery, + // Display 'Enter PIN code' Dialog + EWiFiProtUsePinCode, + // Starting wait dialog + EWiFiProtStartingWaitDlg, + // Configuring (Creating temp iap and making a call to wlan + // mgmt server ) + EWiFiProtConfiguring, + // Wlan Mgmt server returned + EWiFiProtWlanMgmtEngineReturned, + // Creating iap from parameters from wlan mgmt server + EWiFiProtCreateAllIaps, + // Configuration finished + EWiFiProtConfFinished, + // Destroying wait note + EWiFiProtDestroyWaitNote, + // Waiting for PIN query to exit + EWiFiProtWaitForPINQuery, + // Wlan Scan + EWiFiProtWlanScan, + // Displaying Select Connection Dialog + EWiFiProtSelectConnection, + // Displaying final note about configured settings + EWiFiProtSettingsConfNote, + // Finished, exiting + EWiFiProtFinished, + // Cancelled, exiting + EWiFiProtCancelled + }; + + // Asynchronous service to cancel + enum TWiFiProtOutstandingRequest + { + EWiFiProtReqNone = 0, + EWiFiProtReqConfirmDialog, + EWiFiProtReqInitDialog, + EWiFiProtReqWPS, + EWiFiProtReqWlanScan + }; + + public: + /** + * Two phased constructor + * @param aPriority Active object priority + */ + static CWiFiProtActiveRunner* NewL( CWiFiProtDlgsPlugin* aParent, + TInt aPriority = CActive::EPriorityStandard ); + + /** + * Destructor + */ + ~CWiFiProtActiveRunner(); + + + /** + * Starts Wi-Fi Protected Setup + * @param aSSid contains SSid of the network we want to configure + * @param aCmManagerToUse - RCmManagerExt to use. Must pass this + * to avoid CmManager database + * locking problems + */ + void StartProtectedSetupAsyncL ( const TWlanSsid& aSSid, + RArray& aUids, + RCmManagerExt& aCmManagerToUse ); + + /** + * Starts Wi-Fi Protected Setup in Connection creation mode + * @param aSSid contains SSid of the network we want to configure + * @param aNetworkSettings the configured network's settings to be + * returned + * @param aCmManagerToUse - RCmManagerExt to use. Must pass this + * to avoid CmManager database + * locking problems + * @return possible return values are ok, cancel process and not use + * protected setup (No Automatic Setup). + */ + void StartProtectedSetupConnL ( + const TWlanSsid& aSSid, + TWlanProtectedSetupCredentialAttribute& + aNetworkSettings, + RCmManagerExt& aCmManagerToUse ); + + /** + * Starts Wi-Fi Protected Setup using CActiveSchedulerWait block + * @param aSSid contains SSid of the network we want to configure + * @param aCmManagerToUse - RCmManagerExt to use. Must pass this + * to avoid CmManager database + * locking problems + * @return possible return values are ok, cancel process and not use + * protected setup (No Automatic Setup). + */ + WiFiProt::TWiFiReturn StartProtectedSetupL ( const TWlanSsid& aSSid, + RArray& aUids, + RCmManagerExt& aCmManagerToUse ); + + /** + * When the process is cancelled by the client rather than + * cancelled by the user, some things are taken care of + * a bit differently. + */ + void CancelByClient(); + + private: + + + /** + * Shows the first dialog in the sequence + */ + void ShowInitialDialogL (); + /** + * Shows connect in offline -notification. + */ + void ShowOfflineQuery (); + /** + * Shows the Initiate Easy Setup dialog + */ + void ShowInitiateEasySetupDialogL (); + + /** + * Shows the 'Enter PIN on Wireless Station' dialog + */ + void ShowEnterPinOnStationDialogL(); + + /** + * Shows waiting dialog + */ + void ShowWaitingDialogL(); + + /** + * Shows waiting dialog and proceeds with the process + */ + void ShowWaitingDialogAndProceedL(); + + /** + * Shows 'settings configured' dialog + * @param aWiFiProtState state to decide which note to display + */ + void ShowFinalNoteL(); + + /** + * wait note callback + */ + void DialogDismissedL( TInt aButtonId ); + + /** + * Creates Temporary iap (cm) which contains parameters to be passed + * to wlan engine + * @param aTempServId Temporary iap service id + * @return TUint32 iap id (cm uid) + */ + TUint32 CreateTempIapL( TUint32& aTempServId ); + + /** + * Calls the active object that calls wlan engine's RunProtectedSetup + * @param TUint32 aIap iap id (cm uid) + */ + void RunProtectedSetup( const TInt32 aIap ); + + /** + * Constructor + * @param aParent Parent object + * @param aPriority Active object priority + */ + CWiFiProtActiveRunner( CWiFiProtDlgsPlugin* aParent, TInt aPriority ); + + /** + * Second phase constructor + */ + void ConstructL(); + + /** From CActive */ + /** + @see CActive::DoCancel + */ + virtual void DoCancel(); + + /** + @see CActive::RunL + */ + virtual void RunL(); + + + /** + * Sets iNextWiFiProtState and completes the pending request + * used to step forward in the 'state machine' + * @param aNextState - the state to step to + */ + void SetNextStateAndComplete( TWiFiProtStates aNextState, + TInt aError = KErrNone ); + + /** + * Called from RunL in EWiFiProtConfiguring state + * Starts configuring the connection methods + */ + void ConfigureL(); + + /** + * Proceeds after DestroyWaitDialog or after PinQueryExitL and + * checks error state and continues with Wlan availability + * scan if needed + */ + void EvaluateResult(); + + /** + * Called from RunL in EWiFiProtConfFinished state + * Destroys the wait dialog as configuring is complete + */ + void DestroyWaitDialog(); + + /* + * Computes checksum number which is the last number of + * the 8 digit PIN code passed to wlan mgmt engine + * algorythm copied from Wi-Fi spec + * @param aPin Pin code + * @return last digit, to be appended to PIN + */ + TInt ComputeChecksum(TInt aPin); + + /* + * Creates a single iap (from the first network's parameters), + * and then repeats the process for each iap + * The iap parameters at 0 index (in iIapParametersArray) will be + * used to create an iap. passed to CreateIapL. + */ + void CreateAllIapsL(); + + /** + * Creates Connection Method using RCmManagerExt + * The iap parameters at the given index (in iIapParametersArray) + * will be used to create an iap. Then the parameters entry will + * be deleted from iIapParametersArray + * and the new iap's id will be added to iCmArray. + * @param TInt aIndex index of the connection method (iap) to create + * in iIapParametersArray + * @return IapId of the cm + */ + TUint32 CreateIapL( const TInt aIndex ); + + /** + * Sets iap settings to a given connection method object and saves it + * @param TInt aIndex index of the connection method (iap) + * in iIapParametersArray + * @param aCmToSet target connection method object + * @return IapId of the cm + */ + TUint32 SetIapDataL( const TInt aIndex, RCmConnectionMethodExt& aCmToSet ); + + // calls DeleteTempIapL, and also steps the state machine + void CleanupTempIapL(); + + /** + * Deletes temporary iap + */ + void DeleteTempIapL(); + + /** + * Returns wep format, ETrue if it is in hex + * @param aLength Wep key length + */ + TBool IsWepFormatHexL( TInt aLength ); + + /** + * Saves wep security settings from the + * given credential parameters + * @param aCredentialAttribute credential parameters including wep + * security settings data + * @param aWlanServiceId Wlan service id + * @param aDb Database session needed for saving + * wep security settings + */ + void SaveWepSecuritySettingsL( + TWlanProtectedSetupCredentialAttribute + aCredentialAttribute, + TUint32 aWlanServiceId, + CommsDat::CMDBSession& aDb ); + + /** + * Handles the given error code by dispaying an error note + * @param aErrorCode error code to handle + */ + TBool HandleErrorL( TInt aErrorCode ); + + /** + * Steps into the next state of Wi-Fi Protected Setup sequence + * called from RunL() + */ + void HandleNoErrorL (); + + + /** + * From MActiveRunnerCallback + * called when CWifiProtEnterPinDlg is finished + * @param TInt aResponse can be KErrNone or KErrCancel + */ + void PinQueryExitL( TInt aResponse ); + + /** + * Called by UsePinCodeLinkSelectedL when pin code mechanism + * is selected. Sets iUsePin flag and completes Active Runner + * (this) object + */ + void DoUsePinCodeLinkSelectedL(); + + /** + * Starts wlan scan + */ + void StartWlanScan(); + + /** + * Compares the fresh wlan networks list with the + * items returned by WPS. Puts the available network indexes + * into iAvailableNetworks + */ + void CheckNetworkAvailabilityL(); + + /* + * Displays the Select Connection Dialog + * When there are more connections available to use + * (used in Create Connection Mode) + */ + void SelectConnectionL(); + + /* + * Displays a note to show the user that + * no wlan networks were found during wlan scan + */ + void ShowNoWlanNetworksNoteL(); + + /* + * Calls cancel on the possibly currently ongoing request + */ + void CancelOngoingRequest(); + + /** + * Sets wep key + * @param aWepSecSettings Wep security settings object + * @param aWepKey Wep key to set + * @param aKeyNumber number of wep key to set + */ + void SetWepKeyL( CWEPSecuritySettings& aWepSecSettings, + TWlanWepKey& aWepKey, TInt aKeyNumber ); + + public: + /** + * Callback to handle pin code pin code mechanism link selection + */ + static TInt UsePinCodeLinkSelectedL( TAny* aObject ); + + private: + // reference to parent object + CWiFiProtDlgsPlugin* iParent; + // wait dialog + CAknWaitDialog* iWaitDlg; ///Owned + // RCmManagerExt object for Cm Manager operations + RCmManagerExt* iCmManagerExt; //NOT OWNED!!! + // ETrue if connection is needed after the Wi-Fi Protected + // setup. + TBool iIsConnectionNeeded; + // Array to store returned uids of created iaps (connection methods) + RArray* iUids;//NOT OWNED!!! + // flag to indicate that wait dialog was cancelled + TBool iWaitDlgCancelled; + // ssid of the network to setup + TWlanSsid iSsid; + // iap id of the temporary iap + TUint32 iTempIapId ; + // service id of the temporary iap + TUint32 iTempServId ; + // PIN code (holds a value only if PIN method is used) + // for Wi-Fi Protected Setup authentication + TBuf iPIN; + // Wlan mgmt engine + CWlanMgmtClient* iWlanMgmtEngine; + // Next state, checked in RunL to control the setup process + TWiFiProtStates iNextWiFiProtState; + // return value + WiFiProt::TWiFiReturn iReturn; + // A flag to indicate that PIN method is used + TBool iUsePin; + // Holds the error code from wlan mgmt engine after + // our wlan mgmt server request is complete + TInt iError; + // Active Scheduler wait object to hold the process until we are + // complete + CActiveSchedulerWait iWait; + // Array to hold the connection methods which are created from + // the data returned from wlan mgmt engine + RPointerArray iCmArray;//used to store cms + // before submitting them + // The connection metod parameters returned from wlan mgmt engine + CArrayFixSeg* + iIapParametersArray; //parameters from wlan mgmt engine + // ETrue if Pin Query Dialog is active + TBool iPinQueryActive; + // ETrue if a wait note is needed to be shown + TBool iWaitNoteNeeded; + // initiate setup dialog is stored to handle link selection callback, + // not owned + CWiFiProtInitiateEasySetupDlg* iInitDialog; + // Wlan Scan Info + CWlanScanInfo* iScanInfo; + // List of available networks, contains indexes for iIapParametersArray + RArray iAvailableNetworks; + // index of selected network in iAvailableNetworks + TInt iSelectedNetworkIndex; + // ongoing request to cancel if cancelled + TWiFiProtOutstandingRequest iORequest; + // Cancel called by user, cancel at next RunL cycle + TBool iUserCancelled; + // ETrue if the process is cancelled by the client. + TBool iClientCancelled; + // Flag to indicate that the 'use pin code' link was used + // and we have to destroy the dialog later, because avkon crashes if + // we do it in the callback (DoUsePinCodeLinkSelectedL) + TBool iDestroyInitDialogLater; + // not owned, just keeping pointer to handle cancel softkey removal + CWiFiProtEnterPinDlg* iPinDlg; + //pointer to network settings to be returned if WPS is used for + // connection creation + TWlanProtectedSetupCredentialAttribute* iNetworkSettings; + // ETrue if the WPS process is used in synchronous mode + TBool iSyncMode; + // ETrue if phone is in offline mode. + TBool iInOfflineMode; + // Stores data for offline note. Used + // only for writing result. Not read. + TPckgBuf iOfflineReply; + // Interface to Notifier + RNotifier iNotifier; + // Pointer to the 1st confirmation dialog. Owned. + CWiFiProtConfirmationNoteDlg* iConfirmationDialog; + + + + }; + +#endif //C_WIFIPROTACTIVERUNNER_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotactiverunnercallback.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotactiverunnercallback.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,38 @@ +/* +* Copyright (c) 2001-2009 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: Defines MActiveRunnerCallback interface +* +*/ + +/* +* %version: tr1cfwln#5 % +*/ + +#ifndef M_ACTIVERUNNERCALLBACK_H +#define M_ACTIVERUNNERCALLBACK_H +/** + * MActiveRunnerCallback + * callback interface to handle PIN query exit + * @since S60 v3.2 +*/ +class MActiveRunnerCallback + { + public: + /** + * called when CWifiProtEnterPinDlg is finished + * @param TInt aResponse can be KErrNone or KErrCancel + */ + virtual void PinQueryExitL( TInt aResponse ) = 0; + }; +#endif //M_ACTIVERUNNERCALLBACK_H \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotconfirmationnotedlg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotconfirmationnotedlg.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,85 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtConfirmationNoteDlg. +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +#ifndef C_WIFIPROTCONFIRMATIONNOTEDLG_H__ +#define C_WIFIPROTCONFIRMATIONNOTEDLG_H__ + +// INCLUDES +#include + +// CLASS DECLARATIONS + +/** + * Class implements a query dialog. + */ +NONSHARABLE_CLASS( CWiFiProtConfirmationNoteDlg ) : public CAknQueryDialog + { +public: + /** + * Constructor the CWiFiProtConfirmationNoteDlg class + * @param aStatus TRequestStatus of the client, + * gets completed when dialog finishes + * @return - + */ + CWiFiProtConfirmationNoteDlg( TRequestStatus& aStatus ); + + /** + * Destructor + */ + virtual ~CWiFiProtConfirmationNoteDlg(); + + /** + * From @c MEikCommandObserver. + * + * Acts on the menu selection if menu is showing + * @param aCommandId id of the command to process + * + * Responds to @c EAknSoftkeyOk and @c EAknSoftkeyYes and + * @c EAknSoftkeyDone and @c EWiFiSoftkeyContinue commands. + * + * @since S60 3.0 + */ + void ProcessCommandL( TInt aCommandId ); + +private: + + /** + * Exit function the CWiFiProtConfirmationNoteDlg + * @param aButtonId Button id which is checked before + * deciding to exit or not + * @return TBool exit or no + */ + virtual TBool OkToExitL( TInt aButtonId ); + + /** + * PreLayoutDynInitL + */ + virtual void PreLayoutDynInitL(); + +private: + // Client's request status, dialog completes it when it finished + TRequestStatus& iRequestStatus; + }; + + +#endif // C_WIFIPROTCONFIRMATIONNOTEDLG_H__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotdlgsplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotdlgsplugin.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,223 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of CWiFiProtDlgsPlugin +* +*/ + +/* +* %version: tr1cfwln#11 % +*/ + +#ifndef C_WIFIPROTDLGSPLUGIN_H +#define C_WIFIPROTDLGSPLUGIN_H + + +// INCLUDES +#include +#include +#include +#include + +using namespace WiFiProt; + +class TWiFiOutputParams; +class CWiFiProtActiveRunner; + + + + + +/** + * CWiFiProtDlgsPlugin class + * Notifier Framework plugin for Wi-Fi Protected Setup + */ +class CWiFiProtDlgsPlugin : public CBase, public MEikSrvNotifierBase2 + + { + +public: + + /** + * NewL function + * @param aResourceFileResponsible - ETrue if the plugin handles the + * resource file + * @param aCmManagerExt - CmManager to use during Wi-Fi Protected Setup + * return CWiFiProtDlgsPlugin* + */ + static CWiFiProtDlgsPlugin* NewL( const TBool aResourceFileResponsible, + RCmManagerExt* aCmManagerExt ); + + /** + * NewL function + * @param aResourceFileResponsible - ETrue if the plugin handles the + * resource file + * return CWiFiProtDlgsPlugin* + */ + static CWiFiProtDlgsPlugin* NewL( const TBool aResourceFileResponsible ); + + + /** + * Destructor + */ + ~CWiFiProtDlgsPlugin( ); + + // From MEikSrvNotifierBase + + /** + * Get Notifier information + * return TNotifierInfo Notifier info + */ + TNotifierInfo Info() const; + + /** + * Start the Notifier + * @param aBuffer Not used + * return TPtrC8 Always NULL + */ + TPtrC8 StartL( const TDesC8& aBuffer ); + + /** + * Cancel() the notifier + * @param - + * return - + */ + void Cancel(); + + /** + * Release the notifier + * @param - + * return - + */ + void Release(); + + /** + * Update Notifier + * @param aBuffer Not used + * return TPtrC8 Always NULL + */ + TPtrC8 UpdateL( const TDesC8& aBuffer ); + + /** + * CompleteL the notifier is complete + * @param aStatus status + * return - + */ + void CompleteL( TInt aStatus ); + + /** + * Sets iCancelled flag that indicates that the notifier was cancelled + * @param aCancelled Not used + */ + void SetCancelledFlag( TBool aCancelled ); + + /** + * RegisterL register the client notifier function + * return TNotifierInfo Contains uid, channel and priority of + * the registered notifier + */ + TNotifierInfo RegisterL(); + + /** + * Start the Notifier + * @param aBuffer Buffer that stores parameters from client side + * @param aReplySlot Identifies which message argument to use for the + * reply. This message argument will refer to a + * modifiable descriptor, a TDes8 type, into which data + * can be returned. + * @param aMessage Message + */ + void StartL( const TDesC8& aBuffer, TInt aReplySlot, + const RMessagePtr2& aMessage ); + + /** + * Asynchronous notifier dialog sequence is completed by calling this function. + * @param aReturnValue - possible return values are ok, cancel + * process and not use protected setup (No Automatic Setup). + */ + void CompleteProcessL( WiFiProt::TWiFiReturn aReturnValue ); + + /** + * Starts Wi-Fi Protected Setup + * Private interface to be used by applications with ui + * runs in the same process, so pointers can be passed + * @param aSSid contains SSid of the network we want to configure + * @param aConnectionNeeded ETrue if we need a connection via the + * configured network + * @param aUidsReturned uids of the configured connection methods + * @return aReturnValue - possible return values are ok, cancel + * process and not use protected setup (No Automatic Setup). + */ + + WiFiProt::TWiFiReturn StartFromUiL( const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned); + + +private: + + /** + * Returns the correct RCmManagerExt instance's reference + * it can be an own instance, or a passed reference in case + * StartFromUiL was called (we are in the same process as the caller) + * This is necessary because we can't open two CmManagers the same time + * and the client is possibly using one already. + * @return a passed or an own RCmManagerExt& instance, based on the + * method of calling CWiFiProtDlgsPlugin + */ + RCmManagerExt& CmManagerToUse(); + +private: + + /** + * Constructor + */ + CWiFiProtDlgsPlugin( ); + + /** + * CWiFiProtDlgsPlugin second level constructor + * @param aResourceFileName Resource file to open + * @param aResourceFileResponsible ETrue if this notifier is + * responsible for the resource file + * @param aCmManagerExt CmManager to use + * @see CWiFiProtDlgsPlugin::CmManagerToUse + */ + void ConstructL( const TDesC& aResourceFileName, + const TBool aResourceFileResponsible, + RCmManagerExt* aCmManagerExt = NULL ); + + + +private: + + RCmManagerExt iCmManagerExt; // own CmManager + RCmManagerExt* iPassedCmManagerExt; // passed CmManager, not owned + CWiFiProtActiveRunner* iRunner; // Active Runner object + TWiFiReturn iReturn; // return value towards the client + RArray iUids; // uids of created connection methods + TNotifierInfo iInfo; // Notifier info + RMessagePtr2 iMessage; // Message + TInt iReplySlot; // Reply slot + TBool iCancelled; // ETrue if WPS process is cancelled + TInt iResource; // Resource + TBool iConnMode; // ETrue if creating a connection + // network settings to be returned if WPS is used for connection creation + TWlanProtectedSetupCredentialAttribute iNetworkSettings; + TBool iCancelledFromInside; // ETrue if user or WLAN engine has cancelled + TBool iClientCancelled; // ETrue if the notifier client has called Cancel() + }; + + +#endif // C_WIFIPROTDLGSPLUGIN_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotenterpindlg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotenterpindlg.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,94 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtEnterPinDlg. +* +*/ + +/* +* %version: tr1cfwln#9 % +*/ + +#ifndef C_WIFIPROTENTERPINDLG_H +#define C_WIFIPROTENTERPINDLG_H + +// INCLUDES +#include + +// FORWARD DECLARATIONS +class MActiveRunnerCallback; + +// CLASS DECLARATIONS + +/** + * Class implements a query dialog. + */ +NONSHARABLE_CLASS( CWiFiProtEnterPinDlg ) : public CAknQueryDialog + { +public: + /** + * Constructor of the CWiFiProtEnterPinDlg class + * @param MActiveRunnerCallback& aActiveRunnerCallback callback to + * notify the client of user response + * Active Runner gets completed when the dialog finishes + */ + CWiFiProtEnterPinDlg( MActiveRunnerCallback& aActiveRunnerCallback ); + + + /** + * Destructor + */ + virtual ~CWiFiProtEnterPinDlg(); + + /** + * From @c MEikCommandObserver. + * + * Acts on the menu selection if menu is showing + * @param aCommandId id of the command to process + * + * Responds to @c EAknSoftkeyOk and @c EAknSoftkeyYes and + * @c EAknSoftkeyDone and @c EWiFiSoftkeyContinue + * @c EAknSoftkeyEmpty commands. + * + * @since S60 3.0 + */ + void ProcessCommandL( TInt aCommandId ); + + /* + * Removes Cancel softkey + */ + void RemoveCancel(); + +private: + + /** + * Exit function the CWiFiProtConfirmationNoteDlg + * @param aButtonId + * @return TBool exit or no + */ + virtual TBool OkToExitL( TInt aButtonId ); + + /** + * PreLayoutDynInitL + * @param - + */ + virtual void PreLayoutDynInitL(); +private: + // Client's request status, dialog completes it when it finished + MActiveRunnerCallback& iActiveRunnerCallback; + }; + + +#endif // C_WIFIPROTENTERPINDLG_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotinitiateeasysetupdlg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotinitiateeasysetupdlg.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,109 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of class CWiFiProtInitiateEasySetupDlg. +* +*/ + +/* +* %version: tr1cfwln#6 % +*/ + +#ifndef C_WIFIPROTINITIATEEASYSETUPDLG_H +#define C_WIFIPROTINITIATEEASYSETUPDLG_H + +// INCLUDES +#include + +// CLASS DECLARATIONS +/** + * Class implements a query dialog. + */ +NONSHARABLE_CLASS( CWiFiProtInitiateEasySetupDlg ) : + public CAknMessageQueryDialog + { +public: + /** + * Constructor the CWiFiProtInitiateEasySetupDlg class + * @param aStatus Request status of the Active Runner + */ + CWiFiProtInitiateEasySetupDlg( TRequestStatus& aStatus ); + + /** + * Destructor + */ + virtual ~CWiFiProtInitiateEasySetupDlg(); + + /** + * From @c MEikCommandObserver. + */ + + /** + * Tries to exit the dialog when the specified button is pressed, if this + * button should exit the dialog. + * + * See @c OkToExitL() to determine which buttons can exit the dialog. + * + * This will fail if user exit is prevented by the + * @c EEikDialogFlagNoUserExit flag. If the @c EEikDialogFlagNotifyEsc flag + * is not set and the dialog has been cancelled it immediately deletes + * itself. + * + * @param aButtonId The id of the pressed button. + */ + void TryExitL( TInt aButtonId ); + +private: + + /** + * Exit function of CWiFiProtInitiateEasySetupDlg + * @param aButtonId + * @return TBool exit or no + */ + virtual TBool OkToExitL( TInt aButtonId ); + + /** + * PreLayoutDynInitL + * @param - + */ + virtual void PreLayoutDynInitL(); + + /** + * From @c CCoeControl. + * + * Handles key events. + * + * If a control wishes to process key events, it should implement this + * function. The implementation must ensure that the function returns + * @c EKeyWasNotConsumed if it does not do anything in response to a + * key event, otherwise, other controls or dialogs may be prevented + * from receiving the key event. If it is able to process the event it + * should return @c EKeyWasConsumed. + * + * @param aKeyEvent The key event. + * @return Indicates whether or not the key event was used + * by this control. + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode ); + +private: + // flag to indicate that the button group was changed + // this is needed for changing softkey when selecting link + TBool iButtonGroupPreviouslyChanged; + // Client's request status, dialog completes it when it finished + TRequestStatus& iRequestStatus; + }; + +#endif // C_WIFIPROTINITIATEEASYSETUPDLG_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotplugin.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,46 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of Wi-Fi Protected Setup Notifier Array +* +*/ + +/* +* %version: tr1cfwln#6 % +*/ + +#ifndef WIFIPROTPLUGIN_H +#define WIFIPROTPLUGIN_H + + +// INCLUDES +#if !defined(__EIKNOTAPI_H__) +#include +#endif + +// GLOBAL FUNCTIONS +// +/** +* Array of connection dialog plugins. +* @return A CArrayPtr of MEikSrvNotifierBase2 based classes. +*/ +IMPORT_C CArrayPtr* NotifierArray(); + + +// RSC file name. +_LIT( KResourceFileName, "WiFiProtPlugin.rsc" ); + + +#endif //WIFIPROTPLUGIN_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotplugin.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotplugin.hrh Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,40 @@ +/* +* Copyright (c) 2001-2009 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: This file contains declarations for resources of Connection Ui Utilities Notifier. The file can be included in C++ or resource file. +* +*/ + +/* +* %version: % +*/ + +#ifndef WIFIPROTPLUGIN_HRH +#define WIFIPROTPLUGIN_HRH + +// IDs of controls + + +enum TWiFiProtPluginIds + { + WiFiProtPlugin = 0x222 // is it correct? + }; + +enum TWiFiProtCommandIds + { + EWiFiSoftkeyContinue = 1 + }; + +#endif // WIFIPROTPLUGIN_HRH + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotselectnetworkdlg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotselectnetworkdlg.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,91 @@ +/* +* Copyright (c) 2001-2009 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: Definition of class CWiFiProtSelectNetworkDlg. +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +#ifndef C_WIFIPROTSELECTNETWORKDLG_H +#define C_WIFIPROTSELECTNETWORKDLG_H + +// INCLUDES +#include + +// CLASS DECLARATIONS +/** + * Class implements a query dialog. + */ +NONSHARABLE_CLASS( CWiFiProtSelectNetworkDlg ) : public CAknListQueryDialog + { +public: + /** + * Constructor the CWiFiProtSelectNetworkDlg class + * @param aStatus TRequestStatus from activerunner + * @param aSelected returned selection index + * @param CDesCArrayFlat* aItems listbox items, ownership passed + * @param CArrayPtr* aIcons listbox icons, ownership passed + * @return - + */ + CWiFiProtSelectNetworkDlg( TRequestStatus& aStatus , TInt& aSelected , + CDesCArrayFlat* aItems, + CArrayPtr* aIcons ); + + /** + * Destructor + */ + virtual ~CWiFiProtSelectNetworkDlg(); + + /** + * Calls PrepareLC and RunLD with the supplied parameters + */ + void PrepareAndRunLD( ); + + +private: + + /** + * Exit function of CWiFiProtSelectNetworkDlg + * @param aButtonId + * @return TBool exit or no + */ + virtual TBool OkToExitL( TInt aButtonId ); + + /** + * PreLayoutDynInitL + */ + void PreLayoutDynInitL(); + + /** + * Handles a change to the application's resources. + * @param aType Type of resource change + */ + void HandleResourceChange( TInt aType ); + +private: + // Client's request status, dialog completes it when it finished + TRequestStatus& iRequestStatus; + // Selected item's index + TInt& iSelected; + // Icons array + CArrayPtr* iIcons; + // Items array + CDesCArrayFlat* iItems; + }; + +#endif // C_WIFIPROTSELECTNETWORKDLG_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotactiverunner.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotactiverunner.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,2056 @@ +/* +* Copyright (c) 2001-2009 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: Implements a state - machine like active object that controls Wi-Fi Protected Setup Process. +* +*/ + +/* +* %version: tr1cfwln#29 % +*/ + +//SYSTEM INCLUDES +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +//USER INCLUDES +#include "wifiprotlogger.h" +#include "wifiprotactiverunner.h" +#include "wifiprotconfirmationnotedlg.h" +#include "wifiprotselectnetworkdlg.h" +#include "wifiprotenterpindlg.h" +#include "wifiprotinitiateeasysetupdlg.h" + +#include "featmgr.h" + +// valid Wep key lengths, to check wep key format +// (wep key format depends on key length) +const TInt KConnUiUtilsWepLengthASCII5 = 5; +const TInt KConnUiUtilsWepLengthASCII13 = 13; +const TInt KConnUiUtilsWepLengthASCII29 = 29; +const TInt KConnUiUtilsWepLengthHEX10 = 10; +const TInt KConnUiUtilsWepLengthHEX26 = 26; +const TInt KConnUiUtilsWepLengthHEX58 = 58; +#ifdef __WINS__ +const TInt KNumberOfEmulatedAvailableNetworks = 2; +const TInt KIndexOfFirstEmulatedAvailableNetwork = 0; +const TInt KIndexOfSecondEmulatedAvailableNetwork = 1; +#endif + +/** +* Management frame information element IDs. +* needed to determine coverage +*/ +enum T802Dot11InformationElementID + { + E802Dot11SsidIE = 0, + E802Dot11SupportedRatesIE = 1, + E802Doi11FhParameterSetIE = 2, + E802Dot11DsParameterSetIE = 3, + E802Dot11CfParameterSetIE = 4, + E802Dot11TimIE = 5, + E802Dot11IbssParameterSetIE = 6, + E802Dot11CountryIE = 7, + E802Dot11HoppingPatternParamIE = 8, + E802Dot11HoppingPatternTableIE = 9, + E802Dot11RequestIE = 10, + + E802Dot11ChallengeTextIE = 16, + // Reserved for challenge text extension 17 - 31 + E802Dot11ErpInformationIE = 42, + E802Dot11ExtendedRatesIE = 50, + E802Dot11AironetIE = 133, + E802Dot11ApIpAddressIE = 149, + E802Dot11RsnIE = 221 + }; + +const TInt KArrayGranularity = 10; +const TInt KIconsGranularity = 4; + +_LIT( KWiFiFileIcons, "z:wifiprot.mbm" ); + +_LIT8( KEapWsc, "\xFE\x00\x37\x2A\x00\x00\x00\x01"); + +_LIT( KWiFiPanic, "Wi-Fi Protected Setup"); + +using namespace CMManager; + +// ================= MEMBER FUNCTIONS ======================= +// +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::NewL +// -------------------------------------------------------------------------- +// +CWiFiProtActiveRunner* CWiFiProtActiveRunner::NewL( + CWiFiProtDlgsPlugin* aParent, TInt aPriority ) + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::NewL" ); + + CWiFiProtActiveRunner* self = + new(ELeave) CWiFiProtActiveRunner( aParent, aPriority ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); // self + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::NewL" ); + + return self; + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::~CWiFiProtActiveRunner +// -------------------------------------------------------------------------- +// +CWiFiProtActiveRunner::~CWiFiProtActiveRunner() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::~CWiFiProtActiveRunner" ); + + // Close notifier + iNotifier.Close(); + + Cancel(); + + // If the cancel has been initiated by the client, temp IAP cannot be deleted until + // after the RNotifier Cancel() call has returned (deadlock between MPM and CMM). + // Therefore, temp IAP cleanup must be done later. + if ( !iClientCancelled ) + { + TRAP_IGNORE( DeleteTempIapL() ); //we can't do much if delete fails + } + + delete iWlanMgmtEngine; + + // if cancelled from client, wait note may still be visible + if ( iWaitDlg ) + { + CLOG_WRITE( "iWaitDlg->SetCallback( NULL );" ); + iWaitDlg->SetCallback( NULL ); + CLOG_WRITE( "iWaitDlg->ProcessFinishedL( );" ); + TRAP_IGNORE( iWaitDlg->ProcessFinishedL() ); + delete iWaitDlg; + } + + if ( iPinDlg ) + { + delete iPinDlg; + } + + TBool cleanupCms = EFalse; + if ( iReturn == EWiFiCancel ) + { + cleanupCms = ETrue; + } + + for ( TInt i = 0; i < iCmArray.Count();i++ ) + { + // if we are setting up a connection, we save the settings into + // easy wlan iap (connection method), which we shouldn't ever delete! + if ( ( !iIsConnectionNeeded ) && cleanupCms ) + { + //we can't do much if delete fails + TRAP_IGNORE( iCmArray[i]->DeleteL() ); + } + iCmArray[i]->Close(); + delete iCmArray[i]; + iCmArray[i] = NULL; + } + + iCmArray.ResetAndDestroy(); + iAvailableNetworks.Close(); + delete iIapParametersArray; + delete iScanInfo; + CLOG_LEAVEFN( "CWiFiProtActiveRunner::~CWiFiProtActiveRunner" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::StartProtectedSetupL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::StartProtectedSetupAsyncL ( + const TWlanSsid& aSSid, + RArray& aUids, + RCmManagerExt& aCmManagerToUse ) + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::StartProtectedSetupAsyncL" ); + + iIsConnectionNeeded = EFalse; + iUids = &aUids; + iCmManagerExt = &aCmManagerToUse; + iSsid.Copy( aSSid ); + ShowInitialDialogL(); + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::StartProtectedSetupAsyncL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::StartProtectedSetupConnL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::StartProtectedSetupConnL ( + const TWlanSsid& aSSid, + TWlanProtectedSetupCredentialAttribute& + aNetworkSettings, + RCmManagerExt& aCmManagerToUse ) + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::StartProtectedSetupConnL" ); + + iIsConnectionNeeded = ETrue; + iNetworkSettings = &aNetworkSettings; + iCmManagerExt = &aCmManagerToUse; + iSsid.Copy( aSSid ); + ShowInitialDialogL(); + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::StartProtectedSetupConnL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::StartProtectedSetupL +// -------------------------------------------------------------------------- +// +WiFiProt::TWiFiReturn CWiFiProtActiveRunner::StartProtectedSetupL ( + const TWlanSsid& aSSid, + RArray& aUids, + RCmManagerExt& aCmManagerToUse ) + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::StartProtectedSetupL" ); + + iSyncMode = ETrue; + iIsConnectionNeeded = EFalse; + iUids = &aUids; + iCmManagerExt = &aCmManagerToUse; + iSsid.Copy( aSSid ); + ShowInitialDialogL(); + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::StartProtectedSetupL" ); + + return iReturn; + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::CancelByClient() +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::CancelByClient() + { + iClientCancelled = ETrue; + Cancel(); + if ( iWaitDlg ) + { + CLOG_WRITE( "Removing wait note( );" ); + iWaitDlg->SetCallback( NULL ); + + TRAPD(err, iWaitDlg->ProcessFinishedL()); + if (err) + { + CLOG_WRITE( "LEAVE: iWaitDlg->ProcessFinishedL" ); + + } + delete iWaitDlg; + iWaitDlg = NULL; + } + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::ShowInitialDialogL() +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::ShowInitialDialogL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::ShowInitialDialogL" ); + + if ( IsActive() == EFalse ) + { + + // Check if offline mode is on: + iInOfflineMode = EFalse; + if ( FeatureManager::FeatureSupported( KFeatureIdOfflineMode ) ) + { + TInt connAllowed; + CRepository* repository = CRepository::NewLC( + KCRUidCoreApplicationUIs ); + repository->Get( KCoreAppUIsNetworkConnectionAllowed, connAllowed ); + CleanupStack::PopAndDestroy(repository); // repository + if ( connAllowed == 0 ) + { + iInOfflineMode = ETrue; + } + } + + if ( iInOfflineMode && iSyncMode ) + { + // If in offline mode, query about offline mode first. + iNextWiFiProtState = EWifiProtOfflineQuery; + } + else + { + // Else initiate easy setup. + iNextWiFiProtState = EWiFiProtInitiateEasySetup; + } + + iConfirmationDialog = + new ( ELeave ) CWiFiProtConfirmationNoteDlg( iStatus ); + iConfirmationDialog->ExecuteLD( R_WIFIPROT_CONFIGURE_AUTO_DIALOG ); + iORequest = EWiFiProtReqConfirmDialog; + SetActive( ); + if ( iSyncMode ) + { + CLOG_WRITE( "CActiveSchedulerWait Started" ); + iWait.Start(); + CLOG_WRITE( "CActiveSchedulerWait Returned" ); + } + + }// do nothing if already active + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::ShowInitialDialogL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::ShowInitiateEasySetupDialogL() +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::ShowInitiateEasySetupDialogL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::ShowInitiateEasySetupDialogL" ); + + iDestroyInitDialogLater = EFalse; + iNextWiFiProtState = EWiFiProtUsePinCode; + //store it, but not own it + iInitDialog = new ( ELeave ) CWiFiProtInitiateEasySetupDlg( iStatus ); + iInitDialog->PrepareLC( R_WIFIPROT_INITIATE_EASY_SETUP_DIALOG ); + _LIT( KLinkStartTag, "\n" ); + _LIT( KLinkEndTag, "" ); + + HBufC *messageBase = + StringLoader::LoadLC( R_QTN_NETW_CONSET_WPS_MSG_PBC ); + HBufC* linkString1 = StringLoader::LoadLC( + R_QTN_NETW_CONSET_WPS_MSG_LINK_USE_PIN ); + + TInt lenMsg = messageBase->Des().Length()+ + linkString1->Des().Length()+ + KLinkStartTag().Length()+ + KLinkEndTag().Length(); + + HBufC* message = HBufC::NewLC( lenMsg ); + TPtr messagePtr = message->Des(); + + messagePtr.Append( messageBase->Des() ); + + messagePtr.Append( KLinkStartTag ); + messagePtr.Append( linkString1->Des() ); + messagePtr.Append( KLinkEndTag ); + + iInitDialog->SetMessageTextL( messagePtr ); + CleanupStack::PopAndDestroy( message ); + + CleanupStack::PopAndDestroy( linkString1 ); + CleanupStack::PopAndDestroy( messageBase ); + TCallBack callBackLink( CWiFiProtActiveRunner::UsePinCodeLinkSelectedL, + this ); + + iInitDialog->SetLink( callBackLink ); + iInitDialog->RunLD(); + iORequest = EWiFiProtReqInitDialog; + SetActive( ); + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::ShowInitiateEasySetupDialogL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::ShowEnterPinOnStationDialogL() +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::ShowEnterPinOnStationDialogL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::ShowEnterPinOnStationDialogL" ); + + iNextWiFiProtState = EWiFiProtStartingWaitDlg; + TInt pin = 0; + TTime t; + t.HomeTime(); + TInt64 seed = t.Int64(); + do { + pin = Math::Rand( seed ); + } + while ( pin <(10^(KMaxPINLength-2)) + || ( ((pin / 1000000) % 10) ) == 0 ); + //last digit is checksum, so we need 7 digits + //and the first shouldn't be 0 + pin = pin % 10000000; + TInt checkSum = ComputeChecksum(pin); + pin *= 10; + pin += checkSum; + _LIT(KPinFormat,"%d"); + iPIN.Format(KPinFormat, pin); + + CLOG_WRITE( "Enter pin code note" ); + + HBufC* prompt = + StringLoader::LoadLC( R_QTN_NETW_CONSET_WPS_INFO_ENTER_PIN_CODE, pin ); + CWiFiProtEnterPinDlg* pinDlg = new ( ELeave ) CWiFiProtEnterPinDlg( *this ); + + CleanupStack::PushL(pinDlg); + pinDlg->SetPromptL( *prompt ); + CleanupStack::Pop(pinDlg); + + CleanupStack::PopAndDestroy( prompt ); + iPinDlg = pinDlg; + iPinDlg->ExecuteLD( R_WIFIPROT_ENTER_PIN_CODE_DIALOG ); + iPinQueryActive = ETrue; + SetActive( ); + SetNextStateAndComplete( EWiFiProtConfiguring ); + CLOG_LEAVEFN( "CWiFiProtActiveRunner::ShowEnterPinOnStationDialogL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::ShowWaitingDialogL() +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::ShowWaitingDialogL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::ShowWaitingDialogL" ); + HBufC* text = StringLoader::LoadLC( + R_QTN_NETW_CONSET_WAIT_WPS_CONFIGURING ); + iWaitDlg = new ( ELeave ) CAknWaitDialog( + ( REINTERPRET_CAST( CEikDialog**, &iWaitDlg )), + ETrue ); + iWaitDlg->SetTextL( *text ); + CleanupStack::PopAndDestroy( text ); + iWaitDlg->SetCallback( this ); + iWaitDlg->SetTone( CAknNoteDialog::EConfirmationTone ); + iWaitDlg->ExecuteLD( R_WIFIPROT_WAIT_NOTE ); + CLOG_LEAVEFN( "CWiFiProtActiveRunner::ShowWaitingDialogL" ); + } + + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::ShowWaitingDialogAndProceedL() +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::ShowWaitingDialogAndProceedL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::ShowWaitingDialogAndProceedL" ); + + iStatus = KRequestPending; //should be set by service provider + ShowWaitingDialogL(); + SetActive( ); + SetNextStateAndComplete( EWiFiProtConfiguring ); + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::ShowWaitingDialogAndProceedL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::ShowFinalNoteL() +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::ShowFinalNoteL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::ShowFinalNoteL" ); + + const TInt KSettingsConfNone = 0; + const TInt KSettingsConfOne = 1; + const TInt KSettingsConfMulti = 2; + const TInt KResourceIdInvalid = 0; + + HBufC* text = NULL; + TInt resId = KResourceIdInvalid; + CAknNoteDialog::TTone tone = CAknNoteDialog::ENoTone; + TInt numberOfNetworksConfigured = 0; + if ( iIsConnectionNeeded ) + { + // we have one network configured if we are here + numberOfNetworksConfigured = 1; + } + else + { + numberOfNetworksConfigured = iCmArray.Count(); + } + + + //more than one = multiple + if ( numberOfNetworksConfigured > KSettingsConfOne) + { + numberOfNetworksConfigured = KSettingsConfMulti; + } + switch ( numberOfNetworksConfigured ) + { + case KSettingsConfOne : + { + CLOG_WRITE( "Show one network configured note " ); + HBufC* name; + if ( iIsConnectionNeeded ) + { + // We have to convert the 8-bit SSID to 16-bit + HBufC* ssid16 = HBufC::NewLC( (*iIapParametersArray) + [iAvailableNetworks[ + iSelectedNetworkIndex]].iSsid.Length()+1 ); + TPtr ssid16Ptr( ssid16->Des() ); + CnvUtfConverter::ConvertToUnicodeFromUtf8( ssid16Ptr, + (*iIapParametersArray)[iAvailableNetworks[ + iSelectedNetworkIndex]].iSsid ); + ssid16Ptr.ZeroTerminate(); + name = ssid16Ptr.AllocL(); + CleanupStack::PopAndDestroy( ssid16 ); + } + else + { + RCmConnectionMethodExt cm = + iCmManagerExt->ConnectionMethodL( + iCmArray[0]->GetIntAttributeL( ECmId ) ); + CleanupClosePushL( cm ); + name = cm.GetStringAttributeL( EWlanSSID ); + CleanupStack::PopAndDestroy( &cm ); + } + CleanupStack::PushL( name ); + text = StringLoader::LoadL( + R_QTN_NETW_CONSET_CONF_WPS_ONE_NETWORK_CONFIGURED , *name); + CleanupStack::PopAndDestroy( name ); + CleanupStack::PushL( text ); + resId = R_WIFIPROT_OK_NOTE; + tone = CAknNoteDialog::EConfirmationTone; + break; + } + case KSettingsConfMulti: + { + CLOG_WRITE( "Show multiple networks configured note " ); + text = StringLoader::LoadLC( + R_QTN_NETW_CONSET_CONF_WPS_MULTIPLE_NETWORKS_CONFIG ); + resId = R_WIFIPROT_OK_NOTE; + tone = CAknNoteDialog::EConfirmationTone; + break; + } + case KSettingsConfNone : + { + CLOG_WRITE( "Show no networks configured note " ); + text = StringLoader::LoadLC( + R_QTN_NETW_CONSET_CONF_WPS_NO_NETWORKS_CONFIGURED ); + resId = R_WIFIPROT_INFO_NOTE; + break; + } + default: + { + //should not ever get here + CLOG_WRITE( "Unhandled Final Note!!!" ); + User::Leave( KErrGeneral ); + break; + } + } + + CAknNoteDialog* dlg = new (ELeave) CAknNoteDialog( + tone, + CAknNoteDialog::ELongTimeout ); + dlg->SetTextL( *text ); + CleanupStack::PopAndDestroy( text ); + iStatus = KRequestPending; //should be set by service provider + SetActive( ); + dlg->ExecuteLD( resId ); + SetNextStateAndComplete( EWiFiProtFinished ); + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::ShowFinalNoteL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::DialogDismissedL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::DialogDismissedL( TInt aButtonId ) + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::DialogDismissedL" ); + + //wait dialog cancelled + if ( aButtonId == EAknSoftkeyCancel ) + { + CLOG_WRITE( "Cancel pressed!" ); + if (iWaitDlg) + { + iWaitDlgCancelled = ETrue; + } + iUserCancelled = ETrue; + CancelOngoingRequest(); + } + // iWaitDlg is destroyed, so we can null it + iWaitDlg = NULL; + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::DialogDismissedL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::CreateTempIapL +// -------------------------------------------------------------------------- +// +TUint32 CWiFiProtActiveRunner::CreateTempIapL( TUint32& aTempServId ) + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::CreateTempIapL" ); + + RCmConnectionMethodExt cm; + cm = iCmManagerExt->CreateConnectionMethodL( KUidWlanBearerType ); + CleanupClosePushL(cm); + + // We have to convert the 8-bit SSID to 16-bit for CommsDat. + HBufC* ssid16 = HBufC::NewLC( iSsid.Length() ); + TPtr ssid16Ptr( ssid16->Des() ); + CnvUtfConverter::ConvertToUnicodeFromUtf8( ssid16Ptr , iSsid ); + cm.SetStringAttributeL( EWlanSSID, *ssid16 ); + cm.SetStringAttributeL( ECmName, *ssid16 ); + CLOG_WRITEF( _L("SSid: ") ); + CLOG_WRITEF( *ssid16 ); + CleanupStack::PopAndDestroy( ssid16 ); + + + cm.SetIntAttributeL( EWlanSecurityMode, EWlanSecModeWpa2 ); + cm.UpdateL(); + + aTempServId = cm.GetIntAttributeL( ECmIapServiceId ); + TInt32 iapID = cm.GetIntAttributeL( ECmId ); + + CommsDat::CMDBSession* db = + CommsDat::CMDBSession::NewL( CommsDat::CMDBSession::LatestVersion() ); + CleanupStack::PushL( db ); + CWPASecuritySettings* wpaSecSettings = + CWPASecuritySettings::NewL( ESecurityModeWpa ); + CleanupStack::PushL( wpaSecSettings ); + User::LeaveIfError( wpaSecSettings->SetWPAEnabledEAPPlugin( KEapWsc ) ); + CLOG_WRITEF( _L("Enabled EAP plugin set: EAP WSC")); + if (iPIN != KNullDesC) + { + User::LeaveIfError( wpaSecSettings->SetWPAPreSharedKey( iPIN ) ); + CLOG_WRITEF( _L("Pin set as WPA key: ")); + CLOG_WRITEF( iPIN ); + } + + CLOG_WRITEF( _L("WPA settings save - ECmIapServiceId in aTempServId %d"), aTempServId ); + wpaSecSettings->SaveL( aTempServId , *db, ESavingBrandNewAP, 0 ); + CLOG_WRITEF( _L("WPA settings saved!")); + CleanupStack::PopAndDestroy( wpaSecSettings ); + db->Close(); + CleanupStack::PopAndDestroy( db ); + CleanupStack::PopAndDestroy( &cm ); + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::CreateTempIapL" ); + + return iapID; + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::RunProtectedSetup +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::RunProtectedSetup ( const TInt32 aIapId ) + { + + CLOG_ENTERFN( "CWiFiProtActiveRunner::RunProtectedSetup" ); + + iNextWiFiProtState = EWiFiProtWlanMgmtEngineReturned; + if ( iWlanMgmtEngine ) + { + CLOG_WRITEF(_L( + "We have a wlanmgmt engine, calling RunProtectedSetup with uid %d") + , aIapId ); + iWlanMgmtEngine->RunProtectedSetup( iStatus, aIapId, + *iIapParametersArray ); + iORequest = EWiFiProtReqWPS; + SetActive( ); + } + else + { + // we complete ourselves after creating these cms synchronously + //just for wins testing + //add 1 conneciton method; +#ifdef __WINS__ + CLOG_WRITE( "No wlanmgmt engine, simulating... " ); + TWlanProtectedSetupCredentialAttribute tmpCred; + tmpCred.iOperatingMode = EWlanOperatingModeInfrastructure; + tmpCred.iAuthenticationMode = EWlanAuthenticationModeOpen; + tmpCred.iSecurityMode = EWlanIapSecurityModeAllowUnsecure; + tmpCred.iSsid = _L8("Available Network"); + + TRAP_IGNORE( iIapParametersArray->AppendL(tmpCred) ); + + tmpCred.iOperatingMode = EWlanOperatingModeInfrastructure; + tmpCred.iAuthenticationMode = EWlanAuthenticationModeOpen; + tmpCred.iSecurityMode = EWlanIapSecurityModeAllowUnsecure; + tmpCred.iSsid = _L8("Available Network 2"); + + TRAP_IGNORE( iIapParametersArray->AppendL(tmpCred) ); + + tmpCred.iOperatingMode = EWlanOperatingModeInfrastructure; + tmpCred.iAuthenticationMode = EWlanAuthenticationModeOpen; + tmpCred.iSecurityMode = EWlanIapSecurityModeAllowUnsecure; + tmpCred.iSsid = _L8("Unavailable Network"); + + TRAP_IGNORE( iIapParametersArray->AppendL(tmpCred) ); + + iStatus = KRequestPending; + SetActive( ); + SetNextStateAndComplete(EWiFiProtWlanMgmtEngineReturned ); +#else + //no engine in hardware, should not ever get here! + User::Panic( KWiFiPanic , KErrNotFound ); +#endif + } + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::RunProtectedSetup" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::CWiFiProtActiveRunner +// -------------------------------------------------------------------------- +// +CWiFiProtActiveRunner::CWiFiProtActiveRunner( + CWiFiProtDlgsPlugin* aParent, TInt aPriority ) + : CActive( aPriority ), + iParent( aParent ), + iIsConnectionNeeded( EFalse ), + iWaitDlgCancelled( EFalse ), + iSsid( KNullDesC8 ), + iPIN( KNullDesC ), + iNextWiFiProtState( EWiFiProtAskConfigureAutomatically ), + iReturn( EWiFiCancel ), + iUsePin( EFalse ), + iError( KErrNone ), + iPinQueryActive( EFalse ), + iWaitNoteNeeded( EFalse ), + iInitDialog( NULL ), + iClientCancelled( EFalse ) + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::CWiFiProtActiveRunner" ); + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::CWiFiProtActiveRunner" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::ConstructL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::ConstructL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::ConstructL" ); + + CActiveScheduler::Add( this ); +#ifndef __WINS__ + iWlanMgmtEngine = CWlanMgmtClient::NewL(); + iScanInfo = CWlanScanInfo::NewL(); +#endif // !__WINS__ + iIapParametersArray = new (ELeave) + CArrayFixSeg + ( KArrayGranularity ); + + User::LeaveIfError(iNotifier.Connect()); // Connects to the extended notifier server + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::ConstructL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::DoCancel +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::DoCancel() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::DoCancel" ); + + CancelOngoingRequest(); + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::DoCancel" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::RunL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::RunL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::RunL" ); + + // reset the async request id + iORequest = EWiFiProtReqNone; + + if ( iClientCancelled ) + { + // no further actions needed here, message completion taken care of + // in the notifier + return; + } + + CLOG_WRITEF( _L(" iNextWiFiProtState: %d"), iNextWiFiProtState ); + if ( iNextWiFiProtState == EWiFiProtWlanMgmtEngineReturned ) + { + iORequest = EWiFiProtReqNone; + //if we have a dialog and configuration is finished, + // store error code for destroying dialog + iError = iStatus.Int(); + CleanupTempIapL(); + } + else if ( iNextWiFiProtState == EWiFiProtDestroyWaitNote ) + { + DestroyWaitDialog(); + } + else + { + if ( iUserCancelled ) + { + iStatus = KErrCancel; + } + + if ( iStatus.Int() == KErrNone ) //no error + { + HandleNoErrorL(); + } + // error or cancel + // try to handle error, if can't, just cancel + else if ( !HandleErrorL( iStatus.Int() ) ) + { + if ( (iStatus.Int() != KErrAbort) && + (iNextWiFiProtState == EWifiProtOfflineQuery || iNextWiFiProtState == EWiFiProtInitiateEasySetup) ) + { + // Use WPS to configure or connect in offline mode? -> No -> Continue the traditional way without WPS + iReturn = EWifiNoAuto; + } + else + { + iReturn = EWiFiCancel; + } + + if ( iSyncMode ) + { + if ( iWait.IsStarted() ) + { + iWait.AsyncStop(); + } + } + else + { + iParent->CompleteProcessL( iReturn ); + } + } + } + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::RunL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::SetNextStateAndComplete +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::SetNextStateAndComplete( + TWiFiProtStates aNextState, + TInt aError ) + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::SetNextStateAndComplete" ); + + iNextWiFiProtState = aNextState; + CLOG_WRITEF( _L(" aNextState: %d"), aNextState ); + TRequestStatus* pS = &iStatus; + User::RequestComplete( pS, aError ); + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::SetNextStateAndComplete" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::ConfigureL() +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::ConfigureL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::ConfigureL" ); + iWaitNoteNeeded = ETrue; + iTempIapId = CreateTempIapL( iTempServId ); + CLOG_WRITEF( _L("Temp Iap created! Id: %d"), iTempIapId ); + RunProtectedSetup( iTempServId ); + // do not complete self, waiting for engine or user cancel to complete us + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::ConfigureL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::EvaluateResult +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::EvaluateResult() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::EvaluateResult" ); + if (iError == KErrNone) + { + if ( iIsConnectionNeeded ) + { + TRAPD(err, CheckNetworkAvailabilityL()); + if (err) + { + CLOG_WRITE( + "LEAVE: CheckNetworkAvailabilityL" ); + } + } + else + { + CLOG_WRITE( + "SetNextStateAndComplete( EWiFiProtSettingsConfNote );" ); + SetNextStateAndComplete( EWiFiProtSettingsConfNote ); + } + } + else + { //now we complete with the error code as dialog is finished + CLOG_WRITE( "SetNextStateAndComplete( EWiFiProtFinished, iError );" ); + SetNextStateAndComplete( EWiFiProtFinished , iError ); + } + CLOG_LEAVEFN( "CWiFiProtActiveRunner::EvaluateResult" ); + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::DestroyWaitDialog +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::DestroyWaitDialog() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::DestroyWaitDialog" ); + + CLOG_WRITE( "SetActive();" ); + SetActive(); + iStatus = KRequestPending; //should be set by service provider + iWaitNoteNeeded = EFalse; + if( !iWaitDlgCancelled ) + { + // iWaitDlg possibly wasn't even shown... + if ( iWaitDlg ) + { + CLOG_WRITE( "iWaitDlg->SetCallback( NULL );" ); + iWaitDlg->SetCallback( NULL ); + CLOG_WRITE( "iWaitDlg->ProcessFinishedL( );" ); + + TRAPD(err, iWaitDlg->ProcessFinishedL()); + if (err) + { + CLOG_WRITE( "LEAVE: iWaitDlg->ProcessFinishedL( );" ); + } + + CLOG_WRITE( "delete iWaitDlg;" ); + delete iWaitDlg; + iWaitDlg = NULL; + } + if ( iPinQueryActive ) //waiting for PIN Query + { + CLOG_WRITE( + "SetNextStateAndComplete( EWiFiProtWaitForPINQuery );" ); + // if pin query is still active, remove the cancel... + if ( iPinQueryActive && iPinDlg) + { + iPinDlg->RemoveCancel(); + } + iNextWiFiProtState = EWiFiProtWaitForPINQuery; + } + else + { + EvaluateResult(); + } + } + else + { + CLOG_WRITE( + "SetNextStateAndComplete( EWiFiProtFinished, KErrCancel );" ); + SetNextStateAndComplete( EWiFiProtFinished , KErrCancel ); + } + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::DestroyWaitDialog" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::ComputeChecksum +// -------------------------------------------------------------------------- +// +TInt CWiFiProtActiveRunner::ComputeChecksum(TInt aPin) + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::ComputeChecksum" ); + + TInt accum = 0; + aPin *= 10; + accum += 3 * ((aPin / 10000000) % 10); + accum += 1 * ((aPin / 1000000) % 10); + accum += 3 * ((aPin / 100000) % 10); + accum += 1 * ((aPin / 10000) % 10); + accum += 3 * ((aPin / 1000) % 10); + accum += 1 * ((aPin / 100) % 10); + accum += 3 * ((aPin / 10) % 10); + TInt digit = (accum % 10); + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::ComputeChecksum" ); + + return (10 - digit) % 10; + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::CreateAllIapsL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::CreateAllIapsL() + { + CreateIapL(0); + iStatus = KRequestPending; //should be set by service provider + SetActive(); + if ( iIapParametersArray->Count() ) + { + //another cm, another round + SetNextStateAndComplete( EWiFiProtCreateAllIaps ); + } + else + { + //cm creation finished + SetNextStateAndComplete( EWiFiProtDestroyWaitNote ); + } + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::CreateIapL +// -------------------------------------------------------------------------- +// +TUint32 CWiFiProtActiveRunner::CreateIapL( const TInt aIndex ) + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::CreateIapL" ); + + TInt32 iapID = 0; + if ( iIapParametersArray->Count() ) + { + RCmConnectionMethodExt cm; + cm = iCmManagerExt->CreateConnectionMethodL( KUidWlanBearerType ); + CleanupClosePushL(cm); + iapID = SetIapDataL( aIndex, cm ); + CleanupStack::Pop( &cm ); + + RCmConnectionMethodExt* cmToAppend = + new (ELeave) RCmConnectionMethodExt(cm); + CleanupStack::PushL(cmToAppend); + iCmArray.Append( cmToAppend ); //ownership transferred + CleanupStack::Pop( cmToAppend ); + CLOG_WRITEF( _L("Cm appended to array: ") ); + + + (*iIapParametersArray).Delete(aIndex); + } + + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::CreateIapL" ); + + return iapID; + } + + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::SetIapDataL +// -------------------------------------------------------------------------- +// +TUint32 CWiFiProtActiveRunner::SetIapDataL( const TInt aIndex, + RCmConnectionMethodExt& aCmToSet ) + { + // We have to convert the 8-bit SSID to 16-bit for CommsDat. + HBufC* ssid16 = + HBufC::NewLC( ( *iIapParametersArray)[aIndex].iSsid.Length() ); + TPtr ssid16Ptr( ssid16->Des() ); + CnvUtfConverter::ConvertToUnicodeFromUtf8( + ssid16Ptr , (*iIapParametersArray)[aIndex].iSsid ); + + aCmToSet.SetStringAttributeL( ECmName, *ssid16 ); + aCmToSet.SetStringAttributeL( EWlanSSID, *ssid16 ); + CLOG_WRITEF( _L("Parameters from wlan mgmt engine: ") ); + CLOG_WRITEF( _L("SSid: ") ); + CLOG_WRITEF( *ssid16 ); + CleanupStack::PopAndDestroy( ssid16 ); + + TInt connMode = EAdhoc; + switch ( (*iIapParametersArray)[aIndex].iOperatingMode ) + { + case EWlanOperatingModeAdhoc: + { + CLOG_WRITEF( _L("Operating Mode: Adhoc") ); + break; + } + case EWlanOperatingModeInfrastructure: + { + CLOG_WRITEF( _L("Operating Mode: Infra") ); + connMode = EInfra; + break; + } + default: + { + CLOG_WRITEF( _L("Operating Mode: Not Supported") ); + User::Leave( KErrNotSupported ); + break; + } + } + aCmToSet.SetIntAttributeL( EWlanConnectionMode, connMode ); + + CMManager::TWlanSecMode secMode = EWlanSecModeOpen; + switch( (*iIapParametersArray)[aIndex].iSecurityMode ) + { + case EWlanIapSecurityModeAllowUnsecure: + { + CLOG_WRITEF( _L("Security Mode: Open") ); + secMode = EWlanSecModeOpen; + break; + } + + case EWlanIapSecurityModeWep: + { + CLOG_WRITEF( _L("Security Mode: Wep") ); + secMode = EWlanSecModeWep; + break; + } + + case EWlanIapSecurityMode802d1x: + { + CLOG_WRITEF( _L("Security Mode: 802_1x") ); + secMode = EWlanSecMode802_1x; + break; + } + + // EWlanIapSecurityModeWpa and + // EWlanIapSecurityModeWpa2Only are handled as wpa + case EWlanIapSecurityModeWpa: + case EWlanIapSecurityModeWpa2Only: + { + CLOG_WRITEF( _L("Security Mode: wpa") ); + secMode = EWlanSecModeWpa; + break; + } + + default: + { + User::Leave( KErrNotSupported ); + } + } + + aCmToSet.SetIntAttributeL( EWlanSecurityMode, secMode ); + + aCmToSet.UpdateL(); + TInt32 wlanServId = aCmToSet.GetIntAttributeL( ECmIapServiceId ); + TInt32 iapID = aCmToSet.GetIntAttributeL( ECmId ); + + CommsDat::CMDBSession* db = + CommsDat::CMDBSession::NewL( + CommsDat::CMDBSession::LatestVersion() ); + CleanupStack::PushL( db ); + + switch( (*iIapParametersArray)[aIndex].iSecurityMode ) + { + case EWlanIapSecurityModeWep: + { + SaveWepSecuritySettingsL( + ( *iIapParametersArray )[aIndex], wlanServId, *db ); + break; + } + // EWlanIapSecurityModeWpa and + // EWlanIapSecurityModeWpa2Only are handled as wpa + case EWlanIapSecurityModeWpa: + case EWlanIapSecurityModeWpa2Only: + { + CWPASecuritySettings* wpaSecSettings = + CWPASecuritySettings::NewL( ESecurityModeWpa ); + CleanupStack::PushL( wpaSecSettings ); + if ((*iIapParametersArray) + [aIndex].iWpaPreSharedKey != KNullDesC8) + { + TBuf wpaBuf16; + wpaBuf16.Copy((*iIapParametersArray) + [aIndex].iWpaPreSharedKey); + User::LeaveIfError( + wpaSecSettings->SetWPAPreSharedKey( wpaBuf16 ) ); + CLOG_WRITEF( _L("wpa psk set: ") ); + CLOG_WRITEF( wpaBuf16 ); + + } + + TTypeOfSaving typeOfSaving = ESavingBrandNewAP; + + if ( iapID == iCmManagerExt->EasyWlanIdL() ) + { + typeOfSaving = ESavingEditedAP; + } + + wpaSecSettings->SaveL( wlanServId, *db, + typeOfSaving, 0 ) ; + + CleanupStack::PopAndDestroy( wpaSecSettings ); + break; + } + // EWlanIapSecurityMode802d1x and + // EWlanConnectionSecurityOpen - no key needs to be saved + case EWlanIapSecurityMode802d1x: + case EWlanConnectionSecurityOpen: + default: + { + break; + } + } + + db->Close(); + CleanupStack::PopAndDestroy( db ); + return iapID; + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::CleanupTempIapL() +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::CleanupTempIapL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::CleanupTempIapL" ); + + //we don't need the temp iap anymore, delete it + //shouldn't be any errors, because nobody else knows about our temp iap + DeleteTempIapL(); + SetActive(); + iStatus = KRequestPending; //should be set by service provider + if ( iError == KErrNone ) + { + if ( iIsConnectionNeeded ) + { + StartWlanScan(); //scan wlan before we close the wait dialog + } + else + { + //start creating iaps + SetNextStateAndComplete( EWiFiProtCreateAllIaps ); + } + } + else + { + //don't create iaps or scan wlan, we had an error! + SetNextStateAndComplete( EWiFiProtDestroyWaitNote ); + } + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::CleanupTempIapL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::DeleteTempIapL() +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::DeleteTempIapL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::DeleteTempIapL" ); + + if ( iTempIapId ) + { + const TInt KInvalidUid = 0; + + CLOG_WRITE( "Calling iCmManagerExt->ConnectionMethodL" ); + + RCmConnectionMethodExt cm = + iCmManagerExt->ConnectionMethodL(iTempIapId); + + CLOG_WRITE( "Calling cm.DeleteL" ); + + TRAPD(err, cm.DeleteL()); + CLOG_WRITEF( _L("Temp Iap deleted! Error code: %d"), err ); + cm.Close(); + iTempIapId = KInvalidUid; + } + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::DeleteTempIapL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::IsWepFormatHexL +// -------------------------------------------------------------------------- +// +TBool CWiFiProtActiveRunner::IsWepFormatHexL( TInt aLength ) + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::IsWepFormatHexL" ); + + if ( ( aLength == KConnUiUtilsWepLengthASCII5 ) || + ( aLength == KConnUiUtilsWepLengthASCII13 ) || + ( aLength == KConnUiUtilsWepLengthASCII29 ) ) + { + return EFalse; + } + else if ( ( aLength == KConnUiUtilsWepLengthHEX10 ) || + ( aLength == KConnUiUtilsWepLengthHEX26 ) || + ( aLength == KConnUiUtilsWepLengthHEX58 ) ) + { + return ETrue; + } + else + { + User::Leave( KErrNotSupported ); + } + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::IsWepFormatHexL" ); + + return EFalse; + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::SaveWepSecuritySettingsL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::SaveWepSecuritySettingsL( + TWlanProtectedSetupCredentialAttribute + aCredentialAttribute, + TUint32 aWlanServiceId, + CommsDat::CMDBSession& aDb ) + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::SaveWepSecuritySettingsL" ); + + CWEPSecuritySettings* wepSecSettings = CWEPSecuritySettings::NewL( ); + CleanupStack::PushL( wepSecSettings ); + TInt keyIndex = 0; + // wep key 1 + SetWepKeyL( *wepSecSettings, aCredentialAttribute.iWepKey1, keyIndex ); + keyIndex++; + // wep key 2 + SetWepKeyL( *wepSecSettings, aCredentialAttribute.iWepKey2, keyIndex ); + keyIndex++; + // wep key 3 + SetWepKeyL( *wepSecSettings, aCredentialAttribute.iWepKey3, keyIndex ); + keyIndex++; + // wep key 4 + SetWepKeyL( *wepSecSettings, aCredentialAttribute.iWepKey4, keyIndex ); + + //should be the same enum + wepSecSettings->SetKeyInUse( (CWEPSecuritySettings::TWEPKeyInUse) + aCredentialAttribute.iWepDefaultKey ); + CLOG_WRITEF( _L("Wep key in use %d:"), + aCredentialAttribute.iWepDefaultKey ); + + CWEPSecuritySettings::TWEPAuthentication auth = + CWEPSecuritySettings::EAuthOpen; + + switch( aCredentialAttribute.iAuthenticationMode ) + { + case EWlanAuthenticationModeOpen: + { + CLOG_WRITEF( _L("Authentication mode: open") ); + break; + } + case EWlanAuthenticationModeShared: + { + CLOG_WRITEF( _L("Authentication mode: shared") ); + auth = CWEPSecuritySettings::EAuthShared; + break; + } + default: + { + break; + } + } + + //should be the same enum + wepSecSettings->SetAuthentication( + (CWEPSecuritySettings::TWEPAuthentication) auth ); + wepSecSettings->SaveL( aWlanServiceId, aDb ) ; + CleanupStack::PopAndDestroy( wepSecSettings ); + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::SaveWepSecuritySettingsL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::HandleErrorL() +// -------------------------------------------------------------------------- +// +TBool CWiFiProtActiveRunner::HandleErrorL( TInt aErrorCode ) + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::HandleErrorL" ); + + CLOG_WRITEF( _L("Error code: %d"), aErrorCode ); + if (iWaitDlg) //close dialog first + { + TInt error = iStatus.Int(); + iStatus = KRequestPending; //should be set by service provider + SetActive( ); + SetNextStateAndComplete( EWiFiProtDestroyWaitNote , error ); + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::HandleErrorL" ); + + return ETrue; + } + else + { + TWiFiProtStates nextState = EWiFiProtFinished; + TInt textResId = 0; + TInt status = KErrCancel; + TBool ret = ETrue; + switch (aErrorCode) + { + // Error codes are in the original order + case KErrWlanProtectedSetupOOBInterfaceReadError: + case KErrWlanProtectedSetupDecryptionCRCFailure: + // the same handling here for this error code too + { + textResId = R_QTN_ERR_WLAN_SC_CONFIG_FAILED_TRY_AGAIN; + break; + } + case KErrWlanProtectedSetup5_0ChannelNotSupported: + case KErrWlanProtectedSetup2_4ChannelNotSupported: + // the same handling here for this error code too + { + textResId = R_QTN_ERR_WLAN_SC_CONFIG_FAILED; + break; + } + case KErrWlanSignalTooWeak: + { + textResId = R_QTN_ERR_WLAN_SIGNAL_TOO_WEAK; + break; + } + case KErrWlanProtectedSetupNetworkAuthFailure: + { + status = KErrNone; + textResId = R_QTN_ERR_WLAN_SC_CONFIG_FAILED_TRY_AGAIN; + if ( iUsePin ) + { + // ...pin code dialog if pin code was used + nextState = EWiFiProtUsePinCode; + } + else + { + // ... or initiate WPS dialog if push button was used + nextState = EWiFiProtInitiateEasySetup; + } + break; + } + case KErrWlanProtectedSetupNetworkAssociationFailure: + { + textResId = R_QTN_ERR_WLAN_NETWORK_NOT_FOUND; + break; + } + case KErrWlanProtectedSetupNoDHCPResponse: + case KErrWlanProtectedSetupFailedDHCPConfig: + // the same handling here for this error code too + case KErrWlanProtectedSetupIPAddressConflict: + // the same handling here for this error code too + case KErrWlanProtectedSetupCouldNotConnectToRegistrar: + // the same handling here for this error code too + { + textResId = R_QTN_ERR_WLAN_SC_CONFIG_FAILED; + break; + } + case KErrWlanProtectedSetupMultiplePBCSessionsDetected: + { + nextState = EWiFiProtInitiateEasySetup; + status = KErrNone; + textResId = + R_QTN_ERR_WLAN_SC_CONFIG_FAILED_MULTIPLE_PB_SESSIONS; + break; + } + case KErrWlanProtectedSetupRogueActivitySuspected: + { + nextState = EWiFiProtUsePinCode; + iUsePin = ETrue; + status = KErrNone; + textResId = + R_QTN_ERR_WLAN_SC_CONFIG_FAILED_ROGUE_ACTIVITY; + break; + } + case KErrWlanProtectedSetupDeviceBusy: + case KErrWlanProtectedSetupSetupLocked: + // the same handling here for this error code too + case KErrWlanProtectedSetupMessageTimeout: + // the same handling here for this error code too + { + textResId = R_QTN_ERR_WLAN_SC_CONFIG_FAILED_TRY_AGAIN; + break; + } + case KErrWlanProtectedSetupRegistrationSessionTimeout: + { + textResId = R_QTN_ERR_WLAN_SC_CONFIG_FAILED_TRY_AGAIN; + status = KErrNone; + // Registration session timeout, return to ... + if ( iUsePin ) + { + // ...pin code dialog if pin code was used + nextState = EWiFiProtUsePinCode; + } + else + { + // ... or initiate WPS dialog if push button was used + nextState = EWiFiProtInitiateEasySetup; + } + break; + } + case KErrWlanProtectedSetupDevicePasswordAuthFailure: + { + status = KErrNone; + textResId = R_QTN_ERR_WLAN_SC_CONFIG_FAILED_TRY_AGAIN; + if ( iUsePin ) + { + // ...pin code dialog if pin code was used + nextState = EWiFiProtUsePinCode; + } + else + { + // ... or initiate WPS dialog if push button was used + nextState = EWiFiProtInitiateEasySetup; + } + break; + } + case KErrWlanProtectedSetupPINMethodNotSupported: + { + textResId = + R_QTN_ERR_WLAN_SC_CONFIG_FAILED_PIN_NOT_SUPPORTED; + break; + } + case KErrWlanProtectedSetupPBMethodNotSupported: + { + textResId = + R_QTN_ERR_WLAN_SC_CONFIG_FAILED_PB_NOT_SUPPORTED; + break; + } + case KErrWlanConnAlreadyActive: + { + textResId = R_QTN_WLAN_INFO_CONNECTION_ALREADY_ACTIVE; + break; + } + default: + { + ret = EFalse; + } + } + if (ret) + { + HBufC* text = StringLoader::LoadLC( textResId ); + CLOG_WRITEF( *text ); + CAknNoteDialog* dlg = new (ELeave) CAknNoteDialog( + CAknNoteDialog::EErrorTone, + CAknNoteDialog::ELongTimeout ); + dlg->SetTextL( *text ); + CleanupStack::PopAndDestroy( text ); + iStatus = KRequestPending; //should be set by service provider + SetActive( ); + dlg->ExecuteLD( R_WIFIPROT_ERROR_NOTE ); + SetNextStateAndComplete( nextState , status ); + } + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::HandleErrorL" ); + + return ret; + } + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::ShowOfflineQuery +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::ShowOfflineQuery() + { + iNextWiFiProtState = EWiFiProtInitiateEasySetup; + + iNotifier.StartNotifierAndGetResponse(iStatus,KUidCOfflineWlanNoteDlg, + KNullDesC8(), + iOfflineReply ); + SetActive(); + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::HandleNoErrorL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::HandleNoErrorL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::HandleNoErrorL" ); + + switch (iNextWiFiProtState) + { + case EWifiProtOfflineQuery : + { + ShowOfflineQuery(); + break; + } + case EWiFiProtInitiateEasySetup : + { + ShowInitiateEasySetupDialogL(); + break; + } + case EWiFiProtUsePinCode : + { + if ( iUsePin ) + { + // dismiss the link dialog now + if ( iDestroyInitDialogLater ) + { + iInitDialog->TryExitL( EAknSoftkeyView ); + iDestroyInitDialogLater = EFalse; + } + ShowEnterPinOnStationDialogL(); + } + else + { + iStatus = KRequestPending; + SetActive( ); + SetNextStateAndComplete( EWiFiProtStartingWaitDlg ); + } + break; + } + case EWiFiProtStartingWaitDlg : + { + ShowWaitingDialogAndProceedL( ); + break; + } + case EWiFiProtConfiguring : + { + ConfigureL(); + break; + } + case EWiFiProtCreateAllIaps : + { + CreateAllIapsL(); + break; + } + + // when we are here, wlan scan is finished + case EWiFiProtWlanScan : + { + iORequest = EWiFiProtReqNone; + iStatus = KRequestPending; + SetActive( ); + SetNextStateAndComplete( EWiFiProtDestroyWaitNote ); + break; + } + case EWiFiProtSelectConnection : + { + SelectConnectionL(); + break; + } + + case EWiFiProtSettingsConfNote : + { + ShowFinalNoteL( ); + break; + } + case EWiFiProtFinished : + { + iReturn = EWiFiOK; + + if ( iIsConnectionNeeded ) + { + *iNetworkSettings = (*iIapParametersArray)[ + iAvailableNetworks[iSelectedNetworkIndex] ]; + } + else + { + // Copy the results into the output array + for (TInt i = 0; i< iCmArray.Count();i++ ) + { + CLOG_WRITEF( _L( + "Copy the results into the output array, i == %d"), i ); + if ( iUids == NULL) + { + User::Panic( KWiFiPanic, KErrNotSupported ); + } + iUids->Append( iCmArray[i]->GetIntAttributeL( ECmId ) ); + } + } + + if ( iSyncMode ) + { + if (iWait.IsStarted() ) + { + iWait.AsyncStop(); + } + } + else + { + iParent->CompleteProcessL( iReturn ); + } + break; + } + default: + { + //should not ever get here + CLOG_WRITE( "Unhandled WiFiProtState!!!" ); + User::Leave( KErrGeneral ); + break; + } + } + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::HandleNoErrorL" ); + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::PinQueryExitL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::PinQueryExitL( TInt aResponse ) + { + iPinQueryActive = EFalse; + iPinDlg = NULL; + if ( aResponse == KErrNone ) + { + + if ( iWaitNoteNeeded ) + { + ShowWaitingDialogL(); + } + else + { + EvaluateResult(); //we were just waiting for PIN query to exit + } + } + else + { + iUserCancelled = ETrue; + CancelOngoingRequest(); + } + } + +// -------------------------------------------------------------------------- +// void CWiFiProtActiveRunner::DoUsePinCodeLinkSelectedL() +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::DoUsePinCodeLinkSelectedL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::DoUsePinCodeLinkSelectedL" ); + if ( !iDestroyInitDialogLater ) + { + iUsePin = ETrue; + TRequestStatus* pS = &iStatus; + User::RequestComplete( pS, KErrNone ); + iDestroyInitDialogLater = ETrue; + } + CLOG_LEAVEFN( "CWiFiProtActiveRunner::DoUsePinCodeLinkSelectedL" ); + } + +// -------------------------------------------------------------------------- +// void CWiFiProtActiveRunner::StartWlanScan() +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::StartWlanScan() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::StartWlanScan" ); + // this flag is needed to store the cancel because we cannot + // cancel wlan scan itself +#ifdef __WINS__ + SetNextStateAndComplete( EWiFiProtWlanScan ); +#else + iORequest = EWiFiProtReqWlanScan; + iNextWiFiProtState = EWiFiProtWlanScan; + iWlanMgmtEngine->GetScanResults( iStatus, *iScanInfo ); +#endif + CLOG_LEAVEFN( "CWiFiProtActiveRunner::StartWlanScan" ); + } + +// -------------------------------------------------------------------------- +// void CWiFiProtActiveRunner::CheckNetworkAvailabilityL() +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::CheckNetworkAvailabilityL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::CheckNetworkAvailabilityL" ); + + iAvailableNetworks.Reset(); + TBool found = EFalse; + for (TInt i = 0; i < iIapParametersArray->Count(); i++ ) + { + found = EFalse; +#ifdef __WINS__ + for (TInt j = 0; jFirst(); (!iScanInfo->IsDone()) + && (!found); iScanInfo->Next() ) +#endif + { + TUint8 ieLen( 0 ); + const TUint8* ieData; + TBuf8 ssid8; +#ifdef __WINS__ + TBuf8 ssidData; + ieData = ssidData.PtrZ(); + switch (j) + { + case KIndexOfFirstEmulatedAvailableNetwork: + { + ssidData = _L8("Available Network"); + break; + } + case KIndexOfSecondEmulatedAvailableNetwork: + { + ssidData = _L8("Available Network 2"); + break; + } + default: + { + User::Panic( KWiFiPanic , KErrNotFound ); + break; + } + } + ieLen = ssidData.Length(); + TInt ret = KErrNone; +#else + TInt ret = iScanInfo->InformationElement( E802Dot11SsidIE, ieLen, + &ieData ); +#endif + User::LeaveIfError( ret ); + if ( ieLen ) + { + CLOG_WRITE( "Starting copying ssid" ); + // get the ssid + ssid8.Copy( ieData, ieLen ); + CLOG_WRITE( "SSID copied" ); + if ( !(*iIapParametersArray)[i].iSsid.Compare( ssid8 ) ) + { + iAvailableNetworks.Append(i); + found = ETrue; + } + } + } + } + + if (iAvailableNetworks.Count() == 1) + { + // only one network available, go to confirmation note + iSelectedNetworkIndex = 0; + SetNextStateAndComplete( EWiFiProtSettingsConfNote ); + } + else if (iAvailableNetworks.Count() > 1) + { + // more are available, select connection dialog + SetNextStateAndComplete( EWiFiProtSelectConnection ); + } + else + { + // no wlan networks found note + ShowNoWlanNetworksNoteL(); + } + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::CheckNetworkAvailabilityL" ); + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::SelectConnection +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::SelectConnectionL( ) + { + CDesCArrayFlat* items = + new ( ELeave ) CDesCArrayFlat( KArrayGranularity ); + CleanupStack::PushL( items ); + + _LIT( KListBoxItemFormat, "%d\t%s\t" ); + const TInt KListBoxItemFormatLength = 4; + TBuf buf; + for (TInt i = 0; i < iAvailableNetworks.Count(); i++ ) + { + // We have to convert the 8-bit SSID to 16-bit + HBufC* ssid16 = HBufC::NewLC( (*iIapParametersArray) + [iAvailableNetworks[i]].iSsid.Length()+1 ); + TPtr ssid16Ptr( ssid16->Des() ); + CnvUtfConverter::ConvertToUnicodeFromUtf8( ssid16Ptr, + (*iIapParametersArray)[iAvailableNetworks[i]].iSsid ); + ssid16Ptr.ZeroTerminate(); + buf.Format( KListBoxItemFormat, + 0/*we use only one icon*/, ssid16->Ptr() ); + CleanupStack::PopAndDestroy( ssid16 ); + items->AppendL(buf); + } + CAknIconArray* icons = new( ELeave ) CAknIconArray( KIconsGranularity ); + CleanupStack::PushL( icons ); + //creating icon + TAknsItemID id; + MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance(); + + TParse mbmFile; + User::LeaveIfError( mbmFile.Set( KWiFiFileIcons, + &KDC_BITMAP_DIR, + NULL ) ); + + CGulIcon* icon = AknsUtils::CreateGulIconL( + skinInstance, + id, + mbmFile.FullName(), + EMbmWifiprotQgn_prop_wlan_bearer, + EMbmWifiprotQgn_prop_wlan_bearer_mask ); + /// + + CleanupStack::PushL(icon); + icons->AppendL( icon ); + CleanupStack::Pop(); //icon array takes ownership + // we are finished, don't create any iaps in connection mode! + iNextWiFiProtState = EWiFiProtFinished; + CWiFiProtSelectNetworkDlg* dlg = + new ( ELeave ) CWiFiProtSelectNetworkDlg(iStatus , + iSelectedNetworkIndex, + items, icons ); + CleanupStack::Pop( icons ); // list takes ownership + CleanupStack::Pop( items );// list takes ownership + dlg->PrepareAndRunLD( ); + SetActive(); + } + +// -------------------------------------------------------------------------- +// void CWiFiProtActiveRunner::ShowNoWlanNetworksNoteL() +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::ShowNoWlanNetworksNoteL() + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::ShowNoWlanNetworksNoteL" ); + HBufC* stringLabel = StringLoader::LoadLC( + R_QTN_WLAN_INFO_NO_NETWORKS_FOUND ); + + RAknUiServer* globalNote = CAknSgcClient::AknSrv(); + if ( globalNote->Handle() ) + { + globalNote->ShowGlobalNoteL( *stringLabel, + EAknGlobalInformationNote ); + } + CleanupStack::PopAndDestroy( stringLabel ); + SetNextStateAndComplete( EWiFiProtFinished ); + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::ShowNoWlanNetworksNoteL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::CancelOngoingRequest +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::CancelOngoingRequest() + { + + CLOG_ENTERFN( "CWiFiProtActiveRunner::CancelOngoingRequest" ); + + switch ( iORequest ) + { + case EWiFiProtReqConfirmDialog: + { + // Remove the showing dialog and cancel the request + delete iConfirmationDialog; + iConfirmationDialog = NULL; + TRequestStatus* pS = &iStatus; + User::RequestComplete( pS, KErrCancel ); + break; + } + case EWiFiProtReqInitDialog: + { + // Remove the showing dialog and cancel the request + delete iInitDialog; + iInitDialog = NULL; + TRequestStatus* pS = &iStatus; + User::RequestComplete( pS, KErrCancel ); + break; + } + case EWiFiProtReqWPS : + { + if ( iPinQueryActive ) + { + delete iPinDlg; + iPinDlg = NULL; + } + if ( iWlanMgmtEngine ) + { + CLOG_WRITE( "Calling WPS cancel!" ); + iWlanMgmtEngine->CancelProtectedSetup(); + CLOG_WRITE( "WPS cancel called!" ); + } + break; + } + case EWiFiProtReqWlanScan : + { + iWlanMgmtEngine->CancelGetScanResults(); + break; + } + case EWiFiProtReqNone : + { + // it is possible, especially in emulator, that the pin dialog + // is still visible at this point + if ( iPinQueryActive ) + { + delete iPinDlg; + iPinDlg = NULL; + TRequestStatus* pS = &iStatus; + User::RequestComplete( pS, KErrCancel ); + } + // set CancelCalled flag to make RunL start shutdown next time + iUserCancelled = ETrue; + break; + } + + default: + { + // should not ever get here + } + } + + CLOG_LEAVEFN( "CWiFiProtActiveRunner::CancelOngoingRequest" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::SetWepKeyL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::SetWepKeyL( CWEPSecuritySettings& + aWepSecSettings, + TWlanWepKey& aWepKey, + TInt aKeyNumber ) + { + if ( aWepKey != KNullDesC8) + { + TBool wepKeyInAsciiFormat = IsWepFormatHexL( aWepKey.Length() ); + TBuf wepBuf16; + wepBuf16.Copy( aWepKey ); + User::LeaveIfError(aWepSecSettings.SetKeyDataL( aKeyNumber, wepBuf16, + wepKeyInAsciiFormat ) ); + CLOG_WRITEF( _L("Wep key: %d"), aKeyNumber ); + CLOG_WRITEF( wepBuf16 ); + } + } + +// -------------------------------------------------------------------------- +// TInt CWiFiProtActiveRunner::UsePinCodeLinkSelectedL() +// -------------------------------------------------------------------------- +// +TInt CWiFiProtActiveRunner::UsePinCodeLinkSelectedL( TAny* aObject ) + { + CLOG_ENTERFN( "CWiFiProtActiveRunner::UsePinCodeLinkSelectedL" ); + CWiFiProtActiveRunner* myself = + static_cast( aObject ); + myself->DoUsePinCodeLinkSelectedL(); + CLOG_LEAVEFN( "CWiFiProtActiveRunner::UsePinCodeLinkSelectedL" ); + + return 1; + } +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotconfirmationnotedlg.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotconfirmationnotedlg.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,117 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtConfirmationNoteDlg. +* +*/ + +/* +* %version: tr1cfwln#6 % +*/ + +// INCLUDE FILES +//system includes +#include + +//user includes +#include "wifiprotconfirmationnotedlg.h" +#include "wifiprotdlgsplugin.h" +#include "wifiprotplugin.hrh" + +// ========================== MEMBER FUNCTIONS ============================== +// +// -------------------------------------------------------------------------- +// CWiFiProtConfirmationNoteDlg::CWiFiProtConfirmationNoteDlg +// -------------------------------------------------------------------------- +// +CWiFiProtConfirmationNoteDlg::CWiFiProtConfirmationNoteDlg( + TRequestStatus& aStatus ): + iRequestStatus( aStatus ) + { + iRequestStatus = KRequestPending; + } + + +// -------------------------------------------------------------------------- +// CWiFiProtConfirmationNoteDlg::~CWiFiProtConfirmationNoteDlg +// -------------------------------------------------------------------------- +// +CWiFiProtConfirmationNoteDlg::~CWiFiProtConfirmationNoteDlg() + { + STATIC_CAST( CEikServAppUi*, + CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( EFalse ); + } + +// -------------------------------------------------------------------------- +// CWiFiProtInitiateEasySetupDlg::ProcessCommandL() +// -------------------------------------------------------------------------- +// +void CWiFiProtConfirmationNoteDlg::ProcessCommandL( TInt aCommandId ) + { + switch ( aCommandId ) + { + case EWiFiSoftkeyContinue: //should use callback but it doesn't work + { + TryExitL(aCommandId); + break; + } + default: + { + CAknQueryDialog::ProcessCommandL( aCommandId ); + break; + } + } + } + +// -------------------------------------------------------------------------- +// CWiFiProtConfirmationNoteDlg::OkToExitL +// -------------------------------------------------------------------------- +// +TBool CWiFiProtConfirmationNoteDlg::OkToExitL( TInt aButtonId ) + { + TInt status = KErrCancel; + if (aButtonId == EAknSoftkeyOk + || aButtonId == EAknSoftkeyYes + || aButtonId == EAknSoftkeyDone + || aButtonId == EWiFiSoftkeyContinue ) + { + status = KErrNone; + } + else if ( aButtonId == EAknSoftkeyNo ) + { + status = KErrCancel; // no selected + } + else + { + status = KErrAbort; // end key pressed + } + + TRequestStatus* pS = &iRequestStatus; + User::RequestComplete( pS, status ); + return ETrue; + } + + +// -------------------------------------------------------------------------- +// CWiFiProtConfirmationNoteDlg::PreLayoutDynInitL() +// -------------------------------------------------------------------------- +// +void CWiFiProtConfirmationNoteDlg::PreLayoutDynInitL() + { + CAknQueryDialog::PreLayoutDynInitL(); + STATIC_CAST( CEikServAppUi*, + CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( ETrue ); + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotdlgsplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotdlgsplugin.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,461 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of CWiFiProtDlgsPlugin. +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +// INCLUDE FILES +#include // For RProperty +#include +#include +#include +#include + +#include "wifiprotdlgsplugin.h" +#include "wifiprotplugin.h" +#include "wifiprotlogger.h" +#include "wifiprotactiverunner.h" + + + +using namespace WiFiProt; + +// CONSTS +_LIT( KDriveZ, "z:" ); + +// ============================ MEMBER FUNCTIONS ============================ + +// -------------------------------------------------------------------------- +// CWiFiProtDlgsPlugin* CWiFiProtDlgsPlugin::NewL() +// -------------------------------------------------------------------------- +// +CWiFiProtDlgsPlugin* CWiFiProtDlgsPlugin::NewL( + const TBool aResourceFileResponsible, + RCmManagerExt* aCmManagerExt ) + + { + CLOG_ENTERFN( "CWiFiProtDlgsPlugin::NewL" ); + + CWiFiProtDlgsPlugin* self = new ( ELeave ) CWiFiProtDlgsPlugin(); + CleanupStack::PushL( self ); + self->ConstructL( KResourceFileName, + aResourceFileResponsible, aCmManagerExt ); + CleanupStack::Pop( self ); + + CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::NewL" ); + + return self; + } + +// -------------------------------------------------------------------------- +// CWiFiProtDlgsPlugin* CWiFiProtDlgsPlugin::NewL() +// -------------------------------------------------------------------------- +// +CWiFiProtDlgsPlugin* CWiFiProtDlgsPlugin::NewL( + const TBool aResourceFileResponsible ) + { + CLOG_ENTERFN( "CWiFiProtDlgsPlugin::NewL (without passed CmManager)" ); + + CWiFiProtDlgsPlugin* ret = NewL( aResourceFileResponsible, NULL ); + + CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::NewL (without passed CmManager)" ); + + return ret; + } + +// -------------------------------------------------------------------------- +// CWiFiProtDlgsPlugin::~CWiFiProtDlgsPlugin +// -------------------------------------------------------------------------- +// +CWiFiProtDlgsPlugin::~CWiFiProtDlgsPlugin( ) + + { + CLOG_ENTERFN( "CWiFiProtDlgsPlugin::~CWiFiProtDlgsPlugin" ); + + delete iRunner; + + //we didn't get a cmManager from the client, so use our own + if (iPassedCmManagerExt == NULL) + { + iCmManagerExt.Close(); + } + + iUids.Close(); + + if ( iResource ) + { + CCoeEnv::Static()->DeleteResourceFile( iResource ); + } + + CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::~CWiFiProtDlgsPlugin" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtDlgsPlugin::TNotifierInfo +// CWiFiProtDlgsPlugin::Info() const +// -------------------------------------------------------------------------- +// +CWiFiProtDlgsPlugin::TNotifierInfo CWiFiProtDlgsPlugin::Info() const + { + return iInfo; + } + +// -------------------------------------------------------------------------- +// TPtrC8 CWiFiProtDlgsPlugin::StartL() +// -------------------------------------------------------------------------- +// +TPtrC8 CWiFiProtDlgsPlugin::StartL( const TDesC8& /*aBuffer*/ ) + { + CLOG_WRITE( "CWiFiProtDlgsPlugin::StartL" ); + return KNullDesC8().Ptr(); + } + +// -------------------------------------------------------------------------- +// void CWiFiProtDlgsPlugin::Cancel() +// -------------------------------------------------------------------------- +// +void CWiFiProtDlgsPlugin::Cancel() + { + CLOG_ENTERFN( "CWiFiProtDlgsPlugin::Cancel" ); + + if ( !iCancelled ) + { + if ( iRunner && !iCancelledFromInside ) + { + iClientCancelled = ETrue; + iRunner->CancelByClient(); + } + iCancelled = ETrue; + if ( !iMessage.IsNull() ) + { + if ( iConnMode ) + { + TRAP_IGNORE( iMessage.WriteL( iReplySlot, + TPckg( + TWlanProtectedSetupCredentialAttribute() ) + )); + } + else + { + TRAP_IGNORE( iMessage.WriteL( iReplySlot, + TPckg( KNullDesC8() ) + )); + } + iMessage.Complete( KErrCancel ); + } + } + + CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::Cancel" ); + + } + +// -------------------------------------------------------------------------- +// void CWiFiProtDlgsPlugin::Release() +// -------------------------------------------------------------------------- +// +void CWiFiProtDlgsPlugin::Release() + { + CLOG_ENTERFN( "CWiFiProtDlgsPlugin::Release" ); + + delete this; + + CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::Release" ); + } + +// -------------------------------------------------------------------------- +// TPtrC8 CWiFiProtDlgsPlugin::UpdateL() +// -------------------------------------------------------------------------- +// +TPtrC8 CWiFiProtDlgsPlugin::UpdateL(const TDesC8& /*aBuffer*/) + { + return KNullDesC8().Ptr(); + } + +// -------------------------------------------------------------------------- +// void CWiFiProtDlgsPlugin::CompleteL() +// -------------------------------------------------------------------------- +// +void CWiFiProtDlgsPlugin::CompleteL( TInt aStatus ) + { + CLOG_ENTERFN( "CWiFiProtDlgsPlugin::CompleteL" ); + + CLOG_WRITEF( _L( "aStatus:" ), aStatus ); + iCancelled = ETrue; + if ( !iMessage.IsNull() ) + { + if ( iConnMode ) + { + // return a different kind of message + // for connection creation + WiFiProt::TWiFiConnOutputParams connOutputParams = + WiFiProt::TWiFiConnOutputParams( iNetworkSettings ); + connOutputParams.iReturn = iReturn; + iMessage.WriteL( iReplySlot, + TPckg( connOutputParams ) ); + } + else + { + // ... or iap(s) creation + const TInt elementSize = sizeof(TUint32); + TBuf8<(KMaxNumberOfUids * elementSize)> buf; + TInt uidsCount = iUids.Count(); + if ( uidsCount > KMaxNumberOfUids ) + { + uidsCount = KMaxNumberOfUids; + } + // copy data from the array to iIapIds in TWiFiOutputParams + buf.Append((const TUint8 *)(&iUids[0]), uidsCount *elementSize); + //append return value + WiFiProt::TWiFiOutputParams outputParams = + WiFiProt::TWiFiOutputParams(buf); + outputParams.iReturn = iReturn; + iMessage.WriteL( iReplySlot, + TPckg( outputParams ) ); + } + iMessage.Complete( aStatus ); + } + + CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::CompleteL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtDlgsPlugin::SetCancelledFlag +// -------------------------------------------------------------------------- +// +void CWiFiProtDlgsPlugin::SetCancelledFlag( TBool aCancelled ) + { + iCancelled = aCancelled; + } + +// -------------------------------------------------------------------------- +// CWiFiProtDlgsPlugin::TNotifierInfo CWiFiProtDlgsPlugin::RegisterL() +// -------------------------------------------------------------------------- +// +CWiFiProtDlgsPlugin::TNotifierInfo CWiFiProtDlgsPlugin::RegisterL() + { + CLOG_ENTERFN( "CWiFiProtDlgsPlugin::RegisterL" ); + + iInfo.iUid = KUidWiFiProtSetup; + iInfo.iPriority = ENotifierPriorityHigh; + iInfo.iChannel = KUidWiFiProtSetup; + + CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::RegisterL" ); + + return iInfo; + } + +// -------------------------------------------------------------------------- +// void CWiFiProtDlgsPlugin::StartL +// -------------------------------------------------------------------------- +// +void CWiFiProtDlgsPlugin::StartL( const TDesC8& aBuffer, + TInt aReplySlot, + const RMessagePtr2& aMessage ) + { + CLOG_ENTERFN( "CWiFiProtDlgsPlugin::StartL" ); + + TPckgBuf pckgParams( + TPckgBuf(TWiFiInputParams(KNullDesC8(), + EFalse))); + pckgParams.Copy( *((TPckgBuf*) (&aBuffer))); + TWiFiInputParams params((pckgParams)()); + iConnMode = params.iConnectionNeeded; + TWlanSsid ssid; + ssid.Copy( params.iSSid ); + + iCancelled = EFalse; + + iReplySlot = aReplySlot; + iMessage = aMessage; + + if ( iConnMode ) + { + // no need for uid array to return, but we need a single network + // settings struct + iRunner->StartProtectedSetupConnL( ssid, iNetworkSettings, + CmManagerToUse()); + } + else + { + iRunner->StartProtectedSetupAsyncL( ssid, iUids, CmManagerToUse() ); + } + + CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::StartL" ); + } + +// -------------------------------------------------------------------------- +// WiFiProt::TWiFiReturn CWiFiProtDlgsPlugin::CompleteProcessL +// -------------------------------------------------------------------------- +// +void CWiFiProtDlgsPlugin::CompleteProcessL( WiFiProt::TWiFiReturn aReturnValue ) + { + CLOG_ENTERFN( "WiFiProtDlgsPlugin::CompleteProcessL" ); + iReturn = aReturnValue; + switch ( aReturnValue ) + { + case EWiFiOK: + { + CLOG_WRITE("StartProtectedSetupL returned EWiFiOK"); + CompleteL( KErrNone ); + break; + } + case EWifiNoAuto: + { + CLOG_WRITE("StartProtectedSetupL returned EWifiNoAuto"); + CompleteL( KErrNone ); + break; + } + case EWiFiCancel: + { + CLOG_WRITE("StartProtectedSetupL returned EWiFiCancel"); + iCancelledFromInside = ETrue; + Cancel(); + break; + } + default: + { + //should never happen + CLOG_WRITE("Unhandled exit value, leaving..."); + User::Leave( KErrGeneral ); + break; + } + } + CLOG_WRITEF( _L( "Uids returned:" ), iUids.Count() ); + for ( TInt i = 0;i& aUidsReturned) + { + CLOG_ENTERFN( "CWiFiProtDlgsPlugin::StartFromUiL" ); + + CLOG_WRITE("Input params:"); + CLOG_WRITE("SSid:"); + + TBuf buf; + buf.Copy(aSSid); + CLOG_WRITEF( buf ); + CLOG_WRITE("Connection needed:"); + if ( aConnectionNeeded ) + { + CLOG_WRITE("ETrue"); + } + else + { + CLOG_WRITE("EFalse"); + } + //use passed CmManager if present + WiFiProt::TWiFiReturn ret = iRunner->StartProtectedSetupL( + aSSid, aUidsReturned, CmManagerToUse()); + + CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::StartFromUiL" ); + return ret; + } + +// -------------------------------------------------------------------------- +// void CWiFiProtDlgsPlugin::CmManagerToUse() +// -------------------------------------------------------------------------- +// +RCmManagerExt& CWiFiProtDlgsPlugin::CmManagerToUse() + { + CLOG_ENTERFN( "CWiFiProtDlgsPlugin::CmManagerToUse" ); + + if (iPassedCmManagerExt == NULL ) + { + CLOG_WRITE("Own CmManagerExt used"); + + CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::CmManagerToUse" ); + + return iCmManagerExt; + } + else + { + CLOG_WRITE("Passed CmManagerExt used"); + + CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::CmManagerToUse" ); + + return *iPassedCmManagerExt; + } + } + +// -------------------------------------------------------------------------- +// CWiFiProtDlgsPlugin::CWiFiProtDlgsPlugin() +// -------------------------------------------------------------------------- +// +CWiFiProtDlgsPlugin::CWiFiProtDlgsPlugin() +: iCancelled( EFalse ), + iResource( 0 ), + iCancelledFromInside( EFalse ) + + { + CLOG_WRITE("CWiFiProtDlgsPlugin::CWiFiProtDlgsPlugin"); + } + +// -------------------------------------------------------------------------- +// void CWiFiProtDlgsPlugin::ConstructL( ) +// -------------------------------------------------------------------------- +// +void CWiFiProtDlgsPlugin::ConstructL(const TDesC& aResourceFileName, + const TBool aResourceFileResponsible, + RCmManagerExt* aCmManagerExt ) + { + CLOG_ENTERFN( "CWiFiProtDlgsPlugin::ConstructL" ); + + if ( aResourceFileResponsible ) + { + // Since this is a .DLL, resource files that are to be used by the + // notifier aren't added automatically so we do that here. + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( aResourceFileName ); + + BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), + fileName ); + iResource = CCoeEnv::Static()->AddResourceFileL( fileName ); + } + + iPassedCmManagerExt = aCmManagerExt; + //we didn't get a cmManager from the client, so use our own + if (iPassedCmManagerExt == NULL) + { + iCmManagerExt.OpenL(); + } + iRunner = CWiFiProtActiveRunner::NewL( this ); + + CLOG_LEAVEFN( "CWiFiProtDlgsPlugin::ConstructL" ); + + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotenterpindlg.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotenterpindlg.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,128 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtEnterPinDlg. +* +*/ + +/* +* %version: tr1cfwln#8 % +*/ + +// INCLUDE FILES +//system includes +#include + +//user includes +#include "wifiprotenterpindlg.h" +#include "wifiprotactiverunnercallback.h" +#include "wifiprotplugin.hrh" + + +// FORWARD DECLARATIONS +//class MActiveRunnerCallback; + +// ================= MEMBER FUNCTIONS ======================= +// +// -------------------------------------------------------------------------- +// CWiFiProtEnterPinDlg::CWiFiProtEnterPinDlg +// -------------------------------------------------------------------------- +// +CWiFiProtEnterPinDlg::CWiFiProtEnterPinDlg( + MActiveRunnerCallback& aActiveRunnerCallback ): + iActiveRunnerCallback ( aActiveRunnerCallback ) + { + } + + +// -------------------------------------------------------------------------- +// CWiFiProtEnterPinDlg::~CWiFiProtEnterPinDlg +// -------------------------------------------------------------------------- +// +CWiFiProtEnterPinDlg::~CWiFiProtEnterPinDlg() + { + STATIC_CAST( CEikServAppUi*, + CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( EFalse ); + } + +// -------------------------------------------------------------------------- +// CWiFiProtInitiateEasySetupDlg::ProcessCommandL() +// -------------------------------------------------------------------------- +// +void CWiFiProtEnterPinDlg::ProcessCommandL( TInt aCommandId ) + { + switch ( aCommandId ) + { + case EWiFiSoftkeyContinue: + { + TryExitL(aCommandId); + break; + } + default: + { + CAknQueryDialog::ProcessCommandL( aCommandId ); + break; + } + } + } + +// -------------------------------------------------------------------------- +// CWiFiProtEnterPinDlg::OkToExitL +// -------------------------------------------------------------------------- +// +TBool CWiFiProtEnterPinDlg::OkToExitL( TInt aButtonId ) + { + if (aButtonId == EAknSoftkeyEmpty) + { + return EFalse; + } + else + { + TInt status = KErrCancel; + if ( aButtonId == EAknSoftkeyOk + || aButtonId == EAknSoftkeyYes + || aButtonId == EAknSoftkeyDone + || aButtonId == EWiFiSoftkeyContinue ) + { + status = KErrNone; + } + iActiveRunnerCallback.PinQueryExitL( status ); + return ETrue; + } + } + + +// -------------------------------------------------------------------------- +// CWiFiProtEnterPinDlg::PreLayoutDynInitL() +// -------------------------------------------------------------------------- +// +void CWiFiProtEnterPinDlg::PreLayoutDynInitL() + { + CAknQueryDialog::PreLayoutDynInitL(); + STATIC_CAST( CEikServAppUi*, + CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( ETrue ); + } + +// -------------------------------------------------------------------------- +// CWiFiProtEnterPinDlg::RemoveCancel +// -------------------------------------------------------------------------- +// +void CWiFiProtEnterPinDlg::RemoveCancel() + { + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + TRAP_IGNORE( cba.SetCommandL( CEikButtonGroupContainer::ERightSoftkeyPosition, + EAknSoftkeyEmpty, KNullDesC) ); + cba.DrawNow(); + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotinitiateeasysetupdlg.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotinitiateeasysetupdlg.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,230 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtInitiateEasySetupDlg. +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +// INCLUDE FILES +//system includes +#include +#include +#include + +//user includes +#include "wifiprotinitiateeasysetupdlg.h" +#include "wifiprotdlgsplugin.h" +#include "wifiprotplugin.hrh" +#include "wifiprotlogger.h" + +// ========================= MEMBER FUNCTIONS =============================== +// +// -------------------------------------------------------------------------- +// CWiFiProtInitiateEasySetupDlg::CWiFiProtInitiateEasySetupDlg +// -------------------------------------------------------------------------- +// +CWiFiProtInitiateEasySetupDlg::CWiFiProtInitiateEasySetupDlg( + TRequestStatus& aStatus ): + iButtonGroupPreviouslyChanged( EFalse ), + iRequestStatus( aStatus ) + { + CLOG_ENTERFN( + "CWiFiProtInitiateEasySetupDlg::CWiFiProtInitiateEasySetupDlg" ); + + iRequestStatus = KRequestPending; + + CLOG_LEAVEFN( + "CWiFiProtInitiateEasySetupDlg::CWiFiProtInitiateEasySetupDlg" ); + + } + + +// -------------------------------------------------------------------------- +// CWiFiProtInitiateEasySetupDlg::~CWiFiProtInitiateEasySetupDlg +// -------------------------------------------------------------------------- +// +CWiFiProtInitiateEasySetupDlg::~CWiFiProtInitiateEasySetupDlg() + { + CLOG_ENTERFN( + "CWiFiProtInitiateEasySetupDlg::~CWiFiProtInitiateEasySetupDlg" ); + + STATIC_CAST( CEikServAppUi*, + CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( EFalse ); + CLOG_LEAVEFN( + "CWiFiProtInitiateEasySetupDlg::~CWiFiProtInitiateEasySetupDlg" ); + + } + + +// -------------------------------------------------------------------------- +// CWiFiProtInitiateEasySetupDlg::OkToExitL +// -------------------------------------------------------------------------- +// +TBool CWiFiProtInitiateEasySetupDlg::OkToExitL( TInt aButtonId ) + { + CLOG_ENTERFN( "CWiFiProtInitiateEasySetupDlg::OkToExitL" ); + + TInt status = KErrCancel; + if ( aButtonId == EAknSoftkeyOk + || aButtonId == EAknSoftkeyYes + || aButtonId == EAknSoftkeyDone + || aButtonId == EWiFiSoftkeyContinue + || aButtonId == EAknSoftkeySelect ) + { + status = KErrNone; + } + // if aButtonId == EAknSoftkeyView then we have to destroy the dialog + // afterwards, not from the callback. In this case we do not complete + // the client, it was completed before, just exit + + if ( !(aButtonId == EAknSoftkeyView )) + { + // this is called when we can destroy the dialog + // and complete the client (activerunner) the same time + TRequestStatus* pS = &iRequestStatus; + User::RequestComplete( pS, status ); + } + CLOG_LEAVEFN( "CWiFiProtInitiateEasySetupDlg::OkToExitL" ); + return ETrue; + } + + +// -------------------------------------------------------------------------- +// CWiFiProtInitiateEasySetupDlg::TryExitL() +// -------------------------------------------------------------------------- +// +void CWiFiProtInitiateEasySetupDlg::TryExitL( TInt aButtonId ) + { + CLOG_ENTERFN( "CWiFiProtInitiateEasySetupDlg::TryExitL" ); + + CAknMessageQueryDialog::TryExitL( aButtonId ); + + CLOG_LEAVEFN( "CWiFiProtInitiateEasySetupDlg::TryExitL" ); + + } + +// -------------------------------------------------------------------------- +// CWiFiProtInitiateEasySetupDlg::PreLayoutDynInitL() +// -------------------------------------------------------------------------- +// +void CWiFiProtInitiateEasySetupDlg::PreLayoutDynInitL() + { + CLOG_ENTERFN( "CWiFiProtInitiateEasySetupDlg::PreLayoutDynInitL" ); + + STATIC_CAST( CEikServAppUi*, + CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( ETrue ); + CAknMessageQueryDialog::PreLayoutDynInitL(); + + CLOG_LEAVEFN( "CWiFiProtInitiateEasySetupDlg::PreLayoutDynInitL" ); + + } + +// -------------------------------------------------------------------------- +// CConfirmationQuery::OfferKeyEventL() +// -------------------------------------------------------------------------- +// +TKeyResponse CWiFiProtInitiateEasySetupDlg::OfferKeyEventL( + const TKeyEvent& aKeyEvent, + TEventCode aModifiers ) + { + CLOG_ENTERFN( "CWiFiProtInitiateEasySetupDlg::OfferKeyEventL" ); + TKeyResponse answer = EKeyWasNotConsumed; + TInt code = aKeyEvent.iCode; + switch ( code ) + { + // both keys are handled the same way + // they mean 'movement in the list' + case EKeyUpArrow: + case EKeyDownArrow: + { + CAknMessageQueryControl* messageQueryControl = STATIC_CAST( + CAknMessageQueryControl*, + Control( EAknMessageQueryContentId ) ); + if ( messageQueryControl ) + { + answer = messageQueryControl->OfferKeyEventL( + aKeyEvent, aModifiers ); + if ( answer == EKeyWasConsumed ) + { + if ( messageQueryControl->LinkHighLighted() ) + { + if ( !iButtonGroupPreviouslyChanged ) + { + CEikButtonGroupContainer& cba = + ButtonGroupContainer(); + + ButtonGroupContainer().AddCommandSetToStackL( + R_SOFTKEYS_SELECT_CANCEL__SELECT ); + cba.UpdateCommandObserverL( + CEikButtonGroupContainer::ELeftSoftkeyPosition, + *this ); + + cba.UpdateCommandObserverL( + CEikButtonGroupContainer::EMiddleSoftkeyPosition, + *this ); + + cba.DrawNow(); + + iButtonGroupPreviouslyChanged = ETrue; + } + } + else if ( iButtonGroupPreviouslyChanged ) + { + CEikButtonGroupContainer& cba = + ButtonGroupContainer(); + + cba.RemoveCommandObserver( + CEikButtonGroupContainer::ELeftSoftkeyPosition ); + + cba.RemoveCommandObserver( + CEikButtonGroupContainer::EMiddleSoftkeyPosition ); + + cba.RemoveCommandFromStack( + CEikButtonGroupContainer::ELeftSoftkeyPosition, + EAknSoftkeyView ); + + cba.RemoveCommandFromStack( + CEikButtonGroupContainer::EMiddleSoftkeyPosition, + EAknSoftkeyView ); + + cba.RemoveCommandFromStack( + CEikButtonGroupContainer::ERightSoftkeyPosition, + EAknSoftkeyNo ); + + cba.DrawNow(); + + iButtonGroupPreviouslyChanged = EFalse; + } + } + } + break; + } + + default: + { + answer = CAknMessageQueryDialog::OfferKeyEventL( aKeyEvent, + aModifiers ); + break; + } + } + + CLOG_LEAVEFN( "CWiFiProtInitiateEasySetupDlg::OfferKeyEventL" ); + + return answer; + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotplugin.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,83 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of base plugin. +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +// INCLUDE FILES + +#include "wifiprotplugin.h" +#include "wifiprotdlgsplugin.h" + + +// CONSTANTS + +LOCAL_D const TInt KPluginGranularity = 4; + +// FORWARD DECLARATIONS + +LOCAL_C void CreateNotifiersL( + CArrayPtrFlat* aNotifiers ); + +// -------------------------------------------------------------------------- +// NotifierArray() +// Lib main entry point +// -------------------------------------------------------------------------- +// +EXPORT_C CArrayPtr* NotifierArray() + { + + CArrayPtrFlat* array = NULL; + TRAPD(err, array = new (ELeave) + CArrayPtrFlat( KPluginGranularity )); + if (err || array == NULL) + { + return array; + } + TRAPD( err1, CreateNotifiersL( array ) ); + if( err1 ) + { + TInt count = array->Count(); + while( count-- ) + { + (*array)[count]->Release(); + } + delete array; + array = NULL; + } + + return( array ); + } + +// -------------------------------------------------------------------------- +// CreateNotifiersL() +// -------------------------------------------------------------------------- +// +LOCAL_C void CreateNotifiersL( + CArrayPtrFlat* aNotifiers ) + { + MEikSrvNotifierBase2 *serNotify; + TBool resourceFileResponsible = ETrue; + + serNotify = CWiFiProtDlgsPlugin::NewL( resourceFileResponsible ); + CleanupStack::PushL( serNotify ); + aNotifiers->AppendL( serNotify ); + CleanupStack::Pop( serNotify ); + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotpluginstub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotpluginstub.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,231 @@ +/* +* Copyright (c) 2001-2009 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: Stub implementation of wifiprotplugin for +* non-WLAN products to support linking. +* +*/ + +/* +* %version: 1 % +*/ + +// INCLUDE FILES + +#include +#include +#include + +#include "wifiprotplugin.h" +#include "wifiprotdlgsplugin.h" +#include "wifiprotactiverunner.h" + +using namespace WiFiProt; + + +// ===================== STUB FOR wifiprotplugin.cpp ======================== + +// -------------------------------------------------------------------------- +// NotifierArray() +// Lib main entry point +// -------------------------------------------------------------------------- +// +EXPORT_C CArrayPtr* NotifierArray() + { + return NULL; + } + + + +// =================== STUB FOR wifiprotuiinprocess.cpp ===================== + +// -------------------------------------------------------------------------- +// CWifiProtUiInProcess* CWifiProtUiInProcess::NewL() +// -------------------------------------------------------------------------- +// +EXPORT_C CWifiProtUiInProcess* CWifiProtUiInProcess::NewL( RCmManagerExt* + aCmManagerExt ) + { + User::Leave(KErrNotSupported); + return NULL; + } + + +// -------------------------------------------------------------------------- +// CWifiProtUiInProcess::~CWifiProtUiInProcess +// -------------------------------------------------------------------------- +// +CWifiProtUiInProcess::~CWifiProtUiInProcess( ) + + { + } + +// -------------------------------------------------------------------------- +// WiFiProt::TWiFiReturn CWifiProtUiInProcess::StartFromUiL +// -------------------------------------------------------------------------- +// +EXPORT_C WiFiProt::TWiFiReturn CWifiProtUiInProcess::StartFromUiL( + const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned ) + { + return EWiFiCancel; + } + + +// =================== STUB FOR wifiprotdlgsplugin.cpp ====================== + +// -------------------------------------------------------------------------- +// CWiFiProtDlgsPlugin* CWiFiProtDlgsPlugin::NewL() +// -------------------------------------------------------------------------- +// +CWiFiProtDlgsPlugin* CWiFiProtDlgsPlugin::NewL( + const TBool aResourceFileResponsible, + RCmManagerExt* aCmManagerExt ) + + { + User::Leave(KErrNotSupported); + return NULL; + } + +CWiFiProtDlgsPlugin* CWiFiProtDlgsPlugin::NewL( + const TBool aResourceFileResponsible ) + { + User::Leave(KErrNotSupported); + return NULL; + } + +// -------------------------------------------------------------------------- +// CWiFiProtDlgsPlugin::~CWiFiProtDlgsPlugin +// -------------------------------------------------------------------------- +// +CWiFiProtDlgsPlugin::~CWiFiProtDlgsPlugin( ) + + { + } + +// -------------------------------------------------------------------------- +// CWiFiProtDlgsPlugin::TNotifierInfo +// CWiFiProtDlgsPlugin::Info() const +// -------------------------------------------------------------------------- +// +CWiFiProtDlgsPlugin::TNotifierInfo CWiFiProtDlgsPlugin::Info() const + { + return iInfo; + } + +// -------------------------------------------------------------------------- +// TPtrC8 CWiFiProtDlgsPlugin::StartL() +// -------------------------------------------------------------------------- +// +TPtrC8 CWiFiProtDlgsPlugin::StartL( const TDesC8& /*aBuffer*/ ) + { + return NULL; + } + +// -------------------------------------------------------------------------- +// void CWiFiProtDlgsPlugin::Cancel() +// -------------------------------------------------------------------------- +// +void CWiFiProtDlgsPlugin::Cancel() + { + } + +// -------------------------------------------------------------------------- +// void CWiFiProtDlgsPlugin::Release() +// -------------------------------------------------------------------------- +// +void CWiFiProtDlgsPlugin::Release() + { + } + +// -------------------------------------------------------------------------- +// TPtrC8 CWiFiProtDlgsPlugin::UpdateL() +// -------------------------------------------------------------------------- +// +TPtrC8 CWiFiProtDlgsPlugin::UpdateL(const TDesC8& /*aBuffer*/) + { + return NULL; + } + +// -------------------------------------------------------------------------- +// CWiFiProtDlgsPlugin::TNotifierInfo CWiFiProtDlgsPlugin::RegisterL() +// -------------------------------------------------------------------------- +// +CWiFiProtDlgsPlugin::TNotifierInfo CWiFiProtDlgsPlugin::RegisterL() + { + return iInfo; + } + +// -------------------------------------------------------------------------- +// void CWiFiProtDlgsPlugin::StartL +// -------------------------------------------------------------------------- +// +void CWiFiProtDlgsPlugin::StartL( const TDesC8& aBuffer, + TInt aReplySlot, + const RMessagePtr2& aMessage ) + { + } + + + +// =================== STUB FOR wifiprotactiverunner.cpp ====================== + +CWiFiProtActiveRunner* CWiFiProtActiveRunner::NewL( + CWiFiProtDlgsPlugin* aParent, TInt aPriority ) + { + User::Leave(KErrNotSupported); + return NULL; + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::~CWiFiProtActiveRunner +// -------------------------------------------------------------------------- +// +CWiFiProtActiveRunner::~CWiFiProtActiveRunner() + { + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::DoCancel +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::DoCancel() + { + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::RunL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::RunL() + { + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::PinQueryExitL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::PinQueryExitL( TInt aResponse ) + { + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveRunner::DialogDismissedL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveRunner::DialogDismissedL( TInt aButtonId ) + { + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotselectnetworkdlg.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotselectnetworkdlg.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,159 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtSelectNetworkDlg. +* +*/ + +/* +* %version: tr1cfwln#9 % +*/ + +// INCLUDE FILES +//system includes +#include +#include +#include +#include + +//user includes +#include "wifiprotselectnetworkdlg.h" +#include "wifiprotdlgsplugin.h" +#include "wifiprotplugin.hrh" +// ========================== MEMBER FUNCTIONS ============================== +// +// -------------------------------------------------------------------------- +// CWiFiProtSelectNetworkDlg::CWiFiProtSelectNetworkDlg +// -------------------------------------------------------------------------- +// +CWiFiProtSelectNetworkDlg::CWiFiProtSelectNetworkDlg( + TRequestStatus& aStatus , + TInt& aSelected , + CDesCArrayFlat* aItems, + CArrayPtr* aIcons ): + CAknListQueryDialog( &aSelected ), + iRequestStatus( aStatus ), + iSelected( aSelected ), + iIcons( aIcons ), + iItems( aItems ) + { + iRequestStatus = KRequestPending; + } + + +// -------------------------------------------------------------------------- +// CWiFiProtSelectNetworkDlg::~CWiFiProtSelectNetworkDlg +// -------------------------------------------------------------------------- +// +CWiFiProtSelectNetworkDlg::~CWiFiProtSelectNetworkDlg() + { + + STATIC_CAST( CEikServAppUi*, + CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( EFalse ); + delete iIcons; + delete iItems; + } + +// -------------------------------------------------------------------------- +// void CSelectDestinationDlg::PrepareAndRunLD +// -------------------------------------------------------------------------- +// +void CWiFiProtSelectNetworkDlg::PrepareAndRunLD() + { + PrepareLC(R_CONN_LIST_QUERY); + // Set the description field on the query + HBufC* desc = StringLoader::LoadLC( + R_QTN_NETW_CONSET_WPS_DETAIL_SELECT_NETWORK ); + //ownership transferred + SetItemTextArray( iItems ); + iItems = NULL; + //ownership transferred + SetIconArrayL( iIcons ); + iIcons = NULL; + + MessageBox()->SetMessageTextL( desc ); + CleanupStack::PopAndDestroy( desc ); + RunLD(); + } + + +// -------------------------------------------------------------------------- +// CWiFiProtSelectNetworkDlg::OkToExitL +// -------------------------------------------------------------------------- +// +TBool CWiFiProtSelectNetworkDlg::OkToExitL( TInt aButtonId ) + { + TInt status = KErrCancel; + if ( aButtonId == EAknSoftkeyOk + || aButtonId == EAknSoftkeyYes + || aButtonId == EAknSoftkeyDone + || aButtonId == EAknSoftkeySelect ) + { + // This should be done automatically + // I have no idea why iSelected isn't updated + iSelected = ListBox()->CurrentItemIndex(); + status = KErrNone; + } + TRequestStatus* pS = &iRequestStatus; + User::RequestComplete( pS, status ); + + return ETrue; + } + +// -------------------------------------------------------------------------- +// CWiFiProtSelectNetworkDlg::PreLayoutDynInitL() +// -------------------------------------------------------------------------- +// +void CWiFiProtSelectNetworkDlg::PreLayoutDynInitL() + { + CAknListQueryDialog::PreLayoutDynInitL(); + STATIC_CAST( CEikServAppUi*, + CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( ETrue ); + + } + +// -------------------------------------------------------------------------- +// void CSelectDestinationDlg::HandleResourceChange +// -------------------------------------------------------------------------- +// +void CWiFiProtSelectNetworkDlg::HandleResourceChange( TInt aType ) + { + if ( aType == KAknsMessageSkinChange ) + { + CAknListQueryDialog::HandleResourceChange( aType ); + + TRAP_IGNORE( SetIconArrayL( iIcons ) ); + + SizeChanged(); + } + else + { + if ( aType == KEikDynamicLayoutVariantSwitch ) + { + TRect mainPaneRect; + AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, + mainPaneRect ); + + TAknLayoutRect layoutRect; + layoutRect.LayoutRect( TRect( TPoint( 0, 0 ), + mainPaneRect.Size() ), + AKN_LAYOUT_WINDOW_list_gen_pane( 0 ) ); + + ListBox()->SetRect( layoutRect.Rect() ); + } + + // Base call + CAknListQueryDialog::HandleResourceChange( aType ); + } + } +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotuiinprocess.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotuiinprocess.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,111 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of CWifiProtUiInProcess. +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +// INCLUDE FILES + +#include +#include +#include + +#include "wifiprotdlgsplugin.h" +#include "wifiprotlogger.h" + +using namespace WiFiProt; + +// =========================== MEMBER FUNCTIONS ============================= + +// -------------------------------------------------------------------------- +// CWifiProtUiInProcess* CWifiProtUiInProcess::NewL() +// -------------------------------------------------------------------------- +// +EXPORT_C CWifiProtUiInProcess* CWifiProtUiInProcess::NewL( RCmManagerExt* + aCmManagerExt ) + { + CLOG_ENTERFN( "WiFiProtDlgsPlugin::NewL" ); + + CWifiProtUiInProcess* self = new ( ELeave ) CWifiProtUiInProcess(); + CleanupStack::PushL( self ); + self->ConstructL( aCmManagerExt ); + CleanupStack::Pop(); + CLOG_LEAVEFN( "WiFiProtDlgsPlugin::NewL" ); + return self; + } + + +// -------------------------------------------------------------------------- +// CWifiProtUiInProcess::~CWifiProtUiInProcess +// -------------------------------------------------------------------------- +// +CWifiProtUiInProcess::~CWifiProtUiInProcess( ) + + { + CLOG_ENTERFN( "WiFiProtDlgsPlugin::~CWifiProtUiInProcess" ); + delete iWiFiProtDlgsPlugin; + CLOG_LEAVEFN( "WiFiProtDlgsPlugin::~CWifiProtUiInProcess" ); + } + +// -------------------------------------------------------------------------- +// WiFiProt::TWiFiReturn CWifiProtUiInProcess::StartFromUiL +// -------------------------------------------------------------------------- +// +EXPORT_C WiFiProt::TWiFiReturn CWifiProtUiInProcess::StartFromUiL( + const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned ) + { + CLOG_ENTERFN( "WiFiProtDlgsPlugin::StartFromUiL" ); + + WiFiProt::TWiFiReturn ret = + iWiFiProtDlgsPlugin->StartFromUiL( aSSid, + aConnectionNeeded, + aUidsReturned ); + + CLOG_LEAVEFN( "WiFiProtDlgsPlugin::StartFromUiL" ); + + return ret; + } + + +// -------------------------------------------------------------------------- +// CWifiProtUiInProcess::CWifiProtUiInProcess +// -------------------------------------------------------------------------- +// +CWifiProtUiInProcess::CWifiProtUiInProcess( ): + iWiFiProtDlgsPlugin(NULL) + { + CLOG_ENTERFN( "WiFiProtDlgsPlugin::CWifiProtUiInProcess" ); + CLOG_LEAVEFN( "WiFiProtDlgsPlugin::CWifiProtUiInProcess" ); + } + +// -------------------------------------------------------------------------- +// void CWifiProtUiInProcess::ConstructL( ) +// -------------------------------------------------------------------------- +// +void CWifiProtUiInProcess::ConstructL( RCmManagerExt* aCmManagerExt ) + { + CLOG_ENTERFN( "WiFiProtDlgsPlugin::ConstructL" ); + + iWiFiProtDlgsPlugin = CWiFiProtDlgsPlugin::NewL( ETrue, aCmManagerExt ); + + CLOG_LEAVEFN( "WiFiProtDlgsPlugin::ConstructL" ); + + } +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/rom/WiFiProt.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/rom/WiFiProt.iby Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,38 @@ +/* +* Copyright (c) 2001-2009 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: Image description file for WifiProtectedSetup +* +*/ + +/* +* %version: tr1cfwln#9 % +*/ + +#ifndef __WIFIPROT_IBY__ +#define __WIFIPROT_IBY__ + +#ifdef __PROTOCOL_WLAN + +REM Wi-Fi Protected Setup + +file=ABI_DIR\BUILD_DIR\WIFIPROTCLIENT.DLL SHARED_LIB_DIR\WIFIPROTCLIENT.DLL +file=ABI_DIR\BUILD_DIR\WIFIPROTPLUGIN.DLL SHARED_LIB_DIR\WIFIPROTPLUGIN.DLL +#else +//stub for non-WLAN products +file=ABI_DIR\BUILD_DIR\wifiprotclientstub.dll SHARED_LIB_DIR\WIFIPROTCLIENT.DLL +file=ABI_DIR\BUILD_DIR\wifiprotpluginstub.dll SHARED_LIB_DIR\WIFIPROTPLUGIN.DLL + +#endif // __PROTOCOL_WLAN + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/rom/WiFiProtResources.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/rom/WiFiProtResources.iby Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,31 @@ +/* +* Copyright (c) 2001-2009 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: Image description file for WifiProtectedSetup +* +*/ + +/* +* %version: tr1cfwln#8 % +*/ + +#ifndef __WIFIPROTRESOURCES_IBY__ +#define __WIFIPROTRESOURCES_IBY__ + +#ifdef __PROTOCOL_WLAN + +data=DATAZ_\RESOURCE_FILES_DIR\WiFiProtPlugin.rsc RESOURCE_FILES_DIR\WiFiProtPlugin.rsc + +#endif // __PROTOCOL_WLAN + +#endif \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/src/wifiprotactiveresp.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/src/wifiprotactiveresp.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,243 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of CWiFiProtActiveResp class +* +*/ + +/* +* %version: tr1cfwln#9 % +*/ + +// INCLUDE FILES +#include "wifiprotactiveresp.h" +#include "wifiprotlogger.h" + +//CONSTS +_LIT( KActiveRespPanic , "WPS Active Resp"); +// ================= MEMBER FUNCTIONS ======================= + + +// -------------------------------------------------------------------------- +// CWiFiProtActiveResp::NewL +// -------------------------------------------------------------------------- +// +CWiFiProtActiveResp* CWiFiProtActiveResp::NewL( const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned, + WiFiProt::TWiFiReturn& + aReturnValue ) + { + CLOG_ENTERFN( "CWiFiProtActiveResp::NewL" ); + CWiFiProtActiveResp* self = + new( ELeave )CWiFiProtActiveResp( aSSid , aConnectionNeeded, + aUidsReturned, + aReturnValue ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + + CLOG_LEAVEFN( "CWiFiProtActiveResp::NewL" ); + return self; + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveResp::NewL +// -------------------------------------------------------------------------- +// +CWiFiProtActiveResp* CWiFiProtActiveResp::NewL( const TWlanSsid& aSSid, + TWlanProtectedSetupCredentialAttribute& + aNetworkSettings, + WiFiProt::TWiFiReturn& + aReturnValue ) + { + CLOG_ENTERFN( "CWiFiProtActiveResp::NewL" ); + CWiFiProtActiveResp* self = + new( ELeave )CWiFiProtActiveResp( aSSid , + aNetworkSettings, + aReturnValue ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + + CLOG_LEAVEFN( "CWiFiProtActiveResp::NewL" ); + return self; + } + +// ---------------------------------------------------- +// CWiFiProtActiveResp::~CWiFiProtActiveResp() +// ---------------------------------------------------- +// +CWiFiProtActiveResp::~CWiFiProtActiveResp() + { + CLOG_ENTERFN( "CWiFiProtActiveResp::~CWiFiProtActiveResp" ); + Cancel(); + CLOG_LEAVEFN( "CWiFiProtActiveResp::~CWiFiProtActiveResp" ); + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveResp::RunL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveResp::RunL() + { + CLOG_ENTERFN( "CWiFiProtActiveResp::RunL"); + + if ( iWiFiInputParams().iConnectionNeeded ) + { + *iNetworkSettings = iWiFiConnOutputParams().iNetworkSettings; + iReturnValue = iWiFiConnOutputParams().iReturn; + } + else + { + if ( iStatus.Int() == KErrNone ) + { + //CM creation mode (WPS phase 1), return iap id array + const TInt elementSize = sizeof( TUint32 ); + const TInt elementCount = iWiFiOutputParams().iIapIds.Length() + / elementSize; + const TUint8* ptr = iWiFiOutputParams().iIapIds.Ptr(); + + for ( TInt i = 0; i < elementCount; i++) + { + iIapIds->Append( *( (TUint32*) &( ptr[elementSize*i] ) ) ); + } + } + iReturnValue = iWiFiOutputParams().iReturn; + } + + TRequestStatus* pS = iRequestStatus; + User::RequestComplete( pS, iStatus.Int() ); + + CLOG_LEAVEFN( "CWiFiProtActiveResp::RunL"); + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveResp::DoCancel +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveResp::DoCancel() + { + CLOG_ENTERFN( "CWiFiProtActiveResp:DoCancel"); + TRequestStatus* pS = iRequestStatus; + User::RequestComplete( pS, KErrCancel ); + CLOG_LEAVEFN( "CWiFiProtActiveResp::DoCancel"); + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveResp::Observe +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveResp::Observe( TRequestStatus &aStatus ) + { + CLOG_ENTERFN( "CWiFiProtActiveResp::Observe"); + CActiveScheduler::Add( this ); + + iRequestStatus = &aStatus; + *iRequestStatus = KRequestPending; + + SetActive(); + CLOG_LEAVEFN( "CWiFiProtActiveResp::Observe"); + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveResp::InputBuffer +// -------------------------------------------------------------------------- +// +TPckgBuf* CWiFiProtActiveResp::InputBuffer() + { + return &iWiFiInputParams; + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveResp::OutputBuffer +// -------------------------------------------------------------------------- +// +TPckgBuf* CWiFiProtActiveResp::OutputBuffer() + { + if ( iWiFiInputParams().iConnectionNeeded ) + { + // Should use ConnOutputBuffer() if configuring a connection! + User::Panic( KActiveRespPanic , KErrNotSupported); + } + return &iWiFiOutputParams; + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveResp::ConnOutputBuffer +// -------------------------------------------------------------------------- +// +TPckgBuf* CWiFiProtActiveResp::ConnOutputBuffer() + { + if ( !(iWiFiInputParams().iConnectionNeeded) ) + { + // Should use OutputBuffer() if not configuring a connection! + User::Panic( KActiveRespPanic , KErrNotSupported); + } + return &iWiFiConnOutputParams; + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveResp::CWiFiProtActiveResp +// -------------------------------------------------------------------------- +// +CWiFiProtActiveResp::CWiFiProtActiveResp( + const TWlanSsid& aSSid, TBool aConnectionNeeded, + RArray& aUidsReturned, + WiFiProt::TWiFiReturn& aReturnValue ) + : CActive( CActive::EPriorityUserInput ), + iIapIds( &aUidsReturned ), + iReturnValue( aReturnValue ), + iWiFiOutputParams( KNullDesC8() ), + iWiFiInputParams( TPckgBuf + ( WiFiProt::TWiFiInputParams( aSSid, + aConnectionNeeded ) ) ), + iWiFiConnOutputParams(TPckgBuf + ( WiFiProt::TWiFiConnOutputParams( + TWlanProtectedSetupCredentialAttribute() ) ) ) + { + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveResp::CWiFiProtActiveResp +// -------------------------------------------------------------------------- +// +CWiFiProtActiveResp::CWiFiProtActiveResp( + const TWlanSsid& aSSid, + TWlanProtectedSetupCredentialAttribute& + aNetworkSettings, + WiFiProt::TWiFiReturn& aReturnValue ) + : CActive( CActive::EPriorityUserInput ), + iIapIds( NULL ), + iReturnValue( aReturnValue ), + iWiFiOutputParams( KNullDesC8() ), + iWiFiInputParams( TPckgBuf + ( WiFiProt::TWiFiInputParams( aSSid, + ETrue ) ) ), + iWiFiConnOutputParams(TPckgBuf + ( WiFiProt::TWiFiConnOutputParams( + TWlanProtectedSetupCredentialAttribute() ) ) ), + iNetworkSettings( &aNetworkSettings ) + + { + } + +// -------------------------------------------------------------------------- +// CWiFiProtActiveResp::ConstructL +// -------------------------------------------------------------------------- +// +void CWiFiProtActiveResp::ConstructL() + { + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/src/wifiprotsession.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/src/wifiprotsession.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,213 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of RWiFiProtSession +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +// INCLUDE FILES +#include "wifiprotsession.h" +#include "e32ver.h" +#include +#include "wifiprotlogger.h" + +using namespace WiFiProt; + +// -------------------------------------------------------------------------- +// RWiFiProtSession::RWiFiProtSession() +// -------------------------------------------------------------------------- +// +RWiFiProtSession::RWiFiProtSession() : + RSessionBase(), + iNotifier( NULL ), + iWiFiProtActiveResp( NULL ) + { + CLOG_ENTERFN( "RWiFiProtSession::RWiFiProtSession" ); + CLOG_LEAVEFN( "RWiFiProtSession::RWiFiProtSession" ); + } + + +// -------------------------------------------------------------------------- +// ~RWiFiProtSession +// -------------------------------------------------------------------------- +// +RWiFiProtSession::~RWiFiProtSession() + { + CLOG_ENTERFN( "RWiFiProtSession::~RWiFiProtSession" ); + Close(); + CLOG_LEAVEFN( "RWiFiProtSession::~RWiFiProtSession" ); + } + + +// -------------------------------------------------------------------------- +// Connect +// +// Create a session to the extended notifier framework +// -------------------------------------------------------------------------- +// +TInt RWiFiProtSession::Connect() + { + CLOG_ENTERFN( "RWiFiProtSession::Connect" ); + + TInt error( KErrNone ); + if ( !iNotifier ) + { + TRAP( error, iNotifier = new (ELeave) RNotifier() ); + } + if ( !error && iNotifier ) + { + error = iNotifier->Connect(); + } + CLOG_LEAVEFN( "RWiFiProtSession::Connect" ); + return error; + } + +// -------------------------------------------------------------------------- +// Close +// -------------------------------------------------------------------------- +// +void RWiFiProtSession::Close() + { + CLOG_ENTERFN( "RWiFiProtSession::Close" ); + + RSessionBase::Close(); + + if (iWiFiProtActiveResp) + { + iWiFiProtActiveResp->Cancel(); + delete iWiFiProtActiveResp; + iWiFiProtActiveResp = NULL; + } + if ( iNotifier ) + { + iNotifier->Close(); + delete iNotifier; + iNotifier = NULL; + } + + CLOG_LEAVEFN( "RWiFiProtSession::Close" ); + } + +// -------------------------------------------------------------------------- +// StartWiFiProtL +// -------------------------------------------------------------------------- +// +void RWiFiProtSession::StartWiFiProtL( const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned, + WiFiProt::TWiFiReturn& aReturnValue, + TRequestStatus& aStatus ) + { + CLOG_ENTERFN( "RWiFiProtSession::StartWiFiProtL" ); + + aConnectionNeeded = EFalse; // this parameter is not supported anymore + // to be set from the API, but it is used + // internally from StartWiFiProtConnL + TRAPD( err, iWiFiProtActiveResp = + CWiFiProtActiveResp::NewL( aSSid, + aConnectionNeeded, + aUidsReturned, + aReturnValue ) ); + + + if ( err != KErrNone ) + { + TRequestStatus* pS = &aStatus; + User::RequestComplete( pS, err ); + } + else + { + iWiFiProtActiveResp->Observe( aStatus ); + + TPckgBuf* outputParams = + iWiFiProtActiveResp->OutputBuffer(); + TPckgBuf* inputParams = + iWiFiProtActiveResp->InputBuffer(); + + if ( iNotifier ) + { + TRequestStatus& status = iWiFiProtActiveResp->iStatus; + iNotifier->StartNotifierAndGetResponse( status, + KUidWiFiProtSetup, + *inputParams, + *outputParams ); + } + } + + CLOG_LEAVEFN( "RWiFiProtSession::StartWiFiProtL" ); + } + +// -------------------------------------------------------------------------- +// StartWiFiProtConnL +// -------------------------------------------------------------------------- +// +void RWiFiProtSession::StartWiFiProtConnL( const TWlanSsid& aSSid, + TWlanProtectedSetupCredentialAttribute& + aNetworkSettings, + WiFiProt::TWiFiReturn& aReturnValue, + TRequestStatus& aStatus ) + { + CLOG_ENTERFN( "RWiFiProtSession::StartWiFiProtConnL" ); + + TRAPD( err, iWiFiProtActiveResp = + CWiFiProtActiveResp::NewL( aSSid, + aNetworkSettings, + aReturnValue ) ); + + + if ( err != KErrNone ) + { + TRequestStatus* pS = &aStatus; + User::RequestComplete( pS, err ); + } + else + { + iWiFiProtActiveResp->Observe( aStatus ); + + TPckgBuf* connoutputParams = + iWiFiProtActiveResp->ConnOutputBuffer(); + TPckgBuf* inputParams = + iWiFiProtActiveResp->InputBuffer(); + + if ( iNotifier ) + { + TRequestStatus& status = iWiFiProtActiveResp->iStatus; + iNotifier->StartNotifierAndGetResponse( status, + KUidWiFiProtSetup, + *inputParams, + *connoutputParams ); + } + } + + CLOG_LEAVEFN( "RWiFiProtSession::StartWiFiProtConnL" ); + } + +// -------------------------------------------------------------------------- +// CancelWiFiProt +// -------------------------------------------------------------------------- +// +void RWiFiProtSession::CancelWiFiProt() + { + CLOG_ENTERFN( "RWiFiProtSession::CancelWiFiProt()" ); + iNotifier->CancelNotifier( KUidWiFiProtSetup ); + iWiFiProtActiveResp->Cancel(); + delete iWiFiProtActiveResp ; + iWiFiProtActiveResp = NULL; + CLOG_LEAVEFN( "RWiFiProtSession::CancelWiFiProt()" ); + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/src/wifiprotsyncclient.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/src/wifiprotsyncclient.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,148 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtSyncClient. +* +*/ + +/* +* %version: tr1cfwln#8 % +*/ + +// INCLUDE FILES +#include "wifiprotsyncclient.h" +#include "wifiprotlogger.h" + +// +// WiFiProtSyncClient definitions +// +// -------------------------------------------------------------------------- +// NewL +// -------------------------------------------------------------------------- +// +CWiFiProtSyncClient* CWiFiProtSyncClient::NewL( RWiFiProtSession& aClient, + TInt aPriority ) + { + CWiFiProtSyncClient* self = new(ELeave) CWiFiProtSyncClient( aClient, + aPriority ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); // self + return self; + } + +// -------------------------------------------------------------------------- +// CWiFiProtSyncClient +// -------------------------------------------------------------------------- +// +CWiFiProtSyncClient::CWiFiProtSyncClient( RWiFiProtSession& aClient, + TInt aPriority ) + : CActive( aPriority ), + iClient( aClient ) + { + } + +// -------------------------------------------------------------------------- +// ConstructL +// -------------------------------------------------------------------------- +// +void CWiFiProtSyncClient::ConstructL() + { + CActiveScheduler::Add( this ); + iState = ENoState; + } + +// -------------------------------------------------------------------------- +// ~CWiFiProtSyncClient +// -------------------------------------------------------------------------- +// +CWiFiProtSyncClient::~CWiFiProtSyncClient() + { + Cancel(); + } + +// -------------------------------------------------------------------------- +// StartWiFiProtL +// -------------------------------------------------------------------------- +// +WiFiProt::TWiFiReturn + CWiFiProtSyncClient::StartWiFiProtL( const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned ) + { + WiFiProt::TWiFiReturn ret; + iClient.StartWiFiProtL( aSSid, aConnectionNeeded, aUidsReturned, ret, + iStatus ); + SetActive( ERunWiFiProt ); + iWait.Start(); //wait for request to complete + return ret; + } + + + +// -------------------------------------------------------------------------- +// SetActive +// -------------------------------------------------------------------------- +// +void CWiFiProtSyncClient::SetActive( TWiFiState aState ) + { + iState = aState; + CActive::SetActive(); + } + +// -------------------------------------------------------------------------- +// RunL +// -------------------------------------------------------------------------- +// +void CWiFiProtSyncClient::RunL() + { + const TWiFiState state = iState; + iState = ENoState; + + switch (state) + { + case ERunWiFiProt: + { + iWait.AsyncStop(); + break; + } + default: + { + User::Leave(KErrGeneral); + break; + } + } + } + +// -------------------------------------------------------------------------- +// DoCancel +// -------------------------------------------------------------------------- +// +void CWiFiProtSyncClient::DoCancel() + { + switch (iState) + { + case ERunWiFiProt: + { + CLOG_WRITE( "CWiFiProtSyncClient::DoCancel()" ); + iClient.CancelWiFiProt(); + break; + } + default: + { + break; + } + } + iState = ENoState; + } +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclient.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclient.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,110 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtUiClient. +* +*/ + +/* +* %version: tr1cfwln#9 % +*/ + +// INCLUDE FILES + +#include + +#include "wifiprotuiclientimpl.h" +#include "wifiprotlogger.h" + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWiFiProtUiClient::NewL +// --------------------------------------------------------- +// +EXPORT_C CWiFiProtUiClient* CWiFiProtUiClient::NewL() + { + CLOG_ENTERFN( "CWiFiProtUiClient::NewL" ); + CWiFiProtUiClient* wifi = new ( ELeave ) CWiFiProtUiClient(); + CleanupStack::PushL( wifi ); + wifi->iImpl = CWiFiProtUiClientImpl::NewL(); + CleanupStack::Pop( wifi ); + CLOG_LEAVEFN( "CWiFiProtUiClient::NewL" ); + return wifi; + } + + +// --------------------------------------------------------- +// CWiFiProtUiClient::~CWiFiProtUiClient +// --------------------------------------------------------- +// +EXPORT_C CWiFiProtUiClient::~CWiFiProtUiClient() + { + CLOG_ENTERFN( "CWiFiProtUiClient::~CWiFiProtUiClient" ); + delete iImpl; + CLOG_LEAVEFN( "CWiFiProtUiClient::~CWiFiProtUiClient" ); + } + +// --------------------------------------------------------- +// CWiFiProtUiClient::StartWiFiProtL +// --------------------------------------------------------- +// +EXPORT_C void CWiFiProtUiClient::StartWiFiProtL( const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned, + WiFiProt::TWiFiReturn& aReturnValue, + TRequestStatus& aStatus ) + { + CLOG_ENTERFN( "CWiFiProtUiClient::StartWiFiProtL" ); + iImpl->StartWiFiProtL( aSSid, aConnectionNeeded, aUidsReturned, aReturnValue, aStatus ); + CLOG_LEAVEFN( "CWiFiProtUiClient::StartWiFiProtL" ); + } + +// --------------------------------------------------------- +// CWiFiProtUiClient::StartWiFiProtL +// --------------------------------------------------------- +// +EXPORT_C WiFiProt::TWiFiReturn CWiFiProtUiClient::StartWiFiProtSyncL( + const TWlanSsid& aSSid, TBool aConnectionNeeded,RArray& aUidsReturned ) + { + CLOG_WRITE( "CWiFiProtUiClient::StartWiFiProtSyncL" ); + return iImpl->StartWiFiProtSyncL( aSSid, aConnectionNeeded, aUidsReturned ); + } + +// --------------------------------------------------------- +// CWiFiProtUiClient::CancelWiFiProt +// --------------------------------------------------------- +// +EXPORT_C void CWiFiProtUiClient::CancelWiFiProt() + { + CLOG_ENTERFN( "CWiFiProtUiClient::CancelWiFiProt" ); + iImpl->CancelWiFiProt(); + CLOG_LEAVEFN( "CWiFiProtUiClient::CancelWiFiProt" ); + } + +// --------------------------------------------------------- +// CWiFiProtUiClient::StartWiFiProtConnL +// --------------------------------------------------------- +// +EXPORT_C void CWiFiProtUiClient::StartWiFiProtConnL( const TWlanSsid& aSSid, + TWlanProtectedSetupCredentialAttribute& + aNetworkSettings, + WiFiProt::TWiFiReturn& aReturnValue, + TRequestStatus& aStatus ) + { + CLOG_ENTERFN( "CWiFiProtUiClient::StartWiFiProtConnL" ); + iImpl->StartWiFiProtConnL( aSSid, aNetworkSettings, aReturnValue, aStatus ); + CLOG_LEAVEFN( "CWiFiProtUiClient::StartWiFiProtConnL" ); + } +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclientimpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclientimpl.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,149 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWiFiProtUiClientImpl. +* +*/ + +/* +* %version: tr1cfwln#11 % +*/ + +// INCLUDE FILES + +#include +#include +#include +#include +#include +#include + +#ifndef __WINS__ +#include +#include +#endif // ! __WINS__ +#include + +#include "wifiprotuiclientimpl.h" +#include "wifiprotlogger.h" + + +// ================= MEMBER FUNCTIONS ======================= + +// -------------------------------------------------------------------------- +// CWiFiProtUiClientImpl::NewL +// -------------------------------------------------------------------------- +// +CWiFiProtUiClientImpl* CWiFiProtUiClientImpl::NewL() + { + CLOG_ENTERFN( "CWiFiProtUiClientImpl::NewL" ); + CWiFiProtUiClientImpl* clientImpl = + new ( ELeave ) CWiFiProtUiClientImpl(); + CleanupStack::PushL( clientImpl ); + clientImpl->ConstructL(); + CleanupStack::Pop( clientImpl ); + CLOG_LEAVEFN( "CWiFiProtUiClientImpl::NewL" ); + return clientImpl; + } + +// -------------------------------------------------------------------------- +// CWiFiProtUiClientImpl::~CWiFiProtUiClientImpl +// -------------------------------------------------------------------------- +// +CWiFiProtUiClientImpl::~CWiFiProtUiClientImpl() + { + CLOG_ENTERFN( "CWiFiProtUiClientImpl::~CWiFiProtUiClientImpl" ); + delete iWiFiProtSyncClient; + iNotif.Close(); + CLOG_LEAVEFN( "CWiFiProtUiClientImpl::~CWiFiProtUiClientImpl" ); + } + +// -------------------------------------------------------------------------- +// CWiFiProtUiClientImpl::StartWiFiProtL +// -------------------------------------------------------------------------- +// +void CWiFiProtUiClientImpl::StartWiFiProtL( const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned, + WiFiProt::TWiFiReturn& aReturnValue, + TRequestStatus& aStatus ) + { + CLOG_ENTERFN( "CWiFiProtUiClientImpl::StartWiFiProtL" ); + iNotif.StartWiFiProtL( aSSid, aConnectionNeeded, + aUidsReturned, aReturnValue, aStatus ); + CLOG_LEAVEFN( "CWiFiProtUiClientImpl::StartWiFiProtL" ); + } + + // -------------------------------------------------------------------------- +// CWiFiProtUiClientImpl::StartWiFiProtSyncL +// -------------------------------------------------------------------------- +// +WiFiProt::TWiFiReturn +CWiFiProtUiClientImpl::StartWiFiProtSyncL( const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned ) + { + CLOG_WRITE( "CWiFiProtUiClientImpl::StartWiFiProtSyncL" ); + if (iWiFiProtSyncClient == NULL) + { + iWiFiProtSyncClient = CWiFiProtSyncClient::NewL( iNotif ); + } + return iWiFiProtSyncClient->StartWiFiProtL( aSSid, + aConnectionNeeded, aUidsReturned ); + } + +// --------------------------------------------------------- +// CWiFiProtUiClientImpl::StartWiFiProtConnL +// --------------------------------------------------------- +// +void CWiFiProtUiClientImpl::StartWiFiProtConnL( const TWlanSsid& aSSid, + TWlanProtectedSetupCredentialAttribute& + aNetworkSettings, + WiFiProt::TWiFiReturn& aReturnValue, + TRequestStatus& aStatus ) + { + CLOG_ENTERFN( "CWiFiProtUiClientImpl::StartWiFiProtConnL" ); + iNotif.StartWiFiProtConnL( aSSid, aNetworkSettings, aReturnValue, aStatus ); + CLOG_LEAVEFN( "CWiFiProtUiClientImpl::StartWiFiProtConnL" ); + } + +// -------------------------------------------------------------------------- +// CWiFiProtUiClientImpl::CancelWiFiProt +// -------------------------------------------------------------------------- +// +void CWiFiProtUiClientImpl::CancelWiFiProt( ) + { + CLOG_ENTERFN( "CWiFiProtUiClientImpl::CancelWiFiProt()" ); + iNotif.CancelWiFiProt( ); + CLOG_LEAVEFN( "CWiFiProtUiClientImpl::CancelWiFiProt()" ); + } + +// -------------------------------------------------------------------------- +// CWiFiProtUiClientImpl::CWiFiProtUiClientImpl +// -------------------------------------------------------------------------- +// +CWiFiProtUiClientImpl::CWiFiProtUiClientImpl() + { + } + +// -------------------------------------------------------------------------- +// CWiFiProtUiClientImpl::ConstructL +// -------------------------------------------------------------------------- +// +void CWiFiProtUiClientImpl::ConstructL() + { + CLOG_ENTERFN( "CWiFiProtUiClientImpl::ConstructL" ); + User::LeaveIfError( iNotif.Connect() ); + CLOG_LEAVEFN( "CWiFiProtUiClientImpl::ConstructL" ); + } +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclientstub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclientstub.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,123 @@ +/* +* Copyright (c) 2001-2009 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: Stub implementation of class CWiFiProtUiClient for +* non-WLAN products to support linking. +* +*/ + +/* +* %version: 1 % +*/ + +// INCLUDE FILES + +#include +#include "wifiprotsyncclient.h" + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWiFiProtUiClient::NewL +// --------------------------------------------------------- +// +EXPORT_C CWiFiProtUiClient* CWiFiProtUiClient::NewL() + { + User::Leave(KErrNotSupported); + return NULL; + } + + +// --------------------------------------------------------- +// CWiFiProtUiClient::~CWiFiProtUiClient +// --------------------------------------------------------- +// +EXPORT_C CWiFiProtUiClient::~CWiFiProtUiClient() + { + } + +// --------------------------------------------------------- +// CWiFiProtUiClient::StartWiFiProtL +// --------------------------------------------------------- +// +EXPORT_C void CWiFiProtUiClient::StartWiFiProtL( const TWlanSsid& aSSid, + TBool aConnectionNeeded, + RArray& aUidsReturned, + WiFiProt::TWiFiReturn& aReturnValue, + TRequestStatus& aStatus ) + { + } + +// --------------------------------------------------------- +// CWiFiProtUiClient::StartWiFiProtL +// --------------------------------------------------------- +// +EXPORT_C WiFiProt::TWiFiReturn CWiFiProtUiClient::StartWiFiProtSyncL( + const TWlanSsid& aSSid, TBool aConnectionNeeded,RArray& aUidsReturned ) + { + return WiFiProt::TWiFiReturn(EWiFiCancel); + } + +// --------------------------------------------------------- +// CWiFiProtUiClient::CancelWiFiProt +// --------------------------------------------------------- +// +EXPORT_C void CWiFiProtUiClient::CancelWiFiProt() + { + } + +// --------------------------------------------------------- +// CWiFiProtUiClient::StartWiFiProtConnL +// --------------------------------------------------------- +// +EXPORT_C void CWiFiProtUiClient::StartWiFiProtConnL( const TWlanSsid& aSSid, + TWlanProtectedSetupCredentialAttribute& + aNetworkSettings, + WiFiProt::TWiFiReturn& aReturnValue, + TRequestStatus& aStatus ) + { + } + +// --------------------------------------------------------- +// Stubs for CWiFiProtSyncClient +// --------------------------------------------------------- +// + +CWiFiProtSyncClient* CWiFiProtSyncClient::NewL( RWiFiProtSession& aClient, + TInt aPriority ) + { + User::Leave(KErrNotSupported); + return NULL; + } + + CWiFiProtSyncClient::CWiFiProtSyncClient( RWiFiProtSession& aClient, + TInt aPriority ) + : CActive( aPriority ), + iClient( aClient ) + { + } + +CWiFiProtSyncClient::~CWiFiProtSyncClient() + { + } + + +void CWiFiProtSyncClient::RunL() + { + } + +void CWiFiProtSyncClient::DoCancel() + { + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/data/EapAkaUi.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/data/EapAkaUi.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,253 @@ +/* +* Copyright (c) 2001-2009 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 AKA UI resource file +* +*/ + +/* +* %version: 16 % +*/ + +CHARACTER_SET UTF8 + +// RESOURCE IDENTIFIER +NAME EPAK + +// INCLUDES +#include +#include "EapAkaUi.hrh" // Enums for these resources +#include // Localisation file +#include +#include +#include +#include +#include +#include + + +// CONSTANTS +#define KUsernameMaxNameLength 255 +#define KEdwinWidth 9 +#define KEdwinLines 5 + + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + + +RESOURCE TBUF16 { buf = ""; } + +RESOURCE CBA r_aka_softkeys_options_back_change + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = EAkaUiCmdChange; txt = qtn_msk_change; } + }; + } + +RESOURCE DIALOG r_aka_setting_dialog + { + flags = EAknDialogSelectionList | EEikDialogFlagWait; + buttons = r_aka_softkeys_options_back_change; + items = + { + DLG_LINE + { + id = EAkaSettingsListBox; + type = EAknCtSettingListBox; + control = LISTBOX + { + flags = EAknListBoxMenuList; + }; + } + }; + } + + +RESOURCE AVKON_SETTING_PAGE r_aka_username_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_username; + type = EEikCtEdwin; + editor_resource_id = r_aka_setting_edwin; + } + + +RESOURCE AVKON_SETTING_PAGE r_aka_realm_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_realm; + type = EEikCtEdwin; + editor_resource_id = r_aka_setting_edwin; + } + + +RESOURCE EDWIN r_aka_setting_edwin + { + width = KEdwinWidth; + lines = KEdwinLines; + maxlength = KUsernameMaxNameLength; + allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode; + default_input_mode = EAknEditorTextInputMode; + default_case = EAknEditorLowerCase; + avkon_flags = EAknEditorFlagLatinInputModesOnly; + flags = EEikEdwinAutoSelection | EEikEdwinNoLineOrParaBreaks; + } + + +RESOURCE MENU_BAR r_aka_menubar + { + titles = + { + MENU_TITLE { menu_pane = r_aka_menu_pane; txt = ""; } + }; + } + + +RESOURCE MENU_PANE r_aka_menu_pane + { + items= + { + MENU_ITEM + { + command = EAkaUiCmdChange; + txt = qtn_options_change; + flags = EEikMenuItemAction; + }, + MENU_ITEM + { + command = EAknCmdHelp; + txt = qtn_options_help; + }, + MENU_ITEM + { + command = EAknCmdExit; + txt = qtn_options_exit; + } + }; + } + + +// Resource strings +RESOURCE TBUF r_aka_settings_title \ + { buf = qtn_wlan_eap_aka_title; } +RESOURCE TBUF r_aka_username_inusestring \ + { buf = qtn_wlan_eap_sett_username_inuse; } +RESOURCE TBUF r_aka_username_inusestring_auto \ + { buf = qtn_wlan_eap_sett_username_inuse_from_sim; } +RESOURCE TBUF r_aka_username_inusestring_conf \ + { buf = qtn_wlan_eap_sett_username_inuse_user; } +RESOURCE TBUF r_aka_username_string \ + { buf = qtn_wlan_eap_sett_username; } +RESOURCE TBUF r_aka_realm_inusestring \ + { buf = qtn_wlan_eap_sett_realm_inuse; } +RESOURCE TBUF r_aka_realm_inusestring_auto \ + { buf = qtn_wlan_eap_sett_realm_inuse_from_sim; } +RESOURCE TBUF r_aka_realm_inusestring_conf \ + { buf = qtn_wlan_eap_sett_realm_inuse_user; } +RESOURCE TBUF r_aka_realm_string \ + { buf = qtn_wlan_eap_sett_realm; } + + +RESOURCE AVKON_POPUP_SETTING_TEXTS r_aka_username_autouseconf_texts + { + setting_texts_resource = r_aka_username_autouseconf_texts_resource; + popped_up_texts_resource = r_aka_username_automatic_useconfigured_array; + } + + +RESOURCE ARRAY r_aka_username_autouseconf_texts_resource + { + items = + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_username_inuse_from_sim; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_username_inuse_user; + } + }; + } + + +RESOURCE ARRAY r_aka_username_automatic_useconfigured_array + { + items = + { + LBUF { txt = qtn_wlan_eap_sett_username_inuse_from_sim; }, + LBUF { txt = qtn_wlan_eap_sett_username_inuse_user; } + }; + } + + +RESOURCE AVKON_POPUP_SETTING_TEXTS r_aka_realm_autouseconf_texts + { + setting_texts_resource = r_aka_realm_autouseconf_texts_resource; + popped_up_texts_resource = r_aka_realm_automatic_useconfigured_array; + } + + +RESOURCE ARRAY r_aka_realm_autouseconf_texts_resource + { + items= + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_realm_inuse_from_sim; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_realm_inuse_user; + } + }; + } + + +RESOURCE ARRAY r_aka_realm_automatic_useconfigured_array + { + items= + { + LBUF { txt = qtn_wlan_eap_sett_realm_inuse_from_sim; }, + LBUF { txt = qtn_wlan_eap_sett_realm_inuse_user; } + }; + } + + +RESOURCE AVKON_SETTING_PAGE r_aka_display_autouseconf_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_realm_inuse; + type = EAknCtPopupSettingList; + editor_resource_id = r_aka_setting_enumerated_popup; + } + + +RESOURCE POPUP_SETTING_LIST r_aka_setting_enumerated_popup + { + flags=EAknPopupSettingListFlagInitialised; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUi.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUi.hrh Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,61 @@ +/* +* Copyright (c) 2001-2009 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 AKA UI hrh file +* +*/ + +/* +* %version: % +*/ + +#ifndef _EAPAKAUI_HRH_ +#define _EAPAKAUI_HRH_ + + +enum TEapAKaUiMenuCommands + { + EAkaUiCmdUndefined = 6000, + EAkaUiCmdChange + }; + +enum TEapAkaUiNotes + { + TEapAkaUiGeneralError = 6100 + }; + +enum TEapAkaUiLines + { + EAkaSettingsListBox = 6200 + }; + +enum TEapAkaUiSettingIds + { + EAkaSettingUsernameinUseSettingId=6300, + EAkaSettingUsernameSettingId, + EAkaSettingPageRealminUseSettingId, + EAkaSettingRealmSettingId + }; + +enum TEapAkaUiSettingPageIds + { + EAkaSettingPageUsernameinUse=6400, + EAkaSettingPageUsername, + EAkaSettingPageRealminUse, + EAkaSettingPageRealm + }; + + +#endif //_EAPAKAUI_HRH_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUiSettingArray.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUiSettingArray.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,70 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP AKA UI settings array +* +*/ + +/* +* %version: 12 % +*/ + +#ifndef _EAPAKAUISETTINGARRAY_H_ +#define _EAPAKAUISETTINGARRAY_H_ + +// INCLUDES +#include +#include "EapAkaUi.hrh" + + +// CLASS DECLARATION + +/** +*/ +class CEapAkaSettingItemArray : public CBase + { + public: + static CEapAkaSettingItemArray* NewL(); + + virtual ~CEapAkaSettingItemArray(); + + CAknSettingItem* Item(TEapAkaUiSettingPageIds aItem); + + CAknSettingItemArray* Array(); + + void StoreSettingsL(); + + void AddTextItemL( TDes& aBuffer, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal); + + void AddBinarySettingItemL( TInt aSettingPageResourceId, + TInt aTitleResourceId, + TInt aAssociatedResourceId, + TInt aOrdinal, + TBool& aModifiedValue); + + protected: + CEapAkaSettingItemArray(); + void ConstructL(); + + private: + CAknSettingItemArray* iArray; + }; + +#endif // _EAPAKAUISETTINGARRAY_H_ + +// End of File \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUiView.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUiView.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,117 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP AKA UI setting dialog +* +*/ + +/* +* %version: 16 % +*/ + +#ifndef _EAPAKAUIVIEW_H_ +#define _EAPAKAUIVIEW_H_ + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include "EapAkaUi.hrh" + + +// FORWARD DECLARATIONS +class CAknSettingStyleListBox; +class CSettingsListBoxItemDrawer; +class CEapAkaSettingItemArray; +class CEapAkaUiConnection; +class CEapAkaUiDataConnection; +class CEapAkaUiAkaData; + + +// CLASS DECLARATION + +/** +* Settings dialog class definition +*/ +class CEapAkaUiDialog : public CAknDialog, + public MEikListBoxObserver + { + public: + CEapAkaUiDialog( CEapAkaUiConnection* aConnection, + TInt& aButtonId ); + + ~CEapAkaUiDialog(); + + /** + * Create and launch dialog. + * @param aResourceId The resource ID of the dialog to load. + * @return The ID of the button that closed the dialog + */ + TInt ConstructAndRunLD( TInt aResourceId ); + + public: // From MEikListBoxObserver + + /** + * Handles list box events. + * @param aListBox The originating list box. + * @param aEventType A code for the event. + */ + void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType ); + + + protected: + void PreLayoutDynInitL(); + TBool OkToExitL( TInt aButtonId ); + + private: + void InitializeSettingsL(); + void DrawSettingsListL(); + void ChangeTitleL( TBool aIsStarted ); + void ShowSettingPageL( TInt aCalledFromMenu ); + void ProcessCommandL( TInt aCommand ); + void SaveSettings(); + + private: + void GetHelpContext( TCoeHelpContext& aContext ) const; + + /** + * Initialize menu pane. + * @param aResourceId Menu pane resource id. + * @param CEikMenuPane Menu pane. + */ + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + + private: + CEapAkaUiConnection* iConnection; + CEapAkaUiDataConnection* iDataConnection; + CEapAkaUiAkaData* iUiData; + CEapAkaSettingItemArray* iSettingArray; + CAknSettingStyleListBox* iSettingListBox; + CSettingsListBoxItemDrawer* iSettingListItemDrawer; + CAknNavigationControlContainer* iNaviPane; + CAknNavigationDecorator* iNaviDecorator; + HBufC* iPreviousText; + TInt* iButtonId; + + // Tells the status of UI construction. TRUE if UI construction is completed. + TBool iIsUIConstructionCompleted; + }; + + +#endif // _EAPAKAUIVIEW_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/loc/eapakaui.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/loc/eapakaui.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,33 @@ +/* +* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-AKA authentication settings +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + + +//d:UI title for main view +//l:title_pane_t2/opt9 +//w: +//r:3.1 +// +#define qtn_wlan_eap_aka_title "EAP-AKA settings" + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUi.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUi.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,137 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP AKA UI class +* +*/ + +/* +* %version: 15 % +*/ + +// INCLUDE FILES +#include "EapAkaUi.h" +#include "EapAkaUiView.h" +#include +#include +#include +#include +#include + + +// CONSTANTS +_LIT( KDriveZ, "z:" ); // ROM folder +_LIT( KResourceFileName, "eapAkaui.rsc" ); + + +// CLASS DECLARATION +class TResourceFileCleanupItem + { + public: + CCoeEnv* iCoeEnv; + TInt iResourceFileOffset; + }; + + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CleanupResourceFile +// ----------------------------------------------------------------------------- +// +static void CleanupResourceFile( TAny* aObject ) + { + TResourceFileCleanupItem* item = + REINTERPRET_CAST( TResourceFileCleanupItem*, aObject ); + item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset ); + delete item; + } + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapAkaUi::CEapAkaUi +// ----------------------------------------------------------------------------- +// +CEapAkaUi::CEapAkaUi( CEapAkaUiConnection* aConnection ) +: iConnection( aConnection ) + { + } + + +// ----------------------------------------------------------------------------- +// CEapAkaUi::NewL +// ----------------------------------------------------------------------------- +// +CEapAkaUi* CEapAkaUi::NewL( CEapAkaUiConnection* aConnection ) + { + CEapAkaUi* self = new ( ELeave ) CEapAkaUi( aConnection ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CEapAkaUi::ConstructL() +// ----------------------------------------------------------------------------- +// +void CEapAkaUi::ConstructL() + { + } + + +// ----------------------------------------------------------------------------- +// CEapAkaUi::~CEapAkaUi +// ----------------------------------------------------------------------------- +// +CEapAkaUi::~CEapAkaUi() + { + } + + +// ----------------------------------------------------------------------------- +// CEapAkaUi::InvokeUiL +// ----------------------------------------------------------------------------- +// +TInt CEapAkaUi::InvokeUiL() + { + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + CCoeEnv* coeEnv = CCoeEnv::Static(); + BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName ); + + TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem; + + item->iCoeEnv = coeEnv; + CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) ); + item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName ); + + TInt buttonId; + CEapAkaUiDialog* settingsDlg = new( ELeave ) CEapAkaUiDialog( iConnection, + buttonId ); + settingsDlg->ConstructAndRunLD( R_AKA_SETTING_DIALOG ); + + CleanupStack::PopAndDestroy(); // For resource file + + return buttonId; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUiSettingArray.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUiSettingArray.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,185 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of EAP AKA UI settings array +* +*/ + +/* +* %version: 11 % +*/ + +// INCLUDE FILES +#include "EapAkaUiSettingArray.h" +#include "EapAkaUi.hrh" +#include +#include + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapAkaSettingItemArray::CEapAkaSettingItemArray +// ----------------------------------------------------------------------------- +// +CEapAkaSettingItemArray::CEapAkaSettingItemArray() + { + } + + +// ----------------------------------------------------------------------------- +// CEapAkaSettingItemArray::NewL +// ----------------------------------------------------------------------------- +// +CEapAkaSettingItemArray* CEapAkaSettingItemArray::NewL() + { + CEapAkaSettingItemArray* self = new( ELeave ) CEapAkaSettingItemArray(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CEapAkaSettingItemArray::~CEapAkaSettingItemArray +// ----------------------------------------------------------------------------- +// +CEapAkaSettingItemArray::~CEapAkaSettingItemArray() + { + if( iArray ) + { + // ResetAndDestroy() + iArray->ResetAndDestroy(); + } + delete iArray; + iArray = NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapAkaSettingItemArray::Item +// ----------------------------------------------------------------------------- +// +CAknSettingItem* CEapAkaSettingItemArray::Item( TEapAkaUiSettingPageIds aId ) + { + for( TInt i = 0; i < iArray->Count(); i++ ) + { + if( iArray->At( i )->Identifier() == aId ) + { + return iArray->At( i ); + } + } + + __ASSERT_DEBUG( EFalse, User::Invariant() ); + return NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapAkaSettingItemArray::Array +// ----------------------------------------------------------------------------- +// +CAknSettingItemArray* CEapAkaSettingItemArray::Array() + { + return iArray; + } + + +// ----------------------------------------------------------------------------- +// CEapAkaSettingItemArray::StoreSettingsL +// ----------------------------------------------------------------------------- +// +void CEapAkaSettingItemArray::StoreSettingsL() + { + // Do what SettingItemList::StoreSettings would do. + for( TInt i( 0 ); i < iArray->Count(); ++i ) + { + iArray->At( i )->StoreL(); + } + } + + +// ----------------------------------------------------------------------------- +// CEapAkaSettingItemArray::ConstructL +// ----------------------------------------------------------------------------- +// +void CEapAkaSettingItemArray::ConstructL() + { + iArray = new( ELeave ) CAknSettingItemArray( 2, EFalse, 0 ); + } + + +// ----------------------------------------------------------------------------- +// CEapAkaSettingItemArray::AddTextItemL +// ----------------------------------------------------------------------------- +// +void CEapAkaSettingItemArray::AddTextItemL( TDes& aBuffer, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal ) + { + // Create new setting item + CAknTextSettingItem* settingItem = new( ELeave ) CAknTextSettingItem( aId, + aBuffer ); + CleanupStack::PushL( settingItem ); + settingItem->SetEmptyItemTextL( KNullDesC ); + settingItem->SetSettingPageFlags( + CAknTextSettingPage::EZeroLengthAllowed ); + + // Construct setting item with parametrized values + HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( + aTitleResource ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResource, EAknCtPopupSettingList, + NULL, aAssociatedResource ); + + // Append item to settingitem-array + iArray->InsertL( aOrdinal, settingItem ); + + CleanupStack::PopAndDestroy( itemTitle ); + + // Items are destroyed in destructor when resetting array + CleanupStack::Pop( settingItem ); + } + + +// ----------------------------------------------------------------------------- +// CEapAkaSettingItemArray::AddBinarySettingItemL +// ----------------------------------------------------------------------------- +// +void CEapAkaSettingItemArray::AddBinarySettingItemL( + TInt aSettingPageResourceId, + TInt aTitleResourceId, + TInt aAssociatedResourceId, + TInt aOrdinal, + TBool& aModifiedValue ) + { + CAknSettingItem* settingItem = new ( ELeave ) + CAknBinaryPopupSettingItem( 0, aModifiedValue ); + CleanupStack::PushL( settingItem ); + HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( + aTitleResourceId ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResourceId, EAknCtPopupSettingList, + NULL, aAssociatedResourceId ); + + iArray->AppendL( settingItem ); + CleanupStack::PopAndDestroy( itemTitle ); + CleanupStack::Pop( settingItem ); + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUiView.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUiView.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,463 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP AKA UI settings dialog +* +*/ + +/* +* %version: 29 % +*/ + +// INCLUDE FILES +#include +#include +#include +#include "EapAkaUiView.h" +#include "EapAkaUi.hrh" +#include +#include +#include +#include "EapAkaUiSettingArray.h" +#include +#include +#include + +#include +#include +#include + + +// LOCAL CONSTANTS AND MACROS +// UID of general settings app, in which help texts are included +const TUid KHelpUidPlugin = { 0x100058EC }; + +_LIT( KEmptyString, "" ); + + +// MODULE DATA STRUCTURES +enum + { + EUsernameInUseItem = 0, + EUsernameItem, + ERealmInUseItem, + ERealmItem + }; + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapAkaUiDialog::CEapAkaUiDialog +// ----------------------------------------------------------------------------- +// +CEapAkaUiDialog::CEapAkaUiDialog( CEapAkaUiConnection* aConnection, + TInt& aButtonId ) +: CAknDialog(), + iConnection( aConnection ), + iDataConnection( 0 ), + iUiData( 0 ), + iSettingArray( 0 ), + iSettingListBox( 0 ), + iSettingListItemDrawer( 0 ), + iNaviPane( 0 ), + iNaviDecorator( 0 ), + iPreviousText( 0 ), + iButtonId( &aButtonId ), + iIsUIConstructionCompleted( EFalse ) + { + } + + +// --------------------------------------------------------- +// CEapAkaUiDialog::ConstructAndRunLD +// --------------------------------------------------------- +// +TInt CEapAkaUiDialog::ConstructAndRunLD( TInt aResourceId ) + { + CleanupStack::PushL( this ); + + iSettingArray = CEapAkaSettingItemArray::NewL(); + + User::LeaveIfError( iConnection->Connect() ); + iDataConnection = iConnection->GetDataConnection(); + if ( iDataConnection == 0 ) + { + User::Leave( KErrNoMemory ); + } + User::LeaveIfError( iDataConnection->Open() ); + User::LeaveIfError( iDataConnection->GetData( &iUiData ) ); + + FeatureManager::InitializeLibL(); + + ConstructL( R_AKA_MENUBAR ); + + // ExecuteLD will PushL( this ), so we have to Pop it... + CleanupStack::Pop( this ); // this + + return CAknDialog::ExecuteLD( aResourceId ); + } + + +// ----------------------------------------------------------------------------- +// CEapAkaUiDialog::~CEapAkaUiDialog +// ----------------------------------------------------------------------------- +// +CEapAkaUiDialog::~CEapAkaUiDialog() + { + if ( iSettingArray ) + { + iSettingArray->Array()->ResetAndDestroy(); + delete iSettingArray; + } + + delete iNaviDecorator; + iNaviDecorator = NULL; + + iSettingListBox = 0; + iSettingListItemDrawer = 0; + + iDataConnection->Close(); + delete iDataConnection; + iConnection->Close(); + delete iPreviousText; + + FeatureManager::UnInitializeLib(); + } + +// --------------------------------------------------------- +// CEapAkaUiDialog::HandleListBoxEventL +// --------------------------------------------------------- +// +void CEapAkaUiDialog::HandleListBoxEventL( CEikListBox* /*aListBox*/, + TListBoxEvent aEventType ) + { + switch ( aEventType ) + { + case EEventEnterKeyPressed: + case EEventItemSingleClicked: + { + OkToExitL( EAkaUiCmdChange ); + break; + } + + case EEventItemActioned: + case EEventEditingStarted: + case EEventEditingStopped: + case EEventPenDownOnItem: + case EEventItemDraggingActioned: + { + break; + } + + default: + { + break; + }; + }; + } + + + + +// ----------------------------------------------------------------------------- +// CEapAkaUiDialog::PreLayoutDynInitL +// ----------------------------------------------------------------------------- +// +void CEapAkaUiDialog::PreLayoutDynInitL() + { + ChangeTitleL( ETrue ); + + TUid naviPaneUid; + naviPaneUid.iUid = EEikStatusPaneUidNavi; + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( naviPaneUid ); + if ( subPane.IsPresent() && subPane.IsAppOwned() ) + { + iNaviPane = static_cast( + statusPane->ControlL( naviPaneUid ) ); + + // Set empty text to hide tabs. + iNaviDecorator = iNaviPane->CreateNavigationLabelL( KEmptyString ); + iNaviPane->PushL( *iNaviDecorator ); + } + + iSettingListBox = static_cast( + ControlOrNull( EAkaSettingsListBox ) ); + iSettingListItemDrawer=static_cast( + iSettingListBox->ItemDrawer() ); + iSettingListBox->SetMopParent( this ); + iSettingListBox->CreateScrollBarFrameL( ETrue ); + iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( + CEikScrollBarFrame::EOff, + CEikScrollBarFrame::EAuto ); + iSettingListBox->SetListBoxObserver( this ); + DrawSettingsListL(); + + iIsUIConstructionCompleted = ETrue; + } + + +// ----------------------------------------------------------------------------- +// CEapAkaUiDialog::ShowSettingPageL +// ----------------------------------------------------------------------------- +// +void CEapAkaUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) + { + TInt index = iSettingListBox->CurrentItemIndex(); + CAknSettingItem* item = iSettingArray->Array()->At( index ); + item->EditItemL( aCalledFromMenu ); + item->StoreL(); + DrawNow(); + } + + +// ----------------------------------------------------------------------------- +// CEapAkaUiDialog::OkToExitL +// ----------------------------------------------------------------------------- +// +TBool CEapAkaUiDialog::OkToExitL( TInt aButtonId ) + { + TBool ret( EFalse ); + switch ( aButtonId ) + { + case EEikBidOk: + { + if( iIsUIConstructionCompleted ) + { + if ( iSettingListBox->IsFocused() ) + { + ShowSettingPageL( EFalse ); + } + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapAkaUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + case EAknSoftkeyOptions: + { + DisplayMenuL(); + break; + } + + case EAknSoftkeyBack: + case EAknCmdExit: + { + if( iIsUIConstructionCompleted ) + { + iDataConnection->Update(); + ChangeTitleL( EFalse ); + ret = ETrue; + } + break; + } + case EAkaUiCmdChange: + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( EFalse ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapAkaUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + default: + { + break; + } + } + + if ( ret ) + { + *iButtonId = aButtonId; + } + + return ret; + } + + +// ----------------------------------------------------------------------------- +// CEapAkaUiDialog::DrawSettingsListL +// ----------------------------------------------------------------------------- +// +void CEapAkaUiDialog::DrawSettingsListL() + { + iSettingArray->Array()->ResetAndDestroy(); + TInt ordinal = 0; + iSettingArray->AddBinarySettingItemL( R_AKA_DISPLAY_AUTOUSECONF_PAGE, + R_AKA_USERNAME_INUSESTRING, + R_AKA_USERNAME_AUTOUSECONF_TEXTS, + ordinal++, + *iUiData->GetUseManualUsername() ); + + iSettingArray->AddTextItemL( iUiData->GetManualUsername(), + EAkaSettingPageUsername, + R_AKA_USERNAME_STRING, + R_AKA_USERNAME_PAGE, + NULL, + ordinal++ ); + + + iSettingArray->AddBinarySettingItemL( R_AKA_DISPLAY_AUTOUSECONF_PAGE, + R_AKA_REALM_INUSESTRING, + R_AKA_REALM_AUTOUSECONF_TEXTS, + ordinal++, + *iUiData->GetUseManualRealm() ); + + iSettingArray->AddTextItemL( iUiData->GetManualRealm(), + EAkaSettingUsernameSettingId, + R_AKA_REALM_STRING, + R_AKA_REALM_PAGE, + NULL, + ordinal++ ); + + iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() ); + iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); + iSettingArray->Array()->RecalculateVisibleIndicesL(); + iSettingListBox->HandleItemAdditionL(); + iSettingListBox->UpdateScrollBarsL(); + } + + +// ----------------------------------------------------------------------------- +// CEapAkaUiDialog::ChangeTitleL +// ----------------------------------------------------------------------------- +// +void CEapAkaUiDialog::ChangeTitleL( TBool aIsStarted ) + { + TUid titlePaneUid; + titlePaneUid.iUid=EEikStatusPaneUidTitle; + + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( titlePaneUid ); + + if ( subPane.IsPresent() && subPane.IsAppOwned() ) + { + CAknTitlePane* titlePane = static_cast( + statusPane->ControlL( titlePaneUid ) ); + if ( aIsStarted ) + { + // Store previous application title text + const TDesC* prevText = titlePane->Text(); + + iPreviousText = HBufC::NewL( prevText->Length() ); + iPreviousText->Des().Append( *prevText ); + TDesC* titleText = iEikonEnv->AllocReadResourceLC( + R_AKA_SETTINGS_TITLE ); + titlePane->SetTextL( *titleText ); + CleanupStack::PopAndDestroy( titleText ); + } + else + { + // Set calling application title text back + titlePane->SetTextL( *iPreviousText ); + + // pop navidecorator when exiting + iNaviPane->Pop( iNaviDecorator ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapAkaUiDialog::DynInitMenuPaneL +// ----------------------------------------------------------------------------- +// +void CEapAkaUiDialog::DynInitMenuPaneL( TInt aResourceId, + CEikMenuPane* aMenuPane ) + { + CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane ); + + if ( aResourceId == R_AKA_MENU_PANE ) + { + if ( aMenuPane && !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) + { + aMenuPane->DeleteMenuItem( EAknCmdHelp ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapAkaUiDialog::ProcessCommandL +// ----------------------------------------------------------------------------- +// +void CEapAkaUiDialog::ProcessCommandL( TInt aCommand ) + { + if ( MenuShowing() ) + { + HideMenu(); + } + + switch( aCommand ) + { + case EAknCmdExit: + { + TryExitL( aCommand ); + break; + } + + case EAknCmdHelp: + { + HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), + iEikonEnv->EikAppUi()->AppHelpContextL() ); + break; + } + + case EAkaUiCmdChange: + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( ETrue ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapAkaUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + default: + { + break; + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapAkaUiDialog::GetHelpContext +// ----------------------------------------------------------------------------- +// +void CEapAkaUiDialog::GetHelpContext( TCoeHelpContext& aContext ) const + { + aContext.iMajor = KHelpUidPlugin; + aContext.iContext = KSET_HLP_WLAN_EAP_AKA; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/data/EapGtcUi.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/data/EapGtcUi.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,138 @@ +/* +* Copyright (c) 2001-2009 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 GTC UI resource file +* +*/ + +/* +* %version: 14 % +*/ + +CHARACTER_SET UTF8 + +// RESOURCE IDENTIFIER +NAME EPGT + +// INCLUDES +#include +#include "EapGtcUi.hrh" // Enums for these resources +#include // Localisation file +#include +#include +#include +#include +#include +#include + + +// CONSTANTS +#define KUsernameMaxNameLength 255 + + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + + +RESOURCE TBUF16 { buf=""; } + +RESOURCE CBA r_gtc_ui_softkeys_options_back_change + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = EGtcUiCmdChange; txt = qtn_msk_change; } + }; + } + + +RESOURCE DIALOG r_gtc_setting_dialog + { + flags = EAknDialogSelectionList|EEikDialogFlagWait; + buttons = r_gtc_ui_softkeys_options_back_change; + items= + { + DLG_LINE + { + id = EGtcSettingsListBox; + type = EAknCtSettingListBox; + control = LISTBOX + { + flags = EAknListBoxMenuList; + }; + } + }; + } + + +RESOURCE AVKON_SETTING_PAGE r_gtc_username_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_username; + type = EEikCtEdwin; + editor_resource_id = r_gtc_setting_edwin; + } + + +RESOURCE EDWIN r_gtc_setting_edwin + { + width = 9; + lines = 5; + maxlength = 255; + allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode; + default_input_mode = EAknEditorTextInputMode; + flags = EEikEdwinAutoSelection | EEikEdwinNoLineOrParaBreaks; + } + + +RESOURCE MENU_BAR r_gtc_menubar + { + titles = + { + MENU_TITLE { menu_pane = r_gtc_menu_pane; txt=""; } + }; + } + + +RESOURCE MENU_PANE r_gtc_menu_pane + { + items = + { + MENU_ITEM + { + command = EGtcUiCmdChange; + txt = qtn_options_change; + flags = EEikMenuItemAction; + }, + MENU_ITEM + { + command = EAknCmdHelp; + txt = qtn_options_help; + }, + MENU_ITEM + { + command = EAknCmdExit; + txt = qtn_options_exit; + } + }; + } + + +// Resource strings +RESOURCE TBUF r_gtc_settings_title { buf = qtn_wlan_eap_gtc_title; } +RESOURCE TBUF r_gtc_username_string { buf = qtn_wlan_eap_sett_username; } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUi.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUi.hrh Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,60 @@ +/* +* Copyright (c) 2001-2009 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 GTC UI hrh file +* +*/ + +/* +* %version: % +*/ + +#ifndef _EAPGTCUI_HRH_ +#define _EAPGTCUI_HRH_ + +enum TEapGtcUiMenuCommands + { + EGtcUiCmdUndefined = 6000, + EGtcUiCmdChange + }; + +enum TEapGtcUiNotes + { + TEapGtcUiGeneralError = 6100 + }; + +enum TEapGtcUiLines + { + EGtcSettingsListBox = 6200 + }; + +enum TEapGtcUiSettingIds + { + EGtcSettingUsernameinUseSettingId=6300, + EGtcSettingUsernameSettingId, + EGtcSettingPageRealminUseSettingId, + EGtcSettingRealmSettingId + }; + +enum TEapGtcUiSettingPageIds + { + EGtcSettingPageUsernameinUse=6400, + EGtcSettingPageUsername, + EGtcSettingPageRealminUse, + EGtcSettingPageRealm + }; + + +#endif //_EAPGTCUI_HRH_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUiSettingArray.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUiSettingArray.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,65 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP GTC UI settings array +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef _EAPGTCUISETTINGARRAY_H_ +#define _EAPGTCUISETTINGARRAY_H_ + +// INCLUDES +#include +#include "EapGtcUi.hrh" + + +// CLASS DECLARATION + +/** +*/ +class CEapGtcSettingItemArray : public CBase + { + public: + static CEapGtcSettingItemArray* NewL(); + + virtual ~CEapGtcSettingItemArray(); + + CAknSettingItem* Item( TEapGtcUiSettingPageIds aItem ); + + CAknSettingItemArray* Array(); + + void StoreSettingsL(); + + void AddTextItemL( TDes& aBuffer, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal); + + protected: + CEapGtcSettingItemArray(); + + void ConstructL(); + + private: + CAknSettingItemArray* iArray; + }; + +#endif // _EAPGTCUISETTINGARRAY_H_ + +// End of File \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUiView.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUiView.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,116 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP GTC UI setting dialog +* +*/ + +/* +* %version: 16 % +*/ + +#ifndef _EAPGTCUIVIEW_H_ +#define _EAPGTCUIVIEW_H_ + +// INCLUDES +#include +#include +#include +#include +#include "EapGtcUi.hrh" +#include +#include + + +// FORWARD DECLARATIONS +class CAknSettingStyleListBox; +class CSettingsListBoxItemDrawer; +class CEapGtcSettingItemArray; +class CEapGtcUiConnection; +class CEapGtcUiGtcData; +class CEapGtcUiDataConnection; + + +// CLASS DECLARATION + +/** +* Settings dialog class definition +*/ +class CEapGtcUiDialog : public CAknDialog, + public MEikListBoxObserver + { + public: + CEapGtcUiDialog( CEapGtcUiConnection* aConnection, + TInt& aButtonId ); + + ~CEapGtcUiDialog(); + + /** + * Create and launch dialog. + * @param aResourceId The resource ID of the dialog to load. + * @return The ID of the button that closed the dialog + */ + TInt ConstructAndRunLD( TInt aResourceId ); + + + public: // From MEikListBoxObserver + + /** + * Handles list box events. + * @param aListBox The originating list box. + * @param aEventType A code for the event. + */ + void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType ); + + + protected: + void PreLayoutDynInitL(); + TBool OkToExitL( TInt aButtonId ); + + private: + void InitializeSettingsL(); + void DrawSettingsListL(); + void ChangeTitleL( TBool aIsStarted ); + void ShowSettingPageL( TInt aCalledFromMenu ); + void ProcessCommandL( TInt aCommand ); + void SaveSettings(); + + void GetHelpContext( TCoeHelpContext& aContext ) const; + + /** + * Initialize menu pane. + * @param aResourceId Menu pane resource id. + * @param CEikMenuPane Menu pane. + */ + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + + private: + CEapGtcUiConnection* iConnection; + CEapGtcUiGtcData* iUiData; + CEapGtcUiDataConnection* iDataConnection; + CEapGtcSettingItemArray* iSettingArray; + CAknSettingStyleListBox* iSettingListBox; + CSettingsListBoxItemDrawer* iSettingListItemDrawer; + CAknNavigationControlContainer* iNaviPane; + CAknNavigationDecorator* iNaviDecorator; + HBufC* iPreviousText; + TInt* iButtonId; + + // Tells the status of UI construction. TRUE if UI construction is completed. + TBool iIsUIConstructionCompleted; + }; + +#endif // _EAPGTCUIVIEW_H_ + +// End of File \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/loc/eapgtcui.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/loc/eapgtcui.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,33 @@ +/* +* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-GTC authentication settings +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + + +//d:UI title for main view +//l:title_pane_t2/opt9 +//w: +//r:3.1 +// +#define qtn_wlan_eap_gtc_title "EAP-GTC settings" + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUi.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUi.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,139 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP GTC UI class +* +*/ + +/* +* %version: 15 % +*/ + +// INCLUDE FILES +#include +#include +#include +#include +#include +#include + +#include "EapGtcUi.h" +#include "EapGtcUiView.h" + + +// CONSTANTS +_LIT( KDriveZ, "z:" ); // ROM folder +_LIT( KResourceFileName, "eapgtcui.rsc"); + + +// CLASS DECLARATION +class TResourceFileCleanupItem + { + public: + CCoeEnv* iCoeEnv; + TInt iResourceFileOffset; + }; + + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CleanupResourceFile +// ----------------------------------------------------------------------------- +// +static void CleanupResourceFile( TAny* aObject ) + { + TResourceFileCleanupItem* item = + REINTERPRET_CAST( TResourceFileCleanupItem*,aObject ); + item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset ); + delete item; + } + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapGtcUi::CEapGtcUi +// ----------------------------------------------------------------------------- +// +CEapGtcUi::CEapGtcUi( CEapGtcUiConnection* aConnection ) +: iConnection( aConnection ) + { + } + + +// ----------------------------------------------------------------------------- +// CEapGtcUi::NewL +// ----------------------------------------------------------------------------- +// +CEapGtcUi* CEapGtcUi::NewL( CEapGtcUiConnection* aConnection ) + { + CEapGtcUi* self = new ( ELeave ) CEapGtcUi( aConnection ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CEapGtcUi::ConstructL +// ----------------------------------------------------------------------------- +// +void CEapGtcUi::ConstructL() + { + } + + +// ----------------------------------------------------------------------------- +// CEapGtcUi::~CEapGtcUi +// ----------------------------------------------------------------------------- +// +CEapGtcUi::~CEapGtcUi() + { + } + + +// ----------------------------------------------------------------------------- +// CEapGtcUi::InvokeUiL +// ----------------------------------------------------------------------------- +// +TInt CEapGtcUi::InvokeUiL() + { + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + CCoeEnv* coeEnv = CCoeEnv::Static(); + BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName ); + + TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem; + + item->iCoeEnv = coeEnv; + CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) ); + item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName ); + + TInt buttonId; + CEapGtcUiDialog* settingsDlg = new( ELeave ) CEapGtcUiDialog( iConnection, + buttonId ); + settingsDlg->ConstructAndRunLD( R_GTC_SETTING_DIALOG ); + + CleanupStack::PopAndDestroy(); // For resource file + + return buttonId; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUiSettingArray.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUiSettingArray.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,159 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of EAP GTC UI settings array +* +*/ + +/* +* %version: 11 % +*/ + +// INCLUDE FILES +#include "EapGtcUiSettingArray.h" +#include "EapGtcUi.hrh" +#include +#include + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapGtcSettingItemArray::CEapGtcSettingItemArray +// ----------------------------------------------------------------------------- +// +CEapGtcSettingItemArray::CEapGtcSettingItemArray() + { + } + + +// ----------------------------------------------------------------------------- +// CEapGtcSettingItemArray::NewL +// ----------------------------------------------------------------------------- +// +CEapGtcSettingItemArray* CEapGtcSettingItemArray::NewL() + { + CEapGtcSettingItemArray* self = new (ELeave) CEapGtcSettingItemArray(); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CEapGtcSettingItemArray::~CEapGtcSettingItemArray +// ----------------------------------------------------------------------------- +// +CEapGtcSettingItemArray::~CEapGtcSettingItemArray() + { + if( iArray ) + { + // ResetAndDestroy() + iArray->ResetAndDestroy(); + } + delete iArray; + iArray = NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapGtcSettingItemArray::Item +// ----------------------------------------------------------------------------- +// +CAknSettingItem* CEapGtcSettingItemArray::Item( TEapGtcUiSettingPageIds aId ) + { + for( TInt i = 0; i < iArray->Count(); i++ ) + { + if( iArray->At( i )->Identifier() == aId ) + { + return iArray->At( i ); + } + } + + __ASSERT_DEBUG( EFalse, User::Invariant() ); + return NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapGtcSettingItemArray::Array +// ----------------------------------------------------------------------------- +// +CAknSettingItemArray* CEapGtcSettingItemArray::Array() + { + return iArray; + } + + +// ----------------------------------------------------------------------------- +// CEapGtcSettingItemArray::StoreSettingsL +// ----------------------------------------------------------------------------- +// +void CEapGtcSettingItemArray::StoreSettingsL() + { + // Do what SettingItemList::StoreSettings would do. + for( TInt i(0); i < iArray->Count(); ++i ) + { + iArray->At(i)->StoreL(); + } + } + + +// ----------------------------------------------------------------------------- +// CEapGtcSettingItemArray::ConstructL +// ----------------------------------------------------------------------------- +// +void CEapGtcSettingItemArray::ConstructL() + { + iArray = new ( ELeave ) CAknSettingItemArray( 2, EFalse, 0 ); + } + + +// ----------------------------------------------------------------------------- +// CEapGtcSettingItemArray::AddTextItemL +// ----------------------------------------------------------------------------- +// +void CEapGtcSettingItemArray::AddTextItemL( TDes& aBuffer, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal) + { + // Create new setting item + CAknTextSettingItem* settingItem = new ( ELeave ) CAknTextSettingItem( aId, + aBuffer ); + CleanupStack::PushL( settingItem ); + settingItem->SetEmptyItemTextL( KNullDesC ); + settingItem->SetSettingPageFlags( + CAknTextSettingPage::EZeroLengthAllowed ); + + // Construct setting item with parametrized values + HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( + aTitleResource ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResource, EAknCtPopupSettingList, + NULL, aAssociatedResource ); + + // Append item to settingitem-array + iArray->InsertL( aOrdinal, settingItem ); + + CleanupStack::PopAndDestroy( itemTitle ); + + // Items are destroyed in destructor when resetting array + CleanupStack::Pop( settingItem ); + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUiView.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUiView.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,457 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP GTC UI settings dialog +* +*/ + +/* +* %version: 28 % +*/ + +// INCLUDE FILES +#include +#include +#include +#include +#include +#include +#include +#include // TEMPORARY, for info message... +#include +#include +#include + +#include "EapGtcUiView.h" +#include "EapGtcUi.hrh" +#include "EapGtcUiSettingArray.h" + +#include +#include +#include + + +// CONSTANTS +// UID of general settings app, in which help texts are included +const TUid KHelpUidPlugin = { 0x100058EC }; + +_LIT( KEmptyString, "" ); + +// MODULE DATA STRUCTURES +enum + { + EUsernameItem = 0 + }; + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapGtcUiDialog::CEapGtcUiDialog +// ----------------------------------------------------------------------------- +// +CEapGtcUiDialog::CEapGtcUiDialog( CEapGtcUiConnection* aConnection, + TInt& aButtonId ) +: CAknDialog(), + iConnection( aConnection ), + iDataConnection( 0 ), + iSettingArray( 0 ), + iSettingListBox( 0 ), + iSettingListItemDrawer( 0 ), + iNaviPane( 0 ), + iNaviDecorator( 0 ), + iPreviousText( 0 ), + iButtonId( &aButtonId ), + iIsUIConstructionCompleted( EFalse ) + { + } + + +// --------------------------------------------------------- +// CEapGtcUiDialog::ConstructAndRunLD +// --------------------------------------------------------- +// +TInt CEapGtcUiDialog::ConstructAndRunLD( TInt aResourceId ) + { + CleanupStack::PushL( this ); + iSettingArray = CEapGtcSettingItemArray::NewL(); + + User::LeaveIfError( iConnection->Connect() ); + + iDataConnection = iConnection->GetDataConnection(); + if ( iDataConnection == 0 ) + { + User::Leave( KErrNoMemory ); + } + User::LeaveIfError( iDataConnection->Open() ); + User::LeaveIfError( iDataConnection->GetData( &iUiData ) ); + + FeatureManager::InitializeLibL(); + + ConstructL( R_GTC_MENUBAR ); + + // ExecuteLD will PushL( this ), so we have to Pop it... + CleanupStack::Pop( this ); // this + + return CAknDialog::ExecuteLD( aResourceId ); + } + + +// ----------------------------------------------------------------------------- +// CEapGtcUiDialog::~CEapGtcUiDialog +// ----------------------------------------------------------------------------- +// +CEapGtcUiDialog::~CEapGtcUiDialog() + { + if ( iNaviDecorator ) + { + delete iNaviDecorator; + iNaviDecorator = NULL; + } + + if ( iSettingArray ) + { + iSettingArray->Array()->ResetAndDestroy(); + delete iSettingArray; + } + + if ( iSettingListBox ) + { + iSettingListBox = 0; + } + + if ( iSettingListItemDrawer ) + { + iSettingListItemDrawer = 0; + } + + if ( iDataConnection ) + { + iDataConnection->Close(); + delete iDataConnection; + } + + if ( iConnection ) + { + iConnection->Close(); + } + + delete iPreviousText; + + FeatureManager::UnInitializeLib(); + } + +// --------------------------------------------------------- +// CEapGtcUiDialog::HandleListBoxEventL +// --------------------------------------------------------- +// +void CEapGtcUiDialog::HandleListBoxEventL( CEikListBox* /*aListBox*/, + TListBoxEvent aEventType ) + { + switch ( aEventType ) + { + case EEventEnterKeyPressed: + case EEventItemSingleClicked: + { + OkToExitL( EGtcUiCmdChange ); + break; + } + + case EEventItemActioned: + case EEventEditingStarted: + case EEventEditingStopped: + case EEventPenDownOnItem: + case EEventItemDraggingActioned: + { + break; + } + + default: + { + break; + }; + }; + } + + +// ----------------------------------------------------------------------------- +// CEapGtcUiDialog::PreLayoutDynInitL +// ----------------------------------------------------------------------------- +// +void CEapGtcUiDialog::PreLayoutDynInitL() + { + TUid naviPaneUid; + naviPaneUid.iUid = EEikStatusPaneUidNavi; + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( naviPaneUid ); + + if ( subPane.IsPresent() && subPane.IsAppOwned() ) + { + iNaviPane = static_cast( + statusPane->ControlL( naviPaneUid ) ); + + // Set empty text to hide tabs. + iNaviDecorator = iNaviPane->CreateNavigationLabelL( KEmptyString ); + iNaviPane->PushL( *iNaviDecorator ); + } + + // Change title + ChangeTitleL( ETrue ); + + iSettingListBox = static_cast( + ControlOrNull( EGtcSettingsListBox ) ); + iSettingListItemDrawer = static_cast( + iSettingListBox->ItemDrawer() ); + iSettingListBox->SetMopParent( this ); + iSettingListBox->CreateScrollBarFrameL( ETrue ); + iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( + CEikScrollBarFrame::EOff, + CEikScrollBarFrame::EAuto ); + iSettingListBox->SetListBoxObserver( this ); + DrawSettingsListL(); + + iIsUIConstructionCompleted = ETrue; + } + + +// ----------------------------------------------------------------------------- +// CEapGtcUiDialog::ShowSettingPageL +// ----------------------------------------------------------------------------- +// +void CEapGtcUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) + { + TInt index = iSettingListBox->CurrentItemIndex(); + CAknSettingItem* item = iSettingArray->Array()->At( index ); + item->EditItemL( aCalledFromMenu ); + item->StoreL(); + DrawSettingsListL(); + } + + +// ----------------------------------------------------------------------------- +// CEapGtcUiDialog::OkToExitL +// ----------------------------------------------------------------------------- +// +TBool CEapGtcUiDialog::OkToExitL( TInt aButtonId ) + { + TBool ret( EFalse ); + switch ( aButtonId ) + { + case EEikBidOk: + { + if( iIsUIConstructionCompleted ) + { + if ( iSettingListBox->IsFocused() ) + { + ShowSettingPageL( EFalse ); + } + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapGtcUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + case EAknSoftkeyOptions: + { + DisplayMenuL(); + break; + } + + case EAknSoftkeyBack: + case EAknCmdExit: + { + if( iIsUIConstructionCompleted ) + { + iDataConnection->Update(); + ChangeTitleL( EFalse ); + ret = ETrue; + } + break; + } + + case EGtcUiCmdChange: + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( EFalse ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapGtcUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + default: + { + break; + } + } + + if ( ret ) + { + *iButtonId = aButtonId; + } + + return ret; + } + + +// ----------------------------------------------------------------------------- +// CEapGtcUiDialog::DrawSettingsListL +// ----------------------------------------------------------------------------- +// +void CEapGtcUiDialog::DrawSettingsListL() + { + iSettingArray->Array()->ResetAndDestroy(); + TInt ordinal = 0; + iSettingArray->AddTextItemL( iUiData->GetIdentity(), + EGtcSettingPageUsername, + R_GTC_USERNAME_STRING, + R_GTC_USERNAME_PAGE, + NULL, + ordinal++ ); + + iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() ); + iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); + iSettingArray->Array()->RecalculateVisibleIndicesL(); + iSettingListBox->HandleItemAdditionL(); + iSettingListBox->UpdateScrollBarsL(); + } + + +// ----------------------------------------------------------------------------- +// CEapGtcUiDialog::ChangeTitleL +// ----------------------------------------------------------------------------- +// +void CEapGtcUiDialog::ChangeTitleL( TBool aIsStarted ) + { + TUid titlePaneUid; + titlePaneUid.iUid = EEikStatusPaneUidTitle; + + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( titlePaneUid ); + + if (subPane.IsPresent()&&subPane.IsAppOwned()) + { + CAknTitlePane* titlePane = static_cast( + statusPane->ControlL( titlePaneUid ) ); + if ( aIsStarted ) + { + // Store previous application title text + const TDesC* prevText = titlePane->Text(); + iPreviousText = HBufC::NewL( prevText->Length() ); + iPreviousText->Des().Append( *prevText ); + TDesC* titleText = iEikonEnv->AllocReadResourceLC( + R_GTC_SETTINGS_TITLE ); + titlePane->SetTextL( *titleText ); + CleanupStack::PopAndDestroy( titleText ); + } + else + { + // Set calling application title text back + titlePane->SetTextL( *iPreviousText ); + iNaviPane->Pop( iNaviDecorator ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapGtcUiDialog::DynInitMenuPaneL +// ----------------------------------------------------------------------------- +// +void CEapGtcUiDialog::DynInitMenuPaneL( TInt aResourceId, + CEikMenuPane* aMenuPane ) + { + CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane ); + + if ( aResourceId == R_GTC_MENU_PANE ) + { + if ( aMenuPane && !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) + { + aMenuPane->DeleteMenuItem( EAknCmdHelp ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapGtcUiDialog::ProcessCommandL +// ----------------------------------------------------------------------------- +// +void CEapGtcUiDialog::ProcessCommandL( TInt aCommand ) + { + if ( MenuShowing() ) + { + HideMenu(); + } + + switch( aCommand ) + { + case EAknCmdExit: + { + TryExitL( aCommand ); + break; + } + + case EAknCmdHelp: + { + HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), + iEikonEnv->EikAppUi()->AppHelpContextL() ); + break; + } + + case EGtcUiCmdChange: + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( ETrue ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapGtcUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + default: + { + break; + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapGtcUiDialog::GetHelpContext +// ----------------------------------------------------------------------------- +// +void CEapGtcUiDialog::GetHelpContext( TCoeHelpContext& aContext ) const + { + aContext.iMajor = KHelpUidPlugin; + aContext.iContext = KSET_HLP_WLAN_EAP_GTC; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/data/GtcNotifDlgUi.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/data/GtcNotifDlgUi.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,126 @@ +/* +* Copyright (c) 2001-2009 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: Resorce file of GtcNotif. +* +*/ + +/* +* %version: 16 % +*/ + +// RESOURCE IDENTIFIER +NAME EGTC + + +// INCLUDES +#include +#include + +#include +#include +#include + +#include +#include + +#include + + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + + +RESOURCE CBA r_gtcnotif_softkeys_ok_cancel_select + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_ok; }, + CBA_BUTTON { id = EAknSoftkeyCancel; txt = text_softkey_cancel; }, + CBA_BUTTON { id = EAknSoftkeyOk; txt = qtn_msk_select; } + }; + } + + +RESOURCE DIALOG r_gtc_password_query + { + flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | + EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc; + buttons = r_gtcnotif_softkeys_ok_cancel_select; + items = + { + DLG_LINE + { + type = EAknCtQuery; + id = EGeneralQuery; + control= AVKON_DATA_QUERY + { + layout = ECodeLayout; + label = ""; + control = SECRETED + { + num_letters = 255; + }; + }; + } + }; + } + + +RESOURCE CBA r_gtcnotif_softkeys_ok___select + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_ok; }, + CBA_BUTTON { }, + CBA_BUTTON { id = EAknSoftkeyOk; txt = qtn_msk_select; } + }; + } + + +RESOURCE DIALOG r_message_query + { + flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | + EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc; + buttons = r_gtcnotif_softkeys_ok___select; + items = + { + DLG_LINE + { + type = EAknCtPopupHeadingPane; + id = EAknMessageQueryHeaderId; + control = AVKON_HEADING + { + label = qtn_wlan_eap_gtc_notif_message; + }; + }, + + DLG_LINE + { + type = EAknCtMessageQuery; + id = EAknMessageQueryContentId; + control = AVKON_MESSAGE_QUERY + { + }; + } + }; + } + + +RESOURCE TBUF r_gtc_response { buf = qtn_wlan_eap_gtc_notif_response; } +RESOURCE TBUF r_gtc_message { buf = qtn_wlan_eap_gtc_notif_message; } +RESOURCE TBUF r_gtc_username { buf = qtn_wlan_eap_gtc_notif_username; } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GTCMessageDisplayDialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GTCMessageDisplayDialog.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,49 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of Gtc Message Display Dialog +* +*/ + +/* +* %version: tr1cfwln#11 % +*/ + +#ifndef __GTCMESSAGEDISPLAYDIALOG_H__ +#define __GTCMESSAGEDISPLAYDIALOG_H__ + +// INCLUDES +#include + + +class CGTCMessageDisplayDialog : public CAknMessageQueryDialog + { + public: + static CGTCMessageDisplayDialog* NewL( const TDesC& aMessage, + CGtcDialogPlugin* aPlugin ); + ~CGTCMessageDisplayDialog(); + + private: + CGTCMessageDisplayDialog( CGtcDialogPlugin* aPlugin ); + + virtual TBool OkToExitL( TInt aButtonId ); + void HandleResourceChange( TInt aType ); + + private: + CGtcDialogPlugin* iPlugin; // Pointer to the notifier plugin + }; + +#endif // __GTCMESSAGEDISPLAYDIALOG_H__ + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GTCResponseQueryDialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GTCResponseQueryDialog.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,49 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of Gtc Response Query Dialog +* +*/ + +/* +* %version: tr1cfwln#11 % +*/ + +#ifndef __GTCRESPONSEQUERYDIALOG_H__ +#define __GTCRESPONSEQUERYDIALOG_H__ + +// INCLUDES +#include + + +class CGTCResponseQueryDialog : public CAknTextQueryDialog + { + public: + static CGTCResponseQueryDialog* NewL( TDes& aResponse, + CGtcDialogPlugin* aPlugin ); + ~CGTCResponseQueryDialog(); + + private: + CGTCResponseQueryDialog( TDes& aResponse, CGtcDialogPlugin* aPlugin ); + + virtual TBool OkToExitL( TInt aButtonId ); + void HandleResourceChange( TInt aType ); + + private: + CGtcDialogPlugin* iPlugin; // Pointer to the notifier plugin + }; + + +#endif // __GTCMESSAGEDISPLAYDIALOG_H__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GtcNotifDlgPlugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GtcNotifDlgPlugin.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,131 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of GtcNotifDlg Dialog Plugins +* +*/ + +/* +* %version: 11.1.7 % +*/ + +#ifndef __GTCNOTIFDLGPLUGIN_H__ +#define __GTCNOTIFDLGPLUGIN_H__ + + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +// CONSTANTS + +// UIDs for dialogs + +// ID of GTC username & password dialog +const TUid KUidGtcDialog = { 0x101f8e7f }; + +// Channel used for screen +const TUid KScreenOutputChannel = { 0x00000123 }; + +// Number of dialogs in this plugin +const TInt KPluginGranularity = 1; + +// ROM folder +_LIT( KDriveZ, "z:" ); + +// RSC file name. +_LIT( KResourceFileName, "GtcNotifDlgUi.rsc" ); + + +// GLOBAL FUNCTIONS +// + +/** +* Array of connection dialog plugins. +* @return A CArray of MEikSrvNotifierBase2 based classes. +*/ +IMPORT_C CArrayPtr< MEikSrvNotifierBase2 >* NotifierArray(); + + +// CLASS DECLARATION + +class CGTCResponseQueryDialog; +class CGTCMessageDisplayDialog; + + +struct TEapGtcUsernamePasswordInfo + { + TBool iIsFirstQuery; + TBuf16<128> iIdentity; + TBuf16<256> iPasscode; + TPassword iPincode; + }; + + +/** + * Gtc dialog plugin class + */ +class CGtcDialogPlugin : public CBase, + public MEikSrvNotifierBase2 + { + public: + static CGtcDialogPlugin* NewL(); + + ~CGtcDialogPlugin(); + + TNotifierInfo RegisterL(); + TNotifierInfo Info() const; + + TPtrC8 StartL( const TDesC8& aBuffer ); + void StartL( const TDesC8& aBuffer, TInt aReplySlot, + const RMessagePtr2& aMessage ); + + TPtrC8 UpdateL( const TDesC8& aBuffer ); + void Cancel(); + void CompleteL( TInt aStatus ); + void Release(); + void CompleteMessageDisplayL( TInt aStatus ); + + protected: + CGtcDialogPlugin(); + + void ConstructL(); + + protected: + TNotifierInfo iInfo; // Notifier info + RMessagePtr2 iMessage; // Message + TInt iReplySlot; // Reply slot + TBool iCancelled; // ETrue if dialog cancelled. For Query dialog. + TBool iGtcMessageCancelled; // ETrue if message dialog is cancelled. + + private: + CGTCResponseQueryDialog* iGTCResponseQueryDlg; + CGTCMessageDisplayDialog* iGTCMessageDisplayDlg; + + TEapGtcUsernamePasswordInfo* iDataPtr; + TPckg* iDataPckgPtr; + TInt iResource; // Resource + }; + + +#endif // __GTCNOTIFDLGPLUGIN_H__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/loc/gtcnotifdlg.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/loc/gtcnotifdlg.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,49 @@ +/* +* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-GTC Notifier +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + + +//d:Message in query used to send GTC output. +//l:popup_query_code_window +//w: +//r:3.1 +// +#define qtn_wlan_eap_gtc_notif_response "EAP-GTC response:" + + +//d:Title of the message query. +//l:heading_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_gtc_notif_message "EAP-GTC message:" + + +//d:Username query string +//l:popup_query_code_window +//w: +//r:3.1 +// +#define qtn_wlan_eap_gtc_notif_username "EAP-GTC user name:" + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GTCMessageDisplayDialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GTCMessageDisplayDialog.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,106 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of Gtc Message Display Dialog. +* +*/ + +/* +* %version: tr1cfwln#13 % +*/ + +// INCLUDE FILES +#include "GtcNotifDlgPlugin.h" +#include "GTCMessageDisplayDialog.h" + + +// ----------------------------------------------------------------------------- +// CGTCMessageDisplayDialog::CGTCMessageDisplayDialog +// ----------------------------------------------------------------------------- +// +CGTCMessageDisplayDialog::CGTCMessageDisplayDialog( CGtcDialogPlugin* aPlugin ) +: CAknMessageQueryDialog( ENoTone ), + iPlugin( aPlugin ) + { + } + + +// ----------------------------------------------------------------------------- +// CGTCMessageDisplayDialog::~CGTCMessageDisplayDialog +// ----------------------------------------------------------------------------- +// +CGTCMessageDisplayDialog::~CGTCMessageDisplayDialog() + { + } + + +// ----------------------------------------------------------------------------- +// CGTCMessageDisplayDialog::NewL +// ----------------------------------------------------------------------------- +// +CGTCMessageDisplayDialog* CGTCMessageDisplayDialog::NewL( const TDesC& aMessage, + CGtcDialogPlugin* aPlugin ) + { + CGTCMessageDisplayDialog* self = new( ELeave ) CGTCMessageDisplayDialog( + aPlugin ); + + CleanupStack::PushL( self ); + if ( aMessage.Length() ) + { + self->SetMessageTextL( aMessage ); + } + + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CGTCMessageDisplayDialog::OkToExitL +// ----------------------------------------------------------------------------- +// +TBool CGTCMessageDisplayDialog::OkToExitL( TInt aButtonId ) + { + if ( CAknMessageQueryDialog::OkToExitL( aButtonId ) ) + { + if ( aButtonId == EAknSoftkeyOk ) + { + iPlugin->CompleteMessageDisplayL( KErrNone ); + } + else + { + // Some cancel. + iPlugin->CompleteMessageDisplayL( KErrCancel ); + } + + return( ETrue ); + } + + return( EFalse ); + } + + +// ----------------------------------------------------------------------------- +// CGTCMessageDisplayDialog::HandleResourceChange +// ----------------------------------------------------------------------------- +// +void CGTCMessageDisplayDialog::HandleResourceChange( TInt aType ) + { + CAknMessageQueryDialog::HandleResourceChange( aType ); + if ( aType == KAknsMessageSkinChange ) + { + } + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GTCResponseQueryDialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GTCResponseQueryDialog.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,100 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of Gtc Response Query Dialog. +* +*/ + +/* +* %version: tr1cfwln#11 % +*/ + +// INCLUDE FILES +#include "GtcNotifDlgPlugin.h" +#include "GTCResponseQueryDialog.h" + + +// ----------------------------------------------------------------------------- +// CGTCResponseQueryDialog::CGTCResponseQueryDialog +// ----------------------------------------------------------------------------- +// +CGTCResponseQueryDialog::CGTCResponseQueryDialog( TDes& aResponse, + CGtcDialogPlugin* aPlugin ) +: CAknTextQueryDialog( aResponse ), + iPlugin( aPlugin ) + { + } + + +// ----------------------------------------------------------------------------- +// CGTCResponseQueryDialog::~CGTCResponseQueryDialog +// ----------------------------------------------------------------------------- +// +CGTCResponseQueryDialog::~CGTCResponseQueryDialog() + { + } + + +// ----------------------------------------------------------------------------- +// CGTCResponseQueryDialog::NewL +// ----------------------------------------------------------------------------- +// +CGTCResponseQueryDialog* CGTCResponseQueryDialog::NewL( TDes& aResponse, + CGtcDialogPlugin* aPlugin ) + { + CGTCResponseQueryDialog* self = new( ELeave ) CGTCResponseQueryDialog( + aResponse, aPlugin ); + return self; +} + + +// ----------------------------------------------------------------------------- +// CGTCResponseQueryDialog::OkToExitL +// ----------------------------------------------------------------------------- +// +TBool CGTCResponseQueryDialog::OkToExitL( TInt aButtonId ) + { + if ( CAknTextQueryDialog::OkToExitL( aButtonId ) ) + { + // This will be the case always since there is no "cancel" in this dialog. + if ( aButtonId==EAknSoftkeyOk ) + { + iPlugin->CompleteL( KErrNone ); + } + else + { + // Everything else is for cancel. + iPlugin->CompleteL( KErrCancel ); + } + + return( ETrue ); + } + + return( EFalse ); + } + + +// ----------------------------------------------------------------------------- +// CGTCResponseQueryDialog::HandleResourceChange +// ----------------------------------------------------------------------------- +// +void CGTCResponseQueryDialog::HandleResourceChange( TInt aType ) + { + CAknTextQueryDialog::HandleResourceChange( aType ); + if ( aType == KAknsMessageSkinChange ) + { + } + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GtcNotifDlgPlugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GtcNotifDlgPlugin.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,403 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of GtcNotif dialog plugin. +* +*/ + +/* +* %version: 12.1.9 % +*/ + +// INCLUDE FILES +#include +#include +#include +#include +#include +#include +#include + +#include // For RProperty +#include // For KPSUidUikon and KUikGlobalNotesAllowed. + +#include "GtcNotifDlgPlugin.h" +#include "GTCResponseQueryDialog.h" +#include "GTCMessageDisplayDialog.h" + + +// CONSTANTS +static const TInt KMaxLengthOfGtcResponse = 256; + +// Ratio between ascii and unicode character sizes +static const TUint KAsciiUnicodeRatio = 2; + + + +// ================= OTHER EXPORTED FUNCTIONS ============== + +// ----------------------------------------------------------------------------- +// CreateNotifiersL +// ----------------------------------------------------------------------------- +// +LOCAL_C void CreateNotifiersL( + CArrayPtrFlat< MEikSrvNotifierBase2 >* aNotifiers ) + { + MEikSrvNotifierBase2 *serNotify; + + serNotify = CGtcDialogPlugin::NewL(); + CleanupStack::PushL( serNotify ); + aNotifiers->AppendL( serNotify ); + CleanupStack::Pop( serNotify ); + } + + +// ----------------------------------------------------------------------------- +// NotifierArray +// ----------------------------------------------------------------------------- +// +EXPORT_C CArrayPtr< MEikSrvNotifierBase2 >* NotifierArray() + { + // NotifierArray() can't leave + CArrayPtrFlat< MEikSrvNotifierBase2 >* array = + new CArrayPtrFlat< MEikSrvNotifierBase2 >( KPluginGranularity ); + + if ( array ) + { + TRAPD( err, CreateNotifiersL( array ) ); + + if( err ) + { + TInt count = array->Count(); + + while( count-- ) + { + ( *array )[ count ]->Release(); + } + + delete array; + array = NULL; + } + } + + return( array ); + } + + +////////////////////////////////////////////////////////////// +// Gtc dialog plugin +///////////////////////////////////////////////////////////// + +// ----------------------------------------------------------------------------- +// CGtcDialogPlugin::CGtcDialogPlugin +// ----------------------------------------------------------------------------- +// +CGtcDialogPlugin::CGtcDialogPlugin() +: iCancelled( EFalse ), + iGtcMessageCancelled( EFalse ) + { + iManager = NULL; + } + + +// ----------------------------------------------------------------------------- +// CGtcDialogPlugin::~CGtcDialogPlugin +// ----------------------------------------------------------------------------- +// +CGtcDialogPlugin::~CGtcDialogPlugin() + { + CCoeEnv::Static()->DeleteResourceFile( iResource ); + + if ( !iGtcMessageCancelled ) + { + delete iGTCMessageDisplayDlg; + } + + if ( !iCancelled ) + { + delete iGTCResponseQueryDlg; + } + } + + + +// ----------------------------------------------------------------------------- +// CGtcDialogPlugin::RegisterL +// ----------------------------------------------------------------------------- +// +CGtcDialogPlugin::TNotifierInfo CGtcDialogPlugin::RegisterL() + { + iInfo.iUid = KUidGtcDialog; + iInfo.iPriority = ENotifierPriorityHigh; + iInfo.iChannel = KUidGtcDialog; + return iInfo; + } + + +// ----------------------------------------------------------------------------- +// CGtcDialogPlugin::NewL +// ----------------------------------------------------------------------------- +// +CGtcDialogPlugin* CGtcDialogPlugin::NewL() + { + CGtcDialogPlugin* self = new ( ELeave ) CGtcDialogPlugin(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CGtcDialogPlugin::ConstructL +// ----------------------------------------------------------------------------- +// +void CGtcDialogPlugin::ConstructL() + { + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), fileName ); + iResource = CCoeEnv::Static()->AddResourceFileL( fileName ); + } + + +// ----------------------------------------------------------------------------- +// CGtcDialogPlugin::StartL +// ----------------------------------------------------------------------------- +// +TPtrC8 CGtcDialogPlugin::StartL( const TDesC8& /*aBuffer*/ ) + { + return KNullDesC8().Ptr(); + } + + +// ----------------------------------------------------------------------------- +// CGtcDialogPlugin::StartL +// ----------------------------------------------------------------------------- +// +void CGtcDialogPlugin::StartL( const TDesC8& aBuffer, + TInt aReplySlot, + const RMessagePtr2& aMessage ) + { + iCancelled = EFalse; + iReplySlot = aReplySlot; + iMessage = aMessage; + + // This object gets constructed only once where as this gets called many + // times, if user is not answering the query. + // So initialize everything here itself. + iGTCResponseQueryDlg = NULL; + iGTCMessageDisplayDlg = NULL; + iDataPtr = NULL; + iDataPckgPtr = NULL; + iGtcMessageCancelled = EFalse; + + // We are about to display the password prompt. + // Since this part of the code can be executed during the bootup, check if + // the UI has really started up to display notes/dialogs. + TInt notesAllowed = 0; + TInt error = RProperty::Get( KPSUidUikon, KUikGlobalNotesAllowed, + notesAllowed ); + + // The above call can return error. Don't care the error. What we care is + // if notesAllowed has turned to 1 from 0. + if ( notesAllowed ) + { + // Display EAP-GTC message if there's one... + if ( aBuffer.Length() != 0 ) + { + HBufC16* buffer = HBufC16::NewLC( aBuffer.Size() / + KAsciiUnicodeRatio ); + TPtr16 text = buffer->Des(); + text.Copy( reinterpret_cast( const_cast ( + aBuffer.Ptr() ) ), aBuffer.Size() / + KAsciiUnicodeRatio ); + + iGTCMessageDisplayDlg = CGTCMessageDisplayDialog::NewL( text, + this ); + iGTCMessageDisplayDlg->ExecuteLD( R_MESSAGE_QUERY ); + + // Do not set iGTCMessageDisplayDlg to NULL here, because then + // a timeout cancel will cause a crash. Prevent double deletion + // by checking iGtcMessageCancelled in the destructor. + + CleanupStack::PopAndDestroy( buffer ); + } + else + { + // Show the data query directly since there is no message to display. + CompleteMessageDisplayL( KErrNone ); + } + } + + // In case if the notes are not allowed, this message gets completed when + // EAPOL time out occurs and a subsequent call to cancel from + // eap_am_type_securid_symbian_c::DoCancel(). + + } + + +// ----------------------------------------------------------------------------- +// CGtcDialogPlugin::UpdateL +// ----------------------------------------------------------------------------- +// +TPtrC8 CGtcDialogPlugin::UpdateL( const TDesC8& /*aBuffer*/ ) + { + return KNullDesC8().Ptr(); + } + + +// ----------------------------------------------------------------------------- +// CGtcDialogPlugin::Cancel +// ----------------------------------------------------------------------------- +// +void CGtcDialogPlugin::Cancel() + { + if ( !iCancelled ) + { + iCancelled = ETrue; + + if ( !iMessage.IsNull() ) + { + iMessage.Complete( KErrCancel ); + } + + if ( iGTCResponseQueryDlg ) + { + delete iGTCResponseQueryDlg; + iGTCResponseQueryDlg = NULL; + } + + if ( !iGtcMessageCancelled && iGTCMessageDisplayDlg ) + { + iGtcMessageCancelled = ETrue; + delete iGTCMessageDisplayDlg; + iGTCMessageDisplayDlg = NULL; + } + } + + if( iDataPtr ) + { + delete iDataPtr; + iDataPtr = NULL; + } + + if( iDataPckgPtr ) + { + delete iDataPckgPtr; + iDataPckgPtr = NULL; + } + } + + +// ----------------------------------------------------------------------------- +// CGtcDialogPlugin::CompleteL +// ----------------------------------------------------------------------------- +// +void CGtcDialogPlugin::CompleteL( TInt aStatus ) + { + if ( aStatus == KErrNone && !iMessage.IsNull() ) + { + iMessage.WriteL( iReplySlot, *iDataPckgPtr); + } + + iCancelled = ETrue; + + if ( !iMessage.IsNull() ) + { + iMessage.Complete( aStatus ); + } + + if( iDataPtr ) + { + delete iDataPtr; + iDataPtr = NULL; + } + + if( iDataPckgPtr ) + { + delete iDataPckgPtr; + iDataPckgPtr = NULL; + } + } + + +// ----------------------------------------------------------------------------- +// CGtcDialogPlugin::Release +// ----------------------------------------------------------------------------- +// +void CGtcDialogPlugin::Release() + { + delete this; + } + + +// ----------------------------------------------------------------------------- +// CGtcDialogPlugin::Info +// ----------------------------------------------------------------------------- +// +CGtcDialogPlugin::TNotifierInfo CGtcDialogPlugin::Info() const + { + return iInfo; + } + + +// ----------------------------------------------------------------------------- +// CGtcDialogPlugin::CompleteMessageDisplayL +// ----------------------------------------------------------------------------- +// +void CGtcDialogPlugin::CompleteMessageDisplayL( TInt aStatus ) + { + iGtcMessageCancelled = ETrue; + + if ( aStatus == KErrNone ) + { + // Now user has acknowledged the GTC message. + // Show the response query to enter the password. + + iDataPtr = new( ELeave ) TEapGtcUsernamePasswordInfo; + iDataPckgPtr = new( ELeave ) TPckg( + *iDataPtr ); + + TBuf16 response; + + iGTCResponseQueryDlg = CGTCResponseQueryDialog::NewL( + iDataPtr->iPasscode, this ); + + HBufC* text = StringLoader::LoadLC( R_GTC_RESPONSE ); + iGTCResponseQueryDlg->SetPromptL( *text ); + CleanupStack::PopAndDestroy( text ); + + iGTCResponseQueryDlg->ExecuteLD( R_GTC_PASSWORD_QUERY); + + // Do not set iGTCResponseQueryDlg to NULL here, because then + // a timeout cancel will cause a crash. Prevent double deletion + // by checking iCancelled in the destructor. + } + else + { + // User probably cancelled the message, some how. + // Can not continue to show the password query. + if ( !iMessage.IsNull() ) + { + iMessage.Complete( aStatus ); + } + } + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/data/EapMschapv2Ui.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/data/EapMschapv2Ui.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,212 @@ +/* +* Copyright (c) 2001-2009 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 MsChapv2 UI resource file +* +*/ + +/* +* %version: 16 % +*/ + +CHARACTER_SET UTF8 + +// RESOURCE IDENTIFIER +NAME EPLM + + +// INCLUDES +#include +#include "EapMschapv2Ui.hrh" // Enums for these resources +#include // Localisation file +#include +#include +#include +#include +#include +#include + + +// CONSTANTS +#define KUsernameMaxNameLength 255 + + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + + +RESOURCE TBUF16 { buf = ""; } + +RESOURCE CBA r_mschap_ui_softkeys_options_back_edit + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = EMschapv2UiCmdChange; txt = qtn_msk_change; } + }; + } + +RESOURCE DIALOG r_mschapv2_setting_dialog + { + flags = EAknDialogSelectionList | EEikDialogFlagWait; + buttons = r_mschap_ui_softkeys_options_back_edit; + items = + { + DLG_LINE + { + id = EMschapv2SettingsListBox; + type = EAknCtSettingListBox; + control = LISTBOX + { + flags = EAknListBoxMenuList; + }; + } + }; + } + + +RESOURCE AVKON_SETTING_PAGE r_mschapv2_username_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_username; + type = EEikCtEdwin; + editor_resource_id = r_mschapv2_setting_edwin; + } + + +RESOURCE AVKON_SETTING_PAGE r_mschapv2_password_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_password; + type = EEikCtSecretEd; + editor_resource_id = r_mschapv2_setting_password; + } + + +RESOURCE SECRETED r_mschapv2_setting_password + { + num_letters = KUsernameMaxNameLength; + } + + +RESOURCE EDWIN r_mschapv2_setting_edwin + { + width = 9; + lines = 5; + maxlength=KUsernameMaxNameLength; + allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode; + default_input_mode = EAknEditorTextInputMode; + flags = EEikEdwinAutoSelection | EEikEdwinNoLineOrParaBreaks; + } + + +RESOURCE MENU_BAR r_mschapv2_menubar + { + titles = + { + MENU_TITLE { menu_pane = r_mschapv2_menu_pane; txt = ""; } + }; + } + + +RESOURCE MENU_PANE r_mschapv2_menu_pane + { + items = + { + MENU_ITEM + { + command = EMschapv2UiCmdChange; + txt = qtn_options_change; + flags = EEikMenuItemAction; + }, + + MENU_ITEM + { + command = EAknCmdHelp; + txt = qtn_options_help; + }, + + MENU_ITEM + { + command = EAknCmdExit; + txt = qtn_options_exit; + } + }; + } + + +// Resource strings +RESOURCE TBUF r_mschapv2_settings_title { buf = qtn_wlan_eap_mschapv2_title; } +RESOURCE TBUF r_plain_mschapv2_settings_title { buf = qtn_wlan_eap_plain_mschapv2_title; } +RESOURCE TBUF r_mschapv2_username_string { buf = qtn_wlan_eap_sett_username; } +RESOURCE TBUF r_mschapv2_passprompt_string { buf = qtn_wlan_eap_sett_passprompt; } +RESOURCE TBUF r_mschapv2_password_string { buf = qtn_wlan_eap_sett_password; } +RESOURCE TBUF r_mschapv2_passprompt_on { buf = qtn_wlan_eap_sett_passprompt_on; } +RESOURCE TBUF r_mschapv2_passprompt_off { buf = qtn_wlan_eap_sett_passprompt_off; } + + + +RESOURCE AVKON_POPUP_SETTING_TEXTS r_mschapv2_yesno_texts + { + setting_texts_resource = r_mschapv2_yes_no_texts_resource; + popped_up_texts_resource = r_mschapv2_yes_no_array; + } + + +RESOURCE ARRAY r_mschapv2_yes_no_texts_resource + { + items= + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_passprompt_off; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_passprompt_on; + } + }; + } + + +RESOURCE ARRAY r_mschapv2_yes_no_array + { + items= + { + LBUF { txt = qtn_wlan_eap_sett_passprompt_off; }, + LBUF { txt = qtn_wlan_eap_sett_passprompt_on; } + }; + } + + +RESOURCE AVKON_SETTING_PAGE r_mschapv2_display_yesno_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_passprompt; + type = EAknCtPopupSettingList; + editor_resource_id = r_mschapv2_setting_enumerated_popup; + } + + +RESOURCE POPUP_SETTING_LIST r_mschapv2_setting_enumerated_popup + { + flags = EAknPopupSettingListFlagInitialised; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2Ui.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2Ui.hrh Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,58 @@ +/* +* Copyright (c) 2001-2009 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 Mschapv2 UI hrh file +* +*/ + +/* +* %version: % +*/ + +#ifndef _EAPMSCHAPV2UI_HRH_ +#define _EAPMSCHAPV2UI_HRH_ + +enum TEAPMschapv2UIMenuCommands + { + EMschapv2UiCmdUndefined = 6000, + EMschapv2UiCmdChange + }; + +enum TEAPMschapv2UINotes + { + EEAPMschapv2UIGeneralError = 6100 + }; + +enum TEapMschapv2IiLines + { + EMschapv2SettingsListBox = 6200 + }; + +enum TEapMschapv2SettingIds + { + EMschapv2SettingUsernameSettingId=6300, + EMschapv2SettingPassPromptSettingId, + EMschapv2SettingPasswordSettingId + }; + +enum TEapMschapv2SettingItemId + { + EMschapv2SettingPageUserName=6400, + EMschapv2SettingPagePasswordPrompt, + EMschapv2SettingPagePassword + }; + + +#endif //_EAPMSCHAPV2UI_HRH_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2UiSettingArray.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2UiSettingArray.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,72 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP MsChapv2 UI settings array +* +*/ + +/* +* %version: 12 % +*/ + +#ifndef _EAPMSCHAPV2UISETTINGARRAY_H_ +#define _EAPMSCHAPV2UISETTINGARRAY_H_ + +// INCLUDES +#include +#include "EapMschapv2Ui.hrh" + + +// CLASS DECLARATION + +/** +*/ +class CEapMsChapV2SettingItemArray : public CBase + { + public: + static CEapMsChapV2SettingItemArray* NewL(); + + virtual ~CEapMsChapV2SettingItemArray(); + + CAknSettingItem* Item( TEapMschapv2SettingItemId aItem ); + + CAknSettingItemArray* Array(); + + void StoreSettingsL(); + + void AddTextItemL( TDes& aBuffer, TInt aId, TInt aTitleResource, + TInt aSettingPageResource, TInt aAssociatedResource, + TInt aOrdinal); + + void AddPasswordItemL( TDes& aPassword, TInt aId, TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, TInt aOrdinal); + + void AddBinarySettingItemL( TInt aSettingPageResourceId, + TInt aTitleResourceId, + TInt aAssociatedResourceId, + TInt aOrdinal, + TBool& aModifiedValue); + + protected: + CEapMsChapV2SettingItemArray(); + void ConstructL(); + + private: + CAknSettingItemArray* iArray; + }; + +#endif // _EAPMSCHAPV2UISETTINGARRAY_H_ + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2UiView.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2UiView.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,116 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP MsChapv2 UI setting dialog +* +*/ + +/* +* %version: 16 % +*/ + +#ifndef _EAPMSCHAPV2UIVIEW_H_ +#define _EAPMSCHAPV2UIVIEW_H_ + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include "EapMschapv2Ui.hrh" + + +// FORWARD DECLARATIONS +class CAknSettingStyleListBox; +class CSettingsListBoxItemDrawer; +class CEapMsChapV2SettingItemArray; +class CEapMsChapV2UiConnection; +class CEapMsChapV2UiMsChapV2Data; +class CEapMsChapV2UiDataConnection; + + +// CLASS DECLARATION + +/** +* Settings dialog class definition +*/ +class CEapMsChapV2UiDialog : public CAknDialog, + public MEikListBoxObserver + { + public: + CEapMsChapV2UiDialog( CEapMsChapV2UiConnection* aConnection, + TInt& aButtonId ); + + ~CEapMsChapV2UiDialog(); + + /** + * Create and launch dialog. + * @param aResourceId The resource ID of the dialog to load. + * @return The ID of the button that closed the dialog + */ + TInt ConstructAndRunLD( TInt aResourceId ); + + + public: // From MEikListBoxObserver + + /** + * Handles list box events. + * @param aListBox The originating list box. + * @param aEventType A code for the event. + */ + void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType ); + + + protected: + void PreLayoutDynInitL(); + TBool OkToExitL( TInt aButtonId ); + + private: + void InitializeSettingsL(); + void DrawSettingsListL(); + void ChangeTitleL( TBool aIsStarted ); + void ShowSettingPageL( TInt aCalledFromMenu ); + void ProcessCommandL( TInt aCommand ); + void GetHelpContext( TCoeHelpContext& aContext ) const; + + /** + * Initialize menu pane. + * @param aResourceId Menu pane resource id. + * @param CEikMenuPane Menu pane. + */ + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + + private: + CEapMsChapV2UiConnection* iConnection; + CEapMsChapV2UiMsChapV2Data* iUiData; + CEapMsChapV2UiDataConnection* iDataConnection; + CEapMsChapV2SettingItemArray* iSettingArray; + CAknSettingStyleListBox* iSettingListBox; + CSettingsListBoxItemDrawer* iSettingListItemDrawer; + TBool iPassPrompt; + CAknNavigationControlContainer* iNaviPane; + CAknNavigationDecorator* iNaviDecorator; + HBufC* iPreviousText; + TInt* iButtonId; + + // Tells the status of UI construction. TRUE if UI construction is completed. + TBool iIsUIConstructionCompleted; + }; + + +#endif //_EAPMSCHAPV2UIVIEW_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/loc/eapmschapv2ui.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/loc/eapmschapv2ui.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,40 @@ +/* +* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-MsChapV2 authentication settings +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + + +//d:UI title for main view (EAP-MSCHAPv2) +//l:title_pane_t2/opt9 +//w: +//r:3.1 +// +#define qtn_wlan_eap_mschapv2_title "EAP-MSCHAPv2 settings" + +//d:UI title for main view (MSCHAPv2) +//l:title_pane_t2/opt9 +//w: +//r:3.1 +// +#define qtn_wlan_eap_plain_mschapv2_title "MSCHAPv2 settings" + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2Ui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2Ui.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,137 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP MsChapv2 UI class +* +*/ + +/* +* %version: 16 % +*/ + +// INCLUDE FILES +#include "EapMschapv2Ui.h" +#include +#include "EapMschapv2UiView.h" +#include +#include +#include +#include +#include + + +// CONSTANTS +_LIT( KDriveZ, "z:" ); // ROM folder +_LIT( KResourceFileName, "eapmschapv2ui.rsc" ); + + +// CLASS DECLARATION +class TResourceFileCleanupItem + { + public: + CCoeEnv* iCoeEnv; + TInt iResourceFileOffset; + }; + + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CleanupResourceFile +// ----------------------------------------------------------------------------- +// +static void CleanupResourceFile( TAny* aObject ) + { + TResourceFileCleanupItem* item = + REINTERPRET_CAST( TResourceFileCleanupItem*, aObject ); + item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset ); + delete item; + } + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapMsChapV2Ui::CEapMsChapV2Ui +// ----------------------------------------------------------------------------- +// +CEapMsChapV2Ui::CEapMsChapV2Ui( CEapMsChapV2UiConnection* aConnection ) +: iConnection( aConnection ) + { + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2Ui::NewL +// ----------------------------------------------------------------------------- +// +CEapMsChapV2Ui* CEapMsChapV2Ui::NewL( CEapMsChapV2UiConnection* aConnection ) + { + CEapMsChapV2Ui* self = new ( ELeave ) CEapMsChapV2Ui( aConnection ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2Ui::ConstructL +// ----------------------------------------------------------------------------- +// +void CEapMsChapV2Ui::ConstructL() + { + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2Ui::~CEapMsChapV2Ui +// ----------------------------------------------------------------------------- +// +CEapMsChapV2Ui::~CEapMsChapV2Ui() + { + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2Ui::InvokeUiL +// ----------------------------------------------------------------------------- +// +TInt CEapMsChapV2Ui::InvokeUiL() + { + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + CCoeEnv* coeEnv = CCoeEnv::Static(); + BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName ); + + TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem; + + item->iCoeEnv = coeEnv; + CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) ); + item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName ); + + TInt buttonId; + CEapMsChapV2UiDialog* settingsDlg = new( ELeave ) CEapMsChapV2UiDialog( + iConnection, buttonId ); + settingsDlg->ConstructAndRunLD( R_MSCHAPV2_SETTING_DIALOG ); + + CleanupStack::PopAndDestroy(); // For resource file + + return buttonId; + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2UiSettingArray.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2UiSettingArray.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,227 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of EAP MsChapv2 UI settings array +* +*/ + +/* +* %version: 14 % +*/ + +// INCLUDE FILES +#include "EapMschapv2UiSettingArray.h" +#include "EapMschapv2Ui.hrh" +#include +#include + +// CONSTANTS + +// String representing an empty password field on the UI +_LIT( KEmptyPassword, "****" ); + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapMsChapV2SettingItemArray::CEapMsChapV2SettingItemArray +// ----------------------------------------------------------------------------- +// +CEapMsChapV2SettingItemArray::CEapMsChapV2SettingItemArray() + { + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2SettingItemArray::NewL +// ----------------------------------------------------------------------------- +// +CEapMsChapV2SettingItemArray* CEapMsChapV2SettingItemArray::NewL() + { + CEapMsChapV2SettingItemArray* self = + new( ELeave ) CEapMsChapV2SettingItemArray(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2SettingItemArray::ConstructL +// ----------------------------------------------------------------------------- +// +void CEapMsChapV2SettingItemArray::ConstructL() + { + iArray = new( ELeave ) CAknSettingItemArray( 2, EFalse, 0 ); + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2SettingItemArray::~CEapMsChapV2SettingItemArray +// ----------------------------------------------------------------------------- +// +CEapMsChapV2SettingItemArray::~CEapMsChapV2SettingItemArray() + { + if( iArray ) + { + // ResetAndDestroy() + iArray->ResetAndDestroy(); + } + delete iArray; + iArray = NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2SettingItemArray::Item +// ----------------------------------------------------------------------------- +// +CAknSettingItem* CEapMsChapV2SettingItemArray::Item( + TEapMschapv2SettingItemId aId ) + { + for( TInt i = 0; i < iArray->Count(); i++ ) + { + if( iArray->At( i )->Identifier() == aId ) + { + return iArray->At( i ); + } + } + __ASSERT_DEBUG( EFalse, User::Invariant() ); + + return NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2SettingItemArray::Array +// ----------------------------------------------------------------------------- +// +CAknSettingItemArray* CEapMsChapV2SettingItemArray::Array() + { + return iArray; + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2SettingItemArray::StoreSettingsL +// ----------------------------------------------------------------------------- +// +void CEapMsChapV2SettingItemArray::StoreSettingsL() + { + // Do what SettingItemList::StoreSettings would do. + for( TInt i( 0 ); i < iArray->Count(); ++i ) + { + iArray->At( i )->StoreL(); + } + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2SettingItemArray::AddTextItemL +// ----------------------------------------------------------------------------- +// +void CEapMsChapV2SettingItemArray::AddTextItemL( TDes& aBuffer, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal) + { + // Create new setting item + CAknSettingItem* settingItem = + new( ELeave ) CAknTextSettingItem( aId, aBuffer ); + CleanupStack::PushL( settingItem ); + settingItem->SetEmptyItemTextL( KNullDesC ); + settingItem->SetSettingPageFlags( + CAknTextSettingPage::EZeroLengthAllowed ); + + // Construct setting item with parametrized values + HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( + aTitleResource ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResource, EAknCtPopupSettingList, + NULL, aAssociatedResource ); + + // Append item to settingitem-array + iArray->InsertL( aOrdinal, settingItem ); + + CleanupStack::PopAndDestroy( itemTitle ); + + // Items are destroyed in destructor when resetting array + CleanupStack::Pop( settingItem ); + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2SettingItemArray::AddPasswordItemL +// ----------------------------------------------------------------------------- +// +void CEapMsChapV2SettingItemArray::AddPasswordItemL( TDes& aPassword, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal) + { + // Create new setting item + CAknSettingItem* settingItem = new ( ELeave ) CAknPasswordSettingItem( aId, + CAknPasswordSettingItem::EAlpha, + aPassword ); + CleanupStack::PushL( settingItem ); + settingItem->SetEmptyItemTextL( KEmptyPassword ); + + // Construct setting item with parametrized values + HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( + aTitleResource ); + + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResource, EAknCtPopupSettingList, + NULL, aAssociatedResource ); + + // Append item to settingitem-array + iArray->InsertL( aOrdinal, settingItem ); + + CleanupStack::PopAndDestroy( itemTitle ); + CleanupStack::Pop( settingItem ); + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2SettingItemArray::AddBinarySettingItemL +// ----------------------------------------------------------------------------- +// +void CEapMsChapV2SettingItemArray::AddBinarySettingItemL( + TInt aSettingPageResourceId, + TInt aTitleResourceId, + TInt aAssociatedResourceId, + TInt aOrdinal, + TBool& aModifiedValue ) + { + CAknSettingItem* settingItem = + new( ELeave ) CAknBinaryPopupSettingItem( 0, aModifiedValue ); + CleanupStack::PushL( settingItem ); + + HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( + aTitleResourceId ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResourceId, EAknCtPopupSettingList, + NULL, aAssociatedResourceId ); + iArray->AppendL( settingItem ); + + CleanupStack::PopAndDestroy( itemTitle ); + CleanupStack::Pop( settingItem ); + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2UiView.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2UiView.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,518 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP Mschapv2 UI settings dialog +* +*/ + +/* +* %version: 29 % +*/ + +// INCLUDE FILES +#include +#include +#include +#include "EapMschapv2UiView.h" +#include "EapMschapv2Ui.hrh" +#include +#include +#include +#include "EapMschapv2UiSettingArray.h" +#include +#include +#include +#include +#include + +#include +#include +#include + + +// CONSTANTS +// UID of general settings app, in which help texts are included +const TUid KHelpUidPlugin = { 0x100058EC }; + +_LIT( KEmptyString, "" ); + +static const TInt KEapMsChapv2Id = 26; + +// MODULE DATA STRUCTURES +enum + { + EUsernameItem=0, + EPasswordPromptItem, + EPasswordItem + }; + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapMsChapV2UiDialog::CEapMsChapV2UiDialog +// ----------------------------------------------------------------------------- +// +CEapMsChapV2UiDialog::CEapMsChapV2UiDialog( + CEapMsChapV2UiConnection* aConnection, + TInt& aButtonId ) +: CAknDialog(), + iConnection( aConnection ), + iUiData( 0 ), + iDataConnection( 0 ), + iSettingArray( 0 ), + iSettingListBox( 0 ), + iSettingListItemDrawer( 0 ), + iPassPrompt( EFalse ), + iNaviPane( 0 ), + iNaviDecorator( 0 ), + iPreviousText( 0 ), + iButtonId( &aButtonId ), + iIsUIConstructionCompleted( EFalse ) + { + } + + +// --------------------------------------------------z------- +// CEapMsChapV2UiDialog::ConstructAndRunLD +// --------------------------------------------------------- +// +TInt CEapMsChapV2UiDialog::ConstructAndRunLD( TInt aResourceId ) + { + CleanupStack::PushL( this ); + + iSettingArray = CEapMsChapV2SettingItemArray::NewL(); + + User::LeaveIfError( iConnection->Connect() ); + + iDataConnection = iConnection->GetDataConnection(); + if ( iDataConnection == 0 ) + { + User::Leave( KErrNoMemory ); + } + + User::LeaveIfError( iDataConnection->Open() ); + User::LeaveIfError( iDataConnection->GetData( &iUiData ) ); + + FeatureManager::InitializeLibL(); + + ConstructL( R_MSCHAPV2_MENUBAR ); + + // ExecuteLD will PushL( this ), so we have to Pop it... + CleanupStack::Pop( this ); // this + + return CAknDialog::ExecuteLD( aResourceId ); + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2UiDialog::~CEapMsChapV2UiDialog +// ----------------------------------------------------------------------------- +// +CEapMsChapV2UiDialog::~CEapMsChapV2UiDialog() + { + if ( iNaviDecorator ) + { + delete iNaviDecorator; + iNaviDecorator = NULL; + } + + if ( iSettingArray ) + { + iSettingArray->Array()->ResetAndDestroy(); + delete iSettingArray; + } + + if ( iSettingListBox ) + { + iSettingListBox = 0; + } + + if ( iSettingListItemDrawer ) + { + iSettingListItemDrawer = 0; + } + + if ( iDataConnection ) + { + iDataConnection->Close(); + delete iDataConnection; + } + + if ( iConnection ) + { + iConnection->Close(); + } + + delete iPreviousText; + + FeatureManager::UnInitializeLib(); + } + + +// --------------------------------------------------------- +// CEapMsChapV2UiDialog::HandleListBoxEventL +// --------------------------------------------------------- +// +void CEapMsChapV2UiDialog::HandleListBoxEventL( CEikListBox* /*aListBox*/, + TListBoxEvent aEventType ) + { + switch ( aEventType ) + { + case EEventEnterKeyPressed: + case EEventItemSingleClicked: + { + OkToExitL( EMschapv2UiCmdChange ); + break; + } + + case EEventItemActioned: + case EEventEditingStarted: + case EEventEditingStopped: + case EEventPenDownOnItem: + case EEventItemDraggingActioned: + { + break; + } + + default: + { + break; + }; + }; + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2UiDialog::PreLayoutDynInitL +// ----------------------------------------------------------------------------- +// +void CEapMsChapV2UiDialog::PreLayoutDynInitL() + { + ChangeTitleL( ETrue ); + + TUid naviPaneUid; + naviPaneUid.iUid = EEikStatusPaneUidNavi; + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( naviPaneUid ); + if ( subPane.IsPresent() && subPane.IsAppOwned() ) + { + iNaviPane = static_cast( + statusPane->ControlL(naviPaneUid) ); + // Set empty text to hide tabs. + iNaviDecorator = iNaviPane->CreateNavigationLabelL( KEmptyString ); + iNaviPane->PushL( *iNaviDecorator ); + } + + iSettingListBox = static_cast( + ControlOrNull( EMschapv2SettingsListBox) ); + iSettingListItemDrawer = static_cast( + iSettingListBox->ItemDrawer() ); + + iSettingListBox->SetMopParent( this ); + iSettingListBox->CreateScrollBarFrameL( ETrue ); + iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( + CEikScrollBarFrame::EOff, + CEikScrollBarFrame::EAuto ); + iSettingListBox->SetListBoxObserver( this ); + DrawSettingsListL(); + + iIsUIConstructionCompleted = ETrue; + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2UiDialog::ShowSettingPageL +// ----------------------------------------------------------------------------- +// +void CEapMsChapV2UiDialog::ShowSettingPageL( TInt aCalledFromMenu ) + { + TInt index = iSettingListBox->CurrentItemIndex(); + + CAknSettingItem* item = iSettingArray->Array()->At( index ); + item->EditItemL( aCalledFromMenu ); + item->StoreL(); + + if ( index == EPasswordPromptItem ) + { + if ( !iPassPrompt ) + *iUiData->GetPasswordPrompt() = EFalse; + else + *iUiData->GetPasswordPrompt() = ETrue; + } + + DrawNow(); + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2UiDialog::OkToExitL +// ----------------------------------------------------------------------------- +// +TBool CEapMsChapV2UiDialog::OkToExitL( TInt aButtonId ) + { + TBool ret( EFalse ); + switch ( aButtonId ) + { + case EEikBidOk: + { + if( iIsUIConstructionCompleted ) + { + if ( iSettingListBox->IsFocused() ) + { + ShowSettingPageL( EFalse ); + } + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapMsChapV2UiDialog::OkToExitL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + case EAknSoftkeyOptions: + { + DisplayMenuL(); + break; + } + + case EAknSoftkeyBack: + case EAknCmdExit: + { + if( iIsUIConstructionCompleted ) + { + iDataConnection->Update(); + ChangeTitleL( EFalse ); + ret = ETrue; + } + break; + } + + case EMschapv2UiCmdChange: + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( EFalse ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapMsChapV2UiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + default: + { + break; + } + } + + if ( ret ) + { + *iButtonId = aButtonId; + } + + return ret; + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2UiDialog::DrawSettingsListL +// ----------------------------------------------------------------------------- +// +void CEapMsChapV2UiDialog::DrawSettingsListL() + { + iSettingArray->Array()->ResetAndDestroy(); + + TInt ordinal = 0; + iSettingArray->AddTextItemL( iUiData->GetUsername(), + EMschapv2SettingPageUserName, + R_MSCHAPV2_USERNAME_STRING, + R_MSCHAPV2_USERNAME_PAGE, + NULL, + ordinal++ ); + + if ( *iUiData->GetPasswordPrompt() ) + { + iPassPrompt = ETrue; + } + else{ + iPassPrompt = EFalse; + } + + iSettingArray->AddBinarySettingItemL( R_MSCHAPV2_DISPLAY_YESNO_PAGE, + R_MSCHAPV2_PASSPROMPT_STRING, + R_MSCHAPV2_YESNO_TEXTS, + ordinal++, + iPassPrompt ); + + iSettingArray->AddPasswordItemL( iUiData->GetPassword(), + EMschapv2SettingPagePassword, + R_MSCHAPV2_PASSWORD_STRING, + R_MSCHAPV2_PASSWORD_PAGE, + NULL, + ordinal++ ); + + + iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() ); + iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); + iSettingArray->Array()->RecalculateVisibleIndicesL(); + iSettingListBox->HandleItemAdditionL(); + iSettingListBox->UpdateScrollBarsL(); + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2UiDialog::ChangeTitleL +// ----------------------------------------------------------------------------- +// +void CEapMsChapV2UiDialog::ChangeTitleL( TBool aIsStarted ) + { + TUid titlePaneUid; + titlePaneUid.iUid = EEikStatusPaneUidTitle; + + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( titlePaneUid ); + + if ( subPane.IsPresent() && subPane.IsAppOwned()) + { + CAknTitlePane* titlePane = static_cast( + statusPane->ControlL( titlePaneUid ) ); + if ( aIsStarted ) + { + // Store previous application title text + const TDesC* prevText = titlePane->Text(); + + iPreviousText = HBufC::NewL( prevText->Length() ); + iPreviousText->Des().Append( *prevText ); + + // EAGN-6QZD6U + // Loadd different titles for plain MSCHAPv2 and EAP-MSCHAPv2 + TDesC* titleText; + if( iConnection->GetBearerEAPType() == KEapMsChapv2Id ) + { + titleText = iEikonEnv->AllocReadResourceLC( + R_MSCHAPV2_SETTINGS_TITLE ); + } + else + { + titleText = iEikonEnv->AllocReadResourceLC( + R_PLAIN_MSCHAPV2_SETTINGS_TITLE ); + } + titlePane->SetTextL( *titleText ); + CleanupStack::PopAndDestroy( titleText ); + } + else + { + // Set calling application title text back + titlePane->SetTextL( *iPreviousText ); + // pop navidecorator when exiting + iNaviPane->Pop( iNaviDecorator ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2UiDialog::DynInitMenuPaneL +// ----------------------------------------------------------------------------- +// +void CEapMsChapV2UiDialog::DynInitMenuPaneL( TInt aResourceId, + CEikMenuPane* aMenuPane ) + { + CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane ); + + if ( aResourceId == R_MSCHAPV2_MENU_PANE ) + { + if ( aMenuPane && !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) + { + aMenuPane->DeleteMenuItem( EAknCmdHelp ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2UiDialog::ProcessCommandL +// ----------------------------------------------------------------------------- +// +void CEapMsChapV2UiDialog::ProcessCommandL( TInt aCommand ) + { + if ( MenuShowing() ) + { + HideMenu(); + } + + switch( aCommand ) + { + case EAknCmdExit: + { + TryExitL( aCommand ); + break; + } + + case EAknCmdHelp: + { + HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), + iEikonEnv->EikAppUi()->AppHelpContextL() ); + break; + } + + case EMschapv2UiCmdChange: + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( ETrue ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapMsChapV2UiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + default: + { + break; + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapMsChapV2UiDialog::GetHelpContext +// ----------------------------------------------------------------------------- +// +void CEapMsChapV2UiDialog::GetHelpContext( TCoeHelpContext& aContext ) const + { + aContext.iMajor = KHelpUidPlugin; + if( iConnection->GetBearerEAPType() == KEapMsChapv2Id ) + { + aContext.iContext = KSET_HLP_WLAN_EAP_MSCHAPV2; + } + else + { + aContext.iContext = KSET_HLP_WLAN_EAP_PLAIN_MSCHAP; + } + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/data/MsChapv2NotifDlgUi.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/data/MsChapv2NotifDlgUi.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,93 @@ +/* +* Copyright (c) 2001-2009 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: Resource file of MsChapv2Notif. +* +*/ + +/* +* %version: 15 % +*/ + +// RESOURCE IDENTIFIER +NAME MSCN + + +// INCLUDES +#include +#include + +#include +#include +#include + +#include + +#include + + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + + +RESOURCE DIALOG r_mschapv2notif_username_password_query + { + flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | + EEikDialogFlagCbaButtons|EEikDialogFlagNotifyEsc; + buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + items = + { + DLG_LINE + { + type = EAknCtMultilineQuery; + id = EMultilineFirstLine; + control = AVERELL_DATA_QUERY + { + layout = EMultiDataFirstEdwin; + label = qtn_wlan_eap_mschapv2_notif_username; + control = EDWIN + { + flags = 0; + width = 5; + lines = 1; + maxlength = 255; + default_case = EAknEditorLowerCase; + allowed_case_modes = EAknEditorAllCaseModes; + allowed_input_modes = EAknEditorAlphaInputMode | + EAknEditorNumericInputMode | + EAknEditorPredictiveInputMode; + default_input_mode = EAknEditorPredictiveInputMode; + }; + }; + }, + + DLG_LINE + { + type = EAknCtMultilineQuery; + id = EMultilineSecondLine; + control = AVERELL_DATA_QUERY + { + layout = EMultiDataSecondSecEd; + label = qtn_wlan_eap_mschapv2_notif_password; + control = SECRETED + { + num_letters=255; + }; + }; + } + }; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDialog.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,61 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of dialog class of MsChapv2NotifDialog. +* +*/ + +/* +* %version: 15 % +*/ + +#ifndef __MSCHAPV2DIALOG_H__ +#define __MSCHAPV2DIALOG_H__ + +// INCLUDES +#include +#include +#include +#include +#include +#include "MsChapv2NotifDlgPlugin.h" + + +// CLASS DECLARATION + +/** +*/ +class CMsChapv2Dialog : public CAknMultiLineDataQueryDialog + { + protected: + CMsChapv2Dialog( CMsChapv2DialogPlugin* aPlugin, + TBool aUsernameExists ); + void ConstructL(); + + public: + static CMsChapv2Dialog* NewL( TDes& aUsername, TDes& aPassword, + CMsChapv2DialogPlugin* aPlugin ); + ~CMsChapv2Dialog(); + + private: + virtual TBool OkToExitL( TInt aButtonId ); + void HandleResourceChange( TInt aType ); + + private: + CMsChapv2DialogPlugin* iPlugin; // Pointer to the notifier plugin + TBool iUsernameExists; + }; + +#endif // __MSCHAPV2DIALOG_H__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDlgPlugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDlgPlugin.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,130 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of MsChapv2Notif Dialog Plugins +* +*/ + +/* +* %version: 11.1.7 % +*/ + +#ifndef __MSCHAPV2NOTIFDLGPLUGIN_H__ +#define __MSCHAPV2NOTIFDLGPLUGIN_H__ + + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include +#include + + +// CONSTANTS + +// UIDs for dialogs + +// ID of MsChapv2 username & password dialog +const TUid KUidMsChapv2Dialog = { 0x101f8e69 }; + +// Channel used for screen +const TUid KScreenOutputChannel = { 0x00000123 }; + +// Number of dialogs in this plugin +const TInt KPluginGranularity = 1; + +// ROM folder +_LIT( KDriveZ, "z:" ); + +// RSC file name. +_LIT( KResourceFileName, "MsChapv2NotifDlgUi.rsc" ); + + +// GLOBAL FUNCTIONS + +/** +* Array of connection dialog plugins. +* @return A CArray of MEikSrvNotifierBase2 based classes. +*/ +IMPORT_C CArrayPtr< MEikSrvNotifierBase2 >* NotifierArray(); + + +// CLASS DECLARATION + +struct TEapMsChapv2UsernamePasswordInfo + { + TBool iIsIdentityQuery; + TBool iPasswordPromptEnabled; + TBuf16<256> iUsername; + TBuf16<256> iPassword; + TBuf16<256> iOldPassword; + }; + +class CMsChapv2Dialog; + +/** + * MsChapv2 dialog plugin class + */ +class CMsChapv2DialogPlugin : public CBase, + public MEikSrvNotifierBase2 + { + public: + static CMsChapv2DialogPlugin* NewL(); + + ~CMsChapv2DialogPlugin(); + + TNotifierInfo RegisterL(); + TNotifierInfo Info() const; + + TPtrC8 StartL( const TDesC8& aBuffer ); + void StartL( const TDesC8& aBuffer, TInt aReplySlot, + const RMessagePtr2& aMessage ); + + TPtrC8 UpdateL( const TDesC8& aBuffer ); + void Cancel(); + void CompleteL( TInt aStatus ); + void Release(); + + inline TDes& GetUsername(); + inline TDes& GetPassword(); + inline void SetOldPassword( const TDesC& aOldPwd ); + + protected: + CMsChapv2DialogPlugin(); + + void ConstructL(); + + protected: + TNotifierInfo iInfo; // Notifier info + RMessagePtr2 iMessage; // Message + TInt iReplySlot; // Reply slot + TBool iCancelled; // ETrue if dialog cancelled + + private: + CMsChapv2Dialog* iMSCHAPV2Dialog; + TEapMsChapv2UsernamePasswordInfo* iDataPtr; + TPckg* iDataPckgPtr; + TInt iResource; // Resource + }; + +// Include inline functions +#include "MsChapv2NotifDlgPlugin.inl" + + +#endif // __MSCHAPV2NOTIFDLGPLUGIN_H__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDlgPlugin.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDlgPlugin.inl Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,58 @@ +/* +* Copyright (c) 2001-2009 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: Inline functions of MsChapv2Notif Dialog Plugins +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +#ifndef __MSCHAPV2NOTIFDLGPLUGIN_INL__ +#define __MSCHAPV2NOTIFDLGPLUGIN_INL__ + + +// --------------------------------------------------------- +// CMsChapv2DialogPlugin::GetUsername +// --------------------------------------------------------- +// +inline TDes& CMsChapv2DialogPlugin::GetUsername() + { + return iDataPtr->iUsername; + } + + +// --------------------------------------------------------- +// CMsChapv2DialogPlugin::GetPassword +// --------------------------------------------------------- +// +inline TDes& CMsChapv2DialogPlugin::GetPassword() + { + return iDataPtr->iPassword; + } + + +// --------------------------------------------------------- +// CMsChapv2DialogPlugin::SetOldPassword +// --------------------------------------------------------- +// +inline void CMsChapv2DialogPlugin::SetOldPassword( const TDesC& aOldPwd ) + { + iDataPtr->iOldPassword = aOldPwd; + } + +#endif // __MSCHAPV2NOTIFDLGPLUGIN_INL__ + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/loc/mschapv2notifdlg.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/loc/mschapv2notifdlg.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,41 @@ +/* +* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-MsChapV2 Notifier +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + + +//d:Username query string. +//l:popup_query_data_code_window +//w: +//r:3.1 +// +#define qtn_wlan_eap_mschapv2_notif_username "EAP-MSCHAPv2 user name:" + + +//d:Password query string. +//l:popup_query_data_code_window/opt2 +//w: +//r:3.1 +// +#define qtn_wlan_eap_mschapv2_notif_password "Password:" + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/src/MsChapv2NotifDialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/src/MsChapv2NotifDialog.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,128 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of dialog class of MsChapv2NotifDlg +* +*/ + +/* +* %version: 18 % +*/ + +// INCLUDE FILES +#include +#include "MsChapv2NotifDlgPlugin.h" +#include "MsChapv2NotifDialog.h" + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CMsChapv2Dialog::CMsChapv2Dialog +// ----------------------------------------------------------------------------- +// +CMsChapv2Dialog::CMsChapv2Dialog( CMsChapv2DialogPlugin* aPlugin, TBool aUsernameExists ) +: CAknMultiLineDataQueryDialog( ENoTone ), + iPlugin( aPlugin ), + iUsernameExists( aUsernameExists ) + { + } + + +// ----------------------------------------------------------------------------- +// CMsChapv2Dialog::NewL +// ----------------------------------------------------------------------------- +// +CMsChapv2Dialog* CMsChapv2Dialog::NewL( TDes& aUsername, TDes& aPassword, + CMsChapv2DialogPlugin* aPlugin ) + { + CMsChapv2Dialog* self = new( ELeave ) CMsChapv2Dialog( aPlugin, aUsername.Length() > 0 ); + CleanupStack::PushL( self ); + if ( aUsername.Length() ) + { + self->SetDataL( aUsername, aPassword ); + } + + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CMsChapv2Dialog::ConstructL +// ----------------------------------------------------------------------------- +// +void CMsChapv2Dialog::ConstructL() + { + } + + +// ----------------------------------------------------------------------------- +// CMsChapv2Dialog::~CMsChapv2Dialog +// ----------------------------------------------------------------------------- +// +CMsChapv2Dialog::~CMsChapv2Dialog() + { + } + + +// ----------------------------------------------------------------------------- +// CMsChapv2Dialog::OkToExitL +// ----------------------------------------------------------------------------- +// +TBool CMsChapv2Dialog::OkToExitL( TInt aButtonId ) + { + if ( CAknMultiLineDataQueryDialog::OkToExitL( aButtonId ) ) + { + if ( aButtonId == EAknSoftkeyOk ) + { + CAknMultilineQueryControl* firstControl = FirstControl(); + firstControl->GetText( iPlugin->GetUsername() ); + + CAknMultilineQueryControl* secondControl = SecondControl(); + secondControl->GetText( iPlugin->GetPassword() ); + + _LIT( KEmpty, "" ); // Empty string + + // Empty when we are not changing password + iPlugin->SetOldPassword( KEmpty ); + + iPlugin->CompleteL( KErrNone ); + return( ETrue ); + } + else + { + iPlugin->CompleteL( KErrCancel ); + return( ETrue ); + } + } + + return( EFalse ); + } + + +// ----------------------------------------------------------------------------- +// CMsChapv2Dialog::HandleResourceChange +// ----------------------------------------------------------------------------- +// +void CMsChapv2Dialog::HandleResourceChange( TInt aType ) + { + CAknMultiLineDataQueryDialog::HandleResourceChange( aType ); + + if ( aType == KAknsMessageSkinChange ) + { + } + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/src/MsChapv2NotifDlgPlugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/src/MsChapv2NotifDlgPlugin.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,313 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of MsChapv2NotifDlg dialog plugin. +* +*/ + +/* +* %version: 12.1.8 % +*/ + +// INCLUDE FILES +#include +#include +#include +#include +#include + +#include // For RProperty +#include // For KPSUidUikon and KUikGlobalNotesAllowed. + +#include "MsChapv2NotifDlgPlugin.h" +#include "MsChapv2NotifDialog.h" + + + +// ================= OTHER EXPORTED FUNCTIONS ============== + +// ----------------------------------------------------------------------------- +// CreateNotifiersL +// ----------------------------------------------------------------------------- +// +LOCAL_C void CreateNotifiersL( + CArrayPtrFlat< MEikSrvNotifierBase2 >* aNotifiers ) + { + MEikSrvNotifierBase2 *serNotify; + serNotify = CMsChapv2DialogPlugin::NewL(); + CleanupStack::PushL( serNotify ); + aNotifiers->AppendL( serNotify ); + CleanupStack::Pop( serNotify ); + } + + +// ----------------------------------------------------------------------------- +// NotifierArray +// ----------------------------------------------------------------------------- +// +EXPORT_C CArrayPtr< MEikSrvNotifierBase2 >* NotifierArray() + { + // NotifierArray() can't leave + CArrayPtrFlat< MEikSrvNotifierBase2 >* array = + new CArrayPtrFlat< MEikSrvNotifierBase2 >( KPluginGranularity ); + + if ( array ) + { + TRAPD( err, CreateNotifiersL( array ) ); + + if( err ) + { + TInt count = array->Count(); + + while( count-- ) + { + ( *array )[ count ]->Release(); + } + + delete array; + array = NULL; + } + } + + return( array ); + } + + +////////////////////////////////////////////////////////////// +// MsChapv2 dialog plugin +///////////////////////////////////////////////////////////// + +// ----------------------------------------------------------------------------- +// CMsChapv2DialogPlugin::CMsChapv2DialogPlugin +// ----------------------------------------------------------------------------- +// +CMsChapv2DialogPlugin::CMsChapv2DialogPlugin() +: iCancelled( EFalse ) + { + iManager = NULL; + } + + +// ----------------------------------------------------------------------------- +// CMsChapv2DialogPlugin::~CMsChapv2DialogPlugin +// ----------------------------------------------------------------------------- +// +CMsChapv2DialogPlugin::~CMsChapv2DialogPlugin() + { + CCoeEnv::Static()->DeleteResourceFile( iResource ); + + if ( !iCancelled ) + { + delete iMSCHAPV2Dialog; + } + } + + + +// ----------------------------------------------------------------------------- +// CMsChapv2DialogPlugin::RegisterL +// ----------------------------------------------------------------------------- +// +CMsChapv2DialogPlugin::TNotifierInfo CMsChapv2DialogPlugin::RegisterL() + { + iInfo.iUid = KUidMsChapv2Dialog; + iInfo.iPriority = ENotifierPriorityHigh; + iInfo.iChannel = KUidMsChapv2Dialog; + return iInfo; + } + + +// ----------------------------------------------------------------------------- +// CMsChapv2DialogPlugin::NewL +// ----------------------------------------------------------------------------- +// +CMsChapv2DialogPlugin* CMsChapv2DialogPlugin::NewL() + { + CMsChapv2DialogPlugin* self = new( ELeave ) CMsChapv2DialogPlugin(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CMsChapv2DialogPlugin::ConstructL +// ----------------------------------------------------------------------------- +// +void CMsChapv2DialogPlugin::ConstructL() + { + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), fileName ); + iResource = CCoeEnv::Static()->AddResourceFileL( fileName ); + } + + +// ----------------------------------------------------------------------------- +// CMsChapv2DialogPlugin::StartL +// ----------------------------------------------------------------------------- +// +TPtrC8 CMsChapv2DialogPlugin::StartL( const TDesC8& /*aBuffer*/ ) + { + return KNullDesC8().Ptr(); + } + + +// ----------------------------------------------------------------------------- +// CMsChapv2DialogPlugin::StartL +// ----------------------------------------------------------------------------- +// +void CMsChapv2DialogPlugin::StartL( const TDesC8& aBuffer, + TInt aReplySlot, + const RMessagePtr2& aMessage ) + { + iCancelled = EFalse; + iReplySlot = aReplySlot; + iMessage = aMessage; + + // This object gets constructed only once where as this gets called many + // times, if user is not answering the query. + // So initialize everything here itself. + iMSCHAPV2Dialog = NULL; + iDataPtr = NULL; + iDataPckgPtr = NULL; + + // We are about to display the password prompt. + // Since this part of the code can be executed during the bootup, check if + // the UI has really started up to display notes/dialogs. + TInt notesAllowed = 0; + TInt error = RProperty::Get( KPSUidUikon, KUikGlobalNotesAllowed, + notesAllowed ); + + // The above call can return error. Don't care the error. What we care is + // if notesAllowed has turned to 1 from 0. + if ( notesAllowed ) + { + iDataPtr = new( ELeave ) TEapMsChapv2UsernamePasswordInfo; + iDataPtr->iIsIdentityQuery = ETrue; + iDataPtr->iPasswordPromptEnabled = ETrue; + iDataPckgPtr = new( ELeave ) TPckg( + *iDataPtr ); + iDataPckgPtr->Copy(aBuffer); + + iMSCHAPV2Dialog = CMsChapv2Dialog::NewL( iDataPtr->iUsername, + iDataPtr->iPassword, this ); + iMSCHAPV2Dialog->ExecuteLD( R_MSCHAPV2NOTIF_USERNAME_PASSWORD_QUERY ); + } + + // In case if the notes are not allowed, this message gets completed when + // EAPOL time out occurs and a subsequent call to cancel from + // eap_am_type_mschapv2_symbian_c::DoCancel(). + } + +// ----------------------------------------------------------------------------- +// CMsChapv2DialogPlugin::UpdateL +// ----------------------------------------------------------------------------- +// +TPtrC8 CMsChapv2DialogPlugin::UpdateL( const TDesC8& /*aBuffer*/ ) + { + return KNullDesC8().Ptr(); + } + + +// ----------------------------------------------------------------------------- +// CMsChapv2DialogPlugin::Cancel +// ----------------------------------------------------------------------------- +// +void CMsChapv2DialogPlugin::Cancel() + { + if ( !iCancelled ) + { + iCancelled = ETrue; + if ( !iMessage.IsNull() ) + { + iMessage.Complete( KErrCancel ); + } + + if ( iMSCHAPV2Dialog ) + { + delete iMSCHAPV2Dialog; + iMSCHAPV2Dialog = NULL; + } + } + + if ( iDataPtr ) + { + delete iDataPtr; + iDataPtr = NULL; + } + + if ( iDataPckgPtr ) + { + delete iDataPckgPtr; + iDataPckgPtr = NULL; + } + } + + +// ----------------------------------------------------------------------------- +// CMsChapv2DialogPlugin::CompleteL +// ----------------------------------------------------------------------------- +// +void CMsChapv2DialogPlugin::CompleteL( TInt aStatus ) + { + if ( aStatus == KErrNone && !iMessage.IsNull() ) + { + iMessage.WriteL( iReplySlot, *iDataPckgPtr ); + } + iCancelled = ETrue; + if ( !iMessage.IsNull() ) + { + iMessage.Complete( aStatus ); + } + + if ( iDataPtr ) + { + delete iDataPtr; + iDataPtr = NULL; + } + + if ( iDataPckgPtr ) + { + delete iDataPckgPtr; + iDataPckgPtr = NULL; + } + } + + +// ----------------------------------------------------------------------------- +// CMsChapv2DialogPlugin::Release +// ----------------------------------------------------------------------------- +// +void CMsChapv2DialogPlugin::Release() + { + delete this; + } + + +// ----------------------------------------------------------------------------- +// CMsChapv2DialogPlugin::Info +// ----------------------------------------------------------------------------- +// +CMsChapv2DialogPlugin::TNotifierInfo CMsChapv2DialogPlugin::Info() const + { + return iInfo; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/data/EapPeapUi.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/data/EapPeapUi.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,557 @@ +/* +* Copyright (c) 2001-2009 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 PEAP UI resource file +* +*/ + +/* +* %version: 18 % +*/ + +CHARACTER_SET UTF8 + +// RESOURCE IDENTIFIER +NAME EPEP + +// INCLUDES +#include +#include "EapPeapUi.hrh" // Enums for these resources +#include // Localisation file +#include +#include +#include +#include +#include +#include + + +// CONSTANTS +#define KUsernameMaxNameLength 255 + + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + + +RESOURCE TBUF16 { buf=""; } + + +RESOURCE CBA r_peap_ui_softkeys_options_back_edit + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = EPeapUiCmdChange; txt = qtn_msk_change; } + }; + } + + +RESOURCE CBA r_peap_ui_softkeys_options_back_configure + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = EPeapUiCmdConfigure; txt = qtn_msk_wlan_eap_configure; } + }; + } + + +RESOURCE CBA r_peap_ui_softkeys_options_back_enable + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = EPeapUiCmdEnable; txt = qtn_msk_wlan_eap_cs_enable; } + }; + } + + +RESOURCE CBA r_peap_ui_softkeys_options_back_disable + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = EPeapUiCmdDisable; txt = qtn_msk_wlan_eap_cs_disable; } + }; + } + + +RESOURCE DIALOG r_peap_setting_dialog + { + flags = EEikDialogFlagFillAppClientRect | + EEikDialogFlagCbaButtons | + EEikDialogFlagWait | + EEikDialogFlagNotifyEsc; + buttons = r_peap_ui_softkeys_options_back_edit; + pages = r_peap_pages; + } + + +RESOURCE ARRAY r_peap_pages + { + items= + { + PAGE + { + id = KEAPPEAPSETTINGSPAGE; + text = qtn_wlan_eap_tab_settings; + lines = r_peap_tab_settings; + }, + + PAGE + { + id = KEAPPEAPEAPPAGE; + text = qtn_wlan_eap_tab_eap_types; + lines = r_peap_tab_eap_types; + }, + + PAGE + { + id = KEAPPEAPCIPHERPAGE; + text = qtn_wlan_eap_tab_cipher_suites; + lines = r_peap_tab_cipher_suites; + } + }; + } + + +// ******* PAGES ************ +// ******* 1st page ********* +RESOURCE ARRAY r_peap_tab_settings + { + items = + { + DLG_LINE + { + id = EPeapSettingsListbox; + type = EAknCtSettingListBox; + control = LISTBOX + { + flags = EAknListBoxMenuList; + }; + } + }; + } + + +// ******* 2nd page ********* +RESOURCE ARRAY r_peap_tab_eap_types + { + items = + { + DLG_LINE + { + id = EPeapSettingsEapTypeListbox; + type = EAknCtSingleNumberListBox; + control = LISTBOX + { + flags = EAknGenericListBoxFlags; + array_id = r_peap_eap_types_array; + }; + } + }; + } + + +// ******* 3rd page ********* +RESOURCE ARRAY r_peap_tab_cipher_suites + { + items = + { + DLG_LINE + { + id = EPeapSettingsCipherSuiteListbox; + type = EAknCtSingleNumberListBox; + control = LISTBOX + { + flags = EAknGenericListBoxFlags; + }; + } + }; + } + + +RESOURCE ARRAY r_peap_eap_types_array + { + items = + { + LBUF { txt = "1\tEAP-TLS"; }, + LBUF { txt = "2\tEAP-MSCHAPv2"; }, + LBUF { txt = "3\tEAP-SIM"; }, + LBUF { txt = "4\tEAP-GTC"; } + }; + } + + +RESOURCE AVKON_SETTING_PAGE r_peap_username_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label= qtn_wlan_eap_sett_username; + type = EEikCtEdwin; + editor_resource_id = r_peap_setting_edwin; + } + + +RESOURCE AVKON_SETTING_PAGE r_peap_realm_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_realm; + type = EEikCtEdwin; + editor_resource_id = r_peap_setting_edwin; + } + + +RESOURCE EDWIN r_peap_setting_edwin + { + flags = 0; + width = 9; + lines = 5; + maxlength = 255; + } + + +RESOURCE AVKON_SETTING_PAGE r_radio_button_setting_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + type = EAknSetListBox; + editor_resource_id= r_setting_listbox; + } + + +RESOURCE LISTBOX r_setting_listbox + { + flags = EEikListBoxMultipleSelection; + } + + + +RESOURCE MENU_BAR r_peap_menubar + { + titles = + { + MENU_TITLE + { + menu_pane = r_peap_menu_pane; + txt = ""; + } + }; + } + + +RESOURCE MENU_PANE r_peap_menu_pane + { + items = + { + MENU_ITEM + { + command = EPeapUiCmdConfigure; + txt = qtn_wlan_options_eap_plugin_configure; + flags = EEikMenuItemAction; + }, + + MENU_ITEM + { + command = EPeapUiCmdEnable; + txt = qtn_wlan_options_eap_plugin_enable; + flags = EEikMenuItemAction; + }, + + MENU_ITEM + { + command = EPeapUiCmdDisable; + txt = qtn_wlan_options_eap_plugin_disable; + flags = EEikMenuItemSpecific; + }, + + MENU_ITEM + { + command = EPeapUiCmdMoveUp; + txt = qtn_wlan_options_eap_plugin_priority_up; + flags = EEikMenuItemSpecific; + }, + + MENU_ITEM + { + command = EPeapUiCmdMoveDown; + txt = qtn_wlan_options_eap_plugin_priority_down; + flags = EEikMenuItemSpecific; + }, + + MENU_ITEM + { + command = EPeapUiCmdChange; + txt = qtn_options_change; + flags = EEikMenuItemAction; + }, + + MENU_ITEM + { + command = EAknCmdHelp; + txt = qtn_options_help; + }, + + MENU_ITEM + { + command = EAknCmdExit; + txt = qtn_options_exit; + } + }; + } + + +// Resource strings +RESOURCE TBUF r_peap_settings_title { buf = qtn_wlan_eap_peap_title; } +RESOURCE TBUF r_peap_username_inusestring \ + { buf = qtn_wlan_eap_sett_username_inuse; } +RESOURCE TBUF r_peap_username_inusestring_auto \ + { buf = qtn_wlan_eap_sett_username_inuse_from_cert; } +RESOURCE TBUF r_peap_username_inusestring_conf \ + { buf = qtn_wlan_eap_sett_username_inuse_user; } +RESOURCE TBUF r_peap_username_string { buf = qtn_wlan_eap_sett_username; } +RESOURCE TBUF r_peap_realm_inusestring \ + { buf = qtn_wlan_eap_sett_realm_inuse; } +RESOURCE TBUF r_peap_realm_inusestring_auto \ + { buf = qtn_wlan_eap_sett_realm_inuse_from_cert; } +RESOURCE TBUF r_peap_realm_inusestring_conf \ + { buf = qtn_wlan_eap_sett_realm_inuse_user; } +RESOURCE TBUF r_peap_realm_string { buf = qtn_wlan_eap_sett_realm; } +RESOURCE TBUF r_peap_user_cert_string \ + { buf = qtn_wlan_eap_sett_user_certificate; } +RESOURCE TBUF r_peap_ca_cert_string \ + { buf = qtn_wlan_eap_sett_ca_certificate; } +RESOURCE TBUF r_peap_not_defined { buf = qtn_wlan_eap_cert_not_defined; } +RESOURCE TBUF r_peap_none_selection \ + { buf = qtn_wlan_eap_cert_none_selection; } + +RESOURCE TBUF r_peap_suite_rsarc4md5 { buf = qtn_wlan_eap_cipher_rsarc4md5; } +RESOURCE TBUF r_peap_suite_rsarc4sha { buf = qtn_wlan_eap_cipher_rsarc4sha; } +RESOURCE TBUF r_peap_suite_rsa3dessha \ + { buf = qtn_wlan_eap_cipher_rsa3dessha; } +RESOURCE TBUF r_peap_suite_dhersa3dessha \ + { buf = qtn_wlan_eap_cipher_dhersa3dessha; } +RESOURCE TBUF r_peap_suite_dhedss3dessha \ + { buf = qtn_wlan_eap_cipher_dhedss3dessha; } +RESOURCE TBUF r_peap_suite_rsaaessha { buf = qtn_wlan_eap_cipher_rsaaessha; } +RESOURCE TBUF r_peap_suite_dhersaaessha \ + { buf = qtn_wlan_eap_cipher_dhersaaessha; } +RESOURCE TBUF r_peap_suite_dhedssaessha \ + { buf = qtn_wlan_eap_cipher_dhedssaessha; } + +RESOURCE TBUF r_peap_allow_peapv0 { buf = qtn_wlan_eap_sett_allow_peapv0; } +RESOURCE TBUF r_peap_allow_peapv1 { buf = qtn_wlan_eap_sett_allow_peapv1; } +RESOURCE TBUF r_peap_allow_peapv2 { buf = qtn_wlan_eap_sett_allow_peapv2; } +RESOURCE TBUF r_peap_allow_yes { buf = qtn_wlan_eap_sett_allow_peap_yes; } +RESOURCE TBUF r_peap_allow_no { buf = qtn_wlan_eap_sett_allow_peap_no; } +RESOURCE TBUF r_peap_info_cannot_disable_all_eap_plugins \ + { buf = qtn_wlan_info_cannot_disable_all_eap_plugins; } +RESOURCE TBUF r_peap_tls_privacy_string + { buf = qtn_wlan_eap_sett_tls_privacy; } + + +// ******************************************** +// USERNAME IN USE AND REALM POPUP DEFINITION +// ******************************************** +RESOURCE AVKON_POPUP_SETTING_TEXTS r_peap_username_autouseconf_texts + { + setting_texts_resource = r_peap_username_autouseconf_texts_resource; + popped_up_texts_resource = r_peap_username_automatic_useconfigured_array; + } + + +RESOURCE ARRAY r_peap_username_autouseconf_texts_resource + { + items = + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_username_inuse_from_cert; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_username_inuse_user; + } + }; + } + + +RESOURCE ARRAY r_peap_username_automatic_useconfigured_array + { + items = + { + LBUF { txt = qtn_wlan_eap_sett_username_inuse_from_cert; }, + LBUF { txt = qtn_wlan_eap_sett_username_inuse_user; } + }; + } + + +RESOURCE AVKON_POPUP_SETTING_TEXTS r_peap_realm_autouseconf_texts + { + setting_texts_resource = r_peap_realm_autouseconf_texts_resource; + popped_up_texts_resource = r_peap_realm_automatic_useconfigured_array; + } + + +RESOURCE ARRAY r_peap_realm_autouseconf_texts_resource + { + items= + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_realm_inuse_from_cert; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_realm_inuse_user; + } + }; + } + + +RESOURCE ARRAY r_peap_realm_automatic_useconfigured_array + { + items= + { + LBUF { txt = qtn_wlan_eap_sett_realm_inuse_from_cert; }, + LBUF { txt = qtn_wlan_eap_sett_realm_inuse_user; } + }; + } + +RESOURCE ARRAY r_peap_tls_privacy_autouseconf_texts_resource + { + items= + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_tls_privacy_off; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_tls_privacy_on; + } + }; + } + + +RESOURCE AVKON_POPUP_SETTING_TEXTS r_peap_tls_privacy_autouseconf_texts + { + setting_texts_resource = r_peap_tls_privacy_autouseconf_texts_resource; + popped_up_texts_resource = r_peap_tls_privacy_automatic_useconfigured_array; + } + + +RESOURCE ARRAY r_peap_tls_privacy_automatic_useconfigured_array + { + items = + { + LBUF { txt = qtn_wlan_eap_sett_tls_privacy_off; }, + LBUF { txt = qtn_wlan_eap_sett_tls_privacy_on; } + }; + } + +RESOURCE AVKON_SETTING_PAGE r_peap_display_autouseconf_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_realm_inuse; + type = EAknCtPopupSettingList; + editor_resource_id = r_peap_setting_enumerated_popup; + } + + +RESOURCE POPUP_SETTING_LIST r_peap_setting_enumerated_popup + { + flags = EAknPopupSettingListFlagInitialised; + } + + +// ******************************************** +// ALLOW PEAP VERSIONS POPUP DEFINITION +// ******************************************** +RESOURCE AVKON_POPUP_SETTING_TEXTS r_peap_allow_version_texts + { + setting_texts_resource = r_peap_allow_version_texts_resource; + popped_up_texts_resource = r_peap_allow_version_array; + } + + +RESOURCE ARRAY r_peap_allow_version_texts_resource + { + items = + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_allow_peap_no; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_allow_peap_yes; + } + }; + } + + +RESOURCE ARRAY r_peap_allow_version_array + { + items= + { + LBUF { txt = qtn_wlan_eap_sett_allow_peap_no; }, + LBUF { txt = qtn_wlan_eap_sett_allow_peap_yes; } + }; + } + + +RESOURCE AVKON_SETTING_PAGE r_peap_allow_version_0 + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_allow_peapv0; + type = EAknCtPopupSettingList; + editor_resource_id = r_peap_setting_enumerated_popup; + } + + +RESOURCE AVKON_SETTING_PAGE r_peap_allow_version_1 + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_allow_peapv1; + type = EAknCtPopupSettingList; + editor_resource_id = r_peap_setting_enumerated_popup; + } + + +RESOURCE AVKON_SETTING_PAGE r_peap_allow_version_2 + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_allow_peapv2; + type = EAknCtPopupSettingList; + editor_resource_id = r_peap_setting_enumerated_popup; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUi.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUi.hrh Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,94 @@ +/* +* Copyright (c) 2001-2009 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 PEAP UI hrh file +* +*/ + +/* +* %version: % +*/ + +#ifndef _EAPPEAPUI_HRH_ +#define _EAPPEAPUI_HRH_ + +enum TEapPeapUiMenuCommands + { + EPeapUiCmdUndefined = 6000, + EPeapUiCmdChange, + EPeapUiCmdEnable, + EPeapUiCmdDisable, + EPeapUiCmdConfigure, + EPeapUiCmdMoveUp, + EPeapUiCmdMoveDown, + EPeapUiCmdViewDetails + }; + +enum TEapPeapUiNotes + { + TEapPeapUiGeneralError = 6100 + }; + +enum TEapPeapUiLines + { + EPeapSettingsListBox = 6200 + }; + +enum TEapPeapUiSettingIds + { + EPeapSettingUserCert=6300, + EPeapSettingCaCert, + EPeapSettingUsernameInUseId, + EPeapSettingUsernameId, + EPeapSettingRealmInUseId, + EPeapSettingRealmId, + EPeapSettingTlsPrivacyId + }; + +enum TEapPeapUiSettingPageIds + { + EPeapSettingPageUserCertificates=6400, + EPeapSettingPageCaCertificates, + EPeapSettingPageCipherSuites, + EPeapSettingPageEapTypes, + EPeapSettingPageSettings + }; + +enum TEapPeapUiListBoxes + { + EPeapSettingsUserCertListbox=6500, + EPeapSettingsCaCertListbox, + EPeapSettingsCipherSuiteListbox, + EPeapSettingsEapTypeListbox, + EPeapSettingsListbox + }; + +enum TEapPeapSettingItems + { + EPeapTabSheetSettingsUsernameInUse=6600, + EPeapTabSheetSettingsUsername, + EPeapTabSheetSettingsRealmInUse, + EPeapTabSheetSettingsRealm + }; + +// Constants that are used as page ids +// TEapPeapUiSettingPageIds does not work for this purpose +#define KEAPPEAPSETTINGSPAGE 1 +#define KEAPPEAPEAPPAGE 2 +#define KEAPPEAPCIPHERPAGE 3 + + + +#endif //_EAPPEAPUI_HRH_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUiSettingArray.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUiSettingArray.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP PEAP UI settings array +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef _EAPPEAPUISETTINGARRAY_H_ +#define _EAPPEAPUISETTINGARRAY_H_ + +// INCLUDES +#include +#include "EapPeapUi.hrh" + + +// CLASS DECLARATION + +/** +*/ +class CEapPeapSettingItemArray : public CBase + { + public: + static CEapPeapSettingItemArray* NewL(); + virtual ~CEapPeapSettingItemArray(); + CAknSettingItem* Item( TEapPeapUiSettingPageIds aItem ); + CAknSettingItemArray* Array(); + void StoreSettingsL(); + void AddTextItemL( TDes& aBuffer, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal ); + void AddBinarySettingItemL( TInt aSettingPageResourceId, + TInt aTitleResourceId, + TInt aAssociatedResourceId, + TInt aOrdinal, + TBool& aModifiedValue); + + protected: + CEapPeapSettingItemArray(); + void ConstructL(); + + private: + CAknSettingItemArray* iArray; + }; + +#endif // _EAPPEAPUISETTINGARRAY_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUiView.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUiView.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,174 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP PEAP UI setting dialog +* +*/ + +/* +* %version: 21 % +*/ + +#ifndef _EAPPEAPUIVIEW_H_ +#define _EAPPEAPUIVIEW_H_ + +// INCLUDES +#include // AVKON components +#include // For changing status pane +#include +#include +#include +#include +#include +#include "EapPeapUi.hrh" +#include +#include +#include +#include +#include +#include +#include + +// FORWARD DECLARATIONS +class CAknSettingStyleListBox; +class CSettingsListBoxItemDrawer; +class CEapPeapSettingItemArray; + + +// CLASS DECLARATION + +/** +* Settings dialog class definition +*/ +class CEapPeapUiDialog : public CAknDialog, + public MEapTlsPeapUiCertificates, + public MEikListBoxObserver + { + public: + CEapPeapUiDialog( CEapTlsPeapUiConnection* aConnection, + TIndexType aIndexType, TInt aIndex, + TInt& aButtonId ); + + ~CEapPeapUiDialog(); + + /** + * Create and launch dialog. + * @param aResourceId The resource ID of the dialog to load. + * @return The ID of the button that closed the dialog + */ + TInt ConstructAndRunLD( TInt aResourceId ); + + /** + * Chain into key event handler. + * @param aKeyEvent The event. + * @param aType The type of key event. + * @return Was the key consumed or not. + */ + TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, + TEventCode aType); + + + public: // From MEikListBoxObserver + + /** + * Handles list box events. + * @param aListBox The originating list box. + * @param aEventType A code for the event. + */ + void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType ); + + + public: // From CEikDialog + + /** + * @see CEikDialog + */ + void HandleDialogPageEventL( TInt aEventID ); + + + protected: + void PreLayoutDynInitL(); + void PostLayoutDynInitL(); + TBool OkToExitL( TInt aButtonId ); + void ProcessCommandL( TInt aCommand ); + void PageChangedL( TInt aPageId ); + + private: + void ChangeTitleL( TBool aIsStarted ); + void DrawSettingsListL(); + void ShowSettingPageL( TInt aCalledFromMenu ); + void MoveEapTypeL( TInt aOldPos, TInt aNewPos ); + void DrawEapListL(TInt aWantedIndex); + TInt ShowRadioButtonSettingPageL( TInt aTitle, CDesCArrayFlat* aValues, + TInt aCurrentItem ); + void DrawCipherSuitesL(); + void CompleteReadCertificates( const TInt aResult ); + void CompleteUiConstructionL(); + TInt CheckActiveUserCertificate(); + TInt CheckActiveCaCertificate(); + void UserCertificateHouseKeeping( TInt aSelected ); + void CaCertificateHouseKeeping( TInt aSelected ); + void CreateEapTypeDataBaseL(); + void SetCipherIconsL(); + void SetEapIconsL(); + TUint GetEnabledEapTypeCount(); + void GetHelpContext(TCoeHelpContext& aContext) const; + + void GetFullCertLabelL( const SCertEntry& aCert, TDes& aFullLabel ); + + /** + * Initialize menu pane. + * @param aResourceId Menu pane resource id. + * @param CEikMenuPane Menu pane. + */ + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + void ConfigureL( TBool aQuick ); + + private: + CEapTlsPeapUiConnection* iConnection; + CEapTlsPeapUiDataConnection* iDataConnection; + CEapTlsPeapUiCipherSuites* iCipherSuites; + CEapTlsPeapUiCertificates* iCertificates; + + CEapTlsPeapUiTlsPeapData* iUiData; + CArrayFixFlat* iUiCipherSuites; + CArrayFixFlat* iUiUserCertificates; + CArrayFixFlat* iUiCACertificates; + CArrayFixFlat* iUiEapTypes; + + CAknSingleNumberStyleListBox* iUserCertificateListBox; + CAknSingleNumberStyleListBox* iCaCertificateListBox; + CAknSingleNumberStyleListBox* iCipherSuiteListBox; + CAknSingleNumberStyleListBox* iEapTypesListBox; + CEapPeapSettingItemArray* iSettingArray; + CAknSettingStyleListBox* iSettingListBox; + CDesCArray* iEapTypeViewArray; + CDesCArray* iCipherSuitesViewArray; + CEapTlsPeapUiEapTypes* iEapTypes; + TIndexType iIndexType; + TInt iIndex; + HBufC* iPreviousText; + TInt* iButtonId; + + // Tells the status of UI construction. TRUE if UI construction is completed. + TBool iIsUIConstructionCompleted; + + // For exiting dialog + TBool iExiting; + }; + + +#endif // _EAPPEAPUIVIEW_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/loc/eappeapui.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/loc/eappeapui.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,84 @@ +/* +* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-PEAP authentication settings +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + + +//d:UI title for main view +//l:title_pane_t2/opt9 +//w: +//r:3.1 +// +#define qtn_wlan_eap_peap_title "EAP-PEAP settings" + + +//d:Setting list item, static part. User is able to define the settings for +//d:the usage of different PEAP versions in WLAN authentication. +//l:list_setting_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_allow_peapv0 "Allow PEAPv0" + + +//d:Setting list item, static part. User is able to define the settings for +//d:the usage of different PEAP versions in WLAN authentication. +//l:list_setting_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_allow_peapv1 "Allow PEAPv1" + + +//d:Setting list item, static part. User is able to define the settings for +//d:the usage of different PEAP versions in WLAN authentication. +//l:list_setting_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_allow_peapv2 "Allow PEAPv2" + + +//d:Setting list item, dynamic part. Displayed below one of the texts +//d:"Allow PEAPv0" (qtn_wlan_eap_sett_allow_peapv0), "Allow PEAPv1" +//d:(qtn_wlan_eap_sett_allow_peapv1) or "Allow PEAPv2" +//d:(qtn_wlan_eap_sett_allow_peapv2). +//d:Allows the usage of a different version of PEAP. +//l:list_set_graphic_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_allow_peap_yes "Yes" + + +//d:Setting list item, dynamic part. Displayed below one of the texts +//d:"Allow PEAPv0" (qtn_wlan_eap_sett_allow_peapv0), "Allow PEAPv1" +//d:(qtn_wlan_eap_sett_allow_peapv1) or "Allow PEAPv2" +//d:(qtn_wlan_eap_sett_allow_peapv2). +//d: Denies the usage of a different version of PEAP. +//l:list_set_graphic_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_allow_peap_no "No" + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUi.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUi.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,145 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP PEAP UI class +* +*/ + +/* +* %version: 15 % +*/ + +// INCLUDE FILES +#include "EapPeapUi.h" +#include "EapTlsPeapUiConnection.h" +#include "EapPeapUiView.h" +#include +#include +#include +#include +#include + + +// CONSTANTS +_LIT( KDriveZ, "z:" ); // ROM folder +_LIT( KResourceFileName, "eappeapui.rsc" ); + + +// CLASS DECLARATION +class TResourceFileCleanupItem + { + public: + CCoeEnv* iCoeEnv; + TInt iResourceFileOffset; + }; + + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CleanupResourceFile +// ----------------------------------------------------------------------------- +// +static void CleanupResourceFile( TAny* aObject ) + { + TResourceFileCleanupItem* item = + REINTERPRET_CAST( TResourceFileCleanupItem*, aObject ); + item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset ); + delete item; + } + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapPeapUi::CEapPeapUi +// ----------------------------------------------------------------------------- +// +CEapPeapUi::CEapPeapUi( CEapTlsPeapUiConnection* aConnection, + TIndexType aIndexType, + TInt aIndex ) +: iConnection( aConnection ), + iIndexType( aIndexType ), + iIndex( aIndex ) + { + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUi::NewL +// ----------------------------------------------------------------------------- +// +CEapPeapUi* CEapPeapUi::NewL( CEapTlsPeapUiConnection* aConnection, + TIndexType aIndexType, + TInt aIndex ) + { + CEapPeapUi* self = + new( ELeave ) CEapPeapUi( aConnection, aIndexType, aIndex ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUi::ConstructL +// ----------------------------------------------------------------------------- +// +void CEapPeapUi::ConstructL() + { + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUi::~CEapPeapUi +// ----------------------------------------------------------------------------- +// +CEapPeapUi::~CEapPeapUi() + { + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUi::InvokeUiL +// ----------------------------------------------------------------------------- +// +TInt CEapPeapUi::InvokeUiL() + { + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + CCoeEnv* coeEnv = CCoeEnv::Static(); + BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName ); + + TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem; + + item->iCoeEnv = coeEnv; + CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) ); + item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName ); + + TInt buttonId; + CEapPeapUiDialog* settingsDlg = new( ELeave ) CEapPeapUiDialog( + iConnection, iIndexType, iIndex, buttonId ); + settingsDlg->ConstructAndRunLD( R_PEAP_SETTING_DIALOG ); + + CleanupStack::PopAndDestroy(); // For resource file + + return buttonId; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiSettingArray.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiSettingArray.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,185 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of EAP PEAP UI settings array +* +*/ + +/* +* %version: 13 % +*/ + +// INCLUDE FILES +#include "EapPeapUiSettingArray.h" +#include "EapPeapUi.hrh" +#include +#include + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapPeapSettingItemArray::CEapPeapSettingItemArray +// ----------------------------------------------------------------------------- +// +CEapPeapSettingItemArray::CEapPeapSettingItemArray() + { + } + + +// ----------------------------------------------------------------------------- +// CEapPeapSettingItemArray::NewL +// ----------------------------------------------------------------------------- +// +CEapPeapSettingItemArray* CEapPeapSettingItemArray::NewL() + { + CEapPeapSettingItemArray* self = new( ELeave ) CEapPeapSettingItemArray(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); // self + return self; + } + + +// ----------------------------------------------------------------------------- +// CEapPeapSettingItemArray::~CEapPeapSettingItemArray +// ----------------------------------------------------------------------------- +// +CEapPeapSettingItemArray::~CEapPeapSettingItemArray() + { + if( iArray ) + { + // ResetAndDestroy() + iArray->ResetAndDestroy(); + } + delete iArray; + iArray = NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapPeapSettingItemArray::Item +// ----------------------------------------------------------------------------- +// +CAknSettingItem* CEapPeapSettingItemArray::Item( TEapPeapUiSettingPageIds aId ) + { + for( TInt i = 0; i < iArray->Count(); i++ ) + { + if( iArray->At( i )->Identifier() == aId ) + { + return iArray->At( i ); + } + } + + __ASSERT_DEBUG( EFalse, User::Invariant() ); + return NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapPeapSettingItemArray::Array +// ----------------------------------------------------------------------------- +// +CAknSettingItemArray* CEapPeapSettingItemArray::Array() + { + return iArray; + } + + +// ----------------------------------------------------------------------------- +// CEapPeapSettingItemArray::StoreSettingsL +// ----------------------------------------------------------------------------- +// +void CEapPeapSettingItemArray::StoreSettingsL() + { + // Do what SettingItemList::StoreSettings would do. + for( TInt i( 0 ); i < iArray->Count(); ++i ) + { + iArray->At( i )->StoreL(); + } + } + + +// ----------------------------------------------------------------------------- +// CEapPeapSettingItemArray::ConstructL +// ----------------------------------------------------------------------------- +// +void CEapPeapSettingItemArray::ConstructL() + { + iArray = new( ELeave ) CAknSettingItemArray( 2, EFalse, 0 ); + } + + +// ----------------------------------------------------------------------------- +// CEapPeapSettingItemArray::AddTextItemL +// ----------------------------------------------------------------------------- +// +void CEapPeapSettingItemArray::AddTextItemL( TDes& aBuffer, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal) + { + // Create new setting item + CAknTextSettingItem* settingItem = + new( ELeave ) CAknTextSettingItem( aId, aBuffer ); + CleanupStack::PushL( settingItem ); + settingItem->SetEmptyItemTextL( KNullDesC ); + settingItem->SetSettingPageFlags( + CAknTextSettingPage::EZeroLengthAllowed ); + + // Construct setting item with parametrized values + HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( + aTitleResource ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResource, EAknCtPopupSettingList, + NULL, aAssociatedResource ); + + // Append item to settingitem-array + iArray->InsertL( aOrdinal, settingItem ); + + CleanupStack::PopAndDestroy( itemTitle ); + // Items are destroyed in destructor when resetting array + CleanupStack::Pop( settingItem ); + } + + +// ----------------------------------------------------------------------------- +// CEapPeapSettingItemArray::AddBinarySettingItemL +// ----------------------------------------------------------------------------- +// +void CEapPeapSettingItemArray::AddBinarySettingItemL( + TInt aSettingPageResourceId, + TInt aTitleResourceId, + TInt aAssociatedResourceId, + TInt aOrdinal, + TBool& aModifiedValue ) + { + CAknSettingItem* settingItem = new ( ELeave ) + CAknBinaryPopupSettingItem( 0, aModifiedValue ); + CleanupStack::PushL( settingItem ); + + HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( + aTitleResourceId ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResourceId, EAknCtPopupSettingList, + NULL, aAssociatedResourceId ); + iArray->AppendL( settingItem ); + + CleanupStack::PopAndDestroy( itemTitle ); + CleanupStack::Pop( settingItem ); + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiView.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiView.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,1880 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP PEAP UI settings dialog +* +*/ + +/* +* %version: 37.1.8.1.1 % +*/ + +// INCLUDE FILES +#include +#include +#include +#include "EapPeapUiView.h" +#include "EapPeapUi.hrh" +#include +#include +#include +#include "EapPeapUiSettingArray.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // For EAP type info query +#include +#include +#include +#include +#include + + +// CONSTANTS +// UID of general settings app, in which help texts are included +const TUid KHelpUidPlugin = { 0x100058EC }; + + +static const TInt KSettingArrayGranularity = 4; +static const TInt KSuiteArrayGranularity = 5; +static const TInt KMaxLengthOfEapLine = 270; +static const TInt KCertificateArrayGranularity = 5; +static const TInt KMaxLengthOfSuiteName = 255; +static const TInt KEapPeapId = 25; + +_LIT( KNameSeparator, " " ); +_LIT( KEmptyString, "" ); +const TUint KFirstElement = 0; +const TUint KSecondElement = 1; +const TUint KMinEnabledCount = 1; + +/* This is the maximum length of a certificate's full name, includes +label, primary and secondary names */ +const TUint32 KMaxFullCertLabelLength = KMaxCertLabelLength + 2 * + KMaxNameLength + 1; // 1 is for separator. + + +// MODULE DATA STRUCTURES +enum TPageIds + { + ESettingsPage=0, + EEapTypePage, + ECipherSuitePage + }; + + +enum TSettingIds + { + EUserCertificateItem=0, + ECaCertificateItem, + EUsernameInUseItem, + EUsernameItem, + ERealmInUseItem, + ERealmItem + }; + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::CEapPeapUiDialog +// ----------------------------------------------------------------------------- +// +CEapPeapUiDialog::CEapPeapUiDialog( CEapTlsPeapUiConnection* aConnection, + TIndexType aIndexType, + TInt aIndex, + TInt& aButtonId ) +: CAknDialog(), + iConnection( aConnection ), + iIndexType( aIndexType ), + iIndex( aIndex ), + iButtonId( &aButtonId ), + iIsUIConstructionCompleted( EFalse ), + iExiting( EFalse ) + { + } + + +// --------------------------------------------------------- +// CEapPeapUiDialog::ConstructAndRunLD +// --------------------------------------------------------- +// +TInt CEapPeapUiDialog::ConstructAndRunLD( TInt aResourceId ) + { + CleanupStack::PushL( this ); + + iSettingArray = CEapPeapSettingItemArray::NewL(); + + User::LeaveIfError( iConnection->Connect() ); + + // Basic data + iDataConnection = iConnection->GetDataConnection(); + if ( iDataConnection == 0 ) + { + User::Leave( KErrNoMemory ); + } + User::LeaveIfError( iDataConnection->Open() ); + User::LeaveIfError( iDataConnection->GetData( &iUiData ) ); + + // Cipher suites + iCipherSuites = iConnection->GetCipherSuiteConnection(); + if ( iCipherSuites == 0 ) + { + User::Leave( KErrNoMemory ); + } + + User::LeaveIfError( iCipherSuites->Open() ); + User::LeaveIfError( iCipherSuites->GetCipherSuites( &iUiCipherSuites ) ); + + iCipherSuitesViewArray = new( ELeave ) CDesCArrayFlat( + KSuiteArrayGranularity ); + + //EAP types + iEapTypes = iConnection->GetEapTypeConnection(); + if ( iEapTypes == 0 ) + { + User::Leave( KErrNoMemory ); + } + User::LeaveIfError( iEapTypes->Open() ); + User::LeaveIfError( iEapTypes->GetEapTypes( &iUiEapTypes ) ); + + if ( iUiEapTypes->Count() == 0 ) + { + CreateEapTypeDataBaseL(); + } + iEapTypeViewArray = new( ELeave ) CDesCArrayFlat( + KSettingArrayGranularity ); + + FeatureManager::InitializeLibL(); + + ConstructL( R_PEAP_MENUBAR ); + + // ExecuteLD will PushL( this ), so we have to Pop it... + CleanupStack::Pop( this ); // this + + return CAknDialog::ExecuteLD( aResourceId ); + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::OfferKeyEventL +// ----------------------------------------------------------------------------- +// +TKeyResponse CEapPeapUiDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType ) + { + TKeyResponse result( EKeyWasNotConsumed ); + + // gently handle impatient users + if ( !iIsUIConstructionCompleted ) + { + return CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + } + + TInt pageId = ActivePageId(); + + if ( aType == EEventKey && pageId == KEAPPEAPCIPHERPAGE ) + { + + TInt indexBefore = iCipherSuiteListBox->CurrentItemIndex(); + + // Handle Enter key here, since it doesn't seem to convert into + // the proper command id via the normal route + // (maybe some Avkon support for Enter key is still missing in + // S60 3.2 2008_wk22) + if ( aKeyEvent.iCode == EKeyEnter ) + { + if ( ( *iUiCipherSuites )[indexBefore].iIsEnabled ) + { + OkToExitL( EPeapUiCmdDisable ); + } + else + { + OkToExitL( EPeapUiCmdEnable ); + } + + result = EKeyWasConsumed; + } + else + { + result = CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + } + TInt indexAfter = iCipherSuiteListBox->CurrentItemIndex(); + + if ( indexBefore != indexAfter ) + { + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + if( ( *iUiCipherSuites )[indexAfter].iIsEnabled ) + { + cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_DISABLE ); + } + else + { + cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_ENABLE ); + } + + cba.DrawDeferred(); + } + } + else if ( aType == EEventKey && pageId == KEAPPEAPEAPPAGE ) + { + TInt indexBefore = iEapTypesListBox->CurrentItemIndex(); + // Handle Enter key here, since it doesn't seem to convert into + // the proper command id via the normal route + // (maybe some Avkon support for Enter key is still missing in + // S60 3.2 2008_wk22) + if ( aKeyEvent.iCode == EKeyEnter ) + { + if ( ( *iUiEapTypes )[indexBefore].iIsEnabled ) + { + OkToExitL( EPeapUiCmdConfigure ); + } + else + { + OkToExitL( EPeapUiCmdEnable ); + } + + result = EKeyWasConsumed; + } + else + { + result = CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + } + + + TInt indexAfter = iEapTypesListBox->CurrentItemIndex(); + + if ( indexBefore != indexAfter ) + { + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + if( ( *iUiEapTypes )[indexAfter].iIsEnabled ) + { + cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_CONFIGURE ); + } + else + { + cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_ENABLE ); + } + + cba.DrawDeferred(); + } + } + else + { + result = CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + } + + return result; + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::~CEapPeapUiDialog +// ----------------------------------------------------------------------------- +// +CEapPeapUiDialog::~CEapPeapUiDialog() + { + if ( iSettingArray ) + { + iSettingArray->Array()->ResetAndDestroy(); + } + + delete iSettingArray; + iSettingListBox = NULL; + + iDataConnection->Close(); + delete iDataConnection; + + iCipherSuitesViewArray->Reset(); + delete iCipherSuitesViewArray; + + iEapTypeViewArray->Reset(); + delete iEapTypeViewArray; + + iCertificates->Close(); + delete iCertificates; + + iCipherSuites->Close(); + delete iCipherSuites; + + iEapTypes->Close(); + delete iEapTypes; + + iConnection->Close(); + + delete iPreviousText; + + FeatureManager::UnInitializeLib(); + } + + +// --------------------------------------------------------- +// CEapPeapUiDialog::HandleListBoxEventL +// --------------------------------------------------------- +// +void CEapPeapUiDialog::HandleListBoxEventL( CEikListBox* aListBox, + TListBoxEvent aEventType ) + { + switch ( aEventType ) + { + case EEventEnterKeyPressed: + case EEventItemSingleClicked: + { + if ( aListBox == iSettingListBox ) + { + OkToExitL( EPeapUiCmdChange ); + } + + else if ( aListBox == iEapTypesListBox ) + { + TInt index = iEapTypesListBox->CurrentItemIndex(); + if ( iUiEapTypes->At( index ).iIsEnabled ) + { + ConfigureL( ETrue ); + } + else + { + OkToExitL( EPeapUiCmdEnable ); + } + } + + else if ( aListBox == iCipherSuiteListBox ) + { + TInt index = iCipherSuiteListBox->CurrentItemIndex(); + if ( iUiCipherSuites->At( index ).iIsEnabled ) + { + OkToExitL( EPeapUiCmdDisable ); + } + else + { + OkToExitL( EPeapUiCmdEnable ); + } + } + + else + { + // Do nothing; we should never end up here + } + + break; + } + + case EEventItemActioned: + case EEventEditingStarted: + case EEventEditingStopped: + case EEventPenDownOnItem: + case EEventItemDraggingActioned: + { + break; + } + + default: + { + break; + }; + }; + } + + +// --------------------------------------------------------- +// CEapPeapUiDialog::HandleDialogPageEventL +// --------------------------------------------------------- +// +void CEapPeapUiDialog::HandleDialogPageEventL( TInt aEventID ) + { + CAknDialog::HandleDialogPageEventL( aEventID ); + if( iExiting ) + { + // Exit requested. + TryExitL( EAknCmdExit ); + } + } + + +// ----------------------------------------------------------------------------- +// CleanupImplArray +// ----------------------------------------------------------------------------- +// +static void CleanupResetAndDestroy( TAny* aAny ) +{ + RImplInfoPtrArray* implArray = + reinterpret_cast( aAny ); + + implArray->ResetAndDestroy(); + implArray->Close(); +} + +// --------------------------------------------------------- +// CEapPeapUiDialog::ConfigureL +// --------------------------------------------------------- +// +void CEapPeapUiDialog::ConfigureL( TBool aQuick ) + { + RImplInfoPtrArray eapArray; + eapArray.Reset(); + + CleanupStack::PushL( TCleanupItem( CleanupResetAndDestroy, &eapArray ) ); + + REComSession::ListImplementationsL( KEapTypeInterfaceUid, + eapArray ); + + TInt itemIndex = iEapTypesListBox->CurrentItemIndex(); + TInt eapIndex( 0 ); + for ( TInt i = 0; i < eapArray.Count(); i++ ) + { + CImplementationInformation* tempInfo = eapArray[i]; + if ( iUiEapTypes->At( itemIndex ).iEapType == + tempInfo->DataType() ) + { + eapIndex = i; + break; + } + } + + CEapType* eapType; + eapType = CEapType::NewL( eapArray[eapIndex]->DataType(), + iIndexType, iIndex ); + + CleanupStack::PopAndDestroy(); // eapArray + + eapType->SetTunnelingType( KEapPeapId ); + CleanupStack::PushL( eapType ); + TInt buttonId = eapType->InvokeUiL(); + CleanupStack::PopAndDestroy( eapType ); + + if ( buttonId == EAknCmdExit || buttonId == EEikCmdExit ) + { + if (aQuick == EFalse) + { + TryExitL( buttonId ); + } + else + { + iExiting = ETrue; + // Don't exit here. Framework command chain will + // cause a KERN-EXEC 3 panic. Handle the exit in + // HandleDialogPageEventL(). + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::PreLayoutDynInitL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::PreLayoutDynInitL() + { + // Change title + ChangeTitleL( ETrue ); + + iSettingListBox = static_cast( + ControlOrNull( EPeapSettingsListbox ) ); + iSettingListBox->SetComponentsToInheritVisibility( ETrue ); + + iEapTypesListBox = static_cast( + ControlOrNull( EPeapSettingsEapTypeListbox ) ); + iEapTypesListBox->SetComponentsToInheritVisibility( ETrue ); + + iCipherSuiteListBox = static_cast( + ControlOrNull( EPeapSettingsCipherSuiteListbox ) ); + iCipherSuiteListBox->SetComponentsToInheritVisibility( ETrue ); + + // Get certificates before building the UI. + // Will continue when certificates are received + iCertificates = iConnection->GetCertificateConnection( this ); + User::LeaveIfError( iCertificates->Open() ); + iCertificates->GetCertificates( &iUiUserCertificates, &iUiCACertificates ); + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::CompleteReadCertificates +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::CompleteReadCertificates( const TInt aResult ) + { + if ( aResult == KErrNone ) // Certificates are received from core + { + TRAPD( err, CompleteUiConstructionL() ); + if ( err != KErrNone ) + { + TRAP_IGNORE( TryExitL( KErrCancel ) ); + } + } + else + { + TRAP_IGNORE( TryExitL( KErrCancel ) ); + } + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::CompleteUiConstructionL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::CompleteUiConstructionL() + { + // Initialize setting page + iSettingListBox = static_cast( + ControlOrNull( EPeapSettingsListbox ) ); + iSettingListBox->SetMopParent( this ); + iSettingListBox->CreateScrollBarFrameL( ETrue ); + iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( + CEikScrollBarFrame::EOff, + CEikScrollBarFrame::EAuto ); + iSettingListBox->SetListBoxObserver( this ); + DrawSettingsListL(); + + // Initialize EAP types page + iEapTypesListBox = static_cast( + ControlOrNull( EPeapSettingsEapTypeListbox ) ); + iEapTypesListBox->SetMopParent( this ); + iEapTypesListBox->CreateScrollBarFrameL( ETrue ); + iEapTypesListBox->ScrollBarFrame()->SetScrollBarVisibilityL( + CEikScrollBarFrame::EOff, + CEikScrollBarFrame::EAuto ); + iEapTypesListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); + iEapTypesListBox->SetListBoxObserver( this ); + + // Following deletes internal array created from resources. + // To prevent memory leak. + MDesCArray* internalArray1 = iEapTypesListBox->Model()->ItemTextArray(); + delete internalArray1; + + // Initialize cipher suites page + iCipherSuiteListBox = static_cast( + ControlOrNull( EPeapSettingsCipherSuiteListbox ) ); + iCipherSuiteListBox->CreateScrollBarFrameL( ETrue ); + iCipherSuiteListBox->ScrollBarFrame()->SetScrollBarVisibilityL( + CEikScrollBarFrame::EOff, + CEikScrollBarFrame::EAuto ); + iCipherSuiteListBox->UpdateScrollBarsL(); + iCipherSuiteListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); + iCipherSuiteListBox->SetListBoxObserver( this ); + + //Following deletes internal array created from resources. + // To prevent memory leak. + MDesCArray* internalArray2 = iCipherSuiteListBox->Model()->ItemTextArray(); + delete internalArray2; + + SetEapIconsL(); + DrawEapListL( 0 ); + + SetCipherIconsL(); + DrawCipherSuitesL(); + + iIsUIConstructionCompleted = ETrue; + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::PostLayoutDynInitL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::PostLayoutDynInitL() + { + TUid naviPaneUid; + naviPaneUid.iUid = EEikStatusPaneUidNavi; + + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( naviPaneUid ); + if ( subPane.IsPresent()&&subPane.IsAppOwned() ) + { + CAknNavigationControlContainer* naviPane = + static_cast( + statusPane->ControlL( naviPaneUid ) ); + CAknNavigationDecorator* naviDecorator = naviPane->ResourceDecorator(); + if ( naviDecorator ) + { + CAknTabGroup* tabGroup = static_cast( + naviDecorator->DecoratedControl() ); + tabGroup->SetActiveTabById( 0 ); + tabGroup->SetTabFixedWidthL( KTabWidthWithOneTab ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::ChangeTitleL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::ChangeTitleL( TBool aIsStarted ) + { + TUid titlePaneUid; + titlePaneUid.iUid = EEikStatusPaneUidTitle; + + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( titlePaneUid ); + + if ( subPane.IsPresent() && subPane.IsAppOwned() ) + { + CAknTitlePane* titlePane = static_cast( + statusPane->ControlL( titlePaneUid) ); + if ( aIsStarted ) + { + // Store previous application title text + const TDesC* prevText = titlePane->Text(); + iPreviousText = HBufC::NewL( prevText->Length() ); + iPreviousText->Des().Append( *prevText ); + TDesC* titleText = iEikonEnv->AllocReadResourceLC( + R_PEAP_SETTINGS_TITLE ); + titlePane->SetTextL( *titleText ); + CleanupStack::PopAndDestroy( titleText ); + } + else + { + // Set calling application title text back + titlePane->SetTextL( *iPreviousText ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::OkToExitL +// ----------------------------------------------------------------------------- +// +TBool CEapPeapUiDialog::OkToExitL( TInt aButtonId ) + { + TBool ret( EFalse ); + switch ( aButtonId ) + { + case EEikBidOk: + { + if( iIsUIConstructionCompleted ) + { + TPageIds index = static_cast( ActivePageIndex() ); + if ( index == ESettingsPage ) + { + ShowSettingPageL( EFalse ); + } + else if ( index == EEapTypePage ) + { + ProcessCommandL( EPeapUiCmdConfigure ); + } + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapPeapUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") ); + #endif + } + + break; + } + + case EAknSoftkeyOptions: + { + DisplayMenuL(); + break; + } + + case EAknSoftkeyBack: + case EAknCmdExit: + { + if( iIsUIConstructionCompleted ) + { + iDataConnection->Update(); + ChangeTitleL( EFalse ); + ret = ETrue; + } + break; + } + + case EPeapUiCmdChange: + { + TInt pageId = ActivePageId(); + if ( pageId == KEAPPEAPSETTINGSPAGE ) + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( EFalse ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapPeapUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + } + break; + } + case EPeapUiCmdConfigure: + case EPeapUiCmdEnable: + case EPeapUiCmdDisable: + { + ProcessCommandL( aButtonId ); + ret = EFalse; + break; + } + + default: + { + break; + } + } + + if ( ret ) + { + *iButtonId = aButtonId; + } + + return ret; + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::DrawSettingsListL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::DrawSettingsListL() + { + iSettingArray->Array()->ResetAndDestroy(); + TInt ordinal = 0; + TInt activeUserCertificate = CheckActiveUserCertificate(); + TBuf aActiveuserCertificateName = KEmptyString(); + if ( activeUserCertificate != KErrNotFound ) + { + TBuf text; + GetFullCertLabelL( + iUiUserCertificates->At( activeUserCertificate ).iCertEntry, + text ); + aActiveuserCertificateName.Copy( text ); + } + else + { + TDesC* notDefinedText = iEikonEnv->AllocReadResourceLC( + R_PEAP_NOT_DEFINED ); + aActiveuserCertificateName.Copy( *notDefinedText ); + CleanupStack::PopAndDestroy( notDefinedText ); + } + + iSettingArray->AddTextItemL( aActiveuserCertificateName, + EPeapSettingUserCert, + R_PEAP_USER_CERT_STRING, + R_PEAP_USERNAME_PAGE, + NULL, + ordinal++ ); + + TInt activeCaCertificate = CheckActiveCaCertificate(); + TBuf aActiveCaCertificateName = KEmptyString(); + if ( activeCaCertificate != KErrNotFound ) + { + TBuf text; + GetFullCertLabelL( + iUiCACertificates->At( activeCaCertificate ).iCertEntry, + text ); + aActiveCaCertificateName.Copy( text ); + } + else + { + TDesC* notDefinedText = iEikonEnv->AllocReadResourceLC( + R_PEAP_NOT_DEFINED ); + aActiveCaCertificateName.Copy( *notDefinedText ); + CleanupStack::PopAndDestroy( notDefinedText ); + } + + iSettingArray->AddTextItemL( aActiveCaCertificateName, + EPeapSettingCaCert, + R_PEAP_CA_CERT_STRING, + R_PEAP_USERNAME_PAGE, + NULL, + ordinal++ ); + + iSettingArray->AddBinarySettingItemL( R_PEAP_DISPLAY_AUTOUSECONF_PAGE, + R_PEAP_USERNAME_INUSESTRING, + R_PEAP_USERNAME_AUTOUSECONF_TEXTS, + ordinal++, + *iUiData->GetUseManualUsername() ); + + iSettingArray->AddTextItemL( iUiData->GetManualUsername(), + EPeapTabSheetSettingsUsername, + R_PEAP_USERNAME_STRING, + R_PEAP_USERNAME_PAGE, + NULL, + ordinal++ ); + + iSettingArray->AddBinarySettingItemL( R_PEAP_DISPLAY_AUTOUSECONF_PAGE, + R_PEAP_REALM_INUSESTRING, + R_PEAP_REALM_AUTOUSECONF_TEXTS, + ordinal++, + *iUiData->GetUseManualRealm() ); + + iSettingArray->AddTextItemL( iUiData->GetManualRealm(), + EPeapTabSheetSettingsRealm, + R_PEAP_REALM_STRING, + R_PEAP_REALM_PAGE, + NULL, + ordinal++ ); + + iSettingArray->AddBinarySettingItemL( R_PEAP_DISPLAY_AUTOUSECONF_PAGE, + R_PEAP_TLS_PRIVACY_STRING, + R_PEAP_TLS_PRIVACY_AUTOUSECONF_TEXTS, + ordinal++, + *iUiData->GetTlsPrivacy() ); + + + iSettingArray->AddBinarySettingItemL( R_PEAP_ALLOW_VERSION_0, + R_PEAP_ALLOW_PEAPV0, + R_PEAP_ALLOW_VERSION_TEXTS, + ordinal++, + *iUiData->GetAllowVersion0() ); + + iSettingArray->AddBinarySettingItemL( R_PEAP_ALLOW_VERSION_1, + R_PEAP_ALLOW_PEAPV1, + R_PEAP_ALLOW_VERSION_TEXTS, + ordinal++, + *iUiData->GetAllowVersion1() ); + + iSettingArray->AddBinarySettingItemL( R_PEAP_ALLOW_VERSION_2, + R_PEAP_ALLOW_PEAPV2, + R_PEAP_ALLOW_VERSION_TEXTS, + ordinal++, + *iUiData->GetAllowVersion2() ); + + iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() ); + iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); + iSettingArray->Array()->RecalculateVisibleIndicesL(); + iSettingListBox->HandleItemAdditionL(); + iSettingListBox->UpdateScrollBarsL(); + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::DynInitMenuPaneL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::DynInitMenuPaneL( TInt aResourceId, + CEikMenuPane* aMenuPane ) + { + CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane ); + + if ( aMenuPane && aResourceId == R_PEAP_MENU_PANE ) + { + if ( !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) + { + aMenuPane->DeleteMenuItem( EAknCmdHelp ); + } + + TPageIds index = static_cast( ActivePageIndex() ); + if ( index == ESettingsPage ) + { + aMenuPane->SetItemDimmed( EPeapUiCmdEnable, ETrue ); + aMenuPane->SetItemDimmed( EPeapUiCmdDisable, ETrue ); + aMenuPane->SetItemDimmed( EPeapUiCmdConfigure, ETrue ); + aMenuPane->SetItemDimmed( EPeapUiCmdMoveUp, ETrue ); + aMenuPane->SetItemDimmed( EPeapUiCmdMoveDown, ETrue ); + } + else if ( index == EEapTypePage ) + { + aMenuPane->SetItemDimmed( EPeapUiCmdChange, ETrue ); + + if ( iEapTypeViewArray->Count() > 0 ) + { + TInt currentIndex = iEapTypesListBox->CurrentItemIndex(); + TBool enabled = iUiEapTypes->At( currentIndex ).iIsEnabled; + + // Hide either "Enable" or "Disable", as appropriate. + aMenuPane->SetItemDimmed( EPeapUiCmdEnable, enabled ); + aMenuPane->SetItemDimmed( EPeapUiCmdDisable, !enabled ); + + // Don't display "Configure" for disabled items + aMenuPane->SetItemDimmed( EPeapUiCmdConfigure, !enabled ); + + // Don't display "Raise priority" nor "Lower priority" for + // disabled items + aMenuPane->SetItemDimmed( EPeapUiCmdMoveUp, !enabled ); + aMenuPane->SetItemDimmed( EPeapUiCmdMoveDown, !enabled ); + + if ( enabled ) + { + + if ( currentIndex == 0 ) + { + // Can't go higher than top. + aMenuPane->SetItemDimmed( EPeapUiCmdMoveUp, ETrue ); + } + + if ( currentIndex == iEapTypeViewArray->Count()-1 || + ( currentIndex < iEapTypeViewArray->Count()-1 && + !iUiEapTypes->At( currentIndex + 1 ).iIsEnabled ) ) + { + // Can't go lower than the last enabled item + aMenuPane->SetItemDimmed( EPeapUiCmdMoveDown, ETrue ); + } + + } + + } + else + { + aMenuPane->SetItemDimmed( EPeapUiCmdEnable, ETrue ); + aMenuPane->SetItemDimmed( EPeapUiCmdDisable, ETrue ); + aMenuPane->SetItemDimmed( EPeapUiCmdConfigure, ETrue ); + aMenuPane->SetItemDimmed( EPeapUiCmdMoveUp, ETrue ); + aMenuPane->SetItemDimmed( EPeapUiCmdMoveDown, ETrue ); + aMenuPane->SetItemDimmed( EPeapUiCmdChange, ETrue ); + } + } + else if ( index == ECipherSuitePage ) + { + aMenuPane->SetItemDimmed( EPeapUiCmdConfigure, ETrue ); + aMenuPane->SetItemDimmed( EPeapUiCmdMoveUp, ETrue ); + aMenuPane->SetItemDimmed( EPeapUiCmdMoveDown, ETrue ); + aMenuPane->SetItemDimmed( EPeapUiCmdChange, ETrue ); + + if ( iCipherSuitesViewArray->Count() > 0 ) + { + TInt currIndex = iCipherSuiteListBox->CurrentItemIndex(); + TBool enabled = iUiCipherSuites->At( currIndex ).iIsEnabled; + + // Hide either "Enable" or "Disable", as appropriate. + aMenuPane->SetItemDimmed( EPeapUiCmdEnable, enabled ); + aMenuPane->SetItemDimmed( EPeapUiCmdDisable, !enabled ); + } + else + { + aMenuPane->SetItemDimmed( EPeapUiCmdEnable, ETrue ); + aMenuPane->SetItemDimmed( EPeapUiCmdDisable, ETrue ); + } + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::ProcessCommandL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::ProcessCommandL( TInt aCommand ) + { + if ( MenuShowing() ) + { + HideMenu(); + } + + TPageIds pageIndex = static_cast( ActivePageIndex() ); + switch( aCommand ) + { + case EAknCmdExit: + { + TryExitL( aCommand ); + break; + } + + case EAknCmdHelp: + { + HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), + iEikonEnv->EikAppUi()->AppHelpContextL() ); + break; + } + + case EPeapUiCmdChange: + { + if ( pageIndex == ESettingsPage ) + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( ETrue ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapPeapUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + } + break; + } + + case EPeapUiCmdMoveUp: + { + if ( pageIndex == EEapTypePage ) + { + TInt cur = iEapTypesListBox->CurrentItemIndex(); + MoveEapTypeL( cur, cur - 1 ); + } + break; + } + + case EPeapUiCmdMoveDown: + { + if ( pageIndex == EEapTypePage ) + { + TInt cur = iEapTypesListBox->CurrentItemIndex(); + MoveEapTypeL( cur, cur + 1 ); + } + break; + } + + case EPeapUiCmdEnable: + { + if ( pageIndex == ECipherSuitePage ) + { + TInt index = iCipherSuiteListBox->CurrentItemIndex(); + iUiCipherSuites->At( index ).iIsEnabled = ETrue; + iCipherSuites->Update(); + DrawCipherSuitesL(); + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_DISABLE ); + cba.DrawDeferred(); + } + else if ( pageIndex == EEapTypePage ) + { + TInt cur = iEapTypesListBox->CurrentItemIndex(); + iUiEapTypes->At( cur ).iIsEnabled = ETrue; + + iEapTypes->Update(); + + // enabling moves item to the top of the list + MoveEapTypeL( cur, 0 ); + + // load the new CBA from resource + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_CONFIGURE ); + cba.DrawDeferred(); + } + break; + } + + case EPeapUiCmdDisable: + { + if ( pageIndex == ECipherSuitePage ) + { + TInt index = iCipherSuiteListBox->CurrentItemIndex(); + iUiCipherSuites->At( index ).iIsEnabled = EFalse; + iCipherSuites->Update(); + DrawCipherSuitesL(); + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_ENABLE ); + cba.DrawDeferred(); + } + else if ( pageIndex == EEapTypePage ) + { + TInt itemIndex = iEapTypesListBox->CurrentItemIndex(); + + if( GetEnabledEapTypeCount() > KMinEnabledCount ) + { + // disabling moves item just after the last enabled one, + // so find that position + TInt next = itemIndex; + + while ( next < iUiEapTypes->Count() - 1 && + iUiEapTypes->At( next ).iIsEnabled ) + { + ++next; + } + + if ( next > itemIndex && + !iUiEapTypes->At( next ).iIsEnabled ) + { + --next; + } + + + iUiEapTypes->At( itemIndex ).iIsEnabled = EFalse; + + // move item if needed + MoveEapTypeL( itemIndex, next ); + iEapTypes->Update(); + + // Highlight follows movement. + //iEapTypesListBox->SetCurrentItemIndex( next ); + + // load the new CBA from resource + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + cba.SetCommandSetL( + R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_ENABLE ); + + cba.DrawDeferred(); + } + else + { + HBufC* stringLabel; + stringLabel = StringLoader::LoadL( + R_PEAP_INFO_CANNOT_DISABLE_ALL_EAP_PLUGINS, + iEikonEnv ); + CleanupStack::PushL( stringLabel ); + CAknInformationNote* dialog = new ( ELeave ) + CAknInformationNote( ETrue ); + dialog->ExecuteLD( *stringLabel ); + CleanupStack::PopAndDestroy( stringLabel ); + } + } + break; + } + + case EPeapUiCmdConfigure: + { + if ( pageIndex == EEapTypePage ) + { + ConfigureL(EFalse); + } + break; + } + + default: + { + break; + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::PageChangedL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::PageChangedL( TInt aPageId ) + { + if ( !iIsUIConstructionCompleted ) + { + return; + } + + if ( aPageId == KEAPPEAPSETTINGSPAGE ) + { + if (iSettingListBox->ScrollBarFrame()) + { + iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue); + } + if (iEapTypesListBox->ScrollBarFrame()) + { + iEapTypesListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse); + } + if (iCipherSuiteListBox->ScrollBarFrame()) + { + iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse); + } + } + else if ( aPageId == KEAPPEAPEAPPAGE ) + { + if (iSettingListBox->ScrollBarFrame()) + { + iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse); + } + if (iEapTypesListBox->ScrollBarFrame()) + { + iEapTypesListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue); + } + if (iCipherSuiteListBox->ScrollBarFrame()) + { + iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse); + } + } + else if ( aPageId == KEAPPEAPCIPHERPAGE ) + { + if (iSettingListBox->ScrollBarFrame()) + { + iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse); + } + if (iEapTypesListBox->ScrollBarFrame()) + { + iEapTypesListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse); + } + if (iCipherSuiteListBox->ScrollBarFrame()) + { + iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue); + } + } + + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + if( aPageId == KEAPPEAPSETTINGSPAGE ) + { + cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_EDIT ); + } + else if( aPageId == KEAPPEAPEAPPAGE ) + { + TInt index = iEapTypesListBox->CurrentItemIndex(); + if ( ( *iUiEapTypes )[index].iIsEnabled ) + { + cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_CONFIGURE ); + } + else + { + cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_ENABLE ); + } + + } + else if( aPageId == KEAPPEAPCIPHERPAGE ) + { + TInt index = iCipherSuiteListBox->CurrentItemIndex(); + if( ( *iUiCipherSuites )[ index ].iIsEnabled ) + { + cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_DISABLE ); + } + else + { + cba.SetCommandSetL( R_PEAP_UI_SOFTKEYS_OPTIONS_BACK_ENABLE ); + } + } + cba.DrawDeferred(); + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::ShowSettingPageL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) + { + TInt index = iSettingListBox->CurrentItemIndex(); + if ( index == EUserCertificateItem ) + { + TInt activeUserCertificate = CheckActiveUserCertificate(); + CDesCArrayFlat* tempArray = new( ELeave )CDesCArrayFlat( + KCertificateArrayGranularity ); + CleanupStack::PushL( tempArray ); + + TDesC* noneText = iEikonEnv->AllocReadResourceLC( + R_PEAP_NONE_SELECTION ); + tempArray->InsertL( 0, *noneText ); + CleanupStack::PopAndDestroy( noneText ); + + for ( TInt i = 0; i < iUiUserCertificates->Count(); i++ ) + { + TEapTlsPeapUiCertificate certificate = + iUiUserCertificates->At( i ); + SCertEntry entry = certificate.iCertEntry; + TBuf text; + GetFullCertLabelL( entry, text); + tempArray->InsertL( i+1, text ); + } + + TInt selected( 0 ); + if ( activeUserCertificate == KErrNotFound ) + { + selected = ShowRadioButtonSettingPageL( R_PEAP_USER_CERT_STRING, + tempArray, 0 ); + } + else + { + selected = ShowRadioButtonSettingPageL( R_PEAP_USER_CERT_STRING, + tempArray, + activeUserCertificate+1 ); + //Plus 1 cause we added 'none' selection + } + + CleanupStack::PopAndDestroy( tempArray ); + UserCertificateHouseKeeping( selected ); + iCertificates->Update(); + DrawSettingsListL(); // List must be drawn again at this stage + } + else if ( index == ECaCertificateItem ) + { + TInt activeCaCertificate = CheckActiveCaCertificate(); + + CDesCArrayFlat* tempArray = new( ELeave )CDesCArrayFlat( + KCertificateArrayGranularity ); + CleanupStack::PushL( tempArray); + + TDesC* noneText = iEikonEnv->AllocReadResourceLC( + R_PEAP_NONE_SELECTION ); + tempArray->InsertL( 0, *noneText); + CleanupStack::PopAndDestroy( noneText); + + for ( TInt i = 0; i < iUiCACertificates->Count(); i++ ) + { + TEapTlsPeapUiCertificate certificate = iUiCACertificates->At( i ); + SCertEntry entry = certificate.iCertEntry; + TBuf text; + GetFullCertLabelL( entry, text ); + tempArray->InsertL( i+1, text ); + } + + TInt selected( 0 ); + if ( activeCaCertificate == KErrNotFound ) + { + selected = ShowRadioButtonSettingPageL( R_PEAP_CA_CERT_STRING, + tempArray, 0 ); + } + else + { + selected = ShowRadioButtonSettingPageL( R_PEAP_CA_CERT_STRING, + tempArray, + activeCaCertificate+1 ); + //Plus 1 cause we added 'none' selection + } + CleanupStack::PopAndDestroy( tempArray ); + CaCertificateHouseKeeping( selected ); + iCertificates->Update(); + DrawSettingsListL(); // List must be drawn again at this stage + } + else + { + CAknSettingItem* item = iSettingArray->Array()->At( index ); + item->EditItemL( aCalledFromMenu ); + item->StoreL(); + } + + DrawNow(); + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::MoveEapTypeL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::MoveEapTypeL( TInt aOldPos, TInt aNewPos ) + { + TEapTlsPeapUiEapType originalUpper = iUiEapTypes->At( aOldPos ); + iUiEapTypes->Delete( aOldPos ); + iUiEapTypes->InsertL( aNewPos, originalUpper ); + iUiEapTypes->Compress(); // Might not be needed + iEapTypes->Update(); + DrawEapListL( aNewPos ); + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::DrawEapListL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::DrawEapListL( TInt aWantedIndex ) + { + iEapTypeViewArray->Reset(); + + RImplInfoPtrArray eapArray; + eapArray.Reset(); + + REComSession::ListImplementationsL( KEapTypeInterfaceUid, eapArray ); + for ( TInt i = 0; i < iUiEapTypes->Count(); i++ ) + { + TBuf tempLine; + + if ( iUiEapTypes->At( i ).iIsEnabled ) + { + _LIT( KNumTab, "%d\t" ); + tempLine.AppendFormat( KNumTab, i+1 ); + } + else + { + _LIT( KTab, "\t" ); + tempLine.Append( KTab ); + } + + for ( TInt index = 0; index < eapArray.Count(); index++ ) + { + TBuf8<100> egyik( eapArray[index]->DataType() ); + TBuf8<100> masik( iUiEapTypes->At( i ).iEapType ); + if ( eapArray[index]->DataType() == iUiEapTypes->At( i ).iEapType ) + { + tempLine.Append( eapArray[ index ]->DisplayName() ); + break; + } + } + if ( iUiEapTypes->At( i ).iIsEnabled ) + { // Add mark icon to indicate that the eap type is enabled + _LIT( KTab0, "\t0" ); + tempLine.Append( KTab0 ); + } + iEapTypeViewArray->InsertL( i, tempLine ); + } + + eapArray.ResetAndDestroy(); + iEapTypesListBox->Model()->SetItemTextArray( iEapTypeViewArray ); + iEapTypesListBox->HandleItemAdditionL(); + iEapTypesListBox->SetCurrentItemIndex( aWantedIndex ); + iEapTypesListBox->DrawDeferred(); + iEapTypesListBox->UpdateScrollBarsL(); + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::ShowRadioButtonSettingPageL +// ----------------------------------------------------------------------------- +// +TInt CEapPeapUiDialog::ShowRadioButtonSettingPageL( TInt aTitle, + CDesCArrayFlat* aValues, + TInt aCurrentItem ) + { + // title of the dialog + HBufC* title = iCoeEnv->AllocReadResourceLC( aTitle ); + // We have everything to create dialog + CAknRadioButtonSettingPage* dlg = new( ELeave )CAknRadioButtonSettingPage( + R_RADIO_BUTTON_SETTING_PAGE, + aCurrentItem, + aValues ); + CleanupStack::PushL( dlg ); + dlg->SetSettingTextL( *title ); + CleanupStack::Pop( dlg ); + dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ); + CleanupStack::PopAndDestroy( title ); + // index must be re-turned upside down, because options list is upside down + return aCurrentItem; + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::DrawCipherSuitesL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::DrawCipherSuitesL() + { + iCipherSuitesViewArray->Reset(); + TInt listCount( 0 ); + TBuf temp; + for ( TInt i = 0; i < iUiCipherSuites->Count(); i++ ) + { + temp.Zero(); + _LIT( KTab, "\t" ); + temp.Append( KTab ); + TEapTlsPeapUiCipherSuite suite = iUiCipherSuites->At( i ); + TUint32 suiteId = suite.iCipherSuite; + switch ( suiteId ) + { + case 0x0004: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_PEAP_SUITE_RSARC4MD5 ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0005: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_PEAP_SUITE_RSARC4SHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x000a: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_PEAP_SUITE_RSA3DESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0016: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_PEAP_SUITE_DHERSA3DESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0013: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_PEAP_SUITE_DHEDSS3DESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x002F: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_PEAP_SUITE_RSAAESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0032: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_PEAP_SUITE_DHERSAAESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0033: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_PEAP_SUITE_DHEDSSAESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + default: + { + temp.Append( KEmptyString ); + break; + } + } + + if ( iUiCipherSuites->At( i ).iIsEnabled ) + { // Add mark icon to indicate that the suite is enabled + _LIT( KTab0, "\t0" ); + temp.Append( KTab0 ); + } + + iCipherSuitesViewArray->InsertL( listCount, temp ); + listCount++; + } + + iCipherSuiteListBox->Model()->SetItemTextArray( iCipherSuitesViewArray ); + iCipherSuiteListBox->HandleItemAdditionL(); + iCipherSuiteListBox->DrawDeferred(); + iCipherSuiteListBox->UpdateScrollBarsL(); +} + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::CheckActiveUserCertificate +// ----------------------------------------------------------------------------- +// +TInt CEapPeapUiDialog::CheckActiveUserCertificate() + { + for ( TInt i = 0; i < iUiUserCertificates->Count(); i++ ) + { + if ( iUiUserCertificates->At( i ).iIsEnabled ) + { + return i; + } + } + + return KErrNotFound; + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::CheckActiveCaCertificate +// ----------------------------------------------------------------------------- +// +TInt CEapPeapUiDialog::CheckActiveCaCertificate() + { + for ( TInt i = 0; iCount(); i++ ) + { + if ( iUiCACertificates->At( i ).iIsEnabled ) + { + return i; + } + } + + return KErrNotFound; + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::UserCertificateHouseKeeping +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::UserCertificateHouseKeeping( TInt aSelected ) + { + for ( TInt i = 0; i < iUiUserCertificates->Count(); i++ ) + { + iUiUserCertificates->At( i ).iIsEnabled = EFalse; + } + + if ( aSelected != 0 ) // Zero index is none + { + iUiUserCertificates->At( aSelected-1 ).iIsEnabled = ETrue; + } + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::CaCertificateHouseKeeping +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::CaCertificateHouseKeeping( TInt aSelected ) + { + for ( TInt i = 0; iCount() ; i++ ) + { + iUiCACertificates->At( i ).iIsEnabled = EFalse; + } + + if ( aSelected != 0 ) // Zero index is none + { + iUiCACertificates->At( aSelected-1 ).iIsEnabled = ETrue; + } + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::CreateEapTypeDataBaseL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::CreateEapTypeDataBaseL() + { + RImplInfoPtrArray eapArray; + eapArray.Reset(); + REComSession::ListImplementationsL( KEapTypeInterfaceUid, eapArray ); + TInt allowedInPeapCount( 0 ); + for ( TInt i = 0; i < eapArray.Count(); i++ ) + { + if ( !CEapType::IsDisallowedInsidePEAP( *eapArray[i] ) ) + { + CImplementationInformation* info = eapArray[i]; + TEapTlsPeapUiEapType tempEapType; + tempEapType.iEapType = info->DataType(); + + // MNOL-6RNHEX + // Only EAP-SIM and EAP-AKA should be enabled, in that order + + // BINARY RESOURCE DATA + + // [FE] [00 00 00] [TEapType_bigendian] + _LIT8( KExpEapFirstQuad, "\xFE\0\0\0" ); + TPtrC8 firstQuad( tempEapType.iEapType.Ptr(), 4 ); + // TUint32 dataType = BigEndian::Get32( tempEapType.iEapType.Ptr()+4 ); + + TUint32 dataType = ( tempEapType.iEapType[4] << 24 ) | + ( tempEapType.iEapType[5] << 16 ) | + ( tempEapType.iEapType[6] << 8 ) | + tempEapType.iEapType[7]; + + if ( !firstQuad.Compare( KExpEapFirstQuad ) && + ( dataType == EAPSettings::EEapSim || + dataType == EAPSettings::EEapAka ) ) + { + tempEapType.iIsEnabled = ETrue; + iUiEapTypes->InsertL( KFirstElement, tempEapType ); + } + else + { + tempEapType.iIsEnabled = EFalse; + iUiEapTypes->InsertL( allowedInPeapCount, tempEapType ); + } + + allowedInPeapCount++; + } + } + + __ASSERT_DEBUG( iUiEapTypes->Count() >= 2, User::Panic( _L("EAP-SIM/AKA missing"), 1) ); + + // Check if EAP-SIM and EAP-AKA are in correct order + + // BINARY RESOURCE DATA + + const TDesC8& firstEap = iUiEapTypes->At( KFirstElement ).iEapType; + const TDesC8& secondEap = iUiEapTypes->At( KSecondElement ).iEapType; + + TUint32 dataTypeFirst = ( firstEap[4] << 24 ) | + ( firstEap[5] << 16 ) | + ( firstEap[6] << 8 ) | + firstEap[7]; + TUint32 dataTypeSecond = ( secondEap[4] << 24 ) | + ( secondEap[5] << 16 ) | + ( secondEap[6] << 8 ) | + secondEap[7]; + + // If not, switch them + if ( dataTypeFirst == EAPSettings::EEapAka && + dataTypeSecond == EAPSettings::EEapSim ) + { + TEapTlsPeapUiEapType tempEapType = iUiEapTypes->At( KFirstElement ); + iUiEapTypes->Delete( KFirstElement ); + iUiEapTypes->InsertL( KSecondElement, tempEapType ); + } + + iEapTypes->Update(); + eapArray.ResetAndDestroy(); + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::SetCipherIconsL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::SetCipherIconsL() + { + CArrayPtr< CGulIcon >* icons = new( ELeave ) CAknIconArray( 1 ); + CleanupStack::PushL( icons ); + + MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance(); + +/* icons->AppendL( AknsUtils::CreateGulIconL( skinInstance, + KAknsIIDQgnIndiMarkedAdd, + AknIconUtils::AvkonIconFileName(), + EMbmAvkonQgn_indi_marked_add, + EMbmAvkonQgn_indi_marked_add_mask ) ); +*/ + + CGulIcon* icon = CGulIcon::NewLC(); + CFbsBitmap* bitmap = NULL; + CFbsBitmap* mask = NULL; + AknsUtils::CreateColorIconL( skinInstance, + KAknsIIDQgnIndiMarkedAdd, + KAknsIIDQsnIconColors, + EAknsCIQsnIconColorsCG13, + bitmap, + mask, + AknIconUtils::AvkonIconFileName(), + EMbmAvkonQgn_indi_marked_add, + EMbmAvkonQgn_indi_marked_add_mask, + KRgbBlack ); + icon->SetBitmap( bitmap ); + icon->SetMask( mask ); + icons->AppendL( icon ); + + CleanupStack::Pop( icon ); + CleanupStack::Pop( icons ); + + iCipherSuiteListBox->ItemDrawer()->ColumnData()->SetIconArray( icons ); + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::SetEapIconsL +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::SetEapIconsL() + { + CArrayPtr< CGulIcon >* icons = new( ELeave ) CAknIconArray( 1 ); + CleanupStack::PushL( icons ); + + MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance(); + +/* icons->AppendL( AknsUtils::CreateGulIconL( skinInstance, + KAknsIIDQgnIndiMarkedAdd, + AknIconUtils::AvkonIconFileName(), + EMbmAvkonQgn_indi_marked_add, + EMbmAvkonQgn_indi_marked_add_mask ) ); +*/ + + CGulIcon* icon = CGulIcon::NewLC(); + CFbsBitmap* bitmap = NULL; + CFbsBitmap* mask = NULL; + AknsUtils::CreateColorIconL( skinInstance, + KAknsIIDQgnIndiMarkedAdd, + KAknsIIDQsnIconColors, + EAknsCIQsnIconColorsCG13, + bitmap, + mask, + AknIconUtils::AvkonIconFileName(), + EMbmAvkonQgn_indi_marked_add, + EMbmAvkonQgn_indi_marked_add_mask, + KRgbBlack ); + icon->SetBitmap( bitmap ); + icon->SetMask( mask ); + icons->AppendL( icon ); + + CleanupStack::Pop( icon ); + CleanupStack::Pop( icons ); + + iEapTypesListBox->ItemDrawer()->ColumnData()->SetIconArray( icons ); + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::GetEnabledEapTypeCount +// ----------------------------------------------------------------------------- +// +TUint CEapPeapUiDialog::GetEnabledEapTypeCount() + { + TUint itemCount( 0 ); + for( TInt i( 0 ); i < iUiEapTypes->Count(); ++i ) + { + if( iUiEapTypes->At( i ).iIsEnabled ) + { + ++itemCount; + } + } + return itemCount; + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::GetHelpContext +// ----------------------------------------------------------------------------- +// +void CEapPeapUiDialog::GetHelpContext(TCoeHelpContext& aContext) const + { + aContext.iMajor = KHelpUidPlugin; + TPageIds index = static_cast< TPageIds >( ActivePageIndex() ); + switch ( index ) + { + case EEapTypePage: + { + aContext.iContext = KSET_HLP_WLAN_EAP_PEAP_TYPES; + break; + } + + case ECipherSuitePage: + { + aContext.iContext = KSET_HLP_WLAN_EAP_PEAP_SUITES; + break; + } + + default: + { + aContext.iContext = KSET_HLP_WLAN_EAP_PEAP_SETT; + break; + } + } + } + + + +void CEapPeapUiDialog::GetFullCertLabelL( const SCertEntry& aCert, + TDes& aFullLabel ) + { + TInt length = 0; + + // For label. + length += aCert.iLabel.Length(); + + // For separator between label and primary name. + length += KNameSeparator.iTypeLength; + + // For primary name. + length += aCert.iPrimaryName.Length(); + + if ( !( aCert.iLabel.Length() ) ) + { + // For secondary name. + length += aCert.iSecondaryName.Length(); + } + + if( length > aFullLabel.MaxLength() ) + { +#if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapTtlsUiDialog::GetFullCertLabel - ERROR! Length Mismatch in Certificate's full name\n") ); +#endif + } + + HBufC* label = HBufC::NewL( length ); + label->Des().Append( aCert.iLabel ); + + label->Des().Append( KNameSeparator ); + label->Des().Append( aCert.iPrimaryName ); + + if ( !( aCert.iLabel.Length() ) ) + { + // Secondary name, only if no label. Certificate manager does the same way. + label->Des().Append( aCert.iSecondaryName ); + } + + aFullLabel.Copy( label->Des().Left( aFullLabel.MaxLength() ) ); + + delete label; + label = NULL; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/data/102072bb.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/data/102072bb.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,59 @@ +/* +* Copyright (c) 2001-2009 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: ECom resource definition for EAPPluginConfiguration. +* +*/ + +/* +* %version: 12 % +*/ + +// INCLUDES +#include +#include "EAPPluginConfigUid.h" + + +// RESOURCE DEFINITIONS + +// --------------------------------------------------------------------------- +// +// theInfo +// Contains the ECom registration information for EAP Plugin Configuration +// +// --------------------------------------------------------------------------- +// +RESOURCE REGISTRY_INFO theInfo + { + dll_uid = EAP_PLUGIN_CONFIG_DLL_UID; + interfaces = + { + INTERFACE_INFO + { + interface_uid = EAP_PLUGIN_CONFIG_INTERFACE_UID; + implementations = + { + IMPLEMENTATION_INFO + { + implementation_uid = EAP_PLUGIN_CONFIG_IMPLEMENTATION_UID; + version_no = 1; + display_name = EAP_PL_CONFIG_NAME; + default_data = "EAPPConfig"; + opaque_data = ""; + } + }; + } + }; + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/data/EAPPluginConfigRes.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/data/EAPPluginConfigRes.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,162 @@ +/* +* Copyright (c) 2001-2009 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: UI resources for the EAPPluginConfig module. +* +*/ + +/* +* %version: 17 % +*/ + +CHARACTER_SET UTF8 + +// INCLUDES +#include +#include +#include +#include + +#include "EAPPluginConfig.hrh" +#include +#include + + +// RESOURCE IDENTIFIER +NAME EPCG + + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + + +RESOURCE TBUF { buf = "EAPPluginConfiguration"; } + + +RESOURCE MENU_BAR r_wpa_eap_plugin_menubar + { + titles = + { + MENU_TITLE + { + menu_pane = r_wpa_eap_plugin_menu; + } + }; + } + + +RESOURCE MENU_PANE r_wpa_eap_plugin_menu + { + items = + { + MENU_ITEM + { + command = EWPAEAPPluginCmdConfigure; + txt = qtn_wlan_options_eap_plugin_configure; + flags = EEikMenuItemAction; + }, + + MENU_ITEM + { + command = EWPAEAPPluginCmdEnable; + txt = qtn_wlan_options_eap_plugin_enable; + flags = EEikMenuItemAction; + }, + + MENU_ITEM + { + command = EWPAEAPPluginCmdDisable; + txt = qtn_wlan_options_eap_plugin_disable; + flags = EEikMenuItemSpecific; + }, + + MENU_ITEM + { + command = EWPAEAPPluginCmdPriorityUp; + txt = qtn_wlan_options_eap_plugin_priority_up; + flags = EEikMenuItemSpecific; + }, + + MENU_ITEM + { + command = EWPAEAPPluginCmdPriorityDown; + txt = qtn_wlan_options_eap_plugin_priority_down; + flags = EEikMenuItemSpecific; + }, + + MENU_ITEM + { + command = EAknCmdHelp; + txt = qtn_options_help; + }, + + MENU_ITEM + { + command = EAknCmdExit; + txt = qtn_options_exit; + } + }; + } + + +RESOURCE CBA r_wpa_eap_config_softkeys_options_back_configure + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = EWPAEAPPluginCmdConfigure; txt = \ + qtn_msk_wlan_eap_configure; } + }; + } + + +RESOURCE CBA r_wpa_eap_config_softkeys_options_back_enable + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = EWPAEAPPluginCmdEnable; txt = \ + qtn_msk_wlan_eap_cs_enable; } + }; + } + + +RESOURCE DIALOG r_wpa_eap_config_dialog + { + flags = EAknDialogSelectionList; + buttons = r_wpa_eap_config_softkeys_options_back_configure; + items = + { + DLG_LINE + { + type = EAknCtSingleNumberListBox; + id = ESelectionListControl; + control = LISTBOX + { + flags = EAknListBoxSelectionList; + }; + } + }; + } + + +RESOURCE TBUF r_info_cannot_disable + { + buf = qtn_wlan_info_cannot_disable_all_eap_plugins; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPlugInConfigurationDlg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPlugInConfigurationDlg.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,174 @@ +/* +* Copyright (c) 2001-2009 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: Declares dialog +* +*/ + +/* +* %version: 17 % +*/ + +#ifndef __EAPPLUGINCONFIGURATIONDLG_H__ +#define __EAPPLUGINCONFIGURATIONDLG_H__ + + +// INCLUDES +#include +#include + +#include "EAPPluginList.h" + + +// FORWARD DECLARATIONS +class CAknTitlePane; +class CEAPPluginConfigurationModel; + + +// CONSTANTS +/** +* Maximum length of a SSID in BYTES +*/ +const TUint8 KMaxSSIDLength = 32; + + +// CLASS DECLARATION +/** +* CEAPPluginConfigurationDlg dialog class +*/ +class CEAPPluginConfigurationDlg : public CAknSelectionListDialog + { + public: // Constructors and destructor + + /** + * Constructor. + * @param aButtonId Button used to close the dialog + * @param aModel UI model. + */ + CEAPPluginConfigurationDlg( TInt& aButtonId, + CEAPPluginConfigurationModel& aModel, + const TUint32 iIapId ); + /** + * Create and launch dialog. + * @param aPlugins Plugin list + * @param aTitle Title of the dialog + * @return The ID of the button that closed the dialog + */ + TInt ConstructAndRunLD( const REAPPluginList& aPlugins, + const TDesC& aTitle ); + + + /** + * Destructor. + */ + ~CEAPPluginConfigurationDlg(); + + /** + * Handles list box events. + * @param aListBox The originating list box. + * @param aEventType A code for the event. + */ + void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType ); + + + private: + + /** + * This function is called by the dialog framework before the dialog is + * sized and laid out. + */ + virtual void PreLayoutDynInitL(); + + + /** + * Handles a dialog button press for the specified button + * @param aButtonId The ID of the button that was activated. + * @return ETrue to validate and exit the dialog, + * EFalse to keep the dialog active + */ + TBool OkToExitL( TInt aButtonId ); + + + /** + * Processes user commands. + * @param aCommandId ID of the command to respond to. + */ + virtual void ProcessCommandL( TInt aCommandId ); + + + /** + * Get help context. + * @param aContext Help context is returned here. + */ + void GetHelpContext( TCoeHelpContext& aContext ) const; + + + /** + * Initialize menu pane. + * @param aResourceId Menu pane resource id. + * @param aMenuPane Menu pane. + */ + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + + /** + * Catch offered key events. + * @param aKeyEvent Key event + * @param aModifiers Modifiers + * @return EKeyWasConsumed or EKeyWasNotConsumed, appropriately. + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aModifiers ); + + void SetIconsL(); + void HandleResourceChange( TInt aType ); + + /** + * @see CEikDialog + */ + void HandleDialogPageEventL( TInt aEventID ); + + void ConfigureL( TBool aQuick ); + + private: //data + + // Stores the name of the connection, to be showed as the title. + TBuf iConnectionName; + + // Title pane. Not owned. + CAknTitlePane* iTitlePane; + + // Pointer to the old title. Owned. + HBufC* iOldTitleText; + + REAPPluginList iPlugins; + + TInt* iButtonId; + + // For base class, unused. + TInt iDummy; + + // UI model. Not owned. + CEAPPluginConfigurationModel* iModel; + + TUint32 iIapId; + + // For exiting dialog + TBool iExiting; + + }; + + +#endif // __EAPPLUGINCONFIGURATIONDLG_H__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfig.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfig.hrh Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,38 @@ +/* +* Copyright (c) 2001-2009 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 Plugin Configuration UI hrh file +* +*/ + +/* +* %version: % +*/ + +#ifndef _EAPPLUGINCONFIG_HRH_ +#define _EAPPLUGINCONFIG_HRH_ + +enum TEapPluginConfigMenuCommands + { + EWPAEAPPluginCmdConfigure = 1000, + EWPAEAPPluginCmdEnable, + EWPAEAPPluginCmdDisable, + EWPAEAPPluginCmdPriorityUp, + EWPAEAPPluginCmdPriorityDown + }; + + +#endif //_EAPPLUGINCONFIG_HRH_ + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigUid.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigUid.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,36 @@ +/* +* Copyright (c) 2001-2009 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: UIDs +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef _EAPPLUGINCONFIGUID_H_ +#define _EAPPLUGINCONFIGUID_H_ + + +// CONSTANTS +#define EAP_PLUGIN_CONFIG_DLL_UID 0x102072BB + +#define EAP_PLUGIN_CONFIG_INTERFACE_UID 0x102072CA + +#define EAP_PLUGIN_CONFIG_IMPLEMENTATION_UID 0x102072C9 + + +#endif // _EAPPLUGINCONFIGUID_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfiguration.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfiguration.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,135 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP Plugin Configuration +* +*/ + +/* +* %version: 16 % +*/ + +#ifndef __EAPPLUGINCONFIGURATION_H__ +#define __EAPPLUGINCONFIGURATION_H__ + + +// INCLUDES +#include + +#include "EAPPluginConfigurationIf.h" +#include "EAPPluginConfigUid.h" +#include "EAPPluginList.h" +#include "EapSettings.h" + + +// CLASS DECLARATION +/** +* CEAPPluginConfiguration class +*/ +class CEAPPluginConfiguration : public CEAPPluginConfigurationIf + { + public: + static CEAPPluginConfiguration* NewL(); + static CEAPPluginConfiguration* NewLC(); + + ~CEAPPluginConfiguration(); + + /** + * Load the EAP Plugin configuration + * @param aWPAEAPPlugin The list of EAPs in use as it was read from + * WlanEapList column of WLANServiceTable. In + * output it contains the new list as it has + * to be written in the same column of + * database. + * @param aConnectionName The name of the connection. + * @return The ID of the button pressed to close configuration: + * typically EAknSoftkeyBack for back, EAknCmdExit for a + * request of exit or EEikCmdExit for a request of shutdown + */ + TInt EAPPluginConfigurationL( TDes& aWPAEAPPlugin, + const TUint32 aIapID, + const TDes& aConnectionName ); + + /** + * Load the EAP Plugin configuration (with expanded EAP types) + * @param aWPAEnabledEAPPlugin The list of enabled EAPs in use as + * it was read from WlanEnabledEapList column + * of WLANServiceTable. In output it contains + * the new list as it has to be written in the + * same column of database. + * @param aWPADisabledEAPPlugin The list of disabled EAPs in use as + * it was read from WlanDisabledEapList column + * of WLANServiceTable. In output it contains + * the new list as it has to be written in the + * same column of database. + * @param aConnectionName The name of the connection. + * @return The ID of the button pressed to close configuration: + * typically EAknSoftkeyBack for back, EAknCmdExit for a + * request of exit or EEikCmdExit for a request of shutdown + */ + TInt EAPPluginConfigurationL( TDes8& aWPAEnabledEAPPlugin, + TDes8& aWPADisabledEAPPlugin, + const TUint32 aIapID, + const TDes& aConnectionName ); + + /** + * Shows the EAP type info. + */ + void ShowEAPTypeInfo(); + + /** + * Deletes all EAP types' settings for + * the given IAP. + */ + void DeleteSettingsL( const TUint32 aIapID ); + + /** + * Changes the index of the EAP settings for all EAP types + */ + void ChangeIapIDL( const TUint32 aOldIapID, const TUint32 aNewIapID ); + + /** + * Copies the EAP type settings to another ID + */ + void CopySettingsL( const TUint32 aSourceIapID, + const TUint32 aDestinationIapID ); + + private: + void ConstructL(); + CEAPPluginConfiguration(); + void LoadPluginInfoL( TDes& aWPAEAPPlugin, REAPPluginList& aPlugins ); + void LoadPluginInfoL( TDes8& aWPAEnabledEAPPlugin, + TDes8& aWPADisabledEAPPlugin, + REAPPluginList& aPlugins ); + + void SavePluginInfoL( TDes& aWPAEAPPlugin, REAPPluginList& aPlugins ); + void SavePluginInfoL( TDes8& aWPAEnabledEAPPlugin, + TDes8& aWPADisabledEAPPlugin, + REAPPluginList& aPlugins ); + + + TInt MoveEAPType( EAPSettings::TEapType aEapType, TInt aPos ); + + TInt MoveEAPType( const TDesC8& aEapType, TInt aPos ); + + private: // Data + // Resource file offset. + TInt iResOffset; + TUint32 iIapId; + RImplInfoPtrArray iEapArray; + }; + + +#endif // __EAPPLUGINCONFIGURATION_H__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigurationModel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigurationModel.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,86 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of class CEAPPluginConfigurationModel. +* +*/ + +/* +* %version: 12 % +*/ + +#ifndef __EAPPLUGINCONFIGURATIONMODEL_H__ +#define __EAPPLUGINCONFIGURATIONMODEL_H__ + +// INCLUDES +#include +#include + + +// FORWARD DECLARATION +class REAPPluginList; + + +// CLASS DECLARATION + +/** +* UI model for WPA Security Settings UI. +* This class formats real data so it can be displayed in the listbox. +*/ +class CEAPPluginConfigurationModel : public CBase, + public MDesCArray + { + public: // Constructors and destructor + /** + * Constructor. + * @param aPlugins Plugin list. + */ + inline CEAPPluginConfigurationModel( const REAPPluginList& aPlugins ); + + + public: // from MDesCArray + /** + * Get number of elements in the descriptor array. + * @return The number of elements in the descriptor array. + */ + TInt MdcaCount() const; + + /** + * Index into the descriptor array. + * @param aIndex Index. + * @return Descriptor at position aIndex. + */ + TPtrC16 MdcaPoint( TInt aIndex ) const; + + + public: // new functions + TInt MdcaEnabledCount() const; + + + private: // types + enum + { + EBufSize = 128 ///< Formatting buffer size. + }; + + private: // data + const REAPPluginList& iPlugins; ///< Plugins. + __MUTABLE TBuf iBuf; ///< Formatting buffer. + + }; + +#include "EAPPluginConfigurationModel.inl" + +#endif // __EAPPLUGINCONFIGURATIONMODEL_H__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigurationModel.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigurationModel.inl Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,41 @@ +/* +* Copyright (c) 2001-2009 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: Inline method definitions of CEAPPluginConfigurationModel. +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef __EAPPLUGINCONFIGURATIONMODEL_INL__ +#define __EAPPLUGINCONFIGURATIONMODEL_INL__ + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CEAPPluginConfigurationModel::CEAPPluginConfigurationModel +// --------------------------------------------------------- +// +CEAPPluginConfigurationModel::CEAPPluginConfigurationModel( + const REAPPluginList& aPlugins ) +: iPlugins( aPlugins ) + { + } + + +#endif // __EAPPLUGINCONFIGURATIONMODEL_INL__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginInfo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginInfo.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,47 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of class TEAPPluginInfo. +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef __EAPPLUGININFO_H__ +#define __EAPPLUGININFO_H__ + +// INCLUDES +#include + + +// FORWARD DECLARATIONS +class CImplementationInformation; + + +// CLASS DECLARATION + +/** +* Information for EAP plug-ins. +*/ +struct TEAPPluginInfo + { + public: // Data + const CImplementationInformation* iInfo; ///< Impl. info. Not own. + TBool iEnabled; ///< ETrue if enabled. + }; + +#endif // __EAPPLUGININFO_H__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginList.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginList.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,49 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of class REAPPluginList. +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef __EAP_PLUGIN_LIST_H__ +#define __EAP_PLUGIN_LIST_H__ + +// INCLUDES +#include +#include "EAPPluginInfo.h" + + +// CLASS DECLARATION + +/** +* Plugin info list. +*/ +class REAPPluginList: public RArray + { + public: // New methods + /** + * Change plugin position (reorder). + * @param aOldPos Current position of plugin. Must be a valid index. + * @param aOldPos New position of plugin. Must be a valid index. + */ + void MovePos( TInt aOldPos, TInt aNewPos ); + }; + +#endif // __EAP_PLUGIN_LIST_H__ + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPlugInConfigurationDlg.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPlugInConfigurationDlg.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,617 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP Plugin Configuration dialog +* +*/ + +/* +* %version: 20.1.15 % +*/ + +// INCLUDE FILES +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include "EAPPluginConfig.hrh" + +#include + +#include "EAPPluginList.h" +#include "EAPPlugInConfigurationDlg.h" +#include "EAPPluginConfigurationModel.h" + + +#include +#include +#include +#include + + +// CONSTANTS +// UID of general settings app, in which help texts are included +const TUid KHelpUidPlugin = { 0x100058EC }; + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CEAPPluginConfigurationDlg::CEAPPluginConfigurationDlg +// --------------------------------------------------------- +// +CEAPPluginConfigurationDlg::CEAPPluginConfigurationDlg( TInt& aButtonId, + CEAPPluginConfigurationModel& aModel, + const TUint32 aIapId ) +: CAknSelectionListDialog( iDummy, &aModel, NULL ), + iButtonId( &aButtonId ), + iModel( &aModel ), + iIapId( aIapId ), + iExiting( EFalse ) + { + // Passing a dummy (iDummy) for selection index. + // Base class was made for 'select and dismiss' behaviour only, and does + // not work properly in our case (when only "Back" press dismissed the + // dialog and more selections are possible). + // + // iModel (the UI model) should really be owned by this dialog, but + // can't do that due to the malformed API of CAknSelectionListDialog. + } + + +// --------------------------------------------------------- +// CEAPPluginConfigurationDlg::~CEAPPluginConfigurationDlg +// --------------------------------------------------------- +// +CEAPPluginConfigurationDlg::~CEAPPluginConfigurationDlg() + { + if ( iTitlePane ) + { + // set old text back, if we have it... + if ( iOldTitleText ) + { + TRAP_IGNORE( iTitlePane->SetTextL( *iOldTitleText ) ); + delete iOldTitleText; + } + } + + FeatureManager::UnInitializeLib(); + } + + +// --------------------------------------------------------- +// CEAPPluginConfigurationDlg::ConstructAndRunLD +// --------------------------------------------------------- +// +TInt CEAPPluginConfigurationDlg::ConstructAndRunLD( + const REAPPluginList& aPlugins, + const TDesC& aTitle ) + { + CleanupStack::PushL( this ); + + iPlugins = aPlugins; + iConnectionName = aTitle; + + FeatureManager::InitializeLibL(); + + ConstructL( R_WPA_EAP_PLUGIN_MENUBAR ); + + // ExecuteLD will PushL( this ), so we have to Pop it... + CleanupStack::Pop( this ); // this + + return CAknSelectionListDialog::ExecuteLD( R_WPA_EAP_CONFIG_DIALOG ); + } + + + +// --------------------------------------------------------- +// CEAPPluginConfigurationDlg::OkToExitL +// --------------------------------------------------------- +// +TBool CEAPPluginConfigurationDlg::OkToExitL( TInt aButtonId ) + { + // Translate the button presses into commands for the appui & current + // view to handle + TBool retval( EFalse ); + if ( aButtonId == EAknSoftkeyOptions ) + { + DisplayMenuL(); + } + else if ( aButtonId == EEikCmdExit || + aButtonId == EAknCmdExit || + aButtonId == EAknSoftkeyBack ) + { + *iButtonId = aButtonId; + retval = ETrue; + } + else if( aButtonId == EWPAEAPPluginCmdConfigure ) + { + ProcessCommandL( aButtonId ); + } + else if( aButtonId == EWPAEAPPluginCmdEnable ) + { + ProcessCommandL( aButtonId ); + } + + + return retval; + } + +// --------------------------------------------------------- +// CEAPPluginConfigurationDlg::HandleListBoxEventL +// --------------------------------------------------------- +// +void CEAPPluginConfigurationDlg::HandleListBoxEventL( CEikListBox* /*aListBox*/, + TListBoxEvent aEventType ) + { + switch ( aEventType ) + { + case EEventEnterKeyPressed: + case EEventItemSingleClicked: + { + TInt current = ListBox()->CurrentItemIndex(); + if ( iPlugins[current].iEnabled ) + { + ConfigureL(ETrue); + } + else + { + ProcessCommandL( EWPAEAPPluginCmdEnable ); + } + break; + } + + case EEventItemActioned: + case EEventEditingStarted: + case EEventEditingStopped: + case EEventPenDownOnItem: + case EEventItemDraggingActioned: + { + break; + } + + default: + { + break; + }; + }; + } + +// --------------------------------------------------------- +// CEAPPluginConfigurationDlg::HandleDialogPageEventL +// --------------------------------------------------------- +// +void CEAPPluginConfigurationDlg::HandleDialogPageEventL( TInt aEventID ) + { + CAknDialog::HandleDialogPageEventL( aEventID ); + if( iExiting ) + { + // Exit requested, exit with ok. + TryExitL( EAknCmdExit ); + } + + } + +// --------------------------------------------------------- +// CEAPPluginConfigurationDlg::ConfigureL +// --------------------------------------------------------- +// +void CEAPPluginConfigurationDlg::ConfigureL( TBool aQuick ) + { + CEapType* eapType = CEapType::NewL( + iPlugins[ListBox()->CurrentItemIndex()].iInfo->DataType(), + ELan, + iIapId ); + + CleanupStack::PushL( eapType ); + + TInt buttonId = eapType->InvokeUiL(); + CleanupStack::PopAndDestroy( eapType ); + + if ( buttonId == EAknCmdExit || buttonId == EEikCmdExit ) + { + if (aQuick == EFalse) + { + TryExitL( buttonId ); + } + else + { + iExiting = ETrue; + // Don't exit here. Framework command chain will + // cause a KERN-EXEC 3 panic. Handle the exit in + // HandleDialogPageEventL(). + } + } + } + +// --------------------------------------------------------- +// CEAPPluginConfigurationDlg::ProcessCommandL +// --------------------------------------------------------- +// +void CEAPPluginConfigurationDlg::ProcessCommandL( TInt aCommandId ) + { + if ( MenuShowing() ) + { + HideMenu(); + } + + switch ( aCommandId ) + { + case EAknCmdOpen: + case EWPAEAPPluginCmdConfigure: + { + ConfigureL(EFalse); + break; + } + + case EWPAEAPPluginCmdEnable: + { + TInt cur = ListBox()->CurrentItemIndex(); + iPlugins[cur].iEnabled = ETrue; + + // enabling moves item to the top of the list + iPlugins.MovePos( cur, 0 ); + + // Highlight follows movement. + ListBox()->SetCurrentItemIndex( 0 ); + + // load the new CBA from resource + ButtonGroupContainer().SetCommandSetL( + R_WPA_EAP_CONFIG_SOFTKEYS_OPTIONS_BACK_CONFIGURE ); + ButtonGroupContainer().DrawDeferred(); + DrawNow(); + break; + } + + case EWPAEAPPluginCmdDisable: + { + if ( iModel->MdcaEnabledCount() > 1 ) + { + TInt cur = ListBox()->CurrentItemIndex(); + + // disabling moves item just after the last enabled one, + // so find that position + TInt next = cur; + + while ( next < iModel->MdcaCount() - 1 && + iPlugins[next].iEnabled ) + { + ++next; + } + + if ( next > cur && !iPlugins[next].iEnabled ) + { + --next; + } + + + iPlugins[cur].iEnabled = EFalse; + + // move item if needed + iPlugins.MovePos( cur, next ); + + // Highlight follows movement. + ListBox()->SetCurrentItemIndex( next ); + + // load the new CBA from resource + ButtonGroupContainer().SetCommandSetL( + R_WPA_EAP_CONFIG_SOFTKEYS_OPTIONS_BACK_ENABLE ); + ButtonGroupContainer().DrawDeferred(); + DrawNow(); + } + else + { + HBufC* stringLabel; + + stringLabel = StringLoader::LoadL( R_INFO_CANNOT_DISABLE, + iEikonEnv ); + + CleanupStack::PushL( stringLabel ); + + CAknInformationNote* dialog = new ( ELeave ) + CAknInformationNote( ETrue ); + dialog->ExecuteLD( *stringLabel ); + + CleanupStack::PopAndDestroy( stringLabel ); + } + + break; + } + + case EWPAEAPPluginCmdPriorityUp: + { + TInt cur = ListBox()->CurrentItemIndex(); + iPlugins.MovePos( cur, cur - 1 ); + + // Highlight follows movement. + ListBox()->SetCurrentItemIndexAndDraw( cur - 1 ); + break; + } + + case EWPAEAPPluginCmdPriorityDown: + { + TInt cur = ListBox()->CurrentItemIndex(); + + iPlugins.MovePos( cur, cur + 1 ); + // Highlight follows movement. + ListBox()->SetCurrentItemIndexAndDraw( cur + 1 ); + + break; + } + + case EAknCmdHelp: + { + HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), + iEikonEnv->EikAppUi()->AppHelpContextL() ); + break; + } + + case EAknSoftkeyBack: + case EAknCmdExit: + case EEikCmdExit: + { + TryExitL( aCommandId ); + break; + } + + default: + { + CAknSelectionListDialog::ProcessCommandL( aCommandId ); + break; + } + } + } + + +// --------------------------------------------------------- +// CEAPPluginConfigurationDlg::PreLayoutDynInitL +// --------------------------------------------------------- +// +void CEAPPluginConfigurationDlg::PreLayoutDynInitL() + { + CAknSelectionListDialog::PreLayoutDynInitL(); + + // first get StatusPane + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + + // then get TitlePane + iTitlePane = ( CAknTitlePane* ) statusPane->ControlL( TUid::Uid( + EEikStatusPaneUidTitle ) ); + // if not already stored, store it for restoring + if ( !iOldTitleText ) + { + iOldTitleText = iTitlePane->Text()->AllocL(); + } + + // set new titlepane text + iTitlePane->SetTextL( iConnectionName ); + + SetIconsL(); + } + + +// --------------------------------------------------------- +// CEAPPluginConfigurationDlg::SetIconsL() +// --------------------------------------------------------- +// +void CEAPPluginConfigurationDlg::SetIconsL() + { + CArrayPtr< CGulIcon >* icons = new( ELeave ) CAknIconArray( 1 ); + CleanupStack::PushL( icons ); + + MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance(); + + CGulIcon* icon = CGulIcon::NewLC(); + CFbsBitmap* bitmap = NULL; + CFbsBitmap* mask = NULL; + AknsUtils::CreateColorIconL( skinInstance, + KAknsIIDQgnIndiMarkedAdd, + KAknsIIDQsnIconColors, + EAknsCIQsnIconColorsCG13, + bitmap, + mask, + AknIconUtils::AvkonIconFileName(), + EMbmAvkonQgn_indi_marked_add, + EMbmAvkonQgn_indi_marked_add_mask, + KRgbBlack ); + icon->SetBitmap( bitmap ); + icon->SetMask( mask ); + icons->AppendL( icon ); + + CleanupStack::Pop( icon ); + + SetIconArrayL( icons ); + + CleanupStack::Pop( icons ); + } + + +// --------------------------------------------------------- +// CEAPPluginConfigurationDlg::DynInitMenuPaneL +// --------------------------------------------------------- +// +void CEAPPluginConfigurationDlg::DynInitMenuPaneL( TInt aResourceId, + CEikMenuPane* aMenuPane ) + { + CAknSelectionListDialog::DynInitMenuPaneL( aResourceId, aMenuPane ); + if ( aMenuPane && aResourceId == R_WPA_EAP_PLUGIN_MENU ) + { + if ( !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) + { + aMenuPane->DeleteMenuItem( EAknCmdHelp ); + } + if ( !iModel->MdcaCount() ) + { + // if no plug-ins then dim the whole menu. + aMenuPane->SetItemDimmed( EWPAEAPPluginCmdConfigure, ETrue ); + aMenuPane->SetItemDimmed( EWPAEAPPluginCmdEnable, ETrue ); + aMenuPane->SetItemDimmed( EWPAEAPPluginCmdDisable, ETrue ); + aMenuPane->SetItemDimmed( EWPAEAPPluginCmdPriorityUp, ETrue ); + aMenuPane->SetItemDimmed( EWPAEAPPluginCmdPriorityDown, ETrue ); + } + else + { + TInt current = ListBox()->CurrentItemIndex(); + TBool enabled = iPlugins[current].iEnabled; + + // Hide either "Enable" or "Disable", as appropriate. + aMenuPane->SetItemDimmed( EWPAEAPPluginCmdEnable, enabled ); + aMenuPane->SetItemDimmed( EWPAEAPPluginCmdDisable, !enabled ); + + // Don't display "Configure" for disabled items + aMenuPane->SetItemDimmed( EWPAEAPPluginCmdConfigure, !enabled ); + + // Don't display "Raise priority" nor "Lower priority" for + // disabled items + aMenuPane->SetItemDimmed( EWPAEAPPluginCmdPriorityUp, !enabled ); + aMenuPane->SetItemDimmed( EWPAEAPPluginCmdPriorityDown, !enabled ); + + + if ( enabled ) + { + if ( current == 0 ) + { + // Can't go higher than top. + aMenuPane->SetItemDimmed( EWPAEAPPluginCmdPriorityUp, + ETrue ); + } + + if ( current == iModel->MdcaCount() - 1 || + ( current < iModel->MdcaCount() - 1 && + !iPlugins[current + 1].iEnabled ) ) + { + // Can't go lower than the last enabled item + aMenuPane->SetItemDimmed( EWPAEAPPluginCmdPriorityDown, + ETrue ); + } + } + } + } + } + + +// --------------------------------------------------------- +// CEAPPluginConfigurationDlg::OfferKeyEventL +// --------------------------------------------------------- +// +TKeyResponse CEAPPluginConfigurationDlg::OfferKeyEventL( + const TKeyEvent& aKeyEvent, + TEventCode aType ) + { + TKeyResponse result( EKeyWasNotConsumed ); + + if ( aType == EEventKey ) + { + + // Exit handling + if ( aKeyEvent.iCode == EKeyEscape ) + { + TryExitL( EEikCmdExit ); + return EKeyWasConsumed; + } + + TInt current = ListBox()->CurrentItemIndex(); + + // Handle Enter key here, since it doesn't seem to convert into + // the proper command id via the normal route + // (maybe some Avkon support for Enter key is still missing in + // S60 3.2 2008_wk22) + if ( aKeyEvent.iCode == EKeyEnter ) + { + if ( iPlugins[current].iEnabled ) + { + OkToExitL( EWPAEAPPluginCmdConfigure ); + } + else + { + OkToExitL( EWPAEAPPluginCmdEnable ); + } + + result = EKeyWasConsumed; + } + else + { + result = CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + } + + TInt next = ListBox()->CurrentItemIndex(); + + if ( current != next && + ( iPlugins[current].iEnabled && !iPlugins[next].iEnabled || + !iPlugins[current].iEnabled && iPlugins[next].iEnabled ) ) + { + // status is different, the CBA must be changed + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + + // load the new set from resource + if ( iPlugins[next].iEnabled ) + { + cba.SetCommandSetL( + R_WPA_EAP_CONFIG_SOFTKEYS_OPTIONS_BACK_CONFIGURE ); + } + else + { + cba.SetCommandSetL( + R_WPA_EAP_CONFIG_SOFTKEYS_OPTIONS_BACK_ENABLE ); + } + + cba.DrawDeferred(); + } + } + else + { + // pass event up the hierarchy + result = CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + } + + + + return result; + } + + +// ---------------------------------------------------------------------------- +// CEAPPluginConfigurationDlg::HandleResourceChange +// ---------------------------------------------------------------------------- +// +void CEAPPluginConfigurationDlg::HandleResourceChange( TInt aType ) + { + CAknSelectionListDialog::HandleResourceChange( aType ); + + if ( aType == KAknsMessageSkinChange ) + { + TRAP_IGNORE( SetIconsL() ); + SizeChanged(); + } + } + + +// --------------------------------------------------------- +// CEAPPluginConfigurationDlg::GetHelpContext +// --------------------------------------------------------- +// +void CEAPPluginConfigurationDlg::GetHelpContext( + TCoeHelpContext& aContext ) const + { + aContext.iMajor = KHelpUidPlugin; + aContext.iContext = KSET_HLP_WLAN_EAP_PLUGINS_IAP; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPlugInConfigurationModel.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPlugInConfigurationModel.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,108 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CEAPPlugInConfigurationModel +* +*/ + +/* +* %version: 14 % +*/ + +// INCLUDE FILES +#include "EAPPluginConfigurationModel.h" +#include "EAPPluginList.h" +#include + + +// CONSTANTS + +// Format text for MdcaPoint when Enabled +_LIT( KFormatEnabled, "%d\t%S\t%d\t" ); + +// Format text for MdcaPoint when Disabled +_LIT( KFormatDisabled, "\t%S\t\t" ); + + +/** +* Maximum length of the formatted text excluding the name. +* (I.e. if the name is trimmed to this length, there will not be overflow.) +* Includes the formatting tabs (3), the icon index length (1) plus maximum +* length of an integer (11). +*/ +LOCAL_D const TInt KMaxLenForEmptyName = 15; + + +// ============================ MEMBER FUNCTIONS =============================== + +// --------------------------------------------------------- +// CEAPPluginConfigurationModel::MdcaCount +// --------------------------------------------------------- +// +TInt CEAPPluginConfigurationModel::MdcaCount() const + { + return iPlugins.Count(); + } + + +// --------------------------------------------------------- +// CEAPPluginConfigurationModel::MdcaPoint +// --------------------------------------------------------- +// +TPtrC16 CEAPPluginConfigurationModel::MdcaPoint( TInt aIndex ) const + { + // Oddly enough, MdcaPoint is const. We need to use MUTABLE_CAST. + TInt maxName = EBufSize - KMaxLenForEmptyName; + TPtrC name( iPlugins[aIndex].iInfo->DisplayName() ); + if ( name.Length() > maxName ) + { + name.Set( name.Left( maxName ) ); + } + + if ( iPlugins[aIndex].iEnabled ) + { + MUTABLE_CAST( TBuf&, iBuf ).Format( KFormatEnabled, + aIndex+1, &name, 0 ); + } + else + { + MUTABLE_CAST( TBuf&, iBuf ).Format( KFormatDisabled, &name ); + } + + return iBuf; + } + + +// --------------------------------------------------------- +// CEAPPluginConfigurationModel::MdcaEnabledCount +// --------------------------------------------------------- +// +TInt CEAPPluginConfigurationModel::MdcaEnabledCount() const + { + TInt index; + TInt nPlugins = MdcaCount(); + TInt numEnabled = 0; + + for ( index = 0; index < nPlugins; index++ ) + { + if ( iPlugins[index].iEnabled ) + { + numEnabled++; + } + } + + return numEnabled; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginConfiguration.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginConfiguration.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,836 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP Plugin Configuration +* +*/ + +/* +* %version: 24 % +*/ + +// INCLUDE FILES +#include "EAPPluginConfiguration.h" +#include "EAPPlugInConfigurationDlg.h" +#include "EAPPluginConfigurationModel.h" +#include +#include +#include "EAPPluginList.h" + +#include +#include +#include + +// CONSTANTS +_LIT( KDriveZ, "z:" ); // ROM folder +_LIT( KResourceFileName, "EAPPluginConfigRes.rsc" ); // RSC file name. +_LIT( KSpace, " " ); +_LIT( KPlusSign, "+" ); +_LIT( KMinusSign, "-" ); +_LIT( KComma, "," ); + + +// Length of the UID +static const TInt KLengthOfImplUid = 3; + +// Length of expanded EAP type (RFC 3748) +static const TInt KLengthOfExpEapType = 8; + + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEAPPluginConfiguration::CEAPPluginConfiguration +// ----------------------------------------------------------------------------- +// +CEAPPluginConfiguration::CEAPPluginConfiguration() +: iIapId( 0 ) + { + } + + +// ----------------------------------------------------------------------------- +// CEAPPluginConfiguration::NewL +// ----------------------------------------------------------------------------- +// +CEAPPluginConfiguration* CEAPPluginConfiguration::NewL() + { + CEAPPluginConfiguration* self = NewLC(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CEAPPluginConfiguration::NewLC +// ----------------------------------------------------------------------------- +// +CEAPPluginConfiguration* CEAPPluginConfiguration::NewLC() + { + CEAPPluginConfiguration* self = new( ELeave )CEAPPluginConfiguration(); + CleanupStack::PushL(self); + self->ConstructL(); + return self; + } + + +// ----------------------------------------------------------------------------- +// CEAPPluginConfiguration::ConstructL +// ----------------------------------------------------------------------------- +// +void CEAPPluginConfiguration::ConstructL() + { + } + + +// ----------------------------------------------------------------------------- +// CEAPPluginConfiguration::~CEAPPluginConfiguration +// ----------------------------------------------------------------------------- +// +CEAPPluginConfiguration::~CEAPPluginConfiguration() + { + iEapArray.ResetAndDestroy(); + CCoeEnv::Static()->DeleteResourceFile( iResOffset ); + } + + +// --------------------------------------------------------- +// CEAPPluginConfiguration::EAPPluginConfigurationL +// --------------------------------------------------------- +// +TInt CEAPPluginConfiguration::EAPPluginConfigurationL( TDes& aWPAEAPPlugin, + const TUint32 aIapId, + const TDes& aConnectionName ) + { + // Adding the resource file to the CoeEnv. + if( !iResOffset ) + { + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), + fileName ); + + TRAP_IGNORE( iResOffset = + CCoeEnv::Static()->AddResourceFileL( fileName ); ); + } + + TInt buttonId; + + REAPPluginList plugins; ///< Plug-in infos. + + LoadPluginInfoL( aWPAEAPPlugin, plugins ); + CEAPPluginConfigurationModel* model = new( ELeave ) + CEAPPluginConfigurationModel( plugins ); + CleanupStack::PushL( model ); + + CEAPPluginConfigurationDlg* pluginDlg = new( ELeave ) + CEAPPluginConfigurationDlg( buttonId, *model, aIapId ); + + pluginDlg->ConstructAndRunLD( plugins, aConnectionName ); + + SavePluginInfoL( aWPAEAPPlugin, plugins ); + + CleanupStack::PopAndDestroy( model ); + plugins.Close(); + + iIapId = aIapId; + + return buttonId; + } + + +// --------------------------------------------------------- +// CEAPPluginConfiguration::EAPPluginConfigurationL +// --------------------------------------------------------- +// +TInt CEAPPluginConfiguration::EAPPluginConfigurationL( + TDes8& aWPAEnabledEAPPlugin, + TDes8& aWPADisabledEAPPlugin, + const TUint32 aIapId, + const TDes& aConnectionName ) + { + // Adding the resource file to the CoeEnv. + if( !iResOffset ) + { + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), + fileName ); + + TRAP_IGNORE( iResOffset = + CCoeEnv::Static()->AddResourceFileL( fileName ); ); + } + + + TInt buttonId; + + REAPPluginList plugins; ///< Plug-in infos. + + LoadPluginInfoL( aWPAEnabledEAPPlugin, aWPADisabledEAPPlugin, plugins ); + CEAPPluginConfigurationModel* model = new( ELeave ) + CEAPPluginConfigurationModel( plugins ); + CleanupStack::PushL( model ); + + CEAPPluginConfigurationDlg* pluginDlg = new( ELeave ) + CEAPPluginConfigurationDlg( buttonId, *model, aIapId ); + + pluginDlg->ConstructAndRunLD( plugins, aConnectionName ); + + SavePluginInfoL( aWPAEnabledEAPPlugin, aWPADisabledEAPPlugin, plugins ); + + CleanupStack::PopAndDestroy( model ); + plugins.Close(); + + iIapId = aIapId; + + return buttonId; + } + + +// --------------------------------------------------------- +// CEAPPluginConfiguration::LoadPluginInfoL +// --------------------------------------------------------- +// +void CEAPPluginConfiguration::LoadPluginInfoL( TDes& aWPAEAPPlugin, + REAPPluginList& aPlugins ) + { + TInt posComma = aWPAEAPPlugin.Locate( ',' ); + while ( posComma != KErrNotFound ) // Extract the parameters + { + aWPAEAPPlugin.Replace( posComma, 1, KSpace ); + posComma = aWPAEAPPlugin.Locate( ',' ); + } + + TLex lex( aWPAEAPPlugin ); + + CArrayFixFlat* params; // array of parameters + params = new( ELeave ) CArrayFixFlat( sizeof( TPtrC ) ); + CleanupStack::PushL( params ); + + while ( !lex.Eos() ) // Extract the parameters + { + params->AppendL( lex.NextToken() ); + } + + aPlugins.Reset(); // Reset this first: dependent on iEapArray. + iEapArray.ResetAndDestroy(); + REComSession::ListImplementationsL( KEapTypeInterfaceUid, iEapArray ); + + // EAP plugin interface dialog should show only the EAP types that allowed + // outside PEAP. + + for( TInt count = 0; count < iEapArray.Count(); count++ ) + { + // Filter out the EAP types which are NOT allowed outside PEAP. + if( CEapType::IsDisallowedOutsidePEAP( *iEapArray[count] ) ) + { + // Delete the EAP type, which isn't allowed outside PEAP, + // from the array. + delete iEapArray[count]; + iEapArray.Remove( count ); + + // One item removed from the array. So reduce the item count. + count--; + } + } + + TInt numParams = params->Count(); + TBool foundDefaultEAPTypes = EFalse; + + // Rearrange the array so that EAP-SIM and EAP-AKA are on top, in that order. + + // The rearrange is needed only for the first time creation. + if ( numParams == 0 ) + { + TInt topPos = 0; // position in the beginning of arrary. + TInt error( KErrNone ); + + // First move EAP-AKA to top, if it is present in the array. + error = MoveEAPType( EAPSettings::EEapAka, topPos ); + + if ( error != KErrNotFound ) + { + // Found EAP-AKA in the array. + // Doesn't matter if the move was a success or not. + foundDefaultEAPTypes = ETrue; + } + + // Now move EAP-SIM to top. + // EAP-SIM will be always the top most if it is present in the array. + // Otherwise EAP-AKA stays in the top, if it is present. + // The order doesn't matter if these two are not present. + MoveEAPType( EAPSettings::EEapSim, topPos ); + + if( error != KErrNotFound) + { + // Found EAP-SIM in the array. + // Doesn't matter if the move was a success. + foundDefaultEAPTypes = ETrue; + } + } + + TInt i; + TInt j; + TInt numInfoStore = iEapArray.Count(); + TInt eapUid; + + // just to make sure we are not given a non-empty but fully disabled list + TBool gotEnabled = EFalse; + + CArrayFix* usedImplInfo = new( ELeave ) CArrayFixFlat( 4 ); + CleanupStack::PushL( usedImplInfo ); + usedImplInfo->AppendL( 0, numInfoStore ); + + for ( j = 0; j < numParams; j++ ) + { + TLex lexUid( params->At( j ) ); + if ( lexUid.Val( eapUid ) == KErrNone ) + { + for ( i = 0; i < numInfoStore; i++ ) + { + TLex8 lexDataType( iEapArray[i]->DataType() ); + TInt implUID; + + if ( lexDataType.Val( implUID ) == KErrNone ) + { + if ( implUID == Abs( eapUid ) ) + { + usedImplInfo->InsertL( i, 1 ); + if ( i+1 < usedImplInfo->Count() ) + { + usedImplInfo->Delete( i+1 ); + } + + TEAPPluginInfo plugin; + plugin.iInfo = iEapArray[i]; + + plugin.iEnabled = ( eapUid > 0 || + ( eapUid == 0 && + params->At( j ).Left( 1 ) == KPlusSign ) ); + User::LeaveIfError( aPlugins.Append( plugin ) ); + gotEnabled = gotEnabled || plugin.iEnabled; + i = numInfoStore; // to exit from cycle + } + } + } + } + } + + for ( i = 0; i < numInfoStore; i++ ) + { + if ( !usedImplInfo->At( i ) ) + { + TEAPPluginInfo plugin; + plugin.iInfo = iEapArray[i]; + + // Default is enabled. + // There should not be a case of all EAP types disabled. + TBool defaultEnableValue( ETrue ); + + if ( numParams > 0 && gotEnabled) + { + // If there some EAP types which are already enabled/disabled, + // we make the new EAP types disabled. + defaultEnableValue = EFalse; + } + else + { + // Nothing in the string or all disabled. + // Should be the first time execution (creating new IAP). + // Only EAP-SIM and EAP-AKA are enabled in this case. + TLex8 lexDataType( iEapArray[i]->DataType() ); + TInt implDataType; + + if ( lexDataType.Val( implDataType ) == KErrNone ) + { + if( foundDefaultEAPTypes ) + { + defaultEnableValue = + ( implDataType == EAPSettings::EEapSim || + implDataType == EAPSettings::EEapAka ); + } + else + { + // No default EAPs (No EAP-SIM and EAP-AKA). + // So all EAP types are enabled by default. + defaultEnableValue = ETrue; + } + } + } + + plugin.iEnabled = defaultEnableValue; + User::LeaveIfError( aPlugins.Append( plugin ) ); + } + } + + CleanupStack::PopAndDestroy( 2, params ); // usedImplInfo, params + } + + +// --------------------------------------------------------- +// CEAPPluginConfiguration::LoadPluginInfoL +// --------------------------------------------------------- +// +void CEAPPluginConfiguration::LoadPluginInfoL( TDes8& aWPAEnabledEAPPlugin, + TDes8& aWPADisabledEAPPlugin, + REAPPluginList& aPlugins ) + { + // size of aWPAEnabledEAPPlugin and aWPADisabledEAPPlugin must be + // divisible by KLengthOfExpEapType + __ASSERT_DEBUG( ( aWPAEnabledEAPPlugin.Size() % KLengthOfExpEapType == 0 ), + User::Panic( _L( "aWPAEnabledEAPPlugin is corrupted!" ), KErrCorrupt ) ); + + __ASSERT_DEBUG( ( aWPADisabledEAPPlugin.Size() % KLengthOfExpEapType == 0 ), + User::Panic( _L( "aWPADisabledEAPPlugin is corrupted!" ), KErrCorrupt ) ); + + + aPlugins.Reset(); // Reset this first: dependent on iEapArray. + iEapArray.ResetAndDestroy(); + REComSession::ListImplementationsL( KEapTypeInterfaceUid, iEapArray ); + + // EAP plugin interface dialog should show only the EAP types that allowed + // outside PEAP. + + for( TInt count = 0; count < iEapArray.Count(); count++ ) + { + // Filter out the EAP types which are NOT allowed outside PEAP. + if( CEapType::IsDisallowedOutsidePEAP( *iEapArray[count] ) ) + { + // Delete the EAP type, which isn't allowed outside PEAP, + // from the array. + delete iEapArray[count]; + iEapArray.Remove( count ); + + // One item removed from the array. So reduce the item count. + count--; + } + } + + TInt numEnabled = aWPAEnabledEAPPlugin.Size() / KLengthOfExpEapType; + TInt numDisabled = aWPADisabledEAPPlugin.Size() / KLengthOfExpEapType; + TBool foundDefaultEAPTypes = EFalse; + + // Rearrange the array so that EAP-SIM and EAP-AKA are on top, in that order. + + // The rearrange is needed only for the first time creation. + if ( !( numEnabled || numDisabled ) ) + { + TInt topPos = 0; // position in the beginning of array. + TInt error( KErrNone ); + + // First move EAP-AKA to top, if it is present in the array. + _LIT8( KExpEapTypeFormat, "\xFE\0\0\0%c%c%c%c" ); + TBuf8 tmpEap; + + // BigEndian::Put32( const_cast( tmpEap.Ptr() ) + 4, + // EAPSettings::EEapAka ); + tmpEap.Format( KExpEapTypeFormat, ( EAPSettings::EEapAka >> 24 ) & 0xff, + ( EAPSettings::EEapAka >> 16 ) & 0xff, + ( EAPSettings::EEapAka >> 8 ) & 0xff, + EAPSettings::EEapAka & 0xff ); + + error = MoveEAPType( tmpEap, topPos ); + + if ( error != KErrNotFound ) + { + // Found EAP-AKA in the array. + // Doesn't matter if the move was a success or not. + foundDefaultEAPTypes = ETrue; + } + + // Now move EAP-SIM to top. + // EAP-SIM will be always the top most if it is present in the array. + // Otherwise EAP-AKA stays in the top, if it is present. + // The order doesn't matter if these two are not present. + // BigEndian::Put32( const_cast( tmpEap.Ptr() ) + 4, + // EAPSettings::EEapSim ); + tmpEap.Format( KExpEapTypeFormat, ( EAPSettings::EEapSim >> 24 ) & 0xff, + ( EAPSettings::EEapSim >> 16 ) & 0xff, + ( EAPSettings::EEapSim >> 8 ) & 0xff, + EAPSettings::EEapSim & 0xff ); + + error = MoveEAPType( tmpEap, topPos ); + + if( error != KErrNotFound) + { + // Found EAP-SIM in the array. + // Doesn't matter if the move was a success. + foundDefaultEAPTypes = ETrue; + } + } + + TInt i; + TInt j; + TInt numInfoStore = iEapArray.Count(); + + CArrayFix* usedImplInfo = new( ELeave ) CArrayFixFlat( 4 ); + CleanupStack::PushL( usedImplInfo ); + + usedImplInfo->AppendL( 0, numInfoStore ); + + // deal with the enabled first + for ( j = 0; j < numEnabled; j++ ) + { + TPtrC8 param( aWPAEnabledEAPPlugin.Ptr() + KLengthOfExpEapType * j, + KLengthOfExpEapType ); + + for ( i = 0; i < numInfoStore; i++ ) + { + if ( !param.Compare( iEapArray[i]->DataType() ) ) + { + usedImplInfo->InsertL( i, 1 ); + if ( i+1 < usedImplInfo->Count() ) + { + usedImplInfo->Delete( i+1 ); + } + + TEAPPluginInfo plugin; + plugin.iInfo = iEapArray[i]; + plugin.iEnabled = ETrue; + + User::LeaveIfError( aPlugins.Append( plugin ) ); + i = numInfoStore; // to exit from cycle + } + } + } + + + // now come the disabled + for ( j = 0; j < numDisabled; j++ ) + { + TPtrC8 param( aWPADisabledEAPPlugin.Ptr() + KLengthOfExpEapType * j, + KLengthOfExpEapType ); + + for ( i = 0; i < numInfoStore; i++ ) + { + if ( !param.Compare( iEapArray[i]->DataType() ) ) + { + usedImplInfo->InsertL( i, 1 ); + if ( i+1 < usedImplInfo->Count() ) + { + usedImplInfo->Delete( i+1 ); + } + + TEAPPluginInfo plugin; + plugin.iInfo = iEapArray[i]; + plugin.iEnabled = EFalse; + + User::LeaveIfError( aPlugins.Append( plugin ) ); + i = numInfoStore; // to exit from cycle + } + } + } + + + for ( i = 0; i < numInfoStore; i++ ) + { + if ( !usedImplInfo->At( i ) ) + { + TEAPPluginInfo plugin; + plugin.iInfo = iEapArray[i]; + + // Default is enabled. + // There should not be a case of all EAP types disabled. + TBool defaultEnableValue( ETrue ); + + if ( numEnabled > 0 ) + { + // If there some EAP types which are already enabled/disabled, + // we make the new EAP types disabled. + defaultEnableValue = EFalse; + } + else + { + // No EAP types enabled. + // Should be the first time execution (creating new IAP). + // Only EAP-SIM and EAP-AKA are enabled in this case. + + // [FE] [00 00 00] [TEapType_bigendian] + const TDesC8& cue = iEapArray[i]->DataType(); + + TPtrC8 eapType( cue.Ptr() + 4, 4 ); + TUint32 implDataType = ( eapType[0] << 24 ) | + ( eapType[1] << 16 ) | + ( eapType[2] << 8 ) | + eapType[3]; + + if( foundDefaultEAPTypes ) + { + _LIT8( KExpEapFirstQuad, "\xFE\0\0\0" ); + TPtrC8 firstQuad( cue.Ptr(), 4 ); + + defaultEnableValue = + ( !firstQuad.Compare ( KExpEapFirstQuad ) && + ( implDataType == EAPSettings::EEapSim || + implDataType == EAPSettings::EEapAka ) ); + } + else + { + // No default EAPs (No EAP-SIM and EAP-AKA). + // So all EAP types are enabled by default. + defaultEnableValue = ETrue; + } + } + + plugin.iEnabled = defaultEnableValue; + User::LeaveIfError( aPlugins.Append( plugin ) ); + } + } + CleanupStack::PopAndDestroy( usedImplInfo ); + + } + + +// --------------------------------------------------------- +// CEAPPluginConfiguration::SavePluginInfoL +// --------------------------------------------------------- +// +void CEAPPluginConfiguration::SavePluginInfoL( TDes& aWPAEAPPlugin, + REAPPluginList& aPlugins ) + { + aWPAEAPPlugin.Zero(); + for ( TInt index = 0; index < aPlugins.Count(); index++ ) + { + TBuf8 cue = aPlugins[index].iInfo->DataType(); + + TLex8 lexDataType( cue ); + TInt implUID; + if ( lexDataType.Val( implUID ) == KErrNone ) + { + if ( aPlugins[index].iEnabled ) + { + aWPAEAPPlugin.Append( KPlusSign ); + } + else + { + aWPAEAPPlugin.Append( KMinusSign ); + } + + aWPAEAPPlugin.AppendNumFixedWidth( implUID, EDecimal, + KLengthOfImplUid ); + + if ( index != aPlugins.Count()-1 ) + { + aWPAEAPPlugin.Append( KComma ); + } + } + } + } + + +// --------------------------------------------------------- +// CEAPPluginConfiguration::SavePluginInfoL +// --------------------------------------------------------- +// +void CEAPPluginConfiguration::SavePluginInfoL( TDes8& aWPAEnabledEAPPlugin, + TDes8& aWPADisabledEAPPlugin, + REAPPluginList& aPlugins ) + { + aWPAEnabledEAPPlugin.Zero(); + aWPADisabledEAPPlugin.Zero(); + + for ( TInt index = 0; index < aPlugins.Count(); index++ ) + { + if ( aPlugins[index].iEnabled ) + { + aWPAEnabledEAPPlugin.Append( aPlugins[index].iInfo->DataType() ); + } + else + { + aWPADisabledEAPPlugin.Append( aPlugins[index].iInfo->DataType() ); + } + } + + } + + +// --------------------------------------------------------- +// CEAPPluginConfiguration::ShowEAPTypeInfo +// --------------------------------------------------------- +// +void CEAPPluginConfiguration::ShowEAPTypeInfo() + { + + } + + +// --------------------------------------------------------- +// CEAPPluginConfiguration::DeleteSettingsL +// --------------------------------------------------------- +// +void CEAPPluginConfiguration::DeleteSettingsL( const TUint32 aIapID ) + { + iEapArray.ResetAndDestroy(); + REComSession::ListImplementationsL( KEapTypeInterfaceUid, iEapArray ); + + for ( TInt i = 0; i < iEapArray.Count(); i++ ) + { + if ( !CEapType::IsDisallowedOutsidePEAP( *iEapArray[i] ) ) + { + CEapType* eapType = CEapType::NewL( iEapArray[i]->DataType(), + ELan, + aIapID ); + CleanupStack::PushL( eapType ); + + eapType->DeleteConfigurationL(); + CleanupStack::PopAndDestroy( eapType ); + } + } + } + + +// --------------------------------------------------------- +// CEAPPluginConfiguration::ChangeIapIDL +// --------------------------------------------------------- +// +void CEAPPluginConfiguration::ChangeIapIDL( const TUint32 aOldIapID, + const TUint32 aNewIapID ) + { + iEapArray.ResetAndDestroy(); + REComSession::ListImplementationsL( KEapTypeInterfaceUid, iEapArray ); + + for ( TInt i = 0; i < iEapArray.Count(); i++ ) + { + if ( !CEapType::IsDisallowedOutsidePEAP( *iEapArray[i] ) ) + { + CEapType* eapType = CEapType::NewL( iEapArray[i]->DataType(), + ELan, + aOldIapID ); + CleanupStack::PushL( eapType ); + + eapType->SetIndexL( ELan, aNewIapID ); + CleanupStack::PopAndDestroy( eapType ); + } + } +} + +// --------------------------------------------------------- +// CEAPPluginConfiguration::CopySettingsL +// --------------------------------------------------------- +// +void CEAPPluginConfiguration::CopySettingsL( const TUint32 aSourceIapID, + const TUint32 aDestinationIapID ) + { + iEapArray.ResetAndDestroy(); + REComSession::ListImplementationsL( KEapTypeInterfaceUid, iEapArray ); + + for ( TInt i = 0; i < iEapArray.Count(); i++ ) + { + if ( !CEapType::IsDisallowedOutsidePEAP( *iEapArray[i] ) ) + { + CEapType* eapType = CEapType::NewL( iEapArray[i]->DataType(), + ELan, + aSourceIapID ); + CleanupStack::PushL( eapType ); + + eapType->CopySettingsL( ELan, aDestinationIapID ); + CleanupStack::PopAndDestroy( eapType ); + } + } + } + + +// --------------------------------------------------------- +// CEAPPluginConfiguration::MoveEAPType +// --------------------------------------------------------- +// +TInt CEAPPluginConfiguration::MoveEAPType( EAPSettings::TEapType aEapType, + TInt aPos ) + { + TInt error( KErrNotFound ); + + // Parse the array to find out the desired EAP type. + for( TInt count = 0; count < iEapArray.Count(); count++ ) + { + TLex8 lexDataType( iEapArray[count]->DataType() ); + TInt implDataType; + + if ( lexDataType.Val( implDataType ) == KErrNone ) + { + if ( implDataType == aEapType ) + { + // Move this to the required destination. + error = iEapArray.Insert( iEapArray[count], aPos ); + + if( KErrNone == error ) + { + // Delete the old entry. It should be one count up now. + iEapArray.Remove( count+1 ); + } + else + { + // Some problem. Couldn't move. + error = KErrUnknown; + } + + // No need to parse further in the array. + // We found the needed EAP type. + break; + } + } + else + { + error = KErrGeneral; + } + } + + return error; + } + + +// --------------------------------------------------------- +// CEAPPluginConfiguration::MoveEAPType +// --------------------------------------------------------- +// +TInt CEAPPluginConfiguration::MoveEAPType( const TDesC8& aEapType, TInt aPos ) + { + TInt error( KErrNotFound ); + + // Parse the array to find out the desired EAP type. + for( TInt count = 0; count < iEapArray.Count(); count++ ) + { + if ( !iEapArray[count]->DataType().Compare( aEapType ) ) + { + // Move this to the required destination. + error = iEapArray.Insert( iEapArray[count], aPos ); + + if( KErrNone == error ) + { + // Delete the old entry. It should be one count up now. + iEapArray.Remove( count+1 ); + } + else + { + // Some problem. Couldn't move. + error = KErrUnknown; + } + + // No need to parse further in the array. + // We found the needed EAP type. + break; + } + } + + return error; + } + +// End of file. diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginConfigurationProxy.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginConfigurationProxy.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,53 @@ +/* +* Copyright (c) 2001-2009 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: Some functions that ECom needs. +* +*/ + +/* +* %version: 12 % +*/ + +// INCLUDE FILES +#include "EAPPluginConfiguration.h" +#include "EAPPluginConfigUid.h" + +#include +#include + + +const TImplementationProxy ImplementationTable[] = + { + {{EAP_PLUGIN_CONFIG_IMPLEMENTATION_UID}, + reinterpret_cast( CEAPPluginConfiguration::NewL ) } + }; + + +// ================= OTHER EXPORTED FUNCTIONS ============== + +// ----------------------------------------------------------------------------- +// ImplementationGroupProxy +// ----------------------------------------------------------------------------- +// +EXPORT_C const TImplementationProxy* ImplementationGroupProxy( + TInt& aTableCount ) + { + aTableCount = sizeof( ImplementationTable ) / + sizeof( TImplementationProxy ); + + return ImplementationTable; + } + + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginList.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginList.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,57 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class REAPPluginList. +* +*/ + +/* +* %version: 11 % +*/ + +// INCLUDE FILES +#include "EAPPluginList.h" + + +// ============================ MEMBER FUNCTIONS =============================== + +// --------------------------------------------------------- +// REAPPluginList::MovePos +// --------------------------------------------------------- +// +void REAPPluginList::MovePos( TInt aOldPos, TInt aNewPos ) + { + TEAPPluginInfo temp; + TInt i; + if ( aNewPos > aOldPos ) + { + temp = (*this)[aOldPos]; + for ( i = aOldPos; i < aNewPos; i++ ) + { + (*this)[i] = (*this)[i + 1]; + } + (*this)[aNewPos] = temp; + } + else if ( aNewPos < aOldPos ) + { + temp = (*this)[aOldPos]; + for ( i = aOldPos; i > aNewPos; i-- ) + { + (*this)[i] = (*this)[i - 1]; + } + (*this)[aNewPos] = temp; + } + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/data/EapSimUi.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/data/EapSimUi.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,248 @@ +/* +* Copyright (c) 2001-2009 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 LEAP UI resource file +* +*/ + +/* +* %version: 17 % +*/ + +CHARACTER_SET UTF8 + +// RESOURCE IDENTIFIER +NAME EPSI + +// INCLUDES +#include +#include "EapSimUi.hrh" // Enums for these resources +#include // Localisation file +#include +#include +#include +#include +#include +#include + + +// CONSTANTS +#define KUsernameMaxNameLength 255 + + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + + +RESOURCE TBUF16 { buf = ""; } + + +RESOURCE CBA r_sim_softkeys_options_back_change + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = ESimUiCmdChange; txt = qtn_msk_change; } + }; + } + + +RESOURCE DIALOG r_sim_setting_dialog + { + flags = EAknDialogSelectionList | EEikDialogFlagWait; + buttons = r_sim_softkeys_options_back_change; + items = + { + DLG_LINE + { + id = ESimSettingsListBox; + type = EAknCtSettingListBox; + control = LISTBOX + { + flags = EAknListBoxMenuList; + }; + } + }; + } + + +RESOURCE AVKON_SETTING_PAGE r_sim_username_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_username; + type = EEikCtEdwin; + editor_resource_id = r_sim_setting_edwin; + } + + +RESOURCE AVKON_SETTING_PAGE r_sim_realm_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_realm; + type = EEikCtEdwin; + editor_resource_id = r_sim_setting_edwin; + } + + +RESOURCE EDWIN r_sim_setting_edwin + { + width = 9; + lines = 5; + maxlength = KUsernameMaxNameLength; + allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode; + default_input_mode = EAknEditorTextInputMode; + flags = EEikEdwinAutoSelection | EEikEdwinNoLineOrParaBreaks; + } + + +RESOURCE MENU_BAR r_sim_menubar + { + titles = + { + MENU_TITLE { menu_pane = r_sim_menu_pane; txt = ""; } + }; + } + + +RESOURCE MENU_PANE r_sim_menu_pane + { + items = + { + MENU_ITEM + { + command = ESimUiCmdChange; + txt = qtn_options_change; + flags = EEikMenuItemAction; + }, + MENU_ITEM + { + command = EAknCmdHelp; + txt = qtn_options_help; + }, + MENU_ITEM + { + command = EAknCmdExit; + txt = qtn_options_exit; + } + }; + } + + +// Resource strings +RESOURCE TBUF r_sim_settings_title { buf = qtn_wlan_eap_sim_title; } +RESOURCE TBUF r_sim_username_inusestring \ + { buf = qtn_wlan_eap_sett_username_inuse; } +RESOURCE TBUF r_sim_username_inusestring_auto \ + { buf = qtn_wlan_eap_sett_username_inuse_from_sim; } +RESOURCE TBUF r_sim_username_inusestring_conf \ + { buf = qtn_wlan_eap_sett_username_inuse_user; } +RESOURCE TBUF r_sim_username_string { buf = qtn_wlan_eap_sett_username; } +RESOURCE TBUF r_sim_realm_inusestring \ + { buf = qtn_wlan_eap_sett_realm_inuse; } +RESOURCE TBUF r_sim_realm_inusestring_auto \ + { buf = qtn_wlan_eap_sett_realm_inuse_from_sim; } +RESOURCE TBUF r_sim_realm_inusestring_conf \ + { buf = qtn_wlan_eap_sett_realm_inuse_user; } +RESOURCE TBUF r_sim_realm_string { buf = qtn_wlan_eap_sett_realm; } + + +RESOURCE AVKON_POPUP_SETTING_TEXTS r_sim_username_autouseconf_texts + { + setting_texts_resource = r_sim_username_autouseconf_texts_resource; + popped_up_texts_resource = r_sim_username_automatic_useconfigured_array; + } + + +RESOURCE ARRAY r_sim_username_autouseconf_texts_resource + { + items = + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_username_inuse_from_sim; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_username_inuse_user; + } + }; + } + + +RESOURCE ARRAY r_sim_username_automatic_useconfigured_array + { + items = + { + LBUF { txt = qtn_wlan_eap_sett_username_inuse_from_sim; }, + LBUF { txt = qtn_wlan_eap_sett_username_inuse_user; } + }; + } + + +RESOURCE AVKON_POPUP_SETTING_TEXTS r_sim_realm_autouseconf_texts + { + setting_texts_resource = r_sim_realm_autouseconf_texts_resource; + popped_up_texts_resource = r_sim_realm_automatic_useconfigured_array; + } + + +RESOURCE ARRAY r_sim_realm_autouseconf_texts_resource + { + items= + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_realm_inuse_from_sim; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_realm_inuse_user; + } + }; + } + + +RESOURCE ARRAY r_sim_realm_automatic_useconfigured_array + { + items= + { + LBUF { txt = qtn_wlan_eap_sett_realm_inuse_from_sim; }, + LBUF { txt = qtn_wlan_eap_sett_realm_inuse_user; } + }; + } + + +RESOURCE AVKON_SETTING_PAGE r_sim_display_autouseconf_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_realm_inuse; + type = EAknCtPopupSettingList; + editor_resource_id = r_sim_setting_enumerated_popup; + } + + +RESOURCE POPUP_SETTING_LIST r_sim_setting_enumerated_popup + { + flags = EAknPopupSettingListFlagInitialised; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUi.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUi.hrh Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,61 @@ +/* +* Copyright (c) 2001-2009 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 SIM UI hrh file +* +*/ + +/* +* %version: % +*/ + +#ifndef _EAPSIMUI_HRH_ +#define _EAPSIMUI_HRH_ + +enum TEapSimUiMenuCommands + { + ESimUiCmdUndefined = 6000, + ESimUiCmdChange + }; + +enum TEapSimUiNotes + { + TEapSimUiGeneralError = 6100 + }; + +enum TEapSimUiLines + { + ESimSettingsListBox = 6200 + }; + +enum TEapSimUiSettingIds + { + ESimSettingUsernameinUseSettingId=6300, + ESimSettingUsernameSettingId, + ESimSettingPageRealminUseSettingId, + ESimSettingRealmSettingId + }; + +enum TEapSimUiSettingPageIds + { + ESimSettingPageUsernameinUse=6400, + ESimSettingPageUsername, + ESimSettingPageRealminUse, + ESimSettingPageRealm + }; + + +#endif //_EAPSIMUI_HRH_ + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUiSettingArray.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUiSettingArray.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,66 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP SIM UI settings array +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef _EAPSIMUISETTINGARRAY_H_ +#define _EAPSIMUISETTINGARRAY_H_ + +// INCLUDES +#include +#include "EapSimUi.hrh" + + +// CLASS DECLARATION + +/** +*/ +class CEapSimSettingItemArray : public CBase + { + public: + static CEapSimSettingItemArray* NewL(); + virtual ~CEapSimSettingItemArray(); + CAknSettingItem* Item( TEapSimUiSettingPageIds aItem ); + CAknSettingItemArray* Array(); + void StoreSettingsL(); + void AddTextItemL( TDes& aBuffer, TInt aId, TInt aTitleResource, + TInt aSettingPageResource, TInt aAssociatedResource, + TInt aOrdinal ); + + void AddPasswordItemL( TDes& aPassword, TInt aId, TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, TInt aOrdinal ); + + void AddBinarySettingItemL( TInt aSettingPageResourceId, + TInt aTitleResourceId, + TInt aAssociatedResourceId, + TInt aOrdinal, + TBool& aModifiedValue ); + + protected: + CEapSimSettingItemArray(); + void ConstructL(); + + private: + CAknSettingItemArray* iArray; + }; + +#endif // _EAPSIMUISETTINGARRAY_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUiView.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUiView.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,116 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP SIM UI setting dialog +* +*/ + +/* +* %version: 16 % +*/ + +#ifndef _EAPSIMUIVIEW_H_ +#define _EAPSIMUIVIEW_H_ + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include "EapSimUi.hrh" + + +// FORWARD DECLARATIONS +class CAknSettingStyleListBox; +class CSettingsListBoxItemDrawer; +class CEapSimSettingItemArray; +class CEapSimUiConnection; +class CEapSimUiSimData; +class CEapSimUiDataConnection; + + +// CLASS DECLARATION + +/** +* Settings dialog class definition +*/ +class CEapSimUiDialog : public CAknDialog, + public MEikListBoxObserver + { + public: + CEapSimUiDialog( CEapSimUiConnection* aConnection, + TInt& aButtonId ); + + ~CEapSimUiDialog(); + + /** + * Create and launch dialog. + * @param aResourceId The resource ID of the dialog to load. + * @return The ID of the button that closed the dialog + */ + TInt ConstructAndRunLD( TInt aResourceId ); + + + public: // From MEikListBoxObserver + + /** + * Handles list box events. + * @param aListBox The originating list box. + * @param aEventType A code for the event. + */ + void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType ); + + + protected: + void PreLayoutDynInitL(); + TBool OkToExitL( TInt aButtonId ); + + private: + void InitializeSettingsL(); + void DrawSettingsListL(); + void ChangeTitleL( TBool aIsStarted ); + void ShowSettingPageL( TInt aCalledFromMenu ); + void ProcessCommandL( TInt aCommand ); + void SaveSettings(); + void GetHelpContext( TCoeHelpContext& aContext ) const; + + /** + * Initialize menu pane. + * @param aResourceId Menu pane resource id. + * @param CEikMenuPane Menu pane. + */ + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + + private: + CEapSimUiConnection* iConnection; + CEapSimUiSimData* iUiData; + CEapSimUiDataConnection* iDataConnection; + CEapSimSettingItemArray* iSettingArray; + CAknSettingStyleListBox* iSettingListBox; + CSettingsListBoxItemDrawer* iSettingListItemDrawer; + CAknNavigationControlContainer* iNaviPane; + CAknNavigationDecorator* iNaviDecorator; + HBufC* iPreviousText; + TInt* iButtonId; + + // Tells the status of UI construction. TRUE if UI construction is completed. + TBool iIsUIConstructionCompleted; + }; + + +#endif // _EAPSIMUIVIEW_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/loc/eapsimui.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/loc/eapsimui.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,33 @@ +/* +* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-SIM authentication settings +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + + +//d:UI title for main view +//l:title_pane_t2/opt9 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sim_title "EAP-SIM settings" + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUi.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUi.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,138 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP SIM UI class +* +*/ + +/* +* %version: 15 % +*/ + +// INCLUDE FILES +#include "EapSimUi.h" +#include +#include "EapSimUiView.h" +#include +#include +#include +#include +#include + + +// CONSTANTS +_LIT( KDriveZ, "z:" ); // ROM folder +_LIT( KResourceFileName, "eapsimui.rsc" ); + + +// CLASS DECLARATION +class TResourceFileCleanupItem + { + public: + CCoeEnv* iCoeEnv; + TInt iResourceFileOffset; + }; + + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CleanupResourceFile +// ----------------------------------------------------------------------------- +// +static void CleanupResourceFile( TAny* aObject ) + { + TResourceFileCleanupItem* item = + REINTERPRET_CAST( TResourceFileCleanupItem*, aObject ); + item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset ); + delete item; + } + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapSimUi::CEapSimUi +// ----------------------------------------------------------------------------- +// +CEapSimUi::CEapSimUi( CEapSimUiConnection* aConnection ) +: iConnection( aConnection ) + { + } + + +// ----------------------------------------------------------------------------- +// CEapSimUi::NewL +// ----------------------------------------------------------------------------- +// +CEapSimUi* CEapSimUi::NewL( CEapSimUiConnection* aConnection ) + { + CEapSimUi* self = new ( ELeave ) CEapSimUi( aConnection ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CEapSimUi::ConstructL +// ----------------------------------------------------------------------------- +// +void CEapSimUi::ConstructL() + { + } + + +// ----------------------------------------------------------------------------- +// CEapSimUi::~CEapSimUi +// ----------------------------------------------------------------------------- +// +CEapSimUi::~CEapSimUi() + { + } + + +// ----------------------------------------------------------------------------- +// CEapSimUi::InvokeUiL +// ----------------------------------------------------------------------------- +// +TInt CEapSimUi::InvokeUiL() + { + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + CCoeEnv* coeEnv = CCoeEnv::Static(); + BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName ); + + TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem; + + item->iCoeEnv = coeEnv; + CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) ); + item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName ); + + TInt buttonId; + CEapSimUiDialog* settingsDlg = new( ELeave ) CEapSimUiDialog( iConnection, + buttonId ); + settingsDlg->ConstructAndRunLD( R_SIM_SETTING_DIALOG ); + + CleanupStack::PopAndDestroy(); // For resource file + + return buttonId; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUiSettingArray.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUiSettingArray.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,187 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of EAP SIM UI settings array +* +*/ + +/* +* %version: 11 % +*/ + +// INCLUDE FILES +#include "EapSimUiSettingArray.h" + +#include "EapSimUi.hrh" + +#include +#include + + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapSimSettingItemArray::CEapSimSettingItemArray +// ----------------------------------------------------------------------------- +// +CEapSimSettingItemArray::CEapSimSettingItemArray() + { + } + + +// ----------------------------------------------------------------------------- +// CEapSimSettingItemArray::NewL +// ----------------------------------------------------------------------------- +// +CEapSimSettingItemArray* CEapSimSettingItemArray::NewL() + { + CEapSimSettingItemArray* self = new ( ELeave ) CEapSimSettingItemArray(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CEapSimSettingItemArray::ConstructL +// ----------------------------------------------------------------------------- +// +void CEapSimSettingItemArray::ConstructL() + { + iArray = new ( ELeave ) CAknSettingItemArray( 2, EFalse, 0 ); + } + + +// ----------------------------------------------------------------------------- +// CEapSimSettingItemArray::~CEapSimSettingItemArray +// ----------------------------------------------------------------------------- +// +CEapSimSettingItemArray::~CEapSimSettingItemArray() + { + if( iArray ) + { + // ResetAndDestroy() + iArray->ResetAndDestroy(); + } + delete iArray; + iArray = NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapSimSettingItemArray::Item +// ----------------------------------------------------------------------------- +// +CAknSettingItem* CEapSimSettingItemArray::Item( TEapSimUiSettingPageIds aId ) + { + for( TInt i = 0; i < iArray->Count(); i++) + { + if( iArray->At( i )->Identifier() == aId ) + { + return iArray->At( i ); + } + } + + __ASSERT_DEBUG( EFalse, User::Invariant() ); + return NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapSimSettingItemArray::Array +// ----------------------------------------------------------------------------- +// +CAknSettingItemArray* CEapSimSettingItemArray::Array() + { + return iArray; + } + + +// ----------------------------------------------------------------------------- +// CEapSimSettingItemArray::StoreSettingsL +// ----------------------------------------------------------------------------- +// +void CEapSimSettingItemArray::StoreSettingsL() + { + // Do what SettingItemList::StoreSettings would do. + for( TInt i( 0 ); i < iArray->Count(); ++i) + { + iArray->At( i )->StoreL(); + } + } + + +// ----------------------------------------------------------------------------- +// CEapSimSettingItemArray::AddTextItemL +// ----------------------------------------------------------------------------- +// +void CEapSimSettingItemArray::AddTextItemL( TDes& aBuffer, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal ) + { + // Create new setting item + CAknTextSettingItem* settingItem = new( ELeave ) CAknTextSettingItem( aId, + aBuffer ); + CleanupStack::PushL( settingItem ); + settingItem->SetEmptyItemTextL( KNullDesC ); + settingItem->SetSettingPageFlags( + CAknTextSettingPage::EZeroLengthAllowed ); + + // Construct setting item with parametrized values + HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( + aTitleResource ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResource, EAknCtPopupSettingList, + NULL, aAssociatedResource ); + + // Append item to settingitem-array + iArray->InsertL( aOrdinal, settingItem ); + CleanupStack::PopAndDestroy( itemTitle ); + + // Items are destroyed in destructor when resetting array + CleanupStack::Pop( settingItem ); + } + + +// ----------------------------------------------------------------------------- +// CEapSimSettingItemArray::AddBinarySettingItemL +// ----------------------------------------------------------------------------- +// +void CEapSimSettingItemArray::AddBinarySettingItemL( + TInt aSettingPageResourceId, + TInt aTitleResourceId, + TInt aAssociatedResourceId, + TInt aOrdinal, + TBool& aModifiedValue ) + { + CAknSettingItem* settingItem = new ( ELeave ) + CAknBinaryPopupSettingItem( 0, aModifiedValue ); + CleanupStack::PushL( settingItem ); + + HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( + aTitleResourceId ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResourceId, EAknCtPopupSettingList, + NULL, aAssociatedResourceId ); + iArray->AppendL( settingItem ); + CleanupStack::PopAndDestroy( itemTitle ); + CleanupStack::Pop( settingItem ); + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUiView.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUiView.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,480 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP SIM UI settings dialog +* +*/ + +/* +* %version: 29 % +*/ + +// INCLUDE FILES +#include +#include +#include +#include "EapSimUiView.h" +#include "EapSimUi.hrh" +#include +#include +#include +#include "EapSimUiSettingArray.h" +#include // For info message +#include +#include +#include +#include + +#include +#include +#include + + +// CONSTANTS +// UID of general settings app, in which help texts are included +const TUid KHelpUidPlugin = { 0x100058EC }; + +_LIT( KEmptyString, "" ); + +// MODULE DATA STRUCTURES +enum + { + EUsernameInUseItem = 0, + EUsernameItem, + ERealmInUseItem, + ERealmItem + }; + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapSimUiDialog::CEapSimUiDialog +// ----------------------------------------------------------------------------- +// +CEapSimUiDialog::CEapSimUiDialog( CEapSimUiConnection* aConnection, + TInt& aButtonId ) +: CAknDialog(), + iConnection( aConnection ), + iUiData( 0 ), + iDataConnection( 0 ), + iSettingArray( 0 ), + iSettingListBox( 0 ), + iSettingListItemDrawer( 0 ), + iNaviPane( 0 ), + iNaviDecorator( 0 ), + iPreviousText( 0 ), + iButtonId( &aButtonId ), + iIsUIConstructionCompleted( EFalse ) + { + } + + +// --------------------------------------------------------- +// CEapSimUiDialog::ConstructAndRunLD +// --------------------------------------------------------- +// +TInt CEapSimUiDialog::ConstructAndRunLD( TInt aResourceId ) + { + CleanupStack::PushL( this ); + + iSettingArray = CEapSimSettingItemArray::NewL(); + + User::LeaveIfError( iConnection->Connect() ); + iDataConnection = iConnection->GetDataConnection(); + if ( iDataConnection == 0 ) + { + User::Leave( KErrNoMemory ); + } + + User::LeaveIfError( iDataConnection->Open() ); + User::LeaveIfError( iDataConnection->GetData( &iUiData ) ); + + FeatureManager::InitializeLibL(); + + ConstructL( R_SIM_MENUBAR ); + + // ExecuteLD will PushL( this ), so we have to Pop it... + CleanupStack::Pop( this ); // this + + return CAknDialog::ExecuteLD( aResourceId ); + } + + +// ----------------------------------------------------------------------------- +// CEapSimUiDialog::~CEapSimUiDialog +// ----------------------------------------------------------------------------- +// +CEapSimUiDialog::~CEapSimUiDialog() + { + if ( iNaviDecorator ) + { + delete iNaviDecorator; + iNaviDecorator = NULL; + } + + if ( iSettingArray ) + { + iSettingArray->Array()->ResetAndDestroy(); + delete iSettingArray; + } + + if ( iSettingListBox ) + { + iSettingListBox = 0; + } + + if ( iSettingListItemDrawer ) + { + iSettingListItemDrawer = 0; + } + + if ( iDataConnection ) + { + iDataConnection->Close(); + delete iDataConnection; + } + + if ( iConnection ) + { + iConnection->Close(); + } + + delete iPreviousText; + + FeatureManager::UnInitializeLib(); + } + +// --------------------------------------------------------- +// CEapSimUiDialog::HandleListBoxEventL +// --------------------------------------------------------- +// +void CEapSimUiDialog::HandleListBoxEventL( CEikListBox* /*aListBox*/, + TListBoxEvent aEventType ) + { + switch ( aEventType ) + { + case EEventEnterKeyPressed: + case EEventItemSingleClicked: + { + OkToExitL( ESimUiCmdChange ); + break; + } + + case EEventItemActioned: + case EEventEditingStarted: + case EEventEditingStopped: + case EEventPenDownOnItem: + case EEventItemDraggingActioned: + { + break; + } + + default: + { + break; + }; + }; + } + + +// ----------------------------------------------------------------------------- +// CEapSimUiDialog::PreLayoutDynInitL +// ----------------------------------------------------------------------------- +// +void CEapSimUiDialog::PreLayoutDynInitL() + { + ChangeTitleL( ETrue ); + + TUid naviPaneUid; + naviPaneUid.iUid = EEikStatusPaneUidNavi; + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( naviPaneUid ); + if ( subPane.IsPresent()&&subPane.IsAppOwned() ) + { + iNaviPane = static_cast( + statusPane->ControlL( naviPaneUid ) ); + + // Set empty text to hide tabs. + iNaviDecorator = iNaviPane->CreateNavigationLabelL( KEmptyString ); + iNaviPane->PushL( *iNaviDecorator ); + } + + iSettingListBox = static_cast( + ControlOrNull( ESimSettingsListBox ) ); + iSettingListItemDrawer=static_cast( + iSettingListBox->ItemDrawer() ); + iSettingListBox->SetMopParent( this ); + iSettingListBox->CreateScrollBarFrameL( ETrue ); + iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( + CEikScrollBarFrame::EOff, + CEikScrollBarFrame::EAuto ); + iSettingListBox->SetListBoxObserver( this ); + DrawSettingsListL(); + + iIsUIConstructionCompleted = ETrue; + } + + +// ----------------------------------------------------------------------------- +// CEapSimUiDialog::ShowSettingPageL +// ----------------------------------------------------------------------------- +// +void CEapSimUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) + { + TInt index = iSettingListBox->CurrentItemIndex(); + CAknSettingItem* item = iSettingArray->Array()->At( index ); + item->EditItemL( aCalledFromMenu ); + item->StoreL(); + DrawNow(); + } + + +// ----------------------------------------------------------------------------- +// CEapSimUiDialog::OkToExitL +// ----------------------------------------------------------------------------- +// +TBool CEapSimUiDialog::OkToExitL( TInt aButtonId ) + { + TBool ret( EFalse ); + switch ( aButtonId ) + { + case EEikBidOk: + { + if( iIsUIConstructionCompleted ) + { + if ( iSettingListBox->IsFocused() ) + { + ShowSettingPageL( EFalse ); + } + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapSimUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + case EAknSoftkeyOptions: + { + DisplayMenuL(); + break; + } + + case EAknSoftkeyBack: + case EAknCmdExit: + { + if( iIsUIConstructionCompleted ) + { + iDataConnection->Update(); + ChangeTitleL( EFalse ); + ret = ETrue; + } + break; + } + + case ESimUiCmdChange: + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( EFalse ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapSimUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + default: + { + break; + } + } + + if ( ret ) + { + *iButtonId = aButtonId; + } + + return ret; + } + + +// ----------------------------------------------------------------------------- +// CEapSimUiDialog::DrawSettingsListL +// ----------------------------------------------------------------------------- +// +void CEapSimUiDialog::DrawSettingsListL() + { + iSettingArray->Array()->ResetAndDestroy(); + TInt ordinal = 0; + iSettingArray->AddBinarySettingItemL( R_SIM_DISPLAY_AUTOUSECONF_PAGE, + R_SIM_USERNAME_INUSESTRING, + R_SIM_USERNAME_AUTOUSECONF_TEXTS, + ordinal++, + *iUiData->GetUseManualUsername() ); + + iSettingArray->AddTextItemL( iUiData->GetManualUsername(), + ESimSettingPageUsername, + R_SIM_USERNAME_STRING, + R_SIM_USERNAME_PAGE, + NULL, + ordinal++ ); + + iSettingArray->AddBinarySettingItemL( R_SIM_DISPLAY_AUTOUSECONF_PAGE, + R_SIM_REALM_INUSESTRING, + R_SIM_REALM_AUTOUSECONF_TEXTS, + ordinal++, + *iUiData->GetUseManualRealm() ); + + iSettingArray->AddTextItemL( iUiData->GetManualRealm(), + ESimSettingUsernameSettingId, + R_SIM_REALM_STRING, + R_SIM_REALM_PAGE, + NULL, + ordinal++ ); + + iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() ); + iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); + iSettingArray->Array()->RecalculateVisibleIndicesL(); + iSettingListBox->HandleItemAdditionL(); + iSettingListBox->UpdateScrollBarsL(); + } + + +// ----------------------------------------------------------------------------- +// CEapSimUiDialog::ChangeTitleL +// ----------------------------------------------------------------------------- +// +void CEapSimUiDialog::ChangeTitleL( TBool aIsStarted ) + { + TUid titlePaneUid; + titlePaneUid.iUid = EEikStatusPaneUidTitle; + + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( titlePaneUid ); + + if ( subPane.IsPresent() && subPane.IsAppOwned() ) + { + CAknTitlePane* titlePane = static_cast( + statusPane->ControlL( titlePaneUid ) ); + if ( aIsStarted ) + { + // Store previous application title text + const TDesC* prevText = titlePane->Text(); + + iPreviousText = HBufC::NewL( prevText->Length() ); + iPreviousText->Des().Append( *prevText ); + TDesC* titleText = iEikonEnv->AllocReadResourceLC( + R_SIM_SETTINGS_TITLE ); + titlePane->SetTextL( *titleText ); + CleanupStack::PopAndDestroy( titleText ); + } + else + { + // Set calling application title text back + titlePane->SetTextL( *iPreviousText ); + // pop navidecorator when exiting + iNaviPane->Pop( iNaviDecorator ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapSimUiDialog::DynInitMenuPaneL +// ----------------------------------------------------------------------------- +// +void CEapSimUiDialog::DynInitMenuPaneL( TInt aResourceId, + CEikMenuPane* aMenuPane ) + { + CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane ); + + if ( aResourceId == R_SIM_MENU_PANE ) + { + if ( aMenuPane && !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) + { + aMenuPane->DeleteMenuItem( EAknCmdHelp ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapSimUiDialog::ProcessCommandL +// ----------------------------------------------------------------------------- +// +void CEapSimUiDialog::ProcessCommandL( TInt aCommand ) + { + if ( MenuShowing() ) + { + HideMenu(); + } + + switch( aCommand ) + { + case EAknCmdExit: + { + TryExitL( aCommand ); + break; + } + + case EAknCmdHelp: + { + HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), + iEikonEnv->EikAppUi()->AppHelpContextL() ); + break; + } + + case ESimUiCmdChange: + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( ETrue ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapSimUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + default: + { + break; + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapSimUiDialog::GetHelpContext +// ----------------------------------------------------------------------------- +// +void CEapSimUiDialog::GetHelpContext( TCoeHelpContext& aContext ) const + { + aContext.iMajor = KHelpUidPlugin; + aContext.iContext = KSET_HLP_WLAN_EAP_SIM; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/data/EapTlsUi.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/data/EapTlsUi.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,413 @@ +/* +* Copyright (c) 2001-2009 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 TLS UI resource file +* +*/ + +/* +* %version: 18 % +*/ + +CHARACTER_SET UTF8 + +// RESOURCE IDENTIFIER +NAME ETLS + +// INCLUDES +#include +#include "EapTlsUi.hrh" // Enums for these resources +#include // Localisation file +#include +#include +#include +#include +#include +#include + + +// CONSTANTS +#define KUsernameMaxNameLength 255 + + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + + +RESOURCE TBUF16 { buf=""; } + + +RESOURCE CBA r_tls_ui_softkeys_options_back_edit + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = ETlsUiCmdChange; txt = qtn_msk_change; } + }; + } + + +RESOURCE CBA r_tls_ui_softkeys_options_back_enable + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = ETlsUiCmdEnable; txt = qtn_msk_wlan_eap_cs_enable; } + }; + } + + +RESOURCE CBA r_tls_ui_softkeys_options_back_disable + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = ETlsUiCmdDisable; txt = qtn_msk_wlan_eap_cs_disable; } + }; + } + + +RESOURCE DIALOG r_tls_setting_dialog + { + flags = EEikDialogFlagFillAppClientRect | EEikDialogFlagCbaButtons | + EEikDialogFlagWait | EEikDialogFlagNotifyEsc; + buttons = r_tls_ui_softkeys_options_back_edit; + pages = r_tls_pages; + } + + +// ******* PAGES ************ +RESOURCE ARRAY r_tls_pages + { + items= + { + PAGE + { + id = KEAPTLSSETTINGSPAGE; + text = qtn_wlan_eap_tab_settings; + lines = r_tls_tab_settings; + }, + + PAGE + { + id = KEAPTLSCIPHERPAGE; + text = qtn_wlan_eap_tab_cipher_suites; + lines = r_tls_tab_cipher_suites; + } + }; + } + + +// ******* 1st page ********* +RESOURCE ARRAY r_tls_tab_settings + { + items= + { + DLG_LINE + { + id = ETlsSettingsListbox; + type = EAknCtSettingListBox; + control = LISTBOX + { + flags = EAknListBoxMenuList; + }; + } + }; + } + + +// ******* 2nd page ********* +RESOURCE ARRAY r_tls_tab_cipher_suites + { + items= + { + DLG_LINE + { + id = ETlsSettingsCipherSuiteListbox; + type = EAknCtSingleNumberListBox; + control = LISTBOX + { + flags = EAknGenericListBoxFlags; + //array_id = r_tls_cipher_suite_array; + }; + } + }; + } + + +RESOURCE AVKON_SETTING_PAGE r_tls_username_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_username; + type = EEikCtEdwin; + editor_resource_id = r_tls_setting_edwin; + } + + +RESOURCE AVKON_SETTING_PAGE r_tls_realm_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_realm; + type = EEikCtEdwin; + editor_resource_id = r_tls_setting_edwin; + } + + +RESOURCE EDWIN r_tls_setting_edwin + { + flags = 0; + width = 9; + lines = 5; + maxlength = 255; + } + + +RESOURCE MENU_BAR r_tls_menubar + { + titles = + { + MENU_TITLE + { + menu_pane = r_tls_menu_pane; + txt = ""; + } + }; + } + + +RESOURCE MENU_PANE r_tls_menu_pane + { + items = + { + MENU_ITEM + { + command = ETlsUiCmdEnable; + txt = qtn_wlan_options_eap_plugin_enable; + flags = EEikMenuItemAction; + }, + + MENU_ITEM + { + command = ETlsUiCmdDisable; + txt = qtn_wlan_options_eap_plugin_disable; + flags = EEikMenuItemSpecific; + }, + + MENU_ITEM + { + command = ETlsUiCmdChange; + txt = qtn_options_change; + flags = EEikMenuItemAction; + }, + + MENU_ITEM + { + command = EAknCmdHelp; + txt = qtn_options_help; + }, + + MENU_ITEM + { + command = EAknCmdExit; + txt = qtn_options_exit; + } + }; + } + + +// Resource strings +RESOURCE TBUF r_tls_settings_title { buf = qtn_wlan_eap_tls_title; } +RESOURCE TBUF r_tls_username_inusestring \ + { buf = qtn_wlan_eap_sett_username_inuse; } +RESOURCE TBUF r_tls_username_inusestring_auto \ + { buf = qtn_wlan_eap_sett_username_inuse_from_cert; } +RESOURCE TBUF r_tls_username_inusestring_conf \ + { buf = qtn_wlan_eap_sett_username_inuse_user; } +RESOURCE TBUF r_tls_username_string { buf = qtn_wlan_eap_sett_username; } +RESOURCE TBUF r_tls_realm_inusestring \ + { buf = qtn_wlan_eap_sett_realm_inuse; } +RESOURCE TBUF r_tls_realm_inusestring_auto \ + { buf = qtn_wlan_eap_sett_realm_inuse_from_cert; } +RESOURCE TBUF r_tls_realm_inusestring_conf \ + { buf = qtn_wlan_eap_sett_realm_inuse_user; } +RESOURCE TBUF r_tls_realm_string { buf = qtn_wlan_eap_sett_realm; } +RESOURCE TBUF r_tls_user_cert_setting \ + { buf = qtn_wlan_eap_sett_user_certificate; } +RESOURCE TBUF r_tls_ca_cert_setting \ + { buf = qtn_wlan_eap_sett_ca_certificate; } +RESOURCE TBUF r_tls_not_defined { buf = qtn_wlan_eap_cert_not_defined; } +RESOURCE TBUF r_tls_none_selection \ + { buf = qtn_wlan_eap_cert_none_selection; } +RESOURCE TBUF r_tls_suite_rsarc4md5 { buf = qtn_wlan_eap_cipher_rsarc4md5; } +RESOURCE TBUF r_tls_suite_rsarc4sha { buf = qtn_wlan_eap_cipher_rsarc4sha; } +RESOURCE TBUF r_tls_suite_rsa3dessha \ + { buf = qtn_wlan_eap_cipher_rsa3dessha; } +RESOURCE TBUF r_tls_suite_dhersa3dessha \ + { buf = qtn_wlan_eap_cipher_dhersa3dessha; } +RESOURCE TBUF r_tls_suite_dhedss3dessha \ + { buf = qtn_wlan_eap_cipher_dhedss3dessha; } +RESOURCE TBUF r_tls_suite_rsaaessha { buf = qtn_wlan_eap_cipher_rsaaessha; } +RESOURCE TBUF r_tls_suite_dhersaaessha \ + { buf = qtn_wlan_eap_cipher_dhersaaessha; } +RESOURCE TBUF r_tls_suite_dhedssaessha \ + { buf = qtn_wlan_eap_cipher_dhedssaessha; } + +RESOURCE TBUF r_tls_tls_privacy_string + { buf = qtn_wlan_eap_sett_tls_privacy; } + + +// ******************************************** +// USERNAME IN USE AND REALM POPUP DEFINITION +// ******************************************** +RESOURCE AVKON_POPUP_SETTING_TEXTS r_tls_username_autouseconf_texts + { + setting_texts_resource = r_tls_username_autouseconf_texts_resource; + popped_up_texts_resource = r_tls_username_automatic_useconfigured_array; + } + + +RESOURCE ARRAY r_tls_username_autouseconf_texts_resource + { + items = + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_username_inuse_from_cert; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_username_inuse_user; + } + }; + } + + +RESOURCE ARRAY r_tls_username_automatic_useconfigured_array + { + items = + { + LBUF { txt = qtn_wlan_eap_sett_username_inuse_from_cert; }, + LBUF { txt = qtn_wlan_eap_sett_username_inuse_user; } + }; + } + + +RESOURCE AVKON_POPUP_SETTING_TEXTS r_tls_realm_autouseconf_texts + { + setting_texts_resource = r_tls_realm_autouseconf_texts_resource; + popped_up_texts_resource = r_tls_realm_automatic_useconfigured_array; + } + + +RESOURCE ARRAY r_tls_realm_autouseconf_texts_resource + { + items= + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_realm_inuse_from_cert; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_realm_inuse_user; + } + }; + } + + +RESOURCE ARRAY r_tls_realm_automatic_useconfigured_array + { + items= + { + LBUF { txt = qtn_wlan_eap_sett_realm_inuse_from_cert; }, + LBUF { txt = qtn_wlan_eap_sett_realm_inuse_user; } + }; + } + +RESOURCE ARRAY r_tls_tls_privacy_autouseconf_texts_resource + { + items= + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_tls_privacy_off; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_tls_privacy_on; + } + }; + } + + +RESOURCE AVKON_POPUP_SETTING_TEXTS r_tls_tls_privacy_autouseconf_texts + { + setting_texts_resource = r_tls_tls_privacy_autouseconf_texts_resource; + popped_up_texts_resource = r_tls_tls_privacy_automatic_useconfigured_array; + } + + +RESOURCE ARRAY r_tls_tls_privacy_automatic_useconfigured_array + { + items = + { + LBUF { txt = qtn_wlan_eap_sett_tls_privacy_off; }, + LBUF { txt = qtn_wlan_eap_sett_tls_privacy_on; } + }; + } + +RESOURCE AVKON_SETTING_PAGE r_tls_display_autouseconf_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + type = EAknCtPopupSettingList; + editor_resource_id = r_tls_setting_enumerated_popup; + } + + +RESOURCE POPUP_SETTING_LIST r_tls_setting_enumerated_popup + { + flags = EAknPopupSettingListFlagInitialised; + } + + +// ******************************************** +// USER&CA CERTIFICATES POPUP DEFINITION +// ******************************************** +RESOURCE AVKON_SETTING_PAGE r_radio_button_setting_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + type = EAknSetListBox; + editor_resource_id= r_setting_listbox; + } + + +RESOURCE LISTBOX r_setting_listbox + { + flags = EEikListBoxMultipleSelection; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUi.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUi.hrh Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,99 @@ +/* +* Copyright (c) 2001-2009 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 TLS UI hrh file +* +*/ + +/* +* %version: % +*/ + +#ifndef _EAPTLSUI_HRH_ +#define _EAPTLSUI_HRH_ + +enum TEapTlsUiMenuCommands + { + ETlsUiCmdUndefined = 6000, + ETlsUiCmdChange, + ETlsUiCmdEnable, + ETlsUiCmdDisable, + ETlsUiCmdMoveUp, + ETlsUiCmdMoveDown, + ETlsUiCmdViewDetails + }; + +enum TEapTlsUiNotes + { + TEapTlsUiGeneralError = 6100 + }; + +enum TEapTlsUiLines + { + ETlsSettingsListBox = 6200 + }; + +enum TEapTlsUiSettingIds + { + ETlsSettingUsernameInUseId=6300, + ETlsSettingUsernameId, + ETlsSettingRealmInUseId, + ETlsSettingRealmId, + ETlsSettingTlsPrivacyId + }; + +enum TEapTlsUiSettingPageIds + { + ETlsSettingPageSettings=6400, + ETlsSettingPageCipherSuites + }; + +enum TEapTlsUiListBoxes + { + ETlsSettingsUserCertListbox=6500, + ETlsSettingsCaCertListbox, + ETlsSettingsCipherSuiteListbox, + ETlsSettingsEapTypeListbox, + ETlsSettingsListbox + }; + +enum TEapTlsSettingItems + { + ETlsSettingsUserCert=6600, + ETlsSettingsCaCert, + ETlsTabSheetSettingsUsernameInUse, + ETlsTabSheetSettingsUsername, + ETlsTabSheetSettingsRealmInUse, + ETlsTabSheetSettingsRealm + }; + + +enum TEapTlsTests + { + ETlsTabSheetTest2=6600, + ETlsTabSheetTest3, + ETlsTabSheetTest4, + ETlsTabSheetTest5, + ETlsTabSheetTest6, + ETlsTabSheetTest7 + }; + +// Constants that are used as page ids +// TEapTlsUiSettingPageIds does not work for this purpose +#define KEAPTLSSETTINGSPAGE 1 +#define KEAPTLSCIPHERPAGE 2 + +#endif //_EAPTLSUI_HRH_ + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUiSettingArray.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUiSettingArray.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,62 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP TLS UI settings array +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef _EAPTLSUISETTINGARRAY_H_ +#define _EAPTLSUISETTINGARRAY_H_ + +// INCLUDES +#include +#include "EapTlsUi.hrh" + + +// CLASS DECLARATION + +/** +*/ +class CEapTlsSettingItemArray : public CBase + { + public: + static CEapTlsSettingItemArray* NewL(); + virtual ~CEapTlsSettingItemArray(); + CAknSettingItem* Item( TEapTlsUiSettingPageIds aItem ); + CAknSettingItemArray* Array(); + void StoreSettingsL(); + void AddTextItemL( TDes& aBuffer, TInt aId, TInt aTitleResource, + TInt aSettingPageResource, TInt aAssociatedResource, + TInt aOrdinal); + + void AddBinarySettingItemL( TInt aSettingPageResourceId, + TInt aTitleResourceId, + TInt aAssociatedResourceId, + TInt aOrdinal, + TBool& aModifiedValue); + + protected: + CEapTlsSettingItemArray(); + void ConstructL(); + + private: + CAknSettingItemArray* iArray; + }; + +#endif // _EAPTLSUISETTINGARRAY_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUiView.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUiView.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,153 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP TLS UI setting dialog +* +*/ + +/* +* %version: 17 % +*/ + +#ifndef _EAPTLSUIVIEW_H_ +#define _EAPTLSUIVIEW_H_ + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include +#include "EapTlsPeapUiTlsPeapData.h" +#include "EapTlsUi.hrh" +#include "EapTlsPeapUiCipherSuite.h" +#include "EapTlsPeapUiEapType.h" +#include "EapTlsPeapUiCertificate.h" +#include "AbsEapTlsPeapUiCertificates.h" + + +// FORWARD DECLARATIONS +class CAknSettingStyleListBox; +class CSettingsListBoxItemDrawer; +class CEapTlsSettingItemArray; +class CEapTlsPeapUiConnection; +class CEapTlsPeapUiDataConnection; +class CEapTlsPeapUiCipherSuites; +class CEapTlsPeapUiCertificates; +class CEapTlsPeapUiEapTypes; + + +// CLASS DECLARATION + +/** +* Settings dialog class definition +*/ +class CEapTlsUiDialog : public CAknDialog, + public MEapTlsPeapUiCertificates, + public MEikListBoxObserver + { + public: + CEapTlsUiDialog( CEapTlsPeapUiConnection* aConnection, + TInt& aButtonId ); + ~CEapTlsUiDialog(); + + /** + * Create and launch dialog. + * @param aResourceId The resource ID of the dialog to load. + * @return The ID of the button that closed the dialog + */ + TInt ConstructAndRunLD( TInt aResourceId ); + + /** + * Chain into key event handler. + * @param aKeyEvent The event. + * @param aType The type of key event. + * @return Was the key consumed or not. + */ + TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, + TEventCode aType); + + public: // From MEikListBoxObserver + + /** + * Handles list box events. + * @param aListBox The originating list box. + * @param aEventType A code for the event. + */ + void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType ); + + + protected: + void PreLayoutDynInitL(); + void PostLayoutDynInitL(); + TBool OkToExitL( TInt aButtonId ); + void ProcessCommandL( TInt aCommand ); + void PageChangedL( TInt aPageId ); + + private: + void ChangeTitleL( TBool aIsStarted ); + void DrawSettingsListL(); + void ShowSettingPageL( TInt aCalledFromMenu ); + TInt ShowRadioButtonSettingPageL( TInt aTitle, + CDesCArrayFlat* aValues, + TInt aCurrentItem ); + void DrawCipherSuitesL(); + void CompleteReadCertificates( const TInt aResult ); + void CompleteUiConstructionL(); + TInt CheckActiveUserCertificate(); + TInt CheckActiveCaCertificate(); + void UserCertificateHouseKeeping( TInt aSelected ); + void CaCertificateHouseKeeping( TInt aSelected ); + void SetIconsL(); + void GetHelpContext( TCoeHelpContext& aContext ) const; + + void GetFullCertLabel( const SCertEntry& aCert, TDes& aFullLabel ); + + /** + * Initialize menu pane. + * @param aResourceId Menu pane resource id. + * @param CEikMenuPane Menu pane. + */ + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + + private: + CEapTlsPeapUiConnection* iConnection; + CEapTlsPeapUiDataConnection* iDataConnection; + CEapTlsPeapUiCipherSuites* iCipherSuites; + CEapTlsPeapUiCertificates* iCertificates; + + CEapTlsPeapUiTlsPeapData* iUiData; + CArrayFixFlat * iUiCipherSuites; + CArrayFixFlat * iUiUserCertificates; + CArrayFixFlat * iUiCACertificates; + + CAknSingleNumberStyleListBox* iUserCertificateListBox; + CAknSingleNumberStyleListBox* iCaCertificateListBox; + CAknSingleGraphicStyleListBox* iCipherSuiteListBox; + CEapTlsSettingItemArray* iSettingArray; + CAknSettingStyleListBox* iSettingListBox; + CDesCArray* iCipherSuitesViewArray; + HBufC* iPreviousText; + TInt* iButtonId; + + // Tells the status of UI construction. TRUE if UI construction is completed. + TBool iIsUIConstructionCompleted; + }; + + +#endif //_EAPTLSUIVIEW_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/loc/eaptlsui.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/loc/eaptlsui.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,33 @@ +/* +* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-TLS authentication settings +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + + +//d:UI title for main view +//l:title_pane_t2/opt9 +//w: +//r:3.1 +// +#define qtn_wlan_eap_tls_title "EAP-TLS settings" + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUi.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUi.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,138 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP TLS UI class +* +*/ + +/* +* %version: 15 % +*/ + +// INCLUDE FILES +#include "EapTlsUi.h" +#include "EapTlsPeapUiConnection.h" +#include "EapTlsUiView.h" +#include +#include +#include +#include +#include + + +// CONSTANTS +_LIT( KDriveZ, "z:" ); // ROM folder +_LIT( KResourceFileName, "eaptlsui.rsc" ); + + +// CLASS DECLARATION +class TResourceFileCleanupItem + { + public: + CCoeEnv* iCoeEnv; + TInt iResourceFileOffset; + }; + + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CleanupResourceFile +// ----------------------------------------------------------------------------- +// +static void CleanupResourceFile( TAny* aObject ) + { + TResourceFileCleanupItem* item = + REINTERPRET_CAST( TResourceFileCleanupItem*, aObject ); + item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset ); + delete item; + } + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapTlsUi::CEapTlsUi +// ----------------------------------------------------------------------------- +// +CEapTlsUi::CEapTlsUi( CEapTlsPeapUiConnection* aConnection ) +: iConnection( aConnection ) + { + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUi::NewL +// ----------------------------------------------------------------------------- +// +CEapTlsUi* CEapTlsUi::NewL( CEapTlsPeapUiConnection* aConnection ) + { + CEapTlsUi* self = new ( ELeave ) CEapTlsUi( aConnection ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUi::ConstructL +// ----------------------------------------------------------------------------- +// +void CEapTlsUi::ConstructL() + { + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUi::~CEapTlsUi +// ----------------------------------------------------------------------------- +// +CEapTlsUi::~CEapTlsUi() + { + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUi::InvokeUiL +// ----------------------------------------------------------------------------- +// +TInt CEapTlsUi::InvokeUiL() + { + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + CCoeEnv* coeEnv = CCoeEnv::Static(); + BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName ); + + TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem; + + item->iCoeEnv = coeEnv; + CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) ); + item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName ); + + TInt buttonId; + CEapTlsUiDialog* settingsDlg = new( ELeave ) CEapTlsUiDialog( iConnection, + buttonId ); + settingsDlg->ConstructAndRunLD( R_TLS_SETTING_DIALOG ); + + CleanupStack::PopAndDestroy(); // For resource file + + return buttonId; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUiSettingArray.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUiSettingArray.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,185 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of EAP TLS UI settings array +* +*/ + +/* +* %version: 13 % +*/ + +// INCLUDE FILES +#include "EapTlsUiSettingArray.h" +#include "EapTlsUi.hrh" +#include +#include + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapTlsSettingItemArray::CEapTlsSettingItemArray +// ----------------------------------------------------------------------------- +// +CEapTlsSettingItemArray::CEapTlsSettingItemArray() + { + } + + +// ----------------------------------------------------------------------------- +// CEapTlsSettingItemArray::NewL +// ----------------------------------------------------------------------------- +// +CEapTlsSettingItemArray* CEapTlsSettingItemArray::NewL() + { + CEapTlsSettingItemArray* self = new( ELeave ) CEapTlsSettingItemArray(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); // self + return self; + } + + +// ----------------------------------------------------------------------------- +// CEapTlsSettingItemArray::ConstructL +// ----------------------------------------------------------------------------- +// +void CEapTlsSettingItemArray::ConstructL() + { + iArray = new( ELeave ) CAknSettingItemArray( 2, EFalse, 0 ); + } + + +// ----------------------------------------------------------------------------- +// CEapTlsSettingItemArray::~CEapTlsSettingItemArray +// ----------------------------------------------------------------------------- +// +CEapTlsSettingItemArray::~CEapTlsSettingItemArray() + { + if( iArray ) + { + // ResetAndDestroy() + iArray->ResetAndDestroy(); + } + delete iArray; + iArray = NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapTlsSettingItemArray::Item +// ----------------------------------------------------------------------------- +// +CAknSettingItem* CEapTlsSettingItemArray::Item( TEapTlsUiSettingPageIds aId ) + { + for( TInt i = 0; i < iArray->Count(); i++ ) + { + if( iArray->At( i )->Identifier() == aId ) + { + return iArray->At( i ); + } + } + + __ASSERT_DEBUG( EFalse, User::Invariant() ); + return NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapTlsSettingItemArray::Array +// ----------------------------------------------------------------------------- +// +CAknSettingItemArray* CEapTlsSettingItemArray::Array() + { + return iArray; + } + + +// ----------------------------------------------------------------------------- +// CEapTlsSettingItemArray::StoreSettingsL +// ----------------------------------------------------------------------------- +// +void CEapTlsSettingItemArray::StoreSettingsL() + { + // Do what SettingItemList::StoreSettings would do. + for ( TInt i( 0 ); i < iArray->Count(); ++i) + { + iArray->At( i )->StoreL(); + } + } + + +// ----------------------------------------------------------------------------- +// CEapTlsSettingItemArray::AddTextItemL +// ----------------------------------------------------------------------------- +// +void CEapTlsSettingItemArray::AddTextItemL( TDes& aBuffer, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal ) + { + // Create new setting item + CAknTextSettingItem* settingItem = new( ELeave ) CAknTextSettingItem( aId, + aBuffer ); + CleanupStack::PushL( settingItem ); + settingItem->SetEmptyItemTextL( KNullDesC ); + settingItem->SetSettingPageFlags( + CAknTextSettingPage::EZeroLengthAllowed ); + + // Construct setting item with parametrized values + HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( + aTitleResource ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResource, EAknCtPopupSettingList, + NULL, aAssociatedResource ); + + // Append item to settingitem-array + iArray->InsertL( aOrdinal, settingItem ); + + CleanupStack::PopAndDestroy( itemTitle ); + + // Items are destroyed in destructor when resetting array + CleanupStack::Pop( settingItem ); + } + + +// ----------------------------------------------------------------------------- +// CEapTlsSettingItemArray::AddBinarySettingItemL +// ----------------------------------------------------------------------------- +// +void CEapTlsSettingItemArray::AddBinarySettingItemL( + TInt aSettingPageResourceId, + TInt aTitleResourceId, + TInt aAssociatedResourceId, + TInt aOrdinal, + TBool& aModifiedValue ) + { + CAknSettingItem* settingItem = new ( ELeave ) + CAknBinaryPopupSettingItem( 0, aModifiedValue ); + CleanupStack::PushL( settingItem ); + + HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( + aTitleResourceId ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResourceId, EAknCtPopupSettingList, + NULL, aAssociatedResourceId ); + iArray->AppendL( settingItem ); + CleanupStack::PopAndDestroy( itemTitle ); + CleanupStack::Pop( settingItem ); + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUiView.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUiView.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,1267 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP TLS UI settings dialog +* +*/ + +/* +* %version: 41 % +*/ + +// INCLUDE FILES +#include +#include +#include +#include "EapTlsUiView.h" +#include "EapTlsUi.hrh" +#include +#include +#include +#include "EapTlsUiSettingArray.h" +#include +#include +#include +#include // TEMPORARY, for info message... +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + +// CONSTANTS +// UID of general settings app, in which help texts are included +const TUid KHelpUidPlugin = { 0x100058EC }; + +static const TInt KSuiteArrayGranularity = 4; +static const TInt KCertificateArrayGranularity = 5; +static const TInt KMaxLengthOfSuiteName = 255; + +_LIT( KNameSeparator, " " ); +_LIT( KEmptyString, "" ); + +/* This is the maximum length of a certificate's full name, includes +label, primary and secondary names */ +const TUint32 KMaxFullCertLabelLength = KMaxCertLabelLength + 2 * + KMaxNameLength + 1; // 1 is for separator. + +// MODULE DATA STRUCTURES +enum TPageIds + { + ESettingsPage = 0, + ECipherSuitePage + }; + +enum TSettingIds + { + EUserCertificateItem = 0, + ECaCertificateItem, + EUsernameInUseItem, + EUsernameItem, + ERealmInUseItem, + ERealmItem + }; + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::CEapTlsUiDialog +// ----------------------------------------------------------------------------- +// +CEapTlsUiDialog::CEapTlsUiDialog( CEapTlsPeapUiConnection* aConnection, + TInt& aButtonId ) +: CAknDialog(), + iConnection( aConnection ), + iDataConnection( 0 ), + iCipherSuites( 0 ), + iCertificates( 0 ), + iUserCertificateListBox( 0 ), + iCaCertificateListBox( 0 ), + iCipherSuiteListBox( 0 ), + iSettingArray( 0 ), + iSettingListBox( 0 ), + iCipherSuitesViewArray( 0 ), + iPreviousText( 0 ), + iButtonId( &aButtonId ), + iIsUIConstructionCompleted( EFalse ) + { + } + + +// --------------------------------------------------------- +// CEapTlsUiDialog::ConstructAndRunLD +// --------------------------------------------------------- +// +TInt CEapTlsUiDialog::ConstructAndRunLD( TInt aResourceId ) + { + CleanupStack::PushL( this ); + + iSettingArray = CEapTlsSettingItemArray::NewL(); + + User::LeaveIfError( iConnection->Connect() ); + + // Basic data + iDataConnection = iConnection->GetDataConnection(); + if ( iDataConnection == 0 ) + { + User::Leave( KErrNoMemory ); + } + User::LeaveIfError( iDataConnection->Open() ); + User::LeaveIfError( iDataConnection->GetData( &iUiData ) ); + + // Cipher suites + iCipherSuites = iConnection->GetCipherSuiteConnection(); + if ( iCipherSuites == 0 ) + { + User::Leave( KErrNoMemory ); + } + User::LeaveIfError( iCipherSuites->Open() ); + User::LeaveIfError( iCipherSuites->GetCipherSuites( &iUiCipherSuites ) ); + + iCipherSuitesViewArray = new( ELeave ) CDesCArrayFlat( + KSuiteArrayGranularity ); + + FeatureManager::InitializeLibL(); + + ConstructL( R_TLS_MENUBAR ); + + // ExecuteLD will PushL( this ), so we have to Pop it... + CleanupStack::Pop( this ); // this + + return CAknDialog::ExecuteLD( aResourceId ); + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::OfferKeyEventL +// ----------------------------------------------------------------------------- +// +TKeyResponse CEapTlsUiDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType ) + { + TKeyResponse result( EKeyWasNotConsumed ); + + TInt pageId = ActivePageId(); + if ( aType == EEventKey && pageId == KEAPTLSCIPHERPAGE ) + { + TInt indexBefore = iCipherSuiteListBox->CurrentItemIndex(); + + // Handle Enter key here, since it doesn't seem to convert into + // the proper command id via the normal route + // (maybe some Avkon support for Enter key is still missing in + // S60 3.2 2008_wk22) + if ( aKeyEvent.iCode == EKeyEnter ) + { + if ( ( *iUiCipherSuites )[indexBefore].iIsEnabled ) + { + OkToExitL( ETlsUiCmdDisable ); + } + else + { + OkToExitL( ETlsUiCmdEnable ); + } + + result = EKeyWasConsumed; + } + else + { + result = CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + } + + TInt indexAfter = iCipherSuiteListBox->CurrentItemIndex(); + + if ( indexBefore != indexAfter ) + { + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + if( ( *iUiCipherSuites )[ indexAfter ].iIsEnabled ) + { + cba.SetCommandSetL( R_TLS_UI_SOFTKEYS_OPTIONS_BACK_DISABLE ); + } + else + { + cba.SetCommandSetL( R_TLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE ); + } + + cba.DrawDeferred(); + } + } + else + { + result = CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + } + + return result; + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::~CEapTlsUiDialog +// ----------------------------------------------------------------------------- +// +CEapTlsUiDialog::~CEapTlsUiDialog() + { + if ( iSettingArray ) + { + iSettingArray->Array()->ResetAndDestroy(); + } + + delete iSettingArray; + iSettingListBox = 0; + + iDataConnection->Close(); + delete iDataConnection; + + iCipherSuites->Close(); + delete iCipherSuites; + + iCertificates->Close(); + delete iCertificates; + + iConnection->Close(); + + iCipherSuitesViewArray->Reset(); + delete iCipherSuitesViewArray; + + delete iPreviousText; + + FeatureManager::UnInitializeLib(); + } + + +// --------------------------------------------------------- +// CEapTlsUiDialog::HandleListBoxEventL +// --------------------------------------------------------- +// +void CEapTlsUiDialog::HandleListBoxEventL( CEikListBox* aListBox, + TListBoxEvent aEventType ) + { + switch ( aEventType ) + { + case EEventEnterKeyPressed: + case EEventItemSingleClicked: + { + if ( aListBox == iSettingListBox ) + { + OkToExitL( ETlsUiCmdChange ); + } + + else if ( aListBox == iCipherSuiteListBox ) + { + TInt index = iCipherSuiteListBox->CurrentItemIndex(); + if( iUiCipherSuites->At( index ).iIsEnabled ) + { + OkToExitL( ETlsUiCmdDisable ); + } + else + { + OkToExitL( ETlsUiCmdEnable ); + } + } + + else + { + // Do nothing; we should never end up here + } + + break; + } + + case EEventItemActioned: + case EEventEditingStarted: + case EEventEditingStopped: + case EEventPenDownOnItem: + case EEventItemDraggingActioned: + { + break; + } + + default: + { + break; + }; + }; + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::PreLayoutDynInitL +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::PreLayoutDynInitL() + { + // Change title + ChangeTitleL( ETrue ); + + iSettingListBox = static_cast( + ControlOrNull( ETlsSettingsListbox ) ); + iSettingListBox->SetComponentsToInheritVisibility( ETrue ); + + iCipherSuiteListBox = static_cast( + ControlOrNull( ETlsSettingsCipherSuiteListbox ) ); + iCipherSuiteListBox->SetComponentsToInheritVisibility( ETrue ); + + // Certificates + iCertificates = iConnection->GetCertificateConnection( this ); + User::LeaveIfError( iCertificates->Open() ); + iCertificates->GetCertificates( &iUiUserCertificates, &iUiCACertificates ); + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::CompleteReadCertificates +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::CompleteReadCertificates( const TInt aResult ) + { + if ( aResult == KErrNone ) // Certifiocates are received from core + { + TRAPD( err, CompleteUiConstructionL() ); + if ( err != KErrNone) + { + TRAP_IGNORE( TryExitL( KErrCancel ) ); + } + } + else + { + TRAP_IGNORE( TryExitL( KErrCancel ) ); + } + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::CompleteUiConstructionL +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::CompleteUiConstructionL() + { + // Initialize setting page + iSettingListBox = static_cast( + ControlOrNull( ETlsSettingsListbox ) ); + iSettingListBox->SetMopParent( this ); + iSettingListBox->CreateScrollBarFrameL( ETrue ); + iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( + CEikScrollBarFrame::EOff, + CEikScrollBarFrame::EAuto ); + iSettingListBox->SetListBoxObserver( this ); + DrawSettingsListL(); + + // Initialize cipher suites page + iCipherSuiteListBox = static_cast( + ControlOrNull( ETlsSettingsCipherSuiteListbox ) ); + iCipherSuiteListBox->CreateScrollBarFrameL( ETrue ); + iCipherSuiteListBox->ScrollBarFrame()->SetScrollBarVisibilityL( + CEikScrollBarFrame::EOff, + CEikScrollBarFrame::EAuto ); + iCipherSuiteListBox->UpdateScrollBarsL(); + + iCipherSuiteListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); + iCipherSuiteListBox->SetListBoxObserver( this ); + + //Following deletes internal array created from resources. + // To prevent memory leak. + MDesCArray* internalArray = iCipherSuiteListBox->Model()->ItemTextArray(); + delete internalArray; + + SetIconsL(); + DrawCipherSuitesL(); + + iIsUIConstructionCompleted = ETrue; + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::PostLayoutDynInitL +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::PostLayoutDynInitL() + { + TUid naviPaneUid; + naviPaneUid.iUid = EEikStatusPaneUidNavi; + + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( naviPaneUid ); + if ( subPane.IsPresent() && subPane.IsAppOwned() ) + { + CAknNavigationControlContainer* naviPane = + static_cast( + statusPane->ControlL( naviPaneUid ) ); + CAknNavigationDecorator* naviDecorator = naviPane->ResourceDecorator(); + if ( naviDecorator ) + { + CAknTabGroup* tabGroup = static_cast( + naviDecorator->DecoratedControl() ); + tabGroup->SetActiveTabById( 0 ); + tabGroup->SetTabFixedWidthL( KTabWidthWithOneTab ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::ChangeTitleL +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::ChangeTitleL( TBool aIsStarted ) + { + TUid titlePaneUid; + titlePaneUid.iUid = EEikStatusPaneUidTitle; + + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( titlePaneUid ); + + if ( subPane.IsPresent() && subPane.IsAppOwned() ) + { + CAknTitlePane* titlePane = static_cast( + statusPane->ControlL( titlePaneUid ) ); + if ( aIsStarted ) + { + // Store previous application title text + const TDesC* prevText = titlePane->Text(); + iPreviousText = HBufC::NewL( prevText->Length() ); + iPreviousText->Des().Append( *prevText ); + + TDesC* titleText = iEikonEnv->AllocReadResourceLC( + R_TLS_SETTINGS_TITLE ); + titlePane->SetTextL( *titleText ); + CleanupStack::PopAndDestroy( titleText ); + } + else + { + // Set calling application title text back + titlePane->SetTextL( *iPreviousText ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::OkToExitL +// ----------------------------------------------------------------------------- +// +TBool CEapTlsUiDialog::OkToExitL( TInt aButtonId ) + { + TBool ret( EFalse ); + switch ( aButtonId ) + { + case EEikBidOk: + { + if( iIsUIConstructionCompleted ) + { + TPageIds index = static_cast( ActivePageIndex() ); + if ( index == ESettingsPage ) + { + ShowSettingPageL( EFalse ); + } + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapTlsUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + case EAknSoftkeyOptions: + { + DisplayMenuL(); + break; + } + + case EAknSoftkeyBack: + case EAknCmdExit: + { + if( iIsUIConstructionCompleted ) + { + iDataConnection->Update(); + ChangeTitleL( EFalse ); + ret = ETrue; + } + break; + } + + case ETlsUiCmdChange: + { + TPageIds index = static_cast( ActivePageIndex() ); + if ( index == ESettingsPage ) + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( EFalse ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapPeapUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + } + break; + } + case ETlsUiCmdEnable: + case ETlsUiCmdDisable: + { + ProcessCommandL( aButtonId ); + ret = EFalse; + break; + } + + default: + { + break; + } + } + + if ( ret ) + { + *iButtonId = aButtonId; + } + + return ret; + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::DrawSettingsListL +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::DrawSettingsListL() + { + iSettingArray->Array()->ResetAndDestroy(); + TInt ordinal = 0; + + TInt activeUserCertificate = CheckActiveUserCertificate(); + TBuf aActiveuserCertificateName = KEmptyString(); + if ( activeUserCertificate != KErrNotFound ) + { + TBuf text; + GetFullCertLabel( + iUiUserCertificates->At( activeUserCertificate ).iCertEntry, + text ); + aActiveuserCertificateName.Copy( text ); + } + else + { + TDesC* notDefinedText = iEikonEnv->AllocReadResourceLC( + R_TLS_NOT_DEFINED ); + aActiveuserCertificateName.Copy( *notDefinedText ); + CleanupStack::PopAndDestroy( notDefinedText ); + } + + iSettingArray->AddTextItemL( aActiveuserCertificateName, + ETlsSettingsUserCert, + R_TLS_USER_CERT_SETTING, + R_TLS_USERNAME_PAGE, + NULL, + ordinal++ ); + + TInt activeCaCertificate = CheckActiveCaCertificate(); + TBuf aActiveCaCertificateName = KEmptyString(); + if ( activeCaCertificate != KErrNotFound ) + { + TBuf text; + GetFullCertLabel( + iUiCACertificates->At( activeCaCertificate ).iCertEntry, + text ); + aActiveCaCertificateName.Copy( text ); + } + else + { + TDesC* notDefinedText = iEikonEnv->AllocReadResourceLC( + R_TLS_NOT_DEFINED ); + aActiveCaCertificateName.Copy( *notDefinedText ); + CleanupStack::PopAndDestroy( notDefinedText ); + } + + iSettingArray->AddTextItemL( aActiveCaCertificateName, + ETlsSettingsCaCert, + R_TLS_CA_CERT_SETTING, + R_TLS_USERNAME_PAGE, + NULL, + ordinal++ ); + + iSettingArray->AddBinarySettingItemL( R_TLS_DISPLAY_AUTOUSECONF_PAGE, + R_TLS_USERNAME_INUSESTRING, + R_TLS_USERNAME_AUTOUSECONF_TEXTS, + ordinal++, + *iUiData->GetUseManualUsername() ); + + iSettingArray->AddTextItemL( iUiData->GetManualUsername(), + ETlsTabSheetSettingsUsername, + R_TLS_USERNAME_STRING, + R_TLS_USERNAME_PAGE, + NULL, + ordinal++ ); + + iSettingArray->AddBinarySettingItemL( R_TLS_DISPLAY_AUTOUSECONF_PAGE, + R_TLS_REALM_INUSESTRING, + R_TLS_REALM_AUTOUSECONF_TEXTS, + ordinal++, + *iUiData->GetUseManualRealm() ); + + iSettingArray->AddTextItemL( iUiData->GetManualRealm(), + ETlsTabSheetSettingsRealm, + R_TLS_REALM_STRING, + R_TLS_REALM_PAGE, + NULL, + ordinal++ ); + + iSettingArray->AddBinarySettingItemL( R_TLS_DISPLAY_AUTOUSECONF_PAGE, + R_TLS_TLS_PRIVACY_STRING, + R_TLS_TLS_PRIVACY_AUTOUSECONF_TEXTS, + ordinal++, + *iUiData->GetTlsPrivacy() ); + + iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() ); + iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); + iSettingArray->Array()->RecalculateVisibleIndicesL(); + iSettingListBox->HandleItemAdditionL(); + iSettingListBox->UpdateScrollBarsL(); + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::DynInitMenuPaneL +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::DynInitMenuPaneL( TInt aResourceId, + CEikMenuPane* aMenuPane ) + { + CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane ); + + if ( aMenuPane && aResourceId == R_TLS_MENU_PANE ) + { + if ( !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) + { + aMenuPane->DeleteMenuItem( EAknCmdHelp ); + } + + TPageIds index = static_cast( ActivePageIndex() ); + if ( index == ESettingsPage ) + { + aMenuPane->SetItemDimmed( ETlsUiCmdEnable, ETrue ); + aMenuPane->SetItemDimmed( ETlsUiCmdDisable, ETrue ); + } + else if ( index == ECipherSuitePage ) + { + aMenuPane->SetItemDimmed( ETlsUiCmdChange, ETrue ); + + if ( iCipherSuitesViewArray->Count() > 0 ) + { + TInt currIndex = iCipherSuiteListBox->CurrentItemIndex(); + TBool enabled = iUiCipherSuites->At( currIndex ).iIsEnabled; + + // Hide either "Enable" or "Disable", as appropriate. + aMenuPane->SetItemDimmed( ETlsUiCmdEnable, enabled ); + aMenuPane->SetItemDimmed( ETlsUiCmdDisable, !enabled ); + } + else + { + aMenuPane->SetItemDimmed( ETlsUiCmdEnable, ETrue ); + aMenuPane->SetItemDimmed( ETlsUiCmdDisable, ETrue ); + } + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::ProcessCommandL +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::ProcessCommandL( TInt aCommand ) + { + if ( MenuShowing() ) + { + HideMenu(); + } + + TPageIds pageIndex = static_cast( ActivePageIndex() ); + switch( aCommand ) + { + case EAknCmdExit: + { + TryExitL( aCommand ); + break; + } + + case EAknCmdHelp: + { + HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), + iEikonEnv->EikAppUi()->AppHelpContextL() ); + break; + } + + case ETlsUiCmdChange: + { + if ( pageIndex == ESettingsPage ) + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( ETrue ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapTlsUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + } + break; + } + + case ETlsUiCmdEnable: + { + if ( pageIndex == ECipherSuitePage ) // Safety check in tls. + { + TInt index = iCipherSuiteListBox->CurrentItemIndex(); + iUiCipherSuites->At( index ).iIsEnabled = ETrue; + iCipherSuites->Update(); + DrawCipherSuitesL(); + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + cba.SetCommandSetL( R_TLS_UI_SOFTKEYS_OPTIONS_BACK_DISABLE ); + cba.DrawDeferred(); + } + break; + } + + case ETlsUiCmdDisable: + { + if ( pageIndex == ECipherSuitePage ) // Safety check in tls. + { + TInt index = iCipherSuiteListBox->CurrentItemIndex(); + iUiCipherSuites->At( index ).iIsEnabled = EFalse; + iCipherSuites->Update(); + DrawCipherSuitesL(); + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + cba.SetCommandSetL( R_TLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE ); + cba.DrawDeferred(); + } + break; + } + + default: + { + break; + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::PageChangedL +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::PageChangedL( TInt aPageId ) + { + if ( !iIsUIConstructionCompleted ) + { + return; + } + + if ( aPageId == KEAPTLSSETTINGSPAGE ) + { + if (iSettingListBox->ScrollBarFrame()) + { + iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue); + } + if (iCipherSuiteListBox->ScrollBarFrame()) + { + iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse); + } + } + + else if ( aPageId == KEAPTLSCIPHERPAGE ) + { + if (iSettingListBox->ScrollBarFrame()) + { + iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse); + } + if (iCipherSuiteListBox->ScrollBarFrame()) + { + iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue); + } + } + + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + if( aPageId == KEAPTLSSETTINGSPAGE ) + { + cba.SetCommandSetL( R_TLS_UI_SOFTKEYS_OPTIONS_BACK_EDIT ); + } + else if( aPageId == KEAPTLSCIPHERPAGE ) + { + TInt index = iCipherSuiteListBox->CurrentItemIndex(); + if( ( *iUiCipherSuites )[ index ].iIsEnabled ) + { + cba.SetCommandSetL( R_TLS_UI_SOFTKEYS_OPTIONS_BACK_DISABLE ); + } + else + { + cba.SetCommandSetL( R_TLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE ); + } + } + cba.DrawDeferred(); + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::ShowSettingPageL +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) + { + TInt index = iSettingListBox->CurrentItemIndex(); + if ( index == EUserCertificateItem ) + { + TInt activeUserCertificate = CheckActiveUserCertificate(); + CDesCArrayFlat* tempArray = new( ELeave )CDesCArrayFlat( + KCertificateArrayGranularity ); + CleanupStack::PushL( tempArray ); + + TDesC* noneText = iEikonEnv->AllocReadResourceLC( + R_TLS_NONE_SELECTION ); + tempArray->InsertL( 0, *noneText ); + CleanupStack::PopAndDestroy( noneText ); + + for ( TInt i = 0; i < iUiUserCertificates->Count() ; i++ ) + { + TEapTlsPeapUiCertificate certificate = + iUiUserCertificates->At( i ); + SCertEntry entry = certificate.iCertEntry; + TBuf text; + GetFullCertLabel( entry, text); + tempArray->InsertL( i+1, text ); + } + + TInt selected( 0 ); + if ( activeUserCertificate == KErrNotFound ) + { + selected = ShowRadioButtonSettingPageL( R_TLS_USER_CERT_SETTING, + tempArray, 0 ); + } + else + { + selected = ShowRadioButtonSettingPageL( R_TLS_USER_CERT_SETTING, + tempArray, + activeUserCertificate+1 ); + //Plus 1 cause we added 'none' selection + } + + CleanupStack::PopAndDestroy( tempArray ); + UserCertificateHouseKeeping( selected ); + iCertificates->Update(); + DrawSettingsListL(); // List must be drawn again at this stage + } + else if ( index == ECaCertificateItem ) + { + TInt activeCaCertificate = CheckActiveCaCertificate(); + + CDesCArrayFlat* tempArray = new( ELeave )CDesCArrayFlat( + KCertificateArrayGranularity ); + CleanupStack::PushL( tempArray ); + + TDesC* noneText = iEikonEnv->AllocReadResourceLC( + R_TLS_NONE_SELECTION ); + tempArray->InsertL( 0, *noneText ); + CleanupStack::PopAndDestroy( noneText ); + + for ( TInt i = 0; i < iUiCACertificates->Count(); i++ ) + { + TEapTlsPeapUiCertificate certificate = iUiCACertificates->At( i ); + SCertEntry entry = certificate.iCertEntry; + TBuf text; + GetFullCertLabel( entry, text ); + tempArray->InsertL( i+1, text ); + } + + TInt selected( 0 ); + if ( activeCaCertificate == KErrNotFound ) + { + selected = ShowRadioButtonSettingPageL( R_TLS_CA_CERT_SETTING, + tempArray, 0 ); + } + else + { + selected = ShowRadioButtonSettingPageL( R_TLS_CA_CERT_SETTING, + tempArray, + activeCaCertificate+1 ); + //Plus 1 cause we added 'none' selection + } + + CleanupStack::PopAndDestroy( tempArray ); + CaCertificateHouseKeeping( selected ); + iCertificates->Update(); + DrawSettingsListL(); // List must be drawn again at this stage + } + else + { + CAknSettingItem* item = iSettingArray->Array()->At( index ); + item->EditItemL( aCalledFromMenu ); + item->StoreL(); + } + DrawNow(); + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::ShowRadioButtonSettingPageL +// ----------------------------------------------------------------------------- +// +TInt CEapTlsUiDialog::ShowRadioButtonSettingPageL( TInt aTitle, + CDesCArrayFlat* aValues, + TInt aCurrentItem ) + { + // title of the dialog + HBufC* title = iCoeEnv->AllocReadResourceLC( aTitle ); + + // We have everything to create dialog + CAknRadioButtonSettingPage* dlg = new( ELeave )CAknRadioButtonSettingPage( + R_RADIO_BUTTON_SETTING_PAGE, + aCurrentItem, + aValues ); + CleanupStack::PushL( dlg ); + dlg->SetSettingTextL( *title ); + CleanupStack::Pop( dlg ); + dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ); + CleanupStack::PopAndDestroy( title ); + // index must be re-turned upside down, because options list is upside down + return aCurrentItem; + } + + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::DrawCipherSuitesL +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::DrawCipherSuitesL() + { + iCipherSuitesViewArray->Reset(); + TInt listCount( 0 ); + TBuf temp; + + for ( TInt i = 0; i < iUiCipherSuites->Count() ; i++ ) + { + temp.Zero(); + _LIT( KTab, "\t" ); + temp.Append( KTab ); + TEapTlsPeapUiCipherSuite suite = iUiCipherSuites->At( i ); + TUint32 suiteId = suite.iCipherSuite; + + switch ( suiteId ) + { + case 0x0004: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TLS_SUITE_RSARC4MD5 ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0005: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TLS_SUITE_RSARC4SHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x000a: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TLS_SUITE_RSA3DESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0016: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TLS_SUITE_DHERSA3DESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0013: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TLS_SUITE_DHEDSS3DESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x002F: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TLS_SUITE_RSAAESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0032: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TLS_SUITE_DHERSAAESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0033: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TLS_SUITE_DHEDSSAESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + default: + { + temp.Append( KEmptyString ); + break; + } + + } + + if (iUiCipherSuites->At( i ).iIsEnabled) + { + // Add mark icon to indicate that the suite is enabled + _LIT( KTab0, "\t0" ); + temp.Append( KTab0 ); + } + + iCipherSuitesViewArray->InsertL( listCount, temp ); + listCount++; + } + + iCipherSuiteListBox->Model()->SetItemTextArray( iCipherSuitesViewArray ); + iCipherSuiteListBox->HandleItemAdditionL(); + iCipherSuiteListBox->DrawDeferred(); + iCipherSuiteListBox->UpdateScrollBarsL(); + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::CheckActiveUserCertificate +// ----------------------------------------------------------------------------- +// +TInt CEapTlsUiDialog::CheckActiveUserCertificate() + { + for ( TInt i = 0; i < iUiUserCertificates->Count(); i++ ) + { + if ( iUiUserCertificates->At( i ).iIsEnabled ) + { + return i; + } + } + + return KErrNotFound; + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::CheckActiveCaCertificate +// ----------------------------------------------------------------------------- +// +TInt CEapTlsUiDialog::CheckActiveCaCertificate() + { + for ( TInt i = 0; i < iUiCACertificates->Count(); i++ ) + { + if ( iUiCACertificates->At( i ).iIsEnabled ) + { + return i; + } + } + + return KErrNotFound; + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::UserCertificateHouseKeeping +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::UserCertificateHouseKeeping( TInt aSelected ) + { + for ( TInt i = 0; i < iUiUserCertificates->Count(); i++ ) + { + iUiUserCertificates->At( i ).iIsEnabled = EFalse; + } + + if ( aSelected != 0 ) // Zero index is none + { + iUiUserCertificates->At( aSelected-1 ).iIsEnabled = ETrue; + } + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::CaCertificateHouseKeeping +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::CaCertificateHouseKeeping( TInt aSelected ) + { + for ( TInt i = 0; i < iUiCACertificates->Count(); i++ ) + { + iUiCACertificates->At( i ).iIsEnabled = EFalse; + } + + if ( aSelected != 0 ) // Zero index is none + { + iUiCACertificates->At( aSelected-1 ).iIsEnabled = ETrue; + } + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::SetIconsL +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::SetIconsL() + { + CArrayPtr< CGulIcon >* icons = new( ELeave ) CAknIconArray( 1 ); + CleanupStack::PushL( icons ); + + MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance(); + +/* icons->AppendL( AknsUtils::CreateGulIconL( skinInstance, + KAknsIIDQgnIndiMarkedAdd, + AknIconUtils::AvkonIconFileName(), + EMbmAvkonQgn_indi_marked_add, + EMbmAvkonQgn_indi_marked_add_mask ) ); +*/ + + CGulIcon* icon = CGulIcon::NewLC(); + CFbsBitmap* bitmap = NULL; + CFbsBitmap* mask = NULL; + AknsUtils::CreateColorIconL( skinInstance, + KAknsIIDQgnIndiMarkedAdd, + KAknsIIDQsnIconColors, + EAknsCIQsnIconColorsCG13, + bitmap, + mask, + AknIconUtils::AvkonIconFileName(), + EMbmAvkonQgn_indi_marked_add, + EMbmAvkonQgn_indi_marked_add_mask, + KRgbBlack ); + icon->SetBitmap( bitmap ); + icon->SetMask( mask ); + icons->AppendL( icon ); + + CleanupStack::Pop( icon ); + CleanupStack::Pop( icons ); // icons + + iCipherSuiteListBox->ItemDrawer()->ColumnData()->SetIconArray( icons ); + + } + + +// ----------------------------------------------------------------------------- +// CEapTlsUiDialog::GetHelpContext +// ----------------------------------------------------------------------------- +// +void CEapTlsUiDialog::GetHelpContext( TCoeHelpContext& aContext ) const + { + aContext.iMajor = KHelpUidPlugin; + TPageIds index = static_cast< TPageIds >( ActivePageIndex() ); + switch ( index ) + { + case ECipherSuitePage: + { + aContext.iContext = KSET_HLP_WLAN_EAP_TLS_SUITES; + break; + } + + default: + { + aContext.iContext = KSET_HLP_WLAN_EAP_TLS_SETT; + break; + } + } + } + + + +void CEapTlsUiDialog::GetFullCertLabel( const SCertEntry& aCert, + TDes& aFullLabel ) + { + TInt length = 0; + + // For label. + length += aCert.iLabel.Length(); + + // For separator between label and primary name. + length += KNameSeparator.iTypeLength; + + // For primary name. + length += aCert.iPrimaryName.Length(); + + if ( !( aCert.iLabel.Length() ) ) + { + // For secondary name. + length += aCert.iSecondaryName.Length(); + } + + if( length > aFullLabel.MaxLength() ) + { +#if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapTlsUiDialog::GetFullCertLabel - ERROR! Length Mismatch in Certificate's full name\n") ); +#endif + } + + HBufC* label = NULL; + TRAPD(err, label = HBufC::NewL( length )); + if (err) + { +#if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapTlsUiDialog::GetFullCertLabel - ERROR! LEAVE: HBufC::NewL\n") ); +#endif + return; + } + label->Des().Append( aCert.iLabel ); + + label->Des().Append( KNameSeparator ); + label->Des().Append( aCert.iPrimaryName ); + + if ( !( aCert.iLabel.Length() ) ) + { + // Secondary name, only if no label. Certificate manager does the same way. + label->Des().Append( aCert.iSecondaryName ); + } + + aFullLabel.Copy( label->Des().Left( aFullLabel.MaxLength() ) ); + + delete label; + label = NULL; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/data/EapTtlsUi.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/data/EapTtlsUi.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,473 @@ +/* +* Copyright (c) 2001-2009 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 TTLS UI resource file +* +*/ + +/* +* %version: 20 % +*/ + +CHARACTER_SET UTF8 + +// RESOURCE IDENTIFIER +NAME ETTL + +// INCLUDES +#include +#include "EapTtlsUi.hrh" // Enums for these resources +#include // Localisation file +#include +#include +#include +#include +#include +#include + + +// CONSTANTS +#define KUsernameMaxNameLength 255 + + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + + +RESOURCE TBUF16 { buf=""; } + + +RESOURCE CBA r_ttls_ui_softkeys_options_back_edit + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = ETtlsUiCmdChange; txt = qtn_msk_change; } + }; + } + + +RESOURCE CBA r_ttls_ui_softkeys_options_back_configure + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = ETtlsUiCmdConfigure; txt = qtn_msk_wlan_eap_configure; } + }; + } + + +RESOURCE CBA r_ttls_ui_softkeys_options_back_enable + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = ETtlsUiCmdEnable; txt = qtn_msk_wlan_eap_cs_enable; } + }; + } + + +RESOURCE CBA r_ttls_ui_softkeys_options_back_disable + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = ETtlsUiCmdDisable; txt = qtn_msk_wlan_eap_cs_disable; } + }; + } + + +RESOURCE DIALOG r_ttls_setting_dialog + { + flags = EEikDialogFlagFillAppClientRect | EEikDialogFlagCbaButtons | + EEikDialogFlagWait | EEikDialogFlagNotifyEsc; + buttons = r_ttls_ui_softkeys_options_back_edit; + pages = r_ttls_pages; + } + + +RESOURCE ARRAY r_ttls_pages + { + items= + { + PAGE + { + id = KEAPTTLSSETTINGSPAGE; + text = qtn_wlan_eap_tab_settings; + lines = r_ttls_tab_settings; + }, + + PAGE + { + id = KEAPTTLSEAPPAGE; + text = qtn_wlan_eap_tab_eap_types; + lines = r_ttls_tab_eap_types; + }, + + PAGE + { + id = KEAPTTLSCIPHERPAGE; + text = qtn_wlan_eap_tab_cipher_suites; + lines = r_ttls_tab_cipher_suites; + } + }; + } + + +// ******* PAGES ************ +// ******* 1st page ********* +RESOURCE ARRAY r_ttls_tab_settings + { + items = + { + DLG_LINE + { + id = ETtlsSettingsListbox; + type = EAknCtSettingListBox; + control = LISTBOX + { + flags = EAknListBoxMenuList; + }; + } + }; + } + + +// ******* 2nd page ********* +RESOURCE ARRAY r_ttls_tab_eap_types + { + items = + { + DLG_LINE + { + id = ETtlsSettingsEapTypeListbox; + type = EAknCtSingleNumberListBox; + control = LISTBOX + { + flags = EAknGenericListBoxFlags; + }; + } + }; + } + + +// ******* 3rd page ********* +RESOURCE ARRAY r_ttls_tab_cipher_suites + { + items = + { + DLG_LINE + { + id = ETtlsSettingsCipherSuiteListbox; + type = EAknCtSingleNumberListBox; + control = LISTBOX + { + flags = EAknGenericListBoxFlags; + }; + } + }; + } + + +RESOURCE AVKON_SETTING_PAGE r_ttls_username_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_username; + type = EEikCtEdwin; + editor_resource_id = r_ttls_setting_edwin; + } + + +RESOURCE AVKON_SETTING_PAGE r_ttls_realm_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_realm; + type = EEikCtEdwin; + editor_resource_id = r_ttls_setting_edwin; + } + + +RESOURCE EDWIN r_ttls_setting_edwin + { + flags = 0; + width = 9; + lines = 5; + maxlength = 255; + } + + +RESOURCE AVKON_SETTING_PAGE r_radio_button_setting_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + type = EAknSetListBox; + editor_resource_id = r_setting_listbox; + } + + +RESOURCE LISTBOX r_setting_listbox + { + flags = EEikListBoxMultipleSelection; + } + + + +RESOURCE MENU_BAR r_ttls_menubar + { + titles = + { + MENU_TITLE + { + menu_pane = r_ttls_menu_pane; + txt = ""; + } + }; + } + + +RESOURCE MENU_PANE r_ttls_menu_pane + { + items = + { + MENU_ITEM + { + command = ETtlsUiCmdConfigure; + txt = qtn_wlan_options_eap_plugin_configure; + flags = EEikMenuItemAction; + }, + + MENU_ITEM + { + command = ETtlsUiCmdEnable; + txt = qtn_wlan_options_eap_plugin_enable; + flags = EEikMenuItemAction; + }, + + MENU_ITEM + { + command = ETtlsUiCmdDisable; + txt = qtn_wlan_options_eap_plugin_disable; + flags = EEikMenuItemSpecific; + }, + + MENU_ITEM + { + command = ETtlsUiCmdMoveUp; + txt = qtn_wlan_options_eap_plugin_priority_up; + flags = EEikMenuItemSpecific; + }, + + MENU_ITEM + { + command = ETtlsUiCmdMoveDown; + txt = qtn_wlan_options_eap_plugin_priority_down; + flags = EEikMenuItemSpecific; + }, + + MENU_ITEM + { + command = ETtlsUiCmdChange; + txt = qtn_options_change; + flags = EEikMenuItemAction; + }, + + MENU_ITEM + { + command = EAknCmdHelp; + txt = qtn_options_help; + }, + + MENU_ITEM + { + command = EAknCmdExit; + txt = qtn_options_exit; + } + }; + } + + +// Resource strings +RESOURCE TBUF r_ttls_settings_title { buf = qtn_wlan_eap_ttls_title; } +RESOURCE TBUF r_ttls_username_inusestring \ + { buf = qtn_wlan_eap_sett_username_inuse; } +RESOURCE TBUF r_ttls_username_inusestring_auto \ + { buf = qtn_wlan_eap_sett_username_inuse_from_cert; } +RESOURCE TBUF r_ttls_username_inusestring_conf \ + { buf = qtn_wlan_eap_sett_username_inuse_user; } +RESOURCE TBUF r_ttls_username_string { buf = qtn_wlan_eap_sett_username; } +RESOURCE TBUF r_ttls_realm_inusestring \ + { buf = qtn_wlan_eap_sett_realm_inuse; } +RESOURCE TBUF r_ttls_realm_inusestring_auto \ + { buf = qtn_wlan_eap_sett_realm_inuse_from_cert; } +RESOURCE TBUF r_ttls_realm_inusestring_conf \ + { buf = qtn_wlan_eap_sett_realm_inuse_user; } +RESOURCE TBUF r_ttls_realm_string { buf = qtn_wlan_eap_sett_realm; } +RESOURCE TBUF r_ttls_user_cert_string \ + { buf = qtn_wlan_eap_sett_user_certificate; } +RESOURCE TBUF r_ttls_ca_cert_string \ + { buf = qtn_wlan_eap_sett_ca_certificate; } +RESOURCE TBUF r_ttls_not_defined { buf = qtn_wlan_eap_cert_not_defined; } +RESOURCE TBUF r_ttls_none_selection \ + { buf = qtn_wlan_eap_cert_none_selection; } +RESOURCE TBUF r_ttls_suite_rsarc4md5 { buf = qtn_wlan_eap_cipher_rsarc4md5; } +RESOURCE TBUF r_ttls_suite_rsarc4sha { buf = qtn_wlan_eap_cipher_rsarc4sha; } +RESOURCE TBUF r_ttls_suite_rsa3dessha \ + { buf = qtn_wlan_eap_cipher_rsa3dessha; } +RESOURCE TBUF r_ttls_suite_dhersa3dessha \ + { buf = qtn_wlan_eap_cipher_dhersa3dessha; } +RESOURCE TBUF r_ttls_suite_dhedss3dessha \ + { buf = qtn_wlan_eap_cipher_dhedss3dessha; } +RESOURCE TBUF r_ttls_suite_rsaaessha { buf = qtn_wlan_eap_cipher_rsaaessha; } +RESOURCE TBUF r_ttls_suite_dhersaaessha \ + { buf = qtn_wlan_eap_cipher_dhersaaessha; } +RESOURCE TBUF r_ttls_suite_dhedssaessha \ + { buf = qtn_wlan_eap_cipher_dhedssaessha; } +RESOURCE TBUF r_ttls_info_cannot_disable_all_eap_plugins \ + { buf = qtn_wlan_info_cannot_disable_all_eap_plugins; } +RESOURCE TBUF r_ttls_info_plain_mschap_cannot_enable_along \ + { buf = qtn_wlan_eap_info_plain_mschap_cannot_enable_along; } +RESOURCE TBUF r_ttls_tls_privacy_string + { buf = qtn_wlan_eap_sett_tls_privacy; } +RESOURCE TBUF r_ttls_info_pap_cannot_enable_along \ + { buf = qtn_wlan_eap_info_pap_cannot_enable_along; } + +// ******************************************** +// USERNAME IN USE AND REALM POPUP DEFINITION +// ******************************************** +RESOURCE AVKON_POPUP_SETTING_TEXTS r_ttls_username_autouseconf_texts + { + setting_texts_resource = r_ttls_username_autouseconf_texts_resource; + popped_up_texts_resource = r_ttls_username_automatic_useconfigured_array; + } + + +RESOURCE ARRAY r_ttls_username_autouseconf_texts_resource + { + items = + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_username_inuse_from_cert; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_username_inuse_user; + } + }; + } + + +RESOURCE ARRAY r_ttls_username_automatic_useconfigured_array + { + items = + { + LBUF { txt = qtn_wlan_eap_sett_username_inuse_from_cert; }, + LBUF { txt = qtn_wlan_eap_sett_username_inuse_user; } + }; + } + + +RESOURCE AVKON_POPUP_SETTING_TEXTS r_ttls_realm_autouseconf_texts + { + setting_texts_resource = r_ttls_realm_autouseconf_texts_resource; + popped_up_texts_resource = r_ttls_realm_automatic_useconfigured_array; + } + + +RESOURCE ARRAY r_ttls_realm_autouseconf_texts_resource + { + items= + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_realm_inuse_from_cert; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_realm_inuse_user; + } + }; + } + + +RESOURCE ARRAY r_ttls_realm_automatic_useconfigured_array + { + items= + { + LBUF { txt = qtn_wlan_eap_sett_realm_inuse_from_cert; }, + LBUF { txt = qtn_wlan_eap_sett_realm_inuse_user; } + }; + } + + +RESOURCE ARRAY r_ttls_tls_privacy_autouseconf_texts_resource + { + items= + { + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_sett_tls_privacy_off; + }, + + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_sett_tls_privacy_on; + } + }; + } + + +RESOURCE AVKON_POPUP_SETTING_TEXTS r_ttls_tls_privacy_autouseconf_texts + { + setting_texts_resource = r_ttls_tls_privacy_autouseconf_texts_resource; + popped_up_texts_resource = r_ttls_tls_privacy_automatic_useconfigured_array; + } + + +RESOURCE ARRAY r_ttls_tls_privacy_automatic_useconfigured_array + { + items = + { + LBUF { txt = qtn_wlan_eap_sett_tls_privacy_off; }, + LBUF { txt = qtn_wlan_eap_sett_tls_privacy_on; } + }; + } + + +RESOURCE AVKON_SETTING_PAGE r_ttls_display_autouseconf_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_realm_inuse; + type = EAknCtPopupSettingList; + editor_resource_id = r_ttls_setting_enumerated_popup; + } + + +RESOURCE POPUP_SETTING_LIST r_ttls_setting_enumerated_popup + { + flags = EAknPopupSettingListFlagInitialised; + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUi.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUi.hrh Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,93 @@ +/* +* Copyright (c) 2001-2009 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 TTLS UI hrh file +* +*/ + +/* +* %version: % +*/ + +#ifndef _EAPTTLSUI_HRH_ +#define _EAPTTLSUI_HRH_ + +enum TEapTtlsUiMenuCommands + { + ETtlsUiCmdUndefined = 6000, + ETtlsUiCmdChange, + ETtlsUiCmdEnable, + ETtlsUiCmdDisable, + ETtlsUiCmdConfigure, + ETtlsUiCmdMoveUp, + ETtlsUiCmdMoveDown, + ETtlsUiCmdViewDetails + }; + +enum TEapTtlsUiNotes + { + TEapTtlsUiGeneralError = 6100 + }; + +enum TEapTtlsUiLines + { + ETtlsSettingsListBox = 6200 + }; + +enum TEapTtlsUiSettingIds + { + ETtlsSettingUserCert=6300, + ETtlsSettingCaCert, + ETtlsSettingUsernameInUseId, + ETtlsSettingUsernameId, + ETtlsSettingRealmInUseId, + ETtlsSettingRealmId, + ETtlsSettingTlsPrivacyId + }; + +enum TEapTtlsUiSettingPageIds + { + ETtlsSettingPageUserCertificates=6400, + ETtlsSettingPageCaCertificates, + ETtlsSettingPageCipherSuites, + ETtlsSettingPageEapTypes, + ETtlsSettingPageSettings + }; + +enum TEapTtlsUiListBoxes + { + ETtlsSettingsUserCertListbox=6500, + ETtlsSettingsCaCertListbox, + ETtlsSettingsCipherSuiteListbox, + ETtlsSettingsEapTypeListbox, + ETtlsSettingsListbox + }; + +enum TEapTtlsSettingItems + { + ETtlsTabSheetSettingsUsernameInUse=6600, + ETtlsTabSheetSettingsUsername, + ETtlsTabSheetSettingsRealmInUse, + ETtlsTabSheetSettingsRealm + }; + +// Constants that are used as page ids +// TEapTtlsUiSettingPageIds does not work for this purpose +#define KEAPTTLSSETTINGSPAGE 1 +#define KEAPTTLSEAPPAGE 2 +#define KEAPTTLSCIPHERPAGE 3 + +#endif //_EAPTTLSUI_HRH_ + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUiSettingArray.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUiSettingArray.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,64 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP TTLS UI settings array +* +*/ + +/* +* %version: 11 % +*/ + +#ifndef _EAPTTLSUISETTINGARRAY_H_ +#define _EAPTTLSUISETTINGARRAY_H_ + + +// INCLUDES +#include +#include "EapTtlsUi.hrh" + + +// CLASS DECLARATION + +/** +*/ +class CEapTtlsSettingItemArray : public CBase + { + public: + static CEapTtlsSettingItemArray* NewL(); + virtual ~CEapTtlsSettingItemArray(); + CAknSettingItem* Item( TEapTtlsUiSettingPageIds aItem ); + CAknSettingItemArray* Array(); + void StoreSettingsL(); + + void AddTextItemL( TDes& aBuffer, TInt aId, TInt aTitleResource, + TInt aSettingPageResource, TInt aAssociatedResource, + TInt aOrdinal); + + void AddBinarySettingItemL( TInt aSettingPageResourceId, + TInt aTitleResourceId, + TInt aAssociatedResourceId, + TInt aOrdinal, + TBool& aModifiedValue); + + protected: + CEapTtlsSettingItemArray(); + void ConstructL(); + + private: + CAknSettingItemArray* iArray; + }; + +#endif // _EAPTTLSUISETTINGARRAY_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUiView.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUiView.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,177 @@ +/* +* Copyright (c) 2001-2009 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: Header file of EAP TTLS UI setting dialog +* +*/ + +/* +* %version: 22 % +*/ + +#ifndef _EAPTTLSUIVIEW_H_ +#define _EAPTTLSUIVIEW_H_ + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "EapTtlsUi.hrh" +#include +#include +#include +#include + + +// FORWARD DECLARATIONS +class CAknSettingStyleListBox; +class CSettingsListBoxItemDrawer; +class CEapTtlsSettingItemArray; + + +// CLASS DECLARATION + +/** +* Settings dialog class definition +*/ +class CEapTtlsUiDialog : public CAknDialog, + public MEapTlsPeapUiCertificates, + public MEikListBoxObserver + { + public: + CEapTtlsUiDialog( CEapTlsPeapUiConnection* aConnection, + TIndexType aIndexType, TInt aIndex, + TInt& aButtonId ); + + ~CEapTtlsUiDialog(); + + /** + * Create and launch dialog. + * @param aResourceId The resource ID of the dialog to load. + * @return The ID of the button that closed the dialog + */ + TInt ConstructAndRunLD( TInt aResourceId ); + + /** + * Chain into key event handler. + * @param aKeyEvent The event. + * @param aType The type of key event. + * @return Was the key consumed or not. + */ + TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, + TEventCode aType); + + public: // From MEikListBoxObserver + + /** + * Handles list box events. + * @param aListBox The originating list box. + * @param aEventType A code for the event. + */ + void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType ); + + public: // From CEikDialog + + /** + * @see CEikDialog + */ + void HandleDialogPageEventL( TInt aEventID ); + + + protected: + void PreLayoutDynInitL(); + void PostLayoutDynInitL(); + TBool OkToExitL( TInt aButtonId ); + void ProcessCommandL( TInt aCommand ); + void PageChangedL( TInt aPageId ); + + private: + void ChangeTitleL( TBool aIsStarted ); + void DrawSettingsListL(); + void ShowSettingPageL( TInt aCalledFromMenu ); + void MoveEapTypeL( TInt aOldPos, TInt aNewPos ); + void DrawEapListL( TInt aWantedIndex ); + TInt ShowRadioButtonSettingPageL( TInt aTitle, + CDesCArrayFlat* aValues, + TInt aCurrentItem ); + void DrawCipherSuitesL(); + void CompleteReadCertificates( const TInt aResult); + void CompleteUiConstructionL(); + TInt CheckActiveUserCertificate(); + TInt CheckActiveCaCertificate(); + void UserCertificateHouseKeeping( TInt aSelected ); + void CaCertificateHouseKeeping( TInt aSelected ); + void CreateEapTypeDataBaseL(); + void SetCipherIconsL(); + void SetEapIconsL(); + TUint GetEnabledEapTypeCount(); + TBool IsPlainMschapv2Enabled(); + TBool IsPapEnabled(); + void GetHelpContext( TCoeHelpContext& aContext ) const; + + void GetFullCertLabelL( const SCertEntry& aCert, TDes& aFullLabel ); + + /** + * Initialize menu pane. + * @param aResourceId Menu pane resource id. + * @param CEikMenuPane Menu pane. + */ + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + void ConfigureL( TBool aQuick ); + + + private: + CEapTlsPeapUiConnection* iConnection; + CEapTlsPeapUiDataConnection* iDataConnection; + CEapTlsPeapUiCipherSuites* iCipherSuites; + CEapTlsPeapUiCertificates* iCertificates; + + CEapTlsPeapUiTlsPeapData* iUiData; + CArrayFixFlat* iUiCipherSuites; + CArrayFixFlat* iUiUserCertificates; + CArrayFixFlat* iUiCACertificates; + CArrayFixFlat* iUiEapTypes; + + CAknSingleNumberStyleListBox* iUserCertificateListBox; + CAknSingleNumberStyleListBox* iCaCertificateListBox; + CAknSingleNumberStyleListBox* iCipherSuiteListBox; + CAknSingleNumberStyleListBox* iEapTypesListBox; + CEapTtlsSettingItemArray* iSettingArray; + CAknSettingStyleListBox* iSettingListBox; + CDesCArray* iEapTypeViewArray; + CDesCArray* iCipherSuitesViewArray; + CEapTlsPeapUiEapTypes* iEapTypes; + TIndexType iIndexType; + TInt iIndex; + HBufC* iPreviousText; + TInt* iButtonId; + + // Tells the status of UI construction. TRUE if UI construction is completed. + TBool iIsUIConstructionCompleted; + + // For exiting dialog + TBool iExiting; + }; + + +#endif // _EAPTTLSUIVIEW_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/loc/eapttlsui.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/loc/eapttlsui.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,49 @@ +/* +* Copyright (c) 2001-2009 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: UI strings for WLAN EAP-TTLS authentication settings +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + + +//d:UI title for main view +//l:title_pane_t2/opt9 +//w: +//r:3.1 +// +#define qtn_wlan_eap_ttls_title "EAP-TTLS settings" + + +//d:Popup note to signal mschapv2 can only be enabled alone +//l:popup_note_window +//w: +//r:3.1 +// +#define qtn_wlan_eap_info_plain_mschap_cannot_enable_along "Plain MSCHAPv2 cannot be enabled along with other EAP plug-ins" + +//d:Popup note to signal that PAP can only be enabled alone +//l:popup_note_window +//w: +//r:5.1 +// +#define qtn_wlan_eap_info_pap_cannot_enable_along "PAP cannot be enabled along with other EAP plug-ins" + + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUi.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUi.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,144 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP TTLS UI class +* +*/ + +/* +* %version: 15 % +*/ + +// INCLUDE FILES +#include "EapTtlsUi.h" +#include "EapTtlsUiView.h" +#include +#include +#include +#include +#include + + +// CONSTANTS +_LIT( KDriveZ, "z:" ); // ROM folder +_LIT( KResourceFileName, "eapttlsui.rsc" ); + + +// CLASS DECLARATION +class TResourceFileCleanupItem + { + public: + CCoeEnv* iCoeEnv; + TInt iResourceFileOffset; + }; + + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CleanupResourceFile +// ----------------------------------------------------------------------------- +// +static void CleanupResourceFile( TAny* aObject ) + { + TResourceFileCleanupItem* item = + REINTERPRET_CAST( TResourceFileCleanupItem*, aObject ); + item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset ); + delete item; + } + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapTtlsUi::CEapTtlsUi +// ----------------------------------------------------------------------------- +// +CEapTtlsUi::CEapTtlsUi( CEapTlsPeapUiConnection* aConnection, + TIndexType aIndexType, + TInt aIndex ) +: iConnection( aConnection ), + iIndexType( aIndexType ), + iIndex( aIndex ) + { + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUi::NewL +// ----------------------------------------------------------------------------- +// +CEapTtlsUi* CEapTtlsUi::NewL( CEapTlsPeapUiConnection* aConnection, + TIndexType aIndexType, + TInt aIndex ) + { + CEapTtlsUi* self = new( ELeave ) CEapTtlsUi( aConnection, aIndexType, + aIndex ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUi::ConstructL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUi::ConstructL() + { + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUi::~CEapTtlsUi +// ----------------------------------------------------------------------------- +// +CEapTtlsUi::~CEapTtlsUi() + { + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUi::InvokeUiL +// ----------------------------------------------------------------------------- +// +TInt CEapTtlsUi::InvokeUiL() + { + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + CCoeEnv* coeEnv = CCoeEnv::Static(); + BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName ); + + TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem; + + item->iCoeEnv = coeEnv; + CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) ); + item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName ); + + TInt buttonId; + CEapTtlsUiDialog* settingsDlg = new( ELeave ) CEapTtlsUiDialog( + iConnection, iIndexType, iIndex, buttonId ); + settingsDlg->ConstructAndRunLD( R_TTLS_SETTING_DIALOG ); + + CleanupStack::PopAndDestroy(); // For resource file + + return buttonId; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUiSettingArray.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUiSettingArray.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,185 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of EAP TTLS UI settings array +* +*/ + +/* +* %version: 13 % +*/ + +// INCLUDE FILES +#include "EapTtlsUiSettingArray.h" +#include "EapTtlsUi.hrh" +#include +#include + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapTtlsSettingItemArray::CEapTtlsSettingItemArray +// ----------------------------------------------------------------------------- +// +CEapTtlsSettingItemArray::CEapTtlsSettingItemArray() + { + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsSettingItemArray::NewL +// ----------------------------------------------------------------------------- +// +CEapTtlsSettingItemArray* CEapTtlsSettingItemArray::NewL() + { + CEapTtlsSettingItemArray* self = new( ELeave ) CEapTtlsSettingItemArray(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); // self + return self; + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsSettingItemArray::ConstructL +// ----------------------------------------------------------------------------- +// +void CEapTtlsSettingItemArray::ConstructL() + { + iArray = new( ELeave ) CAknSettingItemArray( 2, EFalse, 0 ); + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsSettingItemArray::~CEapTtlsSettingItemArray +// ----------------------------------------------------------------------------- +// +CEapTtlsSettingItemArray::~CEapTtlsSettingItemArray() + { + if( iArray ) + { + // ResetAndDestroy() + iArray->ResetAndDestroy(); + } + delete iArray; + iArray = NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsSettingItemArray::Item +// ----------------------------------------------------------------------------- +// +CAknSettingItem* CEapTtlsSettingItemArray::Item( TEapTtlsUiSettingPageIds aId ) + { + for( TInt i = 0; i < iArray->Count(); i++ ) + { + if( iArray->At( i )->Identifier() == aId ) + { + return iArray->At( i ); + } + } + + __ASSERT_DEBUG( EFalse, User::Invariant() ); + return NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsSettingItemArray::Array +// ----------------------------------------------------------------------------- +// +CAknSettingItemArray* CEapTtlsSettingItemArray::Array() + { + return iArray; + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsSettingItemArray::StoreSettingsL +// ----------------------------------------------------------------------------- +// +void CEapTtlsSettingItemArray::StoreSettingsL() + { + // Do what SettingItemList::StoreSettings would do. + for( TInt i( 0 ); i < iArray->Count(); ++i ) + { + iArray->At( i )->StoreL(); + } + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsSettingItemArray::AddTextItemL +// ----------------------------------------------------------------------------- +// +void CEapTtlsSettingItemArray::AddTextItemL( TDes& aBuffer, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal ) + { + // Create new setting item + CAknTextSettingItem* settingItem = new ( ELeave ) CAknTextSettingItem( aId, + aBuffer ); + CleanupStack::PushL( settingItem ); + settingItem->SetEmptyItemTextL( KNullDesC ); + settingItem->SetSettingPageFlags( + CAknTextSettingPage::EZeroLengthAllowed ); + + // Construct setting item with parametrized values + HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( + aTitleResource ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResource, EAknCtPopupSettingList, + NULL, aAssociatedResource ); + + // Append item to settingitem-array + iArray->InsertL( aOrdinal, settingItem ); + + CleanupStack::PopAndDestroy( itemTitle ); + + // Items are destroyed in destructor when resetting array + CleanupStack::Pop( settingItem ); + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsSettingItemArray::AddBinarySettingItemL +// ----------------------------------------------------------------------------- +// +void CEapTtlsSettingItemArray::AddBinarySettingItemL( + TInt aSettingPageResourceId, + TInt aTitleResourceId, + TInt aAssociatedResourceId, + TInt aOrdinal, + TBool& aModifiedValue ) + { + CAknSettingItem* settingItem = new( ELeave ) + CAknBinaryPopupSettingItem( 0, aModifiedValue ); + CleanupStack::PushL( settingItem ); + + HBufC* itemTitle = CEikonEnv::Static()->AllocReadResourceLC( + aTitleResourceId ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResourceId, EAknCtPopupSettingList, + NULL, aAssociatedResourceId ); + iArray->AppendL( settingItem ); + CleanupStack::PopAndDestroy( itemTitle ); + CleanupStack::Pop( settingItem ); + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUiView.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUiView.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,1903 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of EAP TTLS UI settings dialog +* +*/ + +/* +* %version: 27.1.1.1.9 % +*/ + +// INCLUDE FILES +#include +#include +#include +#include "EapTtlsUiView.h" +#include "EapTtlsUi.hrh" +#include +#include +#include +#include "EapTtlsUiSettingArray.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + + +// CONSTANTS +// UID of general settings app, in which help texts are included +const TUid KHelpUidPlugin = { 0x100058EC }; + +static const TInt KSettingArrayGranularity = 4; +static const TInt KSuiteArrayGranularity = 5; +static const TInt KMaxLengthOfEapLine = 270; +static const TInt KCertificateArrayGranularity = 5; +static const TInt KMaxLengthOfSuiteName = 255; +static const TInt KEapTtlsId = 21; + +_LIT( KNameSeparator, " " ); +_LIT( KEmptyString, "" ); +const TUint KFirstElement = 0; +const TUint KSecondElement = 1; +const TUint KMinEnabledCount = 1; + +/* This is the maximum length of a certificate's full name, includes +label, primary and secondary names */ +const TUint32 KMaxFullCertLabelLength = KMaxCertLabelLength + 2 * + KMaxNameLength + 1; // 1 is for separator. + +// MODULE DATA STRUCTURES +enum TPageIds + { + ESettingsPage = 0, + EEapTypePage, + ECipherSuitePage + }; + +enum TSettingIds + { + EUserCertificateItem = 0, + ECaCertificateItem, + EUsernameInUseItem, + EUsernameItem, + ERealmInUseItem, + ERealmItem + }; + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::CEapTtlsUiDialog +// ----------------------------------------------------------------------------- +// +CEapTtlsUiDialog::CEapTtlsUiDialog( CEapTlsPeapUiConnection* aConnection, + TIndexType aIndexType, TInt aIndex, + TInt& aButtonId ) +: CAknDialog(), + iConnection( aConnection ), + iIndexType( aIndexType ), + iIndex( aIndex ), + iButtonId( &aButtonId ), + iIsUIConstructionCompleted( EFalse ), + iExiting( EFalse ) + { + } + + +// --------------------------------------------------------- +// CEapTtlsUiDialog::ConstructAndRunLD +// --------------------------------------------------------- +// +TInt CEapTtlsUiDialog::ConstructAndRunLD( TInt aResourceId ) + { + CleanupStack::PushL( this ); + + iSettingArray = CEapTtlsSettingItemArray::NewL(); + + User::LeaveIfError( iConnection->Connect() ); + + // Basic data + iDataConnection = iConnection->GetDataConnection(); + if ( iDataConnection == 0 ) + { + User::Leave( KErrNoMemory ); + } + User::LeaveIfError( iDataConnection->Open() ); + User::LeaveIfError( iDataConnection->GetData( &iUiData ) ); + + // Cipher suites + iCipherSuites = iConnection->GetCipherSuiteConnection(); + if ( iCipherSuites == 0 ) + { + User::Leave( KErrNoMemory ); + } + + User::LeaveIfError( iCipherSuites->Open() ); + User::LeaveIfError( iCipherSuites->GetCipherSuites( &iUiCipherSuites ) ); + + iCipherSuitesViewArray = new( ELeave ) CDesCArrayFlat( + KSuiteArrayGranularity ); + //EAP types + iEapTypes = iConnection->GetEapTypeConnection(); + if ( iEapTypes == 0 ) + { + User::Leave( KErrNoMemory ); + } + User::LeaveIfError( iEapTypes->Open() ); + User::LeaveIfError( iEapTypes->GetEapTypes( &iUiEapTypes ) ); + if ( iUiEapTypes->Count() == 0 ) + { + CreateEapTypeDataBaseL(); + } + + iEapTypeViewArray = new( ELeave ) CDesCArrayFlat( + KSettingArrayGranularity ); + + FeatureManager::InitializeLibL(); + + ConstructL( R_TTLS_MENUBAR ); + + // ExecuteLD will PushL( this ), so we have to Pop it... + CleanupStack::Pop( this ); // this + + return CAknDialog::ExecuteLD( aResourceId ); + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::OfferKeyEventL +// ----------------------------------------------------------------------------- +// +TKeyResponse CEapTtlsUiDialog::OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType ) + { + TKeyResponse result( EKeyWasNotConsumed ); + + // gently handle impatient users + if ( !iIsUIConstructionCompleted ) + { + return CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + } + + TInt pageId = ActivePageId(); + if ( aType == EEventKey && pageId == KEAPTTLSCIPHERPAGE ) + { + TInt indexBefore = iCipherSuiteListBox->CurrentItemIndex(); + + if ( aKeyEvent.iCode == EKeyEnter ) + { + if ( ( *iUiCipherSuites )[indexBefore].iIsEnabled ) + { + OkToExitL( ETtlsUiCmdDisable ); + } + else + { + OkToExitL( ETtlsUiCmdEnable ); + } + + result = EKeyWasConsumed; + } + else + { + result = CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + } + + TInt indexAfter = iCipherSuiteListBox->CurrentItemIndex(); + + if ( indexBefore != indexAfter ) + { + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + if( ( *iUiCipherSuites )[ indexAfter ].iIsEnabled ) + { + cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_DISABLE ); + } + else + { + cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE ); + } + + cba.DrawDeferred(); + } + } + else if ( aType == EEventKey && pageId == KEAPTTLSEAPPAGE ) + { + TInt indexBefore = iEapTypesListBox->CurrentItemIndex(); + + if ( aKeyEvent.iCode == EKeyEnter ) + { + if ( ( *iUiEapTypes )[indexBefore].iIsEnabled ) + { + OkToExitL( ETtlsUiCmdConfigure ); + } + else + { + OkToExitL( ETtlsUiCmdEnable ); + } + + result = EKeyWasConsumed; + } + else + { + result = CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + } + + TInt indexAfter = iEapTypesListBox->CurrentItemIndex(); + + if ( indexBefore != indexAfter ) + { + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + if( ( *iUiEapTypes )[indexAfter].iIsEnabled ) + { + cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_CONFIGURE ); + } + else + { + cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE ); + } + + cba.DrawDeferred(); + } + } + else + { + result = CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + } + + return result; + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::~CEapTtlsUiDialog +// ----------------------------------------------------------------------------- +// +CEapTtlsUiDialog::~CEapTtlsUiDialog() + { + if ( iSettingArray ) + { + iSettingArray->Array()->ResetAndDestroy(); + } + + delete iSettingArray; + + iSettingListBox = NULL; + + iDataConnection->Close(); + delete iDataConnection; + + iCipherSuitesViewArray->Reset(); + delete iCipherSuitesViewArray; + + iEapTypeViewArray->Reset(); + delete iEapTypeViewArray; + + iCertificates->Close(); + delete iCertificates; + + iCipherSuites->Close(); + delete iCipherSuites; + + iEapTypes->Close(); + delete iEapTypes; + + iConnection->Close(); + + delete iPreviousText; + + FeatureManager::UnInitializeLib(); + } + + +// --------------------------------------------------------- +// CEapTtlsUiDialog::HandleListBoxEventL +// --------------------------------------------------------- +// +void CEapTtlsUiDialog::HandleListBoxEventL( CEikListBox* aListBox, + TListBoxEvent aEventType ) + { + switch ( aEventType ) + { + case EEventEnterKeyPressed: + case EEventItemSingleClicked: + { + if ( aListBox == iSettingListBox ) + { + OkToExitL( ETtlsUiCmdChange ); + } + + else if ( aListBox == iEapTypesListBox ) + { + TInt index = iEapTypesListBox->CurrentItemIndex(); + if ( iUiEapTypes->At( index ).iIsEnabled ) + { + ConfigureL(ETrue); + } + else + { + OkToExitL( ETtlsUiCmdEnable ); + } + } + + else if ( aListBox == iCipherSuiteListBox ) + { + TInt index = iCipherSuiteListBox->CurrentItemIndex(); + if ( iUiCipherSuites->At( index ).iIsEnabled ) + { + OkToExitL( ETtlsUiCmdDisable ); + } + else + { + OkToExitL( ETtlsUiCmdEnable ); + } + } + + else + { + // Do nothing; we should never end up here + } + + break; + } + + case EEventItemActioned: + case EEventEditingStarted: + case EEventEditingStopped: + case EEventPenDownOnItem: + case EEventItemDraggingActioned: + { + break; + } + + default: + { + break; + }; + }; + } + + +// --------------------------------------------------------- +// CEapTtlsUiDialog::HandleDialogPageEventL +// --------------------------------------------------------- +// +void CEapTtlsUiDialog::HandleDialogPageEventL( TInt aEventID ) + { + CAknDialog::HandleDialogPageEventL( aEventID ); + if( iExiting ) + { + // Exit requested. + TryExitL( EAknCmdExit ); + } + } + + +// --------------------------------------------------------- +// CEapTtlsUiDialog::ConfigureL +// --------------------------------------------------------- +// +void CEapTtlsUiDialog::ConfigureL( TBool aQuick ) + { + RImplInfoPtrArray eapArray; + eapArray.Reset(); + REComSession::ListImplementationsL( KEapTypeInterfaceUid, + eapArray ); + TInt itemIndex = iEapTypesListBox->CurrentItemIndex(); + TInt eapIndex( 0 ); + for ( TInt i = 0; i < eapArray.Count(); ++i ) + { + CImplementationInformation* tempInfo = eapArray[i]; + if ( iUiEapTypes->At( itemIndex ).iEapType == + tempInfo->DataType() ) + { + eapIndex = i; + break; + } + } + + CEapType* eapType; + eapType = CEapType::NewL( eapArray[eapIndex]->DataType(), + iIndexType, iIndex ); + eapArray.ResetAndDestroy(); + eapType->SetTunnelingType( KEapTtlsId ); + CleanupStack::PushL( eapType ); + TInt buttonId = eapType->InvokeUiL(); + CleanupStack::PopAndDestroy( eapType ); + if ( buttonId == EAknCmdExit || buttonId == EEikCmdExit ) + { + if (aQuick == EFalse) + { + TryExitL( buttonId ); + } + else + { + iExiting = ETrue; + // Don't exit here. Framework command chain will + // cause a KERN-EXEC 3 panic. Handle the exit in + // HandleDialogPageEventL(). + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::PreLayoutDynInitL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::PreLayoutDynInitL() + { + // Change title + ChangeTitleL( ETrue ); + + iSettingListBox = static_cast( + ControlOrNull( ETtlsSettingsListbox ) ); + iSettingListBox->SetComponentsToInheritVisibility( ETrue ); + + iEapTypesListBox = static_cast( + ControlOrNull( ETtlsSettingsEapTypeListbox ) ); + iEapTypesListBox->SetComponentsToInheritVisibility( ETrue ); + + iCipherSuiteListBox = static_cast( + ControlOrNull( ETtlsSettingsCipherSuiteListbox ) ); + iCipherSuiteListBox->SetComponentsToInheritVisibility( ETrue ); + + // Get certificates before building the UI. + // Will continue when certificates are received + iCertificates = iConnection->GetCertificateConnection( this ); + User::LeaveIfError( iCertificates->Open() ); + iCertificates->GetCertificates( &iUiUserCertificates, &iUiCACertificates ); + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::CompleteReadCertificates +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::CompleteReadCertificates( const TInt aResult ) + { + if ( aResult == KErrNone ) // Certifiocates are received from core + { + TRAPD( err, CompleteUiConstructionL() ); + if ( err != KErrNone ) + { + TRAP_IGNORE( TryExitL( KErrCancel ) ); + } + } + else + { + TRAP_IGNORE( TryExitL( KErrCancel ) ); + } + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::CompleteUiConstructionL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::CompleteUiConstructionL() + { + // Initialize setting page + iSettingListBox = static_cast( + ControlOrNull( ETtlsSettingsListbox ) ); + iSettingListBox->SetMopParent( this ); + iSettingListBox->CreateScrollBarFrameL( ETrue ); + iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( + CEikScrollBarFrame::EOff, + CEikScrollBarFrame::EAuto ); + iSettingListBox->SetListBoxObserver( this ); + DrawSettingsListL(); + + // Initialize EAP types page + iEapTypesListBox = static_cast( + ControlOrNull( ETtlsSettingsEapTypeListbox ) ); + iEapTypesListBox->SetMopParent( this ); + iEapTypesListBox->CreateScrollBarFrameL( ETrue ); + iEapTypesListBox->ScrollBarFrame()->SetScrollBarVisibilityL( + CEikScrollBarFrame::EOff, + CEikScrollBarFrame::EAuto ); + iEapTypesListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); + iEapTypesListBox->SetListBoxObserver( this ); + + // Following deletes internal array created from resources. + // To prevent memory leak. + MDesCArray* internalArray1 = iEapTypesListBox->Model()->ItemTextArray(); + delete internalArray1; + + // Initialize cipher suites page + iCipherSuiteListBox = static_cast( + ControlOrNull( ETtlsSettingsCipherSuiteListbox ) ); + iCipherSuiteListBox->CreateScrollBarFrameL( ETrue ); + iCipherSuiteListBox->ScrollBarFrame()->SetScrollBarVisibilityL( + CEikScrollBarFrame::EOff, + CEikScrollBarFrame::EAuto ); + iCipherSuiteListBox->UpdateScrollBarsL(); + iCipherSuiteListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); + iCipherSuiteListBox->SetListBoxObserver( this ); + + //Following deletes internal array created from resources. + // To prevent memory leak. + MDesCArray* internalArray2 = iCipherSuiteListBox->Model()->ItemTextArray(); + delete internalArray2; + + SetEapIconsL(); + DrawEapListL( 0 ); + + SetCipherIconsL(); + DrawCipherSuitesL(); + + iIsUIConstructionCompleted = ETrue; + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::PostLayoutDynInitL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::PostLayoutDynInitL() + { + TUid naviPaneUid; + naviPaneUid.iUid = EEikStatusPaneUidNavi; + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( naviPaneUid ); + if ( subPane.IsPresent() && subPane.IsAppOwned() ) + { + CAknNavigationControlContainer* naviPane = + static_cast( + statusPane->ControlL( naviPaneUid ) ); + CAknNavigationDecorator* naviDecorator = naviPane->ResourceDecorator(); + if ( naviDecorator ) + { + CAknTabGroup* tabGroup = static_cast( + naviDecorator->DecoratedControl() ); + tabGroup->SetActiveTabById( 0 ); + tabGroup->SetTabFixedWidthL( KTabWidthWithOneTab ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::ChangeTitleL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::ChangeTitleL( TBool aIsStarted ) + { + TUid titlePaneUid; + titlePaneUid.iUid = EEikStatusPaneUidTitle; + + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( titlePaneUid ); + + if ( subPane.IsPresent()&&subPane.IsAppOwned() ) + { + CAknTitlePane* titlePane = static_cast( + statusPane->ControlL( titlePaneUid ) ); + if ( aIsStarted ) + { + // Store previous application title text + const TDesC* prevText = titlePane->Text(); + iPreviousText = HBufC::NewL( prevText->Length() ); + iPreviousText->Des().Append( *prevText ); + TDesC* titleText = iEikonEnv->AllocReadResourceLC( + R_TTLS_SETTINGS_TITLE ); + titlePane->SetTextL( *titleText ); + CleanupStack::PopAndDestroy( titleText ); + } + else + { + // Set calling application title text back + titlePane->SetTextL( *iPreviousText ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::OkToExitL +// ----------------------------------------------------------------------------- +// +TBool CEapTtlsUiDialog::OkToExitL( TInt aButtonId ) + { + TBool ret( EFalse ); + switch ( aButtonId ) + { + case EEikBidOk: + { + if( iIsUIConstructionCompleted ) + { + TPageIds index = static_cast( ActivePageIndex() ); + if ( index == ESettingsPage ) + { + ShowSettingPageL( EFalse ); + } + else if ( index == EEapTypePage ) + { + ProcessCommandL( ETtlsUiCmdConfigure ); + } + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapTtlsUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + case EAknSoftkeyOptions: + { + DisplayMenuL(); + break; + } + + case EAknSoftkeyBack: + case EAknCmdExit: + { + if( ( GetEnabledEapTypeCount() > KMinEnabledCount ) && + ( IsPlainMschapv2Enabled() || IsPapEnabled() ) ) + { + HBufC* stringLabel; + + if ( IsPlainMschapv2Enabled() ) + { + stringLabel = StringLoader::LoadL( + R_TTLS_INFO_PLAIN_MSCHAP_CANNOT_ENABLE_ALONG, + iEikonEnv ); + } + else + { + stringLabel = StringLoader::LoadL( + R_TTLS_INFO_PAP_CANNOT_ENABLE_ALONG, + iEikonEnv ); + } + CleanupStack::PushL( stringLabel ); + CAknInformationNote* dialog = new ( ELeave ) + CAknInformationNote( ETrue ); + dialog->ExecuteLD( *stringLabel ); + CleanupStack::PopAndDestroy( stringLabel ); + + // after showing the info note, EAP settings page + // must be shown + if( ActivePageId() == KEAPTTLSSETTINGSPAGE ) + { + TKeyEvent keyRight = + { + EKeyRightArrow, + EStdKeyRightArrow, + EModifierPureKeycode, + 0 + }; + CAknDialog::OfferKeyEventL + ( keyRight, + EEventKey ); + } + if( ActivePageId() == KEAPTTLSCIPHERPAGE ) + { + TKeyEvent keyLeft = + { + EKeyLeftArrow, + EStdKeyLeftArrow, + EModifierPureKeycode, + 0 + }; + CAknDialog::OfferKeyEventL + ( keyLeft, + EEventKey ); + } + + iExiting = EFalse; + ret = EFalse; + } + else + { + if( iIsUIConstructionCompleted ) + { + iDataConnection->Update(); + ChangeTitleL( EFalse ); + ret = ETrue; + } + } + break; + } + + case ETtlsUiCmdChange: + { + TPageIds index = static_cast( ActivePageIndex() ); + if ( index == ESettingsPage ) + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( EFalse ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapPeapUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + } + break; + } + + case ETtlsUiCmdConfigure: + case ETtlsUiCmdEnable: + case ETtlsUiCmdDisable: + { + ProcessCommandL( aButtonId ); + ret = EFalse; + break; + } + + default: + { + break; + } + } + + if ( ret ) + { + *iButtonId = aButtonId; + } + + return ret; + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::DrawSettingsListL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::DrawSettingsListL() + { + iSettingArray->Array()->ResetAndDestroy(); + TInt ordinal = 0; + TInt activeUserCertificate = CheckActiveUserCertificate(); + TBuf aActiveuserCertificateName = KEmptyString(); + if ( activeUserCertificate != KErrNotFound ) + { + TBuf text; + GetFullCertLabelL( + iUiUserCertificates->At( activeUserCertificate ).iCertEntry, + text ); + aActiveuserCertificateName.Copy( text ); + } + else + { + TDesC* notDefinedText = iEikonEnv->AllocReadResourceLC( + R_TTLS_NOT_DEFINED ); + aActiveuserCertificateName.Copy( *notDefinedText ); + CleanupStack::PopAndDestroy( notDefinedText ); + } + + iSettingArray->AddTextItemL( aActiveuserCertificateName, + ETtlsSettingUserCert, + R_TTLS_USER_CERT_STRING, + R_TTLS_USERNAME_PAGE, + NULL, + ordinal++ ); + + TInt activeCaCertificate = CheckActiveCaCertificate(); + TBuf aActiveCaCertificateName = KEmptyString(); + if ( activeCaCertificate != KErrNotFound ) + { + TBuf text; + GetFullCertLabelL( + iUiCACertificates->At( activeCaCertificate ).iCertEntry, + text ); + aActiveCaCertificateName.Copy( text ); + } + else + { + TDesC* notDefinedText = iEikonEnv->AllocReadResourceLC( + R_TTLS_NOT_DEFINED ); + aActiveCaCertificateName.Copy( *notDefinedText ); + CleanupStack::PopAndDestroy( notDefinedText ); + } + + iSettingArray->AddTextItemL( aActiveCaCertificateName, + ETtlsSettingCaCert, + R_TTLS_CA_CERT_STRING, + R_TTLS_USERNAME_PAGE, + NULL, + ordinal++ ); + + iSettingArray->AddBinarySettingItemL( R_TTLS_DISPLAY_AUTOUSECONF_PAGE, + R_TTLS_USERNAME_INUSESTRING, + R_TTLS_USERNAME_AUTOUSECONF_TEXTS, + ordinal++, + *iUiData->GetUseManualUsername() ); + + iSettingArray->AddTextItemL( iUiData->GetManualUsername(), + ETtlsTabSheetSettingsUsername, + R_TTLS_USERNAME_STRING, + R_TTLS_USERNAME_PAGE, + NULL, + ordinal++ ); + + iSettingArray->AddBinarySettingItemL( R_TTLS_DISPLAY_AUTOUSECONF_PAGE, + R_TTLS_REALM_INUSESTRING, + R_TTLS_REALM_AUTOUSECONF_TEXTS, + ordinal++, + *iUiData->GetUseManualRealm() ); + + iSettingArray->AddTextItemL( iUiData->GetManualRealm(), + ETtlsTabSheetSettingsRealm, + R_TTLS_REALM_STRING, + R_TTLS_REALM_PAGE, + NULL, + ordinal++ ); + + iSettingArray->AddBinarySettingItemL( R_TTLS_DISPLAY_AUTOUSECONF_PAGE, + R_TTLS_TLS_PRIVACY_STRING, + R_TTLS_TLS_PRIVACY_AUTOUSECONF_TEXTS, + ordinal++, + *iUiData->GetTlsPrivacy() ); + + iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() ); + iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); + iSettingArray->Array()->RecalculateVisibleIndicesL(); + iSettingListBox->HandleItemAdditionL(); + iSettingListBox->UpdateScrollBarsL(); + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::DynInitMenuPaneL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::DynInitMenuPaneL( TInt aResourceId, + CEikMenuPane* aMenuPane ) + { + CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane ); + + if ( aMenuPane && aResourceId == R_TTLS_MENU_PANE ) + { + if ( !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) + { + aMenuPane->DeleteMenuItem( EAknCmdHelp ); + } + + TPageIds index = static_cast( ActivePageIndex() ); + if ( index == ESettingsPage ) + { + aMenuPane->SetItemDimmed( ETtlsUiCmdEnable, ETrue ); + aMenuPane->SetItemDimmed( ETtlsUiCmdDisable, ETrue ); + aMenuPane->SetItemDimmed( ETtlsUiCmdConfigure, ETrue ); + aMenuPane->SetItemDimmed( ETtlsUiCmdMoveUp, ETrue ); + aMenuPane->SetItemDimmed( ETtlsUiCmdMoveDown, ETrue ); + } + else if ( index == EEapTypePage ) + { + aMenuPane->SetItemDimmed( ETtlsUiCmdChange, ETrue ); + + if ( iEapTypeViewArray->Count() > 0 ) + { + TInt currentIndex = iEapTypesListBox->CurrentItemIndex(); + TBool enabled = iUiEapTypes->At( currentIndex ).iIsEnabled; + + // Hide either "Enable" or "Disable", as appropriate. + aMenuPane->SetItemDimmed( ETtlsUiCmdEnable, enabled ); + aMenuPane->SetItemDimmed( ETtlsUiCmdDisable, !enabled ); + + // Don't display "Configure" for disabled items + aMenuPane->SetItemDimmed( ETtlsUiCmdConfigure, !enabled ); + + // Don't display "Raise priority" nor "Lower priority" for + // disabled items + aMenuPane->SetItemDimmed( ETtlsUiCmdMoveUp, !enabled ); + aMenuPane->SetItemDimmed( ETtlsUiCmdMoveDown, !enabled ); + + if ( enabled ) + { + if ( currentIndex == 0 ) + { + // Can't go higher than top. + aMenuPane->SetItemDimmed( ETtlsUiCmdMoveUp, ETrue ); + } + else if ( currentIndex == iEapTypeViewArray->Count()-1 || + ( currentIndex < iEapTypeViewArray->Count()-1 && + !iUiEapTypes->At( currentIndex + 1 ).iIsEnabled ) ) + { + // Can't go lower than the last enabled item + aMenuPane->SetItemDimmed( ETtlsUiCmdMoveDown, ETrue ); + } + } + + } + else + { + aMenuPane->SetItemDimmed( ETtlsUiCmdEnable, ETrue ); + aMenuPane->SetItemDimmed( ETtlsUiCmdDisable, ETrue ); + aMenuPane->SetItemDimmed( ETtlsUiCmdConfigure, ETrue ); + aMenuPane->SetItemDimmed( ETtlsUiCmdMoveUp, ETrue ); + aMenuPane->SetItemDimmed( ETtlsUiCmdMoveDown, ETrue ); + aMenuPane->SetItemDimmed( ETtlsUiCmdChange, ETrue ); + } + } + else if ( index == ECipherSuitePage ) + { + aMenuPane->SetItemDimmed( ETtlsUiCmdConfigure, ETrue ); + aMenuPane->SetItemDimmed( ETtlsUiCmdMoveUp, ETrue ); + aMenuPane->SetItemDimmed( ETtlsUiCmdMoveDown, ETrue ); + aMenuPane->SetItemDimmed( ETtlsUiCmdChange, ETrue ); + + if ( iCipherSuitesViewArray->Count() > 0 ) + { + TInt currIndex = iCipherSuiteListBox->CurrentItemIndex(); + TBool enabled = iUiCipherSuites->At( currIndex ).iIsEnabled; + + // Hide either "Enable" or "Disable", as appropriate. + aMenuPane->SetItemDimmed( ETtlsUiCmdEnable, enabled ); + aMenuPane->SetItemDimmed( ETtlsUiCmdDisable, !enabled ); + } + else + { + aMenuPane->SetItemDimmed( ETtlsUiCmdEnable, ETrue ); + aMenuPane->SetItemDimmed( ETtlsUiCmdDisable, ETrue ); + } + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::ProcessCommandL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::ProcessCommandL( TInt aCommand ) + { + if ( MenuShowing() ) + { + HideMenu(); + } + + TPageIds pageIndex = static_cast( ActivePageIndex() ); + switch( aCommand ) + { + case EAknCmdExit: + { + TryExitL( aCommand ); + break; + } + + case EAknCmdHelp: + { + HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), + iEikonEnv->EikAppUi()->AppHelpContextL() ); + break; + } + + case ETtlsUiCmdChange: + { + if ( pageIndex == ESettingsPage ) + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( ETrue ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapTtlsUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + } + break; + } + + case ETtlsUiCmdMoveUp: + { + if ( pageIndex == EEapTypePage ) + { + TInt cur = iEapTypesListBox->CurrentItemIndex(); + MoveEapTypeL( cur, cur - 1 ); + } + break; + } + + case ETtlsUiCmdMoveDown: + { + if ( pageIndex == EEapTypePage ) + { + TInt cur = iEapTypesListBox->CurrentItemIndex(); + MoveEapTypeL( cur, cur + 1 ); + } + break; + } + + case ETtlsUiCmdEnable: + { + if ( pageIndex == ECipherSuitePage ) + { + TInt index = iCipherSuiteListBox->CurrentItemIndex(); + iUiCipherSuites->At( index ).iIsEnabled = ETrue; + iCipherSuites->Update(); + DrawCipherSuitesL(); + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_DISABLE ); + cba.DrawDeferred(); + } + else if ( pageIndex == EEapTypePage ) + { + TInt cur = iEapTypesListBox->CurrentItemIndex(); + iUiEapTypes->At( cur ).iIsEnabled = ETrue; + + iEapTypes->Update(); + + // enabling moves item to the top of the list + MoveEapTypeL( cur, 0 ); + + // load the new CBA from resource + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_CONFIGURE ); + cba.DrawDeferred(); + } + break; + } + + case ETtlsUiCmdDisable: + { + if ( pageIndex == ECipherSuitePage ) + { + TInt index = iCipherSuiteListBox->CurrentItemIndex(); + iUiCipherSuites->At( index ).iIsEnabled = EFalse; + iCipherSuites->Update(); + DrawCipherSuitesL(); + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE ); + cba.DrawDeferred(); + } + else if ( pageIndex == EEapTypePage ) + { + TInt itemIndex = iEapTypesListBox->CurrentItemIndex(); + + if( GetEnabledEapTypeCount() > KMinEnabledCount ) + { + // disabling moves item just after the last enabled one, + // so find that position + TInt next = itemIndex; + + while ( next < iUiEapTypes->Count() - 1 && + iUiEapTypes->At( next ).iIsEnabled ) + { + ++next; + } + + if ( next > itemIndex && + !iUiEapTypes->At( next ).iIsEnabled ) + { + --next; + } + + + iUiEapTypes->At( itemIndex ).iIsEnabled = EFalse; + + // move item if needed + MoveEapTypeL( itemIndex, next ); + iEapTypes->Update(); + + // Highlight follows movement. + //iEapTypesListBox->SetCurrentItemIndex( next ); + + // load the new CBA from resource + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + cba.SetCommandSetL( + R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE ); + cba.DrawDeferred(); + } + else + { + HBufC* stringLabel; + stringLabel = StringLoader::LoadL( + R_TTLS_INFO_CANNOT_DISABLE_ALL_EAP_PLUGINS, + iEikonEnv ); + CleanupStack::PushL( stringLabel ); + CAknInformationNote* dialog = new ( ELeave ) + CAknInformationNote( ETrue ); + dialog->ExecuteLD( *stringLabel ); + CleanupStack::PopAndDestroy( stringLabel ); + } + } + break; + } + + case ETtlsUiCmdConfigure: + { + if ( pageIndex == EEapTypePage ) + { + ConfigureL(EFalse); + } + break; + } + + default: + { + break; + } + } + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::PageChangedL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::PageChangedL( TInt aPageId ) + { + if ( !iIsUIConstructionCompleted ) + { + return; + } + + if ( aPageId == KEAPTTLSSETTINGSPAGE ) + { + if (iSettingListBox->ScrollBarFrame()) + { + iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue); + } + if (iEapTypesListBox->ScrollBarFrame()) + { + iEapTypesListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse); + } + if (iCipherSuiteListBox->ScrollBarFrame()) + { + iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse); + } + } + else if ( aPageId == KEAPTTLSEAPPAGE ) + { + if (iSettingListBox->ScrollBarFrame()) + { + iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse); + } + if (iEapTypesListBox->ScrollBarFrame()) + { + iEapTypesListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue); + } + if (iCipherSuiteListBox->ScrollBarFrame()) + { + iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse); + } + } + else if ( aPageId == KEAPTTLSCIPHERPAGE ) + { + if (iSettingListBox->ScrollBarFrame()) + { + iSettingListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse); + } + if (iEapTypesListBox->ScrollBarFrame()) + { + iEapTypesListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(EFalse); + } + if (iCipherSuiteListBox->ScrollBarFrame()) + { + iCipherSuiteListBox->ScrollBarFrame()->ComponentControl(0)->MakeVisible(ETrue); + } + } + + CEikButtonGroupContainer& cba = ButtonGroupContainer(); + if( aPageId == KEAPTTLSSETTINGSPAGE ) + { + cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_EDIT ); + } + else if( aPageId == KEAPTTLSEAPPAGE ) + { + cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_CONFIGURE ); + } + else if( aPageId == KEAPTTLSCIPHERPAGE ) + { + TInt index = iCipherSuiteListBox->CurrentItemIndex(); + if( ( *iUiCipherSuites )[ index ].iIsEnabled ) + { + cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_DISABLE ); + } + else + { + cba.SetCommandSetL( R_TTLS_UI_SOFTKEYS_OPTIONS_BACK_ENABLE ); + } + } + cba.DrawDeferred(); + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::ShowSettingPageL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) + { + TInt index = iSettingListBox->CurrentItemIndex(); + if ( index == EUserCertificateItem ) + { + TInt activeUserCertificate = CheckActiveUserCertificate(); + CDesCArrayFlat* tempArray = new( ELeave )CDesCArrayFlat( + KCertificateArrayGranularity ); + CleanupStack::PushL( tempArray ); + + TDesC* noneText = iEikonEnv->AllocReadResourceLC( + R_TTLS_NONE_SELECTION ); + tempArray->InsertL( 0, *noneText ); + CleanupStack::PopAndDestroy( noneText ); + + for ( TInt i = 0; i < iUiUserCertificates->Count() ; i++ ) + { + TEapTlsPeapUiCertificate certificate = + iUiUserCertificates->At( i ); + SCertEntry entry = certificate.iCertEntry; + TBuf text; + GetFullCertLabelL( entry, text); + tempArray->InsertL( i+1, text ); + } + TInt selected( 0 ); + if ( activeUserCertificate == KErrNotFound ) + { + selected = ShowRadioButtonSettingPageL( R_TTLS_USER_CERT_STRING, + tempArray, 0 ); + } + else + { + selected = ShowRadioButtonSettingPageL( R_TTLS_USER_CERT_STRING, + tempArray, + activeUserCertificate+1 ); + //Plus 1 cause we added 'none' selection + } + + CleanupStack::PopAndDestroy( tempArray ); + UserCertificateHouseKeeping( selected ); + iCertificates->Update(); + DrawSettingsListL(); // List must be drawn again at this stage + } + else if ( index == ECaCertificateItem ) + { + TInt activeCaCertificate = CheckActiveCaCertificate(); + + CDesCArrayFlat* tempArray = new( ELeave )CDesCArrayFlat( + KCertificateArrayGranularity ); + CleanupStack::PushL( tempArray ); + + TDesC* noneText = iEikonEnv->AllocReadResourceLC( + R_TTLS_NONE_SELECTION ); + tempArray->InsertL( 0, *noneText ); + CleanupStack::PopAndDestroy( noneText ); + + for ( TInt i = 0; i < iUiCACertificates->Count(); i++ ) + { + TEapTlsPeapUiCertificate certificate = iUiCACertificates->At( i ); + SCertEntry entry = certificate.iCertEntry; + TBuf text; + GetFullCertLabelL( entry, text ); + tempArray->InsertL( i+1, text ); + } + + TInt selected( 0 ); + if ( activeCaCertificate == KErrNotFound ) + { + selected = ShowRadioButtonSettingPageL( R_TTLS_CA_CERT_STRING, + tempArray, 0 ); + } + else + { + selected = ShowRadioButtonSettingPageL( R_TTLS_CA_CERT_STRING, + tempArray, + activeCaCertificate+1 ); + //Plus 1 cause we added 'none' selection + } + CleanupStack::PopAndDestroy( tempArray ); + CaCertificateHouseKeeping( selected ); + iCertificates->Update(); + DrawSettingsListL(); // List must be drawn again at this stage + } + else + { + CAknSettingItem* item = iSettingArray->Array()->At( index ); + item->EditItemL( aCalledFromMenu ); + item->StoreL(); + } + + DrawNow(); + } + + +// ----------------------------------------------------------------------------- +// CEapPeapUiDialog::MoveEapTypeL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::MoveEapTypeL( TInt aOldPos, TInt aNewPos ) + { + TEapTlsPeapUiEapType originalUpper = iUiEapTypes->At( aOldPos ); + iUiEapTypes->Delete( aOldPos ); + iUiEapTypes->InsertL( aNewPos, originalUpper ); + iUiEapTypes->Compress(); // Might not be needed + iEapTypes->Update(); + DrawEapListL( aNewPos ); + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::DrawEapListL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::DrawEapListL( TInt aWantedIndex ) + { + iEapTypeViewArray->Reset(); + RImplInfoPtrArray eapArray; + eapArray.Reset(); + + REComSession::ListImplementationsL( KEapTypeInterfaceUid, eapArray ); + for ( TInt i = 0; i < iUiEapTypes->Count(); i++ ) + { + TBuf tempLine; + + if ( iUiEapTypes->At( i ).iIsEnabled ) + { + _LIT( KNumTab, "%d\t" ); + tempLine.AppendFormat( KNumTab, i+1 ); + } + else + { + _LIT( KTab, "\t" ); + tempLine.Append( KTab ); + } + + for ( TInt index = 0; index < eapArray.Count(); index++ ) + { + if ( eapArray[index]->DataType() == iUiEapTypes->At( i ).iEapType ) + { + tempLine.Append( eapArray[index]->DisplayName() ); + break; + } + } + + if ( iUiEapTypes->At( i ).iIsEnabled ) + { // Add mark icon to indicate that the eap type is enabled + _LIT( KTab0, "\t0" ); + tempLine.Append( KTab0 ); + } + + iEapTypeViewArray->InsertL( i, tempLine ); + } + + eapArray.ResetAndDestroy(); + iEapTypesListBox->Model()->SetItemTextArray( iEapTypeViewArray ); + iEapTypesListBox->HandleItemAdditionL(); + iEapTypesListBox->SetCurrentItemIndex( aWantedIndex ); + iEapTypesListBox->DrawDeferred(); + iEapTypesListBox->UpdateScrollBarsL(); + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::ShowRadioButtonSettingPageL +// ----------------------------------------------------------------------------- +// +TInt CEapTtlsUiDialog::ShowRadioButtonSettingPageL( TInt aTitle, + CDesCArrayFlat* aValues, + TInt aCurrentItem ) + { + // title of the dialog + HBufC* title = iCoeEnv->AllocReadResourceLC( aTitle ); + + // We have everything to create dialog + CAknRadioButtonSettingPage* dlg = new( ELeave )CAknRadioButtonSettingPage( + R_RADIO_BUTTON_SETTING_PAGE, + aCurrentItem, + aValues ); + CleanupStack::PushL( dlg ); + dlg->SetSettingTextL( *title ); + CleanupStack::Pop( dlg ); + dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ); + CleanupStack::PopAndDestroy( title ); // title + // index must be re-turned upside down, because options list is upside down + return aCurrentItem; + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::DrawCipherSuitesL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::DrawCipherSuitesL() + { + iCipherSuitesViewArray->Reset(); + TInt listCount( 0 ); + TBuf temp; + for ( TInt i = 0; i < iUiCipherSuites->Count(); i++ ) + { + temp.Zero(); + _LIT( KTab, "\t" ); + temp.Append( KTab ); + + TEapTlsPeapUiCipherSuite suite = iUiCipherSuites->At( i ); + TUint32 suiteId = suite.iCipherSuite; + + switch( suiteId ) + { + case 0x0004: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TTLS_SUITE_RSARC4MD5 ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0005: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TTLS_SUITE_RSARC4SHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x000a: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TTLS_SUITE_RSA3DESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0016: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TTLS_SUITE_DHERSA3DESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0013: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TTLS_SUITE_DHEDSS3DESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x002F: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TTLS_SUITE_RSAAESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0032: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TTLS_SUITE_DHERSAAESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + case 0x0033: + { + HBufC* suite = iCoeEnv->AllocReadResourceLC( + R_TTLS_SUITE_DHEDSSAESSHA ); + temp.Append( *suite ); + CleanupStack::PopAndDestroy( suite ); + break; + } + + default: + { + temp.Append( KEmptyString ); + break; + } + } + + if ( iUiCipherSuites->At( i ).iIsEnabled ) + { // Add mark icon to indicate that the suite is enabled + _LIT( KTab0, "\t0" ); + temp.Append( KTab0 ); + } + + iCipherSuitesViewArray->InsertL( listCount, temp ); + listCount++; + } + + iCipherSuiteListBox->Model()->SetItemTextArray( iCipherSuitesViewArray ); + iCipherSuiteListBox->HandleItemAdditionL(); + iCipherSuiteListBox->DrawDeferred(); + iCipherSuiteListBox->UpdateScrollBarsL(); + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::CheckActiveUserCertificate +// ----------------------------------------------------------------------------- +// +TInt CEapTtlsUiDialog::CheckActiveUserCertificate() + { + for ( TInt i = 0; i < iUiUserCertificates->Count(); i++ ) + { + if ( iUiUserCertificates->At( i ).iIsEnabled ) + { + return i; + } + } + + return KErrNotFound; + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::CheckActiveCaCertificate +// ----------------------------------------------------------------------------- +// +TInt CEapTtlsUiDialog::CheckActiveCaCertificate() + { + for ( TInt i = 0; i < iUiCACertificates->Count(); i++ ) + { + if ( iUiCACertificates->At( i ).iIsEnabled ) + { + return i; + } + } + + return KErrNotFound; + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::UserCertificateHouseKeeping +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::UserCertificateHouseKeeping( TInt aSelected ) + { + for ( TInt i = 0; i < iUiUserCertificates->Count(); i++ ) + { + iUiUserCertificates->At( i ).iIsEnabled = EFalse; + } + + if ( aSelected != 0 ) // Zero index is none + { + iUiUserCertificates->At( aSelected-1 ).iIsEnabled = ETrue; + } + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::CaCertificateHouseKeeping +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::CaCertificateHouseKeeping( TInt aSelected ) + { + for ( TInt i = 0; i < iUiCACertificates->Count(); i++ ) + { + iUiCACertificates->At( i ).iIsEnabled = EFalse; + } + + if ( aSelected != 0 ) // Zero index is none + { + iUiCACertificates->At( aSelected-1 ).iIsEnabled = ETrue; + } + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::CreateEapTypeDataBaseL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::CreateEapTypeDataBaseL() + { + RImplInfoPtrArray eapArray; + eapArray.Reset(); + + REComSession::ListImplementationsL( KEapTypeInterfaceUid, eapArray ); + TInt allowedInTtlsCount( 0 ); + for ( TInt i = 0; i < eapArray.Count(); i++ ) + { + if ( !CEapType::IsDisallowedInsideTTLS(*eapArray[i]) ) + { + CImplementationInformation* info = eapArray[i]; + TEapTlsPeapUiEapType tempEapType; + tempEapType.iEapType = info->DataType(); + + // BINARY RESOURCE DATA + + // [FE] [00 00 00] [TEapType_bigendian] + // OR + // [FE] [FF FF FF] [MSCHAPv2_bigendian] + + _LIT8( KExpEapFirstQuad, "\xFE\0\0\0" ); + TPtrC8 firstQuad( tempEapType.iEapType.Ptr(), 4 ); + // TUint32 dataType = BigEndian::Get32( tempEapType.iEapType.Ptr()+4 ); + TUint32 dataType = ( tempEapType.iEapType[4] << 24 ) | + ( tempEapType.iEapType[5] << 16 ) | + ( tempEapType.iEapType[6] << 8 ) | + tempEapType.iEapType[7]; + + + if ( !firstQuad.Compare( KExpEapFirstQuad ) && + ( dataType == EAPSettings::EEapSim || + dataType == EAPSettings::EEapAka ) ) + { + tempEapType.iIsEnabled = ETrue; + iUiEapTypes->InsertL( KFirstElement, tempEapType ); + } + else + { + tempEapType.iIsEnabled = EFalse; + iUiEapTypes->InsertL( allowedInTtlsCount, tempEapType ); + } + + allowedInTtlsCount++; + } + } + + __ASSERT_DEBUG( iUiEapTypes->Count() >= 2, User::Panic( _L("EAP-SIM/AKA missing"), 1) ); + + // Check if EAP-SIM and EAP-AKA are in correct order + + // BINARY RESOURCE DATA + const TDesC8& firstEap = iUiEapTypes->At( KFirstElement ).iEapType; + const TDesC8& secondEap = iUiEapTypes->At( KSecondElement ).iEapType; + + TUint32 dataTypeFirst = ( firstEap[4] << 24 ) | + ( firstEap[5] << 16 ) | + ( firstEap[6] << 8 ) | + firstEap[7]; + TUint32 dataTypeSecond = ( secondEap[4] << 24 ) | + ( secondEap[5] << 16 ) | + ( secondEap[6] << 8 ) | + secondEap[7]; + + // If not, switch them + if ( dataTypeFirst == EAPSettings::EEapAka && + dataTypeSecond == EAPSettings::EEapSim ) + { + TEapTlsPeapUiEapType tempEapType = iUiEapTypes->At( KFirstElement ); + iUiEapTypes->Delete( KFirstElement ); + iUiEapTypes->InsertL( KSecondElement, tempEapType ); + } + + iEapTypes->Update(); + eapArray.ResetAndDestroy(); + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::SetCipherIconsL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::SetCipherIconsL() + { + CArrayPtr< CGulIcon >* icons = new( ELeave ) CAknIconArray( 1 ); + CleanupStack::PushL( icons ); + + MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance(); + + CGulIcon* icon = CGulIcon::NewLC(); + CFbsBitmap* bitmap = NULL; + CFbsBitmap* mask = NULL; + AknsUtils::CreateColorIconL( skinInstance, + KAknsIIDQgnIndiMarkedAdd, + KAknsIIDQsnIconColors, + EAknsCIQsnIconColorsCG13, + bitmap, + mask, + AknIconUtils::AvkonIconFileName(), + EMbmAvkonQgn_indi_marked_add, + EMbmAvkonQgn_indi_marked_add_mask, + KRgbBlack ); + icon->SetBitmap( bitmap ); + icon->SetMask( mask ); + icons->AppendL( icon ); + + CleanupStack::Pop( icon ); + CleanupStack::Pop( icons ); // icons + + iCipherSuiteListBox->ItemDrawer()->ColumnData()->SetIconArray( icons ); + + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::SetEapIconsL +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::SetEapIconsL() + { + CArrayPtr< CGulIcon >* icons = new( ELeave ) CAknIconArray( 1 ); + CleanupStack::PushL( icons ); + + MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance(); + + CGulIcon* icon = CGulIcon::NewLC(); + CFbsBitmap* bitmap = NULL; + CFbsBitmap* mask = NULL; + AknsUtils::CreateColorIconL( skinInstance, + KAknsIIDQgnIndiMarkedAdd, + KAknsIIDQsnIconColors, + EAknsCIQsnIconColorsCG13, + bitmap, + mask, + AknIconUtils::AvkonIconFileName(), + EMbmAvkonQgn_indi_marked_add, + EMbmAvkonQgn_indi_marked_add_mask, + KRgbBlack ); + icon->SetBitmap( bitmap ); + icon->SetMask( mask ); + icons->AppendL( icon ); + + CleanupStack::Pop( icon ); + CleanupStack::Pop( icons ); // icons + + iEapTypesListBox->ItemDrawer()->ColumnData()->SetIconArray( icons ); + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::GetEnabledEapTypeCount +// ----------------------------------------------------------------------------- +// +TUint CEapTtlsUiDialog::GetEnabledEapTypeCount() + { + TUint itemCount( 0 ); + for( TInt i( 0 ); i < iUiEapTypes->Count(); ++i ) + { + if( iUiEapTypes->At( i ).iIsEnabled ) + { + ++itemCount; + } + } + return itemCount; + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::IsPlainMschapv2Enabled +// ----------------------------------------------------------------------------- +// +TBool CEapTtlsUiDialog::IsPlainMschapv2Enabled() + { + TBool isEnabled( EFalse ); + for( TUint i( 0 ); i < iUiEapTypes->Count(); ++i ) + { + // was: _LIT8( KPlainMsChapV2ExpandedId, "\xFE\xFF\xFF\xFF\0\0\0\x1A" ); + // workaround: + _LIT8( KPlainMsChapV2ExpandedId, "\xFE\xFF\xFF\xFF\0\0\0\x63" ); + + const TDesC8& currEap = iUiEapTypes->At( i ).iEapType; + + if ( !currEap.Compare( KPlainMsChapV2ExpandedId ) ) + { + isEnabled = iUiEapTypes->At( i ).iIsEnabled; + break; + } + + } + return isEnabled; + } + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::IsPapEnabled +// ----------------------------------------------------------------------------- +// +TBool CEapTtlsUiDialog::IsPapEnabled() + { + TBool isEnabled( EFalse ); + for( TUint i( 0 ); i < iUiEapTypes->Count(); ++i ) + { + _LIT8( KPapExpandedId, "\xFE\xFF\xFF\xFF\0\0\0\x62" ); + const TDesC8& currEap = iUiEapTypes->At( i ).iEapType; + if ( !currEap.Compare( KPapExpandedId ) ) + { + isEnabled = iUiEapTypes->At( i ).iIsEnabled; + break; + } + } + return isEnabled; + } + + +// ----------------------------------------------------------------------------- +// CEapTtlsUiDialog::GetHelpContext +// ----------------------------------------------------------------------------- +// +void CEapTtlsUiDialog::GetHelpContext( TCoeHelpContext& aContext ) const + { + aContext.iMajor = KHelpUidPlugin; + TPageIds index = static_cast( ActivePageIndex() ); + switch ( index ) + { + case EEapTypePage: + { + aContext.iContext = KSET_HLP_WLAN_EAP_TTLS_TYPES; + break; + } + + case ECipherSuitePage: + { + aContext.iContext = KSET_HLP_WLAN_EAP_TTLS_SUITES; + break; + } + + default: + { + aContext.iContext = KSET_HLP_WLAN_EAP_TTLS_SETT; + break; + } + } + } + + +void CEapTtlsUiDialog::GetFullCertLabelL( const SCertEntry& aCert, + TDes& aFullLabel ) + { + TInt length = 0; + + // For label. + length += aCert.iLabel.Length(); + + // For separator between label and primary name. + length += KNameSeparator.iTypeLength; + + // For primary name. + length += aCert.iPrimaryName.Length(); + + if ( !( aCert.iLabel.Length() ) ) + { + // For secondary name. + length += aCert.iSecondaryName.Length(); + } + + if( length > aFullLabel.MaxLength() ) + { +#if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CEapTtlsUiDialog::GetFullCertLabelL - ERROR! Length Mismatch in Certificate's full name\n") ); +#endif + } + + HBufC* label = HBufC::NewL( length ); + label->Des().Append( aCert.iLabel ); + + label->Des().Append( KNameSeparator ); + label->Des().Append( aCert.iPrimaryName ); + + if ( !( aCert.iLabel.Length() ) ) + { + // Secondary name, only if no label. Certificate manager does the same way. + label->Des().Append( aCert.iSecondaryName ); + } + + aFullLabel.Copy( label->Des().Left( aFullLabel.MaxLength() ) ); + + delete label; + label = NULL; + } + + +// End of file diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/bwinscw/eapfastnotifdlgu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/bwinscw/eapfastnotifdlgu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,4 @@ +EXPORTS + ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) + ?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 2 NONAME ; class CArrayPtr * NotifierArray(void) + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/bwinscw/gtcnotifdlgu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/bwinscw/gtcnotifdlgu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,3 @@ +EXPORTS + ?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr * NotifierArray(void) + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/bwinscw/leapnotifdlgu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/bwinscw/leapnotifdlgu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,3 @@ +EXPORTS + ?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr * NotifierArray(void) + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/bwinscw/mschapv2notifdlgu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/bwinscw/mschapv2notifdlgu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,3 @@ +EXPORTS + ?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr * NotifierArray(void) + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/bwinscw/papnotifdlgu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/bwinscw/papnotifdlgu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,3 @@ +EXPORTS + ?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr * NotifierArray(void) + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/eabi/eapfastnotifdlgu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/eabi/eapfastnotifdlgu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,10 @@ +EXPORTS + _Z24ImplementationGroupProxyRi @ 1 NONAME + _Z13NotifierArrayv @ 2 NONAME + _ZTI19CEapFastPacPwDialog @ 3 NONAME ; ## + _ZTI20CEapFastDialogPlugin @ 4 NONAME ; ## + _ZTI21CEapFastPacFileDialog @ 5 NONAME ; ## + _ZTV19CEapFastPacPwDialog @ 6 NONAME ; ## + _ZTV20CEapFastDialogPlugin @ 7 NONAME ; ## + _ZTV21CEapFastPacFileDialog @ 8 NONAME ; ## + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/eabi/gtcnotifdlgu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/eabi/gtcnotifdlgu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,9 @@ +EXPORTS + _Z13NotifierArrayv @ 1 NONAME + _ZTI16CGtcDialogPlugin @ 2 NONAME ; ## + _ZTI23CGTCResponseQueryDialog @ 3 NONAME ; ## + _ZTI24CGTCMessageDisplayDialog @ 4 NONAME ; ## + _ZTV16CGtcDialogPlugin @ 5 NONAME ; ## + _ZTV23CGTCResponseQueryDialog @ 6 NONAME ; ## + _ZTV24CGTCMessageDisplayDialog @ 7 NONAME ; ## + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/eabi/leapnotifdlgu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/eabi/leapnotifdlgu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,7 @@ +EXPORTS + _Z13NotifierArrayv @ 1 NONAME + _ZTI11CLeapDialog @ 2 NONAME ; ## + _ZTI17CLeapDialogPlugin @ 3 NONAME ; ## + _ZTV11CLeapDialog @ 4 NONAME ; ## + _ZTV17CLeapDialogPlugin @ 5 NONAME ; ## + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/eabi/mschapv2notifdlgu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/eabi/mschapv2notifdlgu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,7 @@ +EXPORTS + _Z13NotifierArrayv @ 1 NONAME + _ZTI15CMsChapv2Dialog @ 2 NONAME ; ## + _ZTI21CMsChapv2DialogPlugin @ 3 NONAME ; ## + _ZTV15CMsChapv2Dialog @ 4 NONAME ; ## + _ZTV21CMsChapv2DialogPlugin @ 5 NONAME ; ## + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/eabi/papnotifdlgu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/eabi/papnotifdlgu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,11 @@ +EXPORTS + _Z13NotifierArrayv @ 1 NONAME + _ZTI14CPapAuthDialog @ 2 NONAME ; ## + _ZTI21CPapNotifDialogPlugin @ 3 NONAME ; ## + _ZTI22CPapChallengeMsgDialog @ 4 NONAME ; ## + _ZTI24CPapChallengeReplyDialog @ 5 NONAME ; ## + _ZTV14CPapAuthDialog @ 6 NONAME ; ## + _ZTV21CPapNotifDialogPlugin @ 7 NONAME ; ## + _ZTV22CPapChallengeMsgDialog @ 8 NONAME ; ## + _ZTV24CPapChallengeReplyDialog @ 9 NONAME ; ## + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/data/2000cf2e.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/data/2000cf2e.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,46 @@ +/* +* Copyright (c) 2001-2009 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 Notifier wrapper resource file +* +*/ + +/* +* %version: tr1cfwln#8 % +*/ + +#include +#include + +RESOURCE REGISTRY_INFO theInfo +{ + dll_uid = 0x2000cf2e; + interfaces = + { + INTERFACE_INFO + { + interface_uid = KUikonUidPluginInterfaceNotifiers; + implementations = + { + IMPLEMENTATION_INFO + { + implementation_uid = 0x2000cf2f; + version_no = 1; + display_name = "TTNOTIFY2V2 EAP notifier wrapper plugin"; + default_data = "TTNOTIFY2V2"; + opaque_data = "0"; + } + }; + } + }; +} diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/inc/eapnotifierdialoguiddefs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/inc/eapnotifierdialoguiddefs.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,49 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of the UIDs used by Connection Dialogs +* +*/ + +/* +* %version: tr1cfwln#8 % +*/ + +#ifndef __EAPNOTIFIERDIALOGUIDDEFS_H__ +#define __EAPNOTIFIERDIALOGUIDDEFS_H__ + +// INCLUDES +#include + + +// CONSTANTS + +// UIDs for EAP notifier plugins + +// ID of EAP-GTC dialog +const TUid KUidGtcDialog = { 0x101f8e7f }; + +// ID of EAP-MSCHAPv2 dialog +const TUid KUidMsChapv2Dialog = { 0x101f8e69 }; + +// ID of PAP dialog +const TUid KUidPapDialog = { 0x200159A9 }; + +#ifdef FF_WLAN_EXTENSIONS +// ID of EAP-LEAP dialog +const TUid KUidLeapDialog = { 0x101f8ea9 }; +#endif + +#endif // __EAPNOTIFIERDIALOGUIDDEFS_H__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/src/eapnotifwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/src/eapnotifwrapper.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,171 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of ecom plugin +* +*/ + +/* +* %version: tr1cfwln#9 % +*/ + +// INCLUDE FILES +#include "eapnotifierdialoguiddefs.h" + +#include +#include // link against aknnotifierwrapper.lib + + +// CONSTANTS +const TInt KMyPriority = MEikSrvNotifierBase2::ENotifierPriorityLow; +const TInt KArrayGranularity = 4; + + +// --------------------------------------------------------- +// CleanupArray() +// --------------------------------------------------------- +// +void CleanupArray( TAny* aArray ) + { + CArrayPtrFlat* + subjects = static_cast*>( aArray ); + TInt lastInd = subjects->Count()-1; + for ( TInt i = lastInd; i >= 0; i-- ) + { + subjects->At( i )->Release(); + } + + delete subjects; + } + + +// --------------------------------------------------------- +// DoCreateNotifierArrayL() +// --------------------------------------------------------- +// +CArrayPtr* DoCreateNotifierArrayL() + { + CArrayPtrFlat* subjects = + new ( ELeave )CArrayPtrFlat( KArrayGranularity ); + + CleanupStack::PushL( TCleanupItem( CleanupArray, subjects ) ); + + // Create Wrappers + CAknCommonNotifierWrapper* master = NULL; + + // EAP-MSCHAPv2 + _LIT( KMsChapv2NotifierPluginName, "mschapv2notifdlg.dll" ); + master = CAknCommonNotifierWrapper::NewL( KUidMsChapv2Dialog, + KUidMsChapv2Dialog, + KMyPriority, + KMsChapv2NotifierPluginName, + 1 ); + + CleanupStack::PushL( master ); + subjects->AppendL( master ); + CleanupStack::Pop( master ); + + + + // EAP-GTC + _LIT( KGtcNotifierPluginName, "gtcnotifdlg.dll" ); + + // Session owning notifier(if default implementation is enough) + master = CAknCommonNotifierWrapper::NewL( KUidGtcDialog, + KUidGtcDialog, + KMyPriority, + KGtcNotifierPluginName, + 1 ); // we don't use synch reply + + CleanupStack::PushL( master ); + subjects->AppendL( master ); + CleanupStack::Pop( master ); + + + // PAP + _LIT( KPapNotifierPluginName, "papnotifdlg.dll" ); + master = CAknCommonNotifierWrapper::NewL( KUidPapDialog, + KUidPapDialog, + KMyPriority, + KPapNotifierPluginName, + 1 ); + + CleanupStack::PushL( master ); + subjects->AppendL( master ); + CleanupStack::Pop( master ); + + + +#ifdef FF_WLAN_EXTENSIONS + + // EAP-LEAP + _LIT( KLeapNotifierPluginName, "leapnotifdlg.dll" ); + master = CAknCommonNotifierWrapper::NewL( KUidLeapDialog, + KUidLeapDialog, + KMyPriority, + KLeapNotifierPluginName, + 1 ); + + CleanupStack::PushL( master ); + subjects->AppendL( master ); + CleanupStack::Pop( master ); + +#endif + + CleanupStack::Pop(); // array cleanup + + return subjects; + } + + +// --------------------------------------------------------- +// NotifierArray() +// --------------------------------------------------------- +// +CArrayPtr* NotifierArray() + // old Lib main entry point + { + CArrayPtr* array = 0; + TRAP_IGNORE( array = DoCreateNotifierArrayL() ); + return array; + } + + +// --------------------------------------------------------- +// ImplementationTable +// --------------------------------------------------------- +// +const TImplementationProxy ImplementationTable[] = + { +#ifdef __EABI__ + {{0x2000cf2f}, ( TFuncPtr )NotifierArray} +#else + {{0x2000cf2f}, NotifierArray} +#endif + }; + +// --------------------------------------------------------- +// ImplementationGroupProxy +// entry point +// --------------------------------------------------------- +// +EXPORT_C const TImplementationProxy* ImplementationGroupProxy( + TInt& aTableCount ) + { + aTableCount = sizeof( ImplementationTable ) / + sizeof( TImplementationProxy ) ; + return ImplementationTable; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/group/EapAkaUi.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/group/EapAkaUi.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,53 @@ +/* +* Copyright (c) 2001-2009 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 AKA UI Project mmp file +* +*/ + +/* +* %version: 21 % +*/ + +#include +#include + + +TARGET eapakaui.lib +TARGETTYPE lib +UID 0x1000008d 0x102072A5 + + +SOURCEPATH ../EapAka/ConfigUi/src + +SOURCE EapAkaUi.cpp +SOURCE EapAkaUiView.cpp +SOURCE EapAkaUiSettingArray.cpp + + +USERINCLUDE ../EapAka/ConfigUi/inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE +APP_LAYER_SYSTEMINCLUDE + +// Resource files +START RESOURCE ../data/EapAkaUi.rss + +HEADER +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS + +END + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/group/EapGtcUi.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/group/EapGtcUi.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,55 @@ +/* +* Copyright (c) 2001-2009 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 GTC UI Project mmp file +* +*/ + +/* +* %version: 21 % +*/ + +#include +#include + + +TARGET eapgtcui.lib +TARGETTYPE lib +UID 0x1000008d 0x102072A9 + + +SOURCEPATH ../EapGtc/ConfigUi/src + +SOURCE EapGtcUi.cpp +SOURCE EapGtcUiView.cpp +SOURCE EapGtcUiSettingArray.cpp + + +USERINCLUDE ../EapGtc/ConfigUi/inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE +APP_LAYER_SYSTEMINCLUDE + + +// Resource files +START RESOURCE ../data/EapGtcUi.rss + +HEADER +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS + +END + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/group/EapMschapv2Ui.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/group/EapMschapv2Ui.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,55 @@ +/* +* Copyright (c) 2001-2009 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 MsChapV2 UI Project mmp file +* +*/ + +/* +* %version: 23 % +*/ + +#include +#include + + +TARGET eapmschapv2ui.lib +TARGETTYPE lib +UID 0x1000008d 0x102072A8 + + +SOURCEPATH ../EapMschapv2/ConfigUi/src + +SOURCE EapMschapv2Ui.cpp +SOURCE EapMschapv2UiView.cpp +SOURCE EapMschapv2UiSettingArray.cpp + + +USERINCLUDE ../EapMschapv2/ConfigUi/inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE +APP_LAYER_SYSTEMINCLUDE + + +// Resource files +START RESOURCE ../data/EapMschapv2Ui.rss + +HEADER +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS + +END + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/group/EapPeapUi.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/group/EapPeapUi.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,53 @@ +/* +* Copyright (c) 2001-2009 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 PEAP UI Project mmp file +* +*/ + +/* +* %version: 22 % +*/ + +#include +#include + +TARGET eappeapui.lib +TARGETTYPE lib +UID 0x1000008d 0x102072AA + + +SOURCEPATH ../EapPeap/ConfigUi/src + +SOURCE EapPeapUi.cpp +SOURCE EapPeapUiView.cpp +SOURCE EapPeapUiSettingArray.cpp + + +USERINCLUDE ../EapPeap/ConfigUi/inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE +APP_LAYER_SYSTEMINCLUDE + +// Resource files +START RESOURCE ../data/EapPeapUi.rss + +HEADER +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS + +END + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/group/EapPluginConfig.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/group/EapPluginConfig.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,82 @@ +/* +* Copyright (c) 2001-2009 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 Plugin Configuration UI Project mmp file +* +*/ + +/* +* %version: 23 % +*/ + +#include +#include + + +TARGET eappluginconfig.dll +TARGETTYPE PLUGIN +UID 0x10009D8D 0x102072BB +CAPABILITY CAP_ECOM_PLUGIN +VENDORID VID_DEFAULT + + +SOURCEPATH ../EapPluginConfig/src + +SOURCE EAPPluginConfiguration.cpp +SOURCE EAPPlugInConfigurationDlg.cpp +SOURCE EAPPlugInConfigurationModel.cpp +SOURCE EAPPluginList.cpp +SOURCE EAPPluginConfigurationProxy.cpp + + +USERINCLUDE ../EapPluginConfig/inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE +APP_LAYER_SYSTEMINCLUDE + + +START RESOURCE ../data/EAPPluginConfigRes.rss + +HEADER +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS + +END // RESOURCE + + +START RESOURCE ../data/102072bb.rss +TARGET eappluginconfig.rsc +TARGETPATH ECOM_RESOURCE_DIR +LANGUAGE_IDS + +END // RESOURCE + + +LIBRARY featmgr.lib +LIBRARY euser.lib +LIBRARY ecom.lib +LIBRARY AknSkins.lib +LIBRARY AknIcon.lib +LIBRARY CommonEngine.lib +LIBRARY HLPLCH.lib // For Series 60 help +LIBRARY eikcoctl.lib +LIBRARY eikdlg.lib +LIBRARY eikcore.lib +LIBRARY cone.lib +LIBRARY avkon.lib +LIBRARY bafl.lib +LIBRARY egul.lib + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/group/EapSimUi.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/group/EapSimUi.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,53 @@ +/* +* Copyright (c) 2001-2009 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 LEAP UI Project mmp file +* +*/ + +/* +* %version: 22 % +*/ + +#include +#include + + +TARGET eapsimui.lib +TARGETTYPE lib +UID 0x1000008d 0x102072A6 + +SOURCEPATH ../EapSim/ConfigUi/src + +SOURCE EapSimUi.cpp +SOURCE EapSimUiView.cpp +SOURCE EapSimUiSettingArray.cpp + + +USERINCLUDE ../EapSim/ConfigUi/inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE +APP_LAYER_SYSTEMINCLUDE + +// Resource files +START RESOURCE ../data/EapSimUi.rss + +HEADER +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS + +END + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/group/EapTlsUi.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/group/EapTlsUi.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,53 @@ +/* +* Copyright (c) 2001-2009 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 TLS UI Project mmp file +* +*/ + +/* +* %version: 21 % +*/ + +#include +#include + +TARGET eaptlsui.lib +TARGETTYPE lib +UID 0x1000008d 0x102072AB + + +SOURCEPATH ../EapTls/ConfigUi/src + +SOURCE EapTlsUi.cpp +SOURCE EapTlsUiView.cpp +SOURCE EapTlsUiSettingArray.cpp + + +USERINCLUDE ../EapTls/ConfigUi/inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE +APP_LAYER_SYSTEMINCLUDE + +// Resource files +START RESOURCE ../data/EapTlsUi.rss + +HEADER +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS + +END + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/group/EapTtlsUi.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/group/EapTtlsUi.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,55 @@ +/* +* Copyright (c) 2001-2009 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 TTLS UI Project mmp file +* +*/ + +/* +* %version: 22 % +*/ + +#include +#include + + +TARGET eapttlsui.lib +TARGETTYPE lib +UID 0x1000008d 0x10101219 + + +SOURCEPATH ../EapTtls/ConfigUi/src + +SOURCE EapTtlsUi.cpp +SOURCE EapTtlsUiView.cpp +SOURCE EapTtlsUiSettingArray.cpp + + +USERINCLUDE ../EapTtls/ConfigUi/inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE +APP_LAYER_SYSTEMINCLUDE + + +// Resource files +START RESOURCE ../data/EapTtlsUi.rss + +HEADER +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS + +END + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/group/GtcNotifDlg.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/group/GtcNotifDlg.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,74 @@ +/* +* Copyright (c) 2001-2009 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: This is project specification file for the GtcNotifDlg +* +*/ + +/* +* %version: 11.1.11 % +*/ + +#include +#include + +TARGET gtcnotifdlg.dll +TARGETTYPE DLL +UID 0x101FDFAE 0x102072AE +CAPABILITY CAP_GENERAL_DLL +VENDORID VID_DEFAULT + + +SOURCEPATH ../EapGtc/NotifierUi/src + +SOURCE GtcNotifDlgPlugin.cpp +SOURCE GTCResponseQueryDialog.cpp +SOURCE GTCMessageDisplayDialog.cpp + + +USERINCLUDE ../EapGtc/NotifierUi/inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE + + +START RESOURCE ../data/GtcNotifDlgUi.rss + +HEADER +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS + +END + + +#if defined(ARMCC) + DEFFILE ../eabi/gtcnotifdlg.def +#elif defined( WINSCW ) + DEFFILE ../bwinscw/gtcnotifdlg.def +#elif defined( WINS ) + DEFFILE ../bwins/gtcnotifdlg.def +#else + DEFFILE ../bmarm/gtcnotifdlg.def +#endif + + +LIBRARY euser.lib eikdlg.lib eiksrv.lib cone.lib commdb.lib eikcore.lib +LIBRARY eikcoctl.lib bafl.lib +LIBRARY avkon.lib +LIBRARY AknSkins.lib +LIBRARY charconv.lib +LIBRARY commonengine.lib +LIBRARY AknNotify.lib + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/group/MsChapv2NotifDlg.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/group/MsChapv2NotifDlg.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,71 @@ +/* +* Copyright (c) 2001-2009 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: This is project specification file for the MsChapv2NotifDlg +* +*/ + +/* +* %version: 10.1.10 % +*/ + +#include +#include + +TARGET mschapv2notifdlg.dll +TARGETTYPE DLL +UID 0x101FDFAE 0x102072B2 +CAPABILITY CAP_GENERAL_DLL +VENDORID VID_DEFAULT + + +SOURCEPATH ../EapMschapv2/NotifierUi/src + +SOURCE MsChapv2NotifDlgPlugin.cpp +SOURCE MsChapv2NotifDialog.cpp + + +USERINCLUDE ../EapMschapv2/NotifierUi/inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE + + +START RESOURCE ../data/MsChapv2NotifDlgUi.rss +HEADER +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS +END + + +#if defined(ARMCC) + DEFFILE ../eabi/mschapv2notifdlg.def +#elif defined( WINSCW ) + DEFFILE ../bwinscw/mschapv2notifdlg.def +#elif defined( WINS ) + DEFFILE ../bwins/mschapv2notifdlg.def +#else + DEFFILE ../bmarm/mschapv2notifdlg.def +#endif + + +LIBRARY euser.lib eikdlg.lib eiksrv.lib cone.lib commdb.lib eikcore.lib +LIBRARY eikcoctl.lib bafl.lib +LIBRARY avkon.lib +LIBRARY AknSkins.lib +LIBRARY charconv.lib +LIBRARY commonengine.lib +LIBRARY AknNotify.lib + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,72 @@ +/* +* Copyright (c) 2001-2009 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: This file provides the information required for building theWLAN EAP Settings UI. +* +*/ + +/* +* %version: 6 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS +// export iby files +../rom/WlanEapSettingsUi.iby CORE_MW_LAYER_IBY_EXPORT_PATH(WlanEapSettingsUi.iby) +../rom/WlanEapSettingsUiResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(WlanEapSettingsUiResources.iby) + +// export localised loc file +../loc/wlaneapsettingsui.loc MW_LAYER_LOC_EXPORT_PATH(wlaneapsettingsui.loc) +../EapAka/ConfigUi/loc/eapakaui.loc MW_LAYER_LOC_EXPORT_PATH(eapakaui.loc) +../EapGtc/ConfigUi/loc/eapgtcui.loc MW_LAYER_LOC_EXPORT_PATH(eapgtcui.loc) +../EapGtc/NotifierUi/loc/gtcnotifdlg.loc MW_LAYER_LOC_EXPORT_PATH(gtcnotifdlg.loc) +../EapMschapv2/ConfigUi/loc/eapmschapv2ui.loc MW_LAYER_LOC_EXPORT_PATH(eapmschapv2ui.loc) +../EapMschapv2/NotifierUi/loc/mschapv2notifdlg.loc MW_LAYER_LOC_EXPORT_PATH(mschapv2notifdlg.loc) +../EapPeap/ConfigUi/loc/eappeapui.loc MW_LAYER_LOC_EXPORT_PATH(eappeapui.loc) +../EapSim/ConfigUi/loc/eapsimui.loc MW_LAYER_LOC_EXPORT_PATH(eapsimui.loc) +../EapTls/ConfigUi/loc/eaptlsui.loc MW_LAYER_LOC_EXPORT_PATH(eaptlsui.loc) +../EapTtls/ConfigUi/loc/eapttlsui.loc MW_LAYER_LOC_EXPORT_PATH(eapttlsui.loc) +../pap/configui/loc/papui.loc MW_LAYER_LOC_EXPORT_PATH(papui.loc) +../pap/notifierui/loc/papnotifdlg.loc MW_LAYER_LOC_EXPORT_PATH(papnotifdlg.loc) + +PRJ_MMPFILES + +// Settings dialogs +EapSimUi.mmp +EapTlsUi.mmp +EapPeapUi.mmp +EapTtlsUi.mmp +EapMschapv2Ui.mmp +EapGtcUi.mmp +EapAkaUi.mmp +papui.mmp + +// Notifiers components +MsChapv2NotifDlg.mmp +GtcNotifDlg.mmp +papnotifdlg.mmp + + +// Notifier wrapper +eapnotifwrapper.mmp + +// Access Point UI interface module +EapPluginConfig.mmp + +PRJ_TESTMMPFILES + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/group/eapnotifwrapper.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/group/eapnotifwrapper.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,56 @@ +/* +* Copyright (c) 2001-2009 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: This is project specification file for the eapnotifwrapper +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +#include +#include + +TARGET eapnotifwrapper.dll +TARGETTYPE PLUGIN +UID 0x10009D8D 0x2000CF2E +VENDORID VID_DEFAULT +CAPABILITY CAP_ECOM_PLUGIN + +LANG SC + +SOURCEPATH ../eapnotifwrapper/src +SOURCE eapnotifwrapper.cpp + +USERINCLUDE ../eapnotifwrapper/inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE + +START RESOURCE ../data/2000cf2e.rss +TARGET eapnotifwrapper.rsc +TARGETPATH ECOM_RESOURCE_DIR +END + + +LIBRARY ecom.lib +LIBRARY aknnotifierwrapper.lib +LIBRARY euser.lib + +DEBUGLIBRARY flogger.lib +DEBUGLIBRARY efsrv.lib +DEBUGLIBRARY cone.lib + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/group/papnotifdlg.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/group/papnotifdlg.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,74 @@ +/* +* Copyright (c) 2001-2009 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: Project specification file for pap/notifierui +* +*/ + +/* +* %version: 7 % +*/ + +#include +#include + +TARGET papnotifdlg.dll +TARGETTYPE DLL +UID 0x101FDFAE 0x200159AA +CAPABILITY CAP_GENERAL_DLL +VENDORID VID_DEFAULT + + +SOURCEPATH ../pap/notifierui/src + +SOURCE papnotifdlgplugin.cpp +SOURCE papauthdialog.cpp +SOURCE papchallengemsgdialog.cpp +SOURCE papchallengereplydialog.cpp + + +USERINCLUDE ../pap/notifierui/inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE + + +START RESOURCE ../data/papnotifdlgui.rss +HEADER +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS +END + + +#if defined(ARMCC) + DEFFILE ../eabi/papnotifdlg.def +#elif defined( WINSCW ) + DEFFILE ../bwinscw/papnotifdlg.def +#elif defined( WINS ) + DEFFILE ../bwins/papnotifdlg.def +#else + DEFFILE ../bmarm/papnotifdlg.def +#endif + + + +LIBRARY euser.lib eikdlg.lib eiksrv.lib cone.lib commdb.lib eikcore.lib +LIBRARY eikcoctl.lib bafl.lib +LIBRARY avkon.lib +LIBRARY AknSkins.lib +LIBRARY charconv.lib +LIBRARY commonengine.lib +LIBRARY AknNotify.lib + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/group/papui.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/group/papui.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,54 @@ +/* +* Copyright (c) 2001-2009 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: Project specification file for pap/configui +* +*/ + +/* +* %version: 8 % +*/ + +#include +#include + + +TARGET papui.lib +TARGETTYPE lib +UID 0x1000008d 0x200159AB + +SOURCEPATH ../pap/configui/src + +SOURCE papui.cpp +SOURCE papuisettingarray.cpp +SOURCE papuiview.cpp +SOURCE papuipwsettingitem.cpp + +USERINCLUDE ../pap/configui/inc + + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE +APP_LAYER_SYSTEMINCLUDE + +// Resource files +START RESOURCE ../data/papui.rss + +HEADER +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS + +END + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/loc/wlaneapsettingsui.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/loc/wlaneapsettingsui.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,424 @@ +/* +* Copyright (c) 2001-2009 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: Common UI strings for WLAN EAP Plugins +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + + +//d:Command in options menu. Open configuration settings. +//l:list_single_pane_t1_cp2 +//w: +//r:3.1 +// +#define qtn_wlan_options_eap_plugin_configure "Configure" + + +//d:Command in options menu. Enables a plugin. +//l:list_single_pane_t1_cp2 +//w: +//r:3.1 +// +#define qtn_wlan_options_eap_plugin_enable "Enable" + + +//d:Command in options menu. Disables a plugin. +//l:list_single_pane_t1_cp2 +//w: +//r:3.1 +// +#define qtn_wlan_options_eap_plugin_disable "Disable" + + +//d:MSK text. Open configuration settings. +//l:control_pane_t3/opt7 +//w: +//r:3.2 +// +#define qtn_msk_wlan_eap_configure "Configure" + + +//d:MSK text. Enables a cipher suite. +//l:control_pane_t3/opt7 +//w: +//r:3.2 +// +#define qtn_msk_wlan_eap_cs_enable "Enable" + + +//d:MSK text. Disables a cipher suite. +//l:control_pane_t3/opt7 +//w: +//r:3.2 +// +#define qtn_msk_wlan_eap_cs_disable "Disable" + + +//d:Options list item, command. Selected plugin is moved up one row in a +//d:numbered EAP type list, where list order represents the priority. +//l:list_single_pane_t1_cp2 +//w: +//r:3.1 +// +#define qtn_wlan_options_eap_plugin_priority_up "Raise priority" + + +//d:Options list item, command. Selected plugin is moved down one row in a +//d:numbered EAP type list, where list order represents the priority. +//l:list_single_pane_t1_cp2 +//w: +//r:3.1 +// +#define qtn_wlan_options_eap_plugin_priority_down "Lower priority" + + +//d:Info note to the user when he is trying to disable all the EAP plugins +//l:popup_note_window +//w: +//r:3.1 +// +#define qtn_wlan_info_cannot_disable_all_eap_plugins "At least one EAP plug-in has to be enabled" + + +//d:The setting item for user name entry +//l:list_setting_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_username "User name" + + +//d:The setting item that specifies what kind of user name is in use. +//d:Possible options are "From SIM" +//d:(qtn_wlan_eap_sett_username_inuse_from_sim), "From certificate" +//d:(qtn_wlan_eap_sett_username_inuse_from_cert) or "User-configured" +//d:(qtn_wlan_eap_sett_username_inuse_user) +//l:list_setting_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_username_inuse "User name in use" + + +//d:One of the setting item values for qtn_wlan_eap_sett_username_inuse +//l:list_set_graphic_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_username_inuse_from_sim "From SIM" + + +//d:One of the setting item values for qtn_wlan_eap_sett_username_inuse +//l:list_set_graphic_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_username_inuse_from_cert "From certificate" + + +//d:One of the setting item values for qtn_wlan_eap_sett_username_inuse +//l:list_set_graphic_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_username_inuse_user "User-configured" + + +//d:The setting item is for password promt +//l:list_setting_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_password "Password" + + +//d:The setting item where the user can choose if he should be prompted for the +//d:password or not. Possible options are "Yes" +//d:(qtn_wlan_eap_sett_passprompt_on) or "No" +//d:(qtn_wlan_eap_sett_passprompt_off). +//l:list_setting_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_passprompt "Prompt password" + + +//d:One of the setting item values for qtn_wlan_eap_sett_passprompt +//l:list_set_graphic_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_passprompt_on "Yes" + + +//d:One of the setting item values for qtn_wlan_eap_sett_passprompt +//l:list_set_graphic_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_passprompt_off "No" + + +//d:The setting item for Realm entry +//l:list_setting_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_realm "Realm" + + +//d:The setting item that specifies what kind of realm is in use. +//d:Possible options are "From SIM" (qtn_wlan_eap_sett_realm_inuse_from_sim), +//d:"From certificate" (qtn_wlan_eap_sett_realm_inuse_from_cert) or +//d:"User-configured" (qtn_wlan_eap_sett_realm_inuse_user). +//l:list_setting_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_realm_inuse "Realm in use" + + +//d:One of the setting item values for qtn_wlan_eap_sett_realm_inuse +//l:list_set_graphic_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_realm_inuse_from_sim "From SIM" + + +//d:One of the setting item values for qtn_wlan_eap_sett_realm_inuse +//l:list_set_graphic_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_realm_inuse_from_cert "From certificate" + + +//d:One of the setting item values for qtn_wlan_eap_sett_realm_inuse +//l:list_set_graphic_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_realm_inuse_user "User-configured" + + +//d:The setting item for user certificate entry +//d:Possible options are "(not defined)" (qtn_wlan_eap_cert_not_defined), +//d:"None" (qtn_wlan_eap_cert_none_selection), or one of the installed user +//d:certificates. +//l:list_setting_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_user_certificate "User certificate" + + +//d:The setting item for CA certificate entry. +//d:Possible options are "(not defined)" (qtn_wlan_eap_cert_not_defined), +//d:"None" (qtn_wlan_eap_cert_none_selection), or one of the installed user +//d:certificates. +//l:list_setting_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_sett_ca_certificate "CA certificate" + + +//d:Not defined text to qtn_wlan_eap_sett_user_certificate and +//d:qtn_wlan_eap_sett_ca_certificate setting items in case +//d:no certificate has been selected. +//l:list_set_graphic_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_cert_not_defined "(not defined)" + + +//d:One of the setting item values for qtn_wlan_eap_sett_user_certificate and +//d:qtn_wlan_eap_sett_ca_certificate. +//l:list_set_graphic_pane_t1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_cert_none_selection "None" + + +//d:Text in the tab for Settings page. +//l:tabs_2_active_pane_t1/opt1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_tab_settings "Settings" + + +//d:Text in the tab for EAP type selection page +//l:tabs_2_active_pane_t1/opt1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_tab_eap_types "EAP types" + + +//d:Text in the tab for Cipher suites selection page +//l:tabs_2_active_pane_t1/opt1 +//w: +//r:3.1 +// +#define qtn_wlan_eap_tab_cipher_suites "Cipher suites" + + +//d:Cipher suite type text in list control +//l:list_single_number_pane_t1/opt2 +//w: +//r:3.1 +// +#define qtn_wlan_eap_cipher_rsarc4md5 "RSA,RC4,MD5" + + +//d:Cipher suite type text in list control +//l:list_single_number_pane_t1/opt2 +//w: +//r:3.1 +// +#define qtn_wlan_eap_cipher_rsarc4sha "RSA,RC4,SHA" + + +//d:Cipher suite type text in list control +//l:list_single_number_pane_t1/opt2 +//w: +//r:3.1 +// +#define qtn_wlan_eap_cipher_rsa3dessha "RSA,3DES,SHA" + + +//d:Cipher suite type text in list control +//l:list_single_number_pane_t1/opt2 +//w: +//r:3.1 +// +#define qtn_wlan_eap_cipher_dhersa3dessha "DHE-RSA,3DES,SHA" + + +//d:Cipher suite type text in list control +//l:list_single_number_pane_t1/opt2 +//w: +//r:3.1 +// +#define qtn_wlan_eap_cipher_dhedss3dessha "DHE-DSS,3DES,SHA" + + +//d:Cipher suite type text in list control +//l:list_single_number_pane_t1/opt2 +//w: +//r:3.1 +// +#define qtn_wlan_eap_cipher_rsaaessha "RSA,AES,SHA" + + +//d:Cipher suite type text in list control +//l:list_single_number_pane_t1/opt2 +//w: +//r:3.1 +// +#define qtn_wlan_eap_cipher_dhersaaessha "DHE-RSA,AES,SHA" + + +//d:Cipher suite type text in list control +//l:list_single_number_pane_t1/opt2 +//w: +//r:3.1 +// +#define qtn_wlan_eap_cipher_dhedssaessha "DHE-DSS,AES,SHA" + + +//d:The setting item that specifies if TLS privacy is used or not. +//d:Possible options are "On" +//d:(qtn_wlan_eap_sett_tls_privacy_on) or "Off" +//d:(qtn_wlan_eap_sett_tls_privacy_off) +//l:list_setting_pane_t1 +//w: +//r:3.2 +// +#define qtn_wlan_eap_sett_tls_privacy "TLS privacy" + + +//d:One of the setting item values for qtn_wlan_eap_sett_tls_privacy +//l:list_set_graphic_pane_t1 +//w: +//r:3.2 +// +#define qtn_wlan_eap_sett_tls_privacy_on "On" + +//d:One of the setting item values for qtn_wlan_eap_sett_tls_privacy +//l:list_set_graphic_pane_t1 +//w: +//r:3.2 +// +#define qtn_wlan_eap_sett_tls_privacy_off "Off" + + +//d:Information note for user when passwords do not match +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_wlan_eap_info_passwords_do_not_match "Passwords do not match, try again" + + +//d:Error note for user when password is incorrect +//l:popup_note_window +//w: +//r:3.2 +// +#define qtn_wlan_eap_error_incorrect_password "Incorrect password" + + +//d:The popup query for user to create a PAC store password +//l:popup_query_data_window +//w: +//r:3.2 +// +#define qtn_wlan_eap_fast_prmpt_create_pac_password "Create password for the encrypted PAC store:" + + +//d:The popup query for user to verify a PAC store password +//l:popup_query_data_window +//w: +//r:3.2 +// +#define qtn_wlan_eap_fast_prmpt_verify_password "Verify password:" + + +//d:The popup query for user to set a PAC store password +//l:popup_query_data_window +//w: +//r:3.2 +// +#define qtn_wlan_eap_fast_prmpt_pac_password "PAC store password:" + +//d:Default value text for a username setting item whose value has not yet been set. +//d:Used for the username setting qtn_wlan_eap_sett_username +//l:list_set_graphic_pane_t1 +//w: +//r:5.0.1 +// +#define qtn_wlan_eap_sett_username_not_defined "(not defined)" + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/configui/data/papui.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/data/papui.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,239 @@ +/* +* Copyright (c) 2001-2009 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: PAP UI resource file +* +*/ + +/* +* %version: 8 % +*/ + +// RESOURCE IDENTIFIER +NAME PAPC + +// INCLUDES +#include +#include "papui.hrh" // Enums for these resources +#include // Localisation file +#include +#include +#include +#include +#include +#include + + +// CONSTANTS + +#define ESecUiQueryFlags (EGeneralQueryFlags | EEikDialogFlagNotifyEsc | EEikDialogFlagWait) + + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + + +RESOURCE TBUF16 { buf=""; } + + +RESOURCE CBA r_pap_ui_softkeys_options_back_edit + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = EPapUiCmdChange; txt = qtn_msk_change; } + }; + } + +RESOURCE DIALOG r_pap_setting_dialog + { +/* flags = EEikDialogFlagFillAppClientRect | + EEikDialogFlagCbaButtons | + EEikDialogFlagWait | + EEikDialogFlagNotifyEsc; */ + + flags = EAknDialogSelectionList | EEikDialogFlagWait; + buttons = r_pap_ui_softkeys_options_back_edit; + items = + { + DLG_LINE + { + id = EPapSettingsListBox; + type = EAknCtSettingListBox; + control = LISTBOX + { + flags = EAknListBoxMenuList; + }; + } + }; + } + + + +RESOURCE AVKON_SETTING_PAGE r_pap_username_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label= qtn_wlan_eap_sett_username; + type = EEikCtEdwin; + editor_resource_id = r_pap_username_editor; + } + +RESOURCE EDWIN r_pap_username_editor + { + width = 9; + lines = 5; + maxlength = KPapUsernameMaxLength; + allowed_input_modes = EAknEditorTextInputMode | EAknEditorNumericInputMode; + default_input_mode = EAknEditorTextInputMode; + default_case = EAknEditorLowerCase; + avkon_flags = EAknEditorFlagLatinInputModesOnly; + flags = EEikEdwinAutoSelection | EEikEdwinNoLineOrParaBreaks; + } + +RESOURCE AVKON_SETTING_PAGE r_pap_password_popup_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_password; + type = EAknCtPopupSettingList; + editor_resource_id = r_pap_setting_enumerated_popup; + } + +RESOURCE POPUP_SETTING_LIST r_pap_setting_enumerated_popup + { + flags = EAknPopupSettingListFlagInitialised; + } + + +RESOURCE AVKON_POPUP_SETTING_TEXTS r_pap_password_prompt_choices + { + setting_texts_resource = r_pap_prompt_choices_resource; + popped_up_texts_resource = r_pap_prompt_choices_texts_array; + } + +RESOURCE ARRAY r_pap_prompt_choices_resource + { + items= + { + AVKON_ENUMERATED_TEXT + { + value = 1; + text = qtn_wlan_eap_pap_sett_password_prompt; + }, + + AVKON_ENUMERATED_TEXT + { + value = 0; + text = qtn_wlan_eap_pap_sett_password_udef; + } + }; + } + +RESOURCE ARRAY r_pap_prompt_choices_texts_array + { + items= + { + LBUF { txt = qtn_wlan_eap_pap_sett_password_prompt; }, + LBUF { txt = qtn_wlan_eap_pap_sett_password_udef; } + }; + } + +RESOURCE AVKON_SETTING_PAGE r_pap_password_setting_page + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + label = qtn_wlan_eap_sett_password; + type = EEikCtSecretEd; + editor_resource_id = r_pap_setting_password; + } + + +RESOURCE SECRETED r_pap_setting_password + { + num_letters = KPapPasswordMaxLength; + } + +// No dialog, make this as another setting page, only that +// it is not visible when setting list is drawn. +// It can be referred to and opened with the item id defined in .hrh. +/*RESOURCE DIALOG r_pap_password_dialog + { + flags=ESecUiQueryFlags; + buttons=R_AVKON_SOFTKEYS_OK_CANCEL__OK; + items= + { + DLG_LINE + { + type=EAknCtQuery; + id=EGeneralQuery; + control= AVKON_DATA_QUERY + { + layout = ECodeLayout; + label = qtn_wlan_eap_sett_password; + control = SECRETED + { + num_letters = KPapPasswordMaxLength; + }; + }; + } + }; + } +*/ + +RESOURCE MENU_BAR r_pap_menubar + { + titles = + { + MENU_TITLE + { + menu_pane = r_pap_menu_pane; + txt = ""; + } + }; + } + + +RESOURCE MENU_PANE r_pap_menu_pane + { + items = + { + MENU_ITEM + { + command = EPapUiCmdChange; + txt = qtn_options_change; + flags = EEikMenuItemAction; + }, + + MENU_ITEM + { + command = EAknCmdHelp; + txt = qtn_options_help; + }, + + MENU_ITEM + { + command = EAknCmdExit; + txt = qtn_options_exit; + } + }; + } + + +// Resource strings +RESOURCE TBUF r_pap_settings_title { buf = qtn_wlan_eap_pap_title; } +RESOURCE TBUF r_pap_username_not_defined { buf = qtn_wlan_eap_sett_username_not_defined; } +RESOURCE TBUF r_pap_define_username_info_note { buf = qtn_wlan_eap_pap_define_user_name; } +RESOURCE TBUF r_pap_username_setting_title { buf = qtn_wlan_eap_sett_username; } +RESOURCE TBUF r_pap_password_setting_title { buf = qtn_wlan_eap_sett_password; } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papui.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papui.hrh Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,60 @@ +/* +* Copyright (c) 2001-2009 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: PAP UI hrh file +* +*/ + +/* +* %version: % +*/ + +#ifndef _PAPUI_HRH_ +#define _PAPUI_HRH_ + +#define KPapUsernameMaxLength 253 +#define KPapPasswordMaxLength 128 + +enum TPapUiMenuCommands + { + EPapUiCmdUndefined = 6000, + EPapUiCmdChange + }; + +enum TPapUiNotes + { + TPapUiGeneralError = 6100 + }; + +enum TPapUiLines + { + EPapSettingsListBox = 6200 + }; + +enum TPapSettingIds + { + EPapSettingUsernameSettingId=6300, + EPapSettingPassPromptSettingId, + EPapSettingPasswordSettingId + }; + +enum TPapSettingItemId + { + EPapSettingPageUserName=6400, + EPapSettingPagePasswordPrompt, + EPapSettingPagePassword + }; + +#endif //_PAPUI_HRH_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuipwsettingitem.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuipwsettingitem.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,75 @@ +/* +* Copyright (c) 2001-2009 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: Header file of PAP UI password setting item +* +*/ + +/* +* %version: 5 % +*/ + +#ifndef _PAPUIPWSETTINGITEM_H_ +#define _PAPUIPWSETTINGITEM_H_ + +// INCLUDES +#include + +// FORWARD DECLARATIONS +class CPapSettingItemArray; + +// CLASS DECLARATION + +/** +* Password setting item class definition +*/ +class CPapUiPwSettingItem : public CAknPasswordSettingItem + { + public: + + CPapUiPwSettingItem( TInt aIdentifier, + enum TAknPasswordSettingItemMode aMode, + TDes &aPassword, + CPapSettingItemArray* aParent ); + + ~CPapUiPwSettingItem(); + + + public: // From CAknSettingItem + + /** + * Handles setting page events. + * @param aSettingPage The originating setting page. + * @param aEventType A code for the event. + */ + void HandleSettingPageEventL( + CAknSettingPage *aSettingPage, TAknSettingPageEvent aEventType ); + + public: // new + + /** + * Deletes the password. + */ + void DeletePasswordL(); + + + private: + + // Reference, not owned + CPapSettingItemArray* iParent; + }; + + +#endif // _PAPUIPWSETTINGITEM_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuisettingarray.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuisettingarray.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,76 @@ +/* +* Copyright (c) 2001-2009 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: Header file of PAP UI settings array +* +*/ + +/* +* %version: 6 % +*/ + +#ifndef _PAPUISETTINGARRAY_H_ +#define _PAPUISETTINGARRAY_H_ + +// INCLUDES +#include +#include "papui.hrh" + + +// CLASS DECLARATION + +/** +*/ +class CPapSettingItemArray : public CBase + { + public: + static CPapSettingItemArray* NewL(); + virtual ~CPapSettingItemArray(); + CAknSettingItem* Item( TPapSettingItemId aItem ); + CAknSettingItemArray* Array(); + void StoreSettingsL(); + void AddTextItemL( TDes& aBuffer, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal ); + void AddBinarySettingItemL( TInt aSettingPageResourceId, + TInt aTitleResourceId, + TInt aAssociatedResourceId, + TInt aOrdinal, + TBool& aModifiedValue ); + void AddPasswordItemL( TDes& aPassword, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal ); + void PwItemCancelled( TBool aIsCancelled ); + TBool IsPwItemCancelled(); + + + protected: + CPapSettingItemArray(); + void ConstructL(); + + + private: + CEikonEnv* iEnv; + CAknSettingItemArray* iArray; + TBool iPwItemCancelled; + }; + +#endif // _PAPUISETTINGARRAY_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuiview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuiview.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,129 @@ +/* +* Copyright (c) 2001-2009 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: Header file of PAP UI setting dialog +* +*/ + +/* +* %version: 7 % +*/ + +#ifndef _PAPUIVIEW_H_ +#define _PAPUIVIEW_H_ + +// INCLUDES +#include // AVKON components +#include // For changing status pane +#include +#include +#include +#include +#include +#include +#include "papui.hrh" +#include +#include +#include + +// FORWARD DECLARATIONS +class CAknSettingStyleListBox; +class CSettingsListBoxItemDrawer; +class CPapSettingItemArray; + + +// CLASS DECLARATION + +/** +* Settings dialog class definition +*/ +class CPapUiDialog : public CAknDialog, + public MEikListBoxObserver + { + public: + CPapUiDialog( CEapTlsPeapUiConnection* aConnection, + TInt& aButtonId ); + + ~CPapUiDialog(); + + /** + * Create and launch dialog. + * @param aResourceId The resource ID of the dialog to load. + * @return The ID of the button that closed the dialog + */ + TInt ConstructAndRunLD( TInt aResourceId ); + + + public: // From MEikListBoxObserver + + /** + * Handles list box events. + * @param aListBox The originating list box. + * @param aEventType A code for the event. + */ + void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType ); + + + protected: + void PreLayoutDynInitL(); + TBool OkToExitL( TInt aButtonId ); + void ProcessCommandL( TInt aCommand ); + + private: + void ChangeTitleL( TBool aIsStarted ); + void DrawSettingsListL(); + void ShowSettingPageL( TInt aCalledFromMenu ); + void ShowUsernameSettingPageL(); + void ShowPasswordSettingPageL(); + void GetHelpContext( TCoeHelpContext& aContext ) const; + + /** + * Initialize menu pane. + * @param aResourceId Menu pane resource id. + * @param CEikMenuPane Menu pane. + */ + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + /** + * Copy the setting data to the eapol db data pointer. + */ + void UpdateEapolData(); + + + private: + CEapTlsPeapUiConnection* iConnection; + CEapTlsPeapUiDataConnection* iDataConnection; + CEapTlsPeapUiTlsPeapData* iUiData; + CPapSettingItemArray* iSettingArray; + CAknSettingStyleListBox* iSettingListBox; + CAknNavigationControlContainer* iNaviPane; + CAknNavigationDecorator* iNaviDecorator; + HBufC* iPreviousText; + TInt* iButtonId; + + // Temporary UI data as shown on the Settings UI + TBuf iSettingUsername; + TBool iSettingPwPrompt; + TBuf iSettingPassword; + + + // Tells the status of UI construction. TRUE if UI construction is completed. + TBool iIsUIConstructionCompleted; + + TBool iUsernameCancelled; + }; + + +#endif // _PAPUIVIEW_H_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/configui/loc/papui.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/loc/papui.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,62 @@ +/* +* Copyright (c) 2001-2009 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: UI strings for WLAN PAP configuration settings +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + + +//d:UI title for main view +//l:title_pane_t2/opt9 +//w: +//r:5.0.1 +// +#define qtn_wlan_eap_pap_title "PAP settings" + + +//d:One of the setting item values for qtn_wlan_eap_pap_sett_password +//l:list_set_graphic_pane_t1 +//w: +//r:5.0.1 +// +#define qtn_wlan_eap_pap_sett_password_prompt "Prompt" + + +//d:One of the setting item values for qtn_wlan_eap_pap_sett_password +//l:list_set_graphic_pane_t1 +//w: +//r:5.0.1 +// +#define qtn_wlan_eap_pap_sett_password_udef "User defined" + +//d:Information note when user accepts a password but +//d: the user name is undefined +//l:popup_note_window +//w: +//r:5.0.1 +// +#define qtn_wlan_eap_pap_define_user_name "Please define a user name" + + + + + + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papui.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,139 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of PAP UI class +* +*/ + +/* +* %version: 8 % +*/ + +// INCLUDE FILES +#include +#include +#include "papuiview.h" +#include +#include +#include +#include + + +// CONSTANTS +_LIT( KDriveZ, "z:" ); // ROM folder +_LIT( KResourceFileName, "papui.rsc" ); + + +// CLASS DECLARATION +class TResourceFileCleanupItem + { + public: + CCoeEnv* iCoeEnv; + TInt iResourceFileOffset; + }; + + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CleanupResourceFile +// ----------------------------------------------------------------------------- +// +static void CleanupResourceFile( TAny* aObject ) + { + TResourceFileCleanupItem* item = + REINTERPRET_CAST( TResourceFileCleanupItem*, aObject ); + item->iCoeEnv->DeleteResourceFile( item->iResourceFileOffset ); + delete item; + } + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CPapUi::CPapUi +// ----------------------------------------------------------------------------- +// +CPapUi::CPapUi( CEapTlsPeapUiConnection* aConnection ) +: iConnection( aConnection ) + { + } + + +// ----------------------------------------------------------------------------- +// CPapUi::NewL +// ----------------------------------------------------------------------------- +// +CPapUi* CPapUi::NewL( CEapTlsPeapUiConnection* aConnection ) + { + CPapUi* self = new( ELeave ) CPapUi( aConnection ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CPapUi::ConstructL +// ----------------------------------------------------------------------------- +// +void CPapUi::ConstructL() + { + } + + +// ----------------------------------------------------------------------------- +// CPapUi::~CPapUi +// ----------------------------------------------------------------------------- +// +CPapUi::~CPapUi() + { + } + + +// ----------------------------------------------------------------------------- +// CPapUi::InvokeUiL +// ----------------------------------------------------------------------------- +// +TInt CPapUi::InvokeUiL() + { + TFileName fileName; + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + CCoeEnv* coeEnv = CCoeEnv::Static(); + + BaflUtils::NearestLanguageFile( coeEnv->FsSession(), fileName ); + + TResourceFileCleanupItem* item = new( ELeave ) TResourceFileCleanupItem; + + item->iCoeEnv = coeEnv; + CleanupStack::PushL( TCleanupItem( CleanupResourceFile, item ) ); + + item->iResourceFileOffset = coeEnv->AddResourceFileL( fileName ); + + TInt buttonId; + CPapUiDialog* settingsDlg = new( ELeave ) CPapUiDialog( + iConnection, buttonId ); + + settingsDlg->ConstructAndRunLD( R_PAP_SETTING_DIALOG ); + + CleanupStack::PopAndDestroy(); // Resource file + + return buttonId; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuipwsettingitem.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuipwsettingitem.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,99 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of PAP UI password setting item +* +*/ + +/* +* %version: 5 % +*/ + +// INCLUDE FILES +#include "papuipwsettingitem.h" +#include "papuisettingarray.h" +#include + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CPapUiPwSettingItem::CPapUiPwSettingItem +// ----------------------------------------------------------------------------- +// +CPapUiPwSettingItem::CPapUiPwSettingItem( TInt aIdentifier, + enum TAknPasswordSettingItemMode aMode, + TDes &aPassword, + CPapSettingItemArray* aParent ) + : CAknPasswordSettingItem( aIdentifier, aMode, aPassword ), + iParent ( aParent ) + { + } + + + +// ----------------------------------------------------------------------------- +// CPapUiPwSettingItem::~CPapUiPwSettingItem +// ----------------------------------------------------------------------------- +// +CPapUiPwSettingItem::~CPapUiPwSettingItem() + { + } + + +// --------------------------------------------------------- +// CPapUiPwSettingItem::HandleSettingPageEventL +// --------------------------------------------------------- +// +void CPapUiPwSettingItem::HandleSettingPageEventL( + CAknSettingPage * /*aSettingPage*/, TAknSettingPageEvent aEventType ) + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CPapUiPwSettingItem::HandleSettingPageEventL, event = %d"), + aEventType ); + #endif + + switch ( aEventType ) + { + case EEventSettingCancelled: + { + iParent->PwItemCancelled( ETrue ); + break; + } + + case EEventSettingChanged: + case EEventSettingOked: + { + iParent->PwItemCancelled( EFalse ); + break; + } + + default: + { + break; + }; + }; + } + +// --------------------------------------------------------- +// CPapUiPwSettingItem::DeletePasswordL +// --------------------------------------------------------- +// +void CPapUiPwSettingItem::DeletePasswordL() + { + TPtr ptr = InternalTextPtr(); + ptr.Copy( KNullDesC ); + StoreL(); + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuisettingarray.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuisettingarray.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,247 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of PAP UI settings array +* +*/ + +/* +* %version: 6 % +*/ + +// INCLUDE FILES +#include "papuisettingarray.h" +#include "papui.hrh" +#include "papuipwsettingitem.h" +#include +#include +#include + +// CONSTANTS +_LIT( KEmptyPassword, "****" ); + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CPapSettingItemArray::CPapSettingItemArray +// ----------------------------------------------------------------------------- +// +CPapSettingItemArray::CPapSettingItemArray() + { + iEnv = CEikonEnv::Static(); + } + + +// ----------------------------------------------------------------------------- +// CPapSettingItemArray::NewL +// ----------------------------------------------------------------------------- +// +CPapSettingItemArray* CPapSettingItemArray::NewL() + { + CPapSettingItemArray* self = new( ELeave ) CPapSettingItemArray(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); // self + return self; + } + + +// ----------------------------------------------------------------------------- +// CPapSettingItemArray::ConstructL +// ----------------------------------------------------------------------------- +// +void CPapSettingItemArray::ConstructL() + { + iArray = new( ELeave ) CAknSettingItemArray( 2, EFalse, 0 ); + } + + +// ----------------------------------------------------------------------------- +// CPapSettingItemArray::~CPapSettingItemArray +// ----------------------------------------------------------------------------- +// +CPapSettingItemArray::~CPapSettingItemArray() + { + if( iArray ) + { + // ResetAndDestroy() + iArray->ResetAndDestroy(); + } + delete iArray; + iArray = NULL; + } + + +// ----------------------------------------------------------------------------- +// CPapSettingItemArray::Item +// ----------------------------------------------------------------------------- +// +CAknSettingItem* CPapSettingItemArray::Item( TPapSettingItemId aId ) + { + for( TInt i = 0; i < iArray->Count(); i++ ) + { + if( iArray->At( i )->Identifier() == aId ) + { + return iArray->At( i ); + } + } + + __ASSERT_DEBUG( EFalse, User::Invariant() ); + return NULL; + } + + +// ----------------------------------------------------------------------------- +// CEapFastSettingItemArray::Array +// ----------------------------------------------------------------------------- +// +CAknSettingItemArray* CPapSettingItemArray::Array() + { + return iArray; + } + + +// ----------------------------------------------------------------------------- +// CPapSettingItemArray::StoreSettingsL +// ----------------------------------------------------------------------------- +// +void CPapSettingItemArray::StoreSettingsL() + { + // Do what SettingItemList::StoreSettings would do. + for( TInt i( 0 ); i < iArray->Count(); ++i ) + { + iArray->At( i )->StoreL(); + } + } + + +// ----------------------------------------------------------------------------- +// CPapSettingItemArray::AddTextItemL +// ----------------------------------------------------------------------------- +// +void CPapSettingItemArray::AddTextItemL( TDes& aBuffer, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal) + { + // Create new setting item + CAknTextSettingItem* settingItem = + new( ELeave ) CAknTextSettingItem( aId, aBuffer ); + CleanupStack::PushL( settingItem ); + + HBufC* usernameNotDefinedText = iEnv->AllocReadResourceLC( + R_PAP_USERNAME_NOT_DEFINED ); + settingItem->SetEmptyItemTextL( *usernameNotDefinedText ); + CleanupStack::PopAndDestroy( usernameNotDefinedText ); + + settingItem->SetSettingPageFlags( + CAknTextSettingPage::EZeroLengthNotOffered ); + + // Construct setting item with parametrized values + HBufC* itemTitle = iEnv->AllocReadResourceLC( aTitleResource ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResource, EAknCtPopupSettingList, + NULL, aAssociatedResource ); + + // Append item to settingitem-array + iArray->InsertL( aOrdinal, settingItem ); + + CleanupStack::PopAndDestroy( itemTitle ); + // Items are destroyed in destructor when resetting array + CleanupStack::Pop( settingItem ); + } + + +// ----------------------------------------------------------------------------- +// CPapSettingItemArray::AddBinarySettingItemL +// ----------------------------------------------------------------------------- +// +void CPapSettingItemArray::AddBinarySettingItemL( + TInt aSettingPageResourceId, + TInt aTitleResourceId, + TInt aAssociatedResourceId, + TInt aOrdinal, + TBool& aModifiedValue ) + { + CAknSettingItem* settingItem = new ( ELeave ) + CAknBinaryPopupSettingItem( 0, aModifiedValue ); + CleanupStack::PushL( settingItem ); + + HBufC* itemTitle = iEnv->AllocReadResourceLC( aTitleResourceId ); + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResourceId, EAknCtPopupSettingList, + NULL, aAssociatedResourceId ); + iArray->AppendL( settingItem ); + + CleanupStack::PopAndDestroy( itemTitle ); + CleanupStack::Pop( settingItem ); + } + +// ----------------------------------------------------------------------------- +// CPapSettingItemArray::AddPasswordItemL +// ----------------------------------------------------------------------------- +// +void CPapSettingItemArray::AddPasswordItemL( TDes& aPassword, + TInt aId, + TInt aTitleResource, + TInt aSettingPageResource, + TInt aAssociatedResource, + TInt aOrdinal ) + { + // Create new setting item + CPapUiPwSettingItem* settingItem = new( ELeave ) CPapUiPwSettingItem( aId, + CAknPasswordSettingItem::EAlpha, + aPassword, this ); + CleanupStack::PushL( settingItem ); + settingItem->SetEmptyItemTextL( KEmptyPassword ); + + settingItem->SetSettingPageFlags( + CAknTextSettingPage::EZeroLengthAllowed ); + + // Construct setting item with parametrized values + HBufC* itemTitle = iEnv->AllocReadResourceLC( aTitleResource ); + + + settingItem->ConstructL( EFalse, aOrdinal, *itemTitle, NULL, + aSettingPageResource, EAknCtPopupSettingList, + NULL, aAssociatedResource ); + + // Append item to settingitem-array + iArray->InsertL( aOrdinal, settingItem ); + + CleanupStack::PopAndDestroy( itemTitle ); + CleanupStack::Pop( settingItem ); + } + +// ----------------------------------------------------------------------------- +// CPapSettingItemArray::PwItemCancelled +// ----------------------------------------------------------------------------- +// +void CPapSettingItemArray::PwItemCancelled( TBool aIsCancelled ) + { + iPwItemCancelled = aIsCancelled; + } + +// ----------------------------------------------------------------------------- +// CPapSettingItemArray::IsPwItemCancelled +// ----------------------------------------------------------------------------- +// +TBool CPapSettingItemArray::IsPwItemCancelled() + { + return iPwItemCancelled; + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuiview.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuiview.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,649 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of PAP UI settings dialog +* +*/ + +/* +* %version: 13 % +*/ + +// INCLUDE FILES +#include "papuiview.h" +#include "papuisettingarray.h" +#include "papuipwsettingitem.h" +#include "papui.hrh" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +// CONSTANTS +// UID of general settings app, in which help texts are included +const TUid KHelpUidPlugin = { 0x100058EC }; + +// MODULE DATA STRUCTURES +enum TSettingIds + { + EUsernameItem=0, + EPasswordPromptItem, + EPasswordItem + }; + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CPapUiDialog::CPapUiDialog +// ----------------------------------------------------------------------------- +// +CPapUiDialog::CPapUiDialog( CEapTlsPeapUiConnection* aConnection, + TInt& aButtonId ) +: CAknDialog(), + iConnection( aConnection ), + iNaviPane( 0 ), + iNaviDecorator( 0 ), + iButtonId( &aButtonId ), + iSettingPwPrompt( ETrue ), + iIsUIConstructionCompleted( EFalse ), + iUsernameCancelled( EFalse ) + { + } + + +// --------------------------------------------------------- +// CPapUiDialog::ConstructAndRunLD +// --------------------------------------------------------- +// +TInt CPapUiDialog::ConstructAndRunLD( TInt aResourceId ) + { + CleanupStack::PushL( this ); + + iSettingArray = CPapSettingItemArray::NewL(); + + User::LeaveIfError( iConnection->Connect() ); + + // Basic data + iDataConnection = iConnection->GetDataConnection(); + if ( iDataConnection == 0 ) + { + User::Leave( KErrNoMemory ); + } + User::LeaveIfError( iDataConnection->Open() ); + User::LeaveIfError( iDataConnection->GetData( &iUiData ) ); + + //Copy the eapol UI data to the temporary data shown on the setting UI + iSettingUsername.Copy( iUiData->GetPapUserName() ); + iSettingPwPrompt = *( iUiData->GetPapPasswordPrompt() ); + iSettingPassword.Copy( iUiData->GetPapPassword() ); + + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("When read from eapol, iSettingUsername = %S"), &iSettingUsername ); + RDebug::Print(_L("When read from eapol, iSettingPwPrompt = %d"), iSettingPwPrompt ); + RDebug::Print(_L("When read from eapol, iSettingPassword = %S"), &iSettingPassword ); + #endif + + FeatureManager::InitializeLibL(); + + ConstructL( R_PAP_MENUBAR ); + + // ExecuteLD will PushL( this ), so we have to Pop it first... + CleanupStack::Pop( this ); + + return CAknDialog::ExecuteLD( aResourceId ); + } + + +// ----------------------------------------------------------------------------- +// CPapUiDialog::~CPapUiDialog +// ----------------------------------------------------------------------------- +// +CPapUiDialog::~CPapUiDialog() + { + + delete iNaviDecorator; + + if ( iSettingArray ) + { + iSettingArray->Array()->ResetAndDestroy(); + delete iSettingArray; + } + + iSettingListBox = NULL; + + if ( iDataConnection ) + { + iDataConnection->Close(); + delete iDataConnection; + } + + if ( iConnection ) + { + iConnection->Close(); + } + + delete iPreviousText; + + FeatureManager::UnInitializeLib(); + } + + +// --------------------------------------------------------- +// CPapUiDialog::HandleListBoxEventL +// --------------------------------------------------------- +// +void CPapUiDialog::HandleListBoxEventL( CEikListBox* /*aListBox*/, + TListBoxEvent aEventType ) + { + switch ( aEventType ) + { + case EEventEnterKeyPressed: + case EEventItemSingleClicked: + { + OkToExitL( EPapUiCmdChange ); + break; + } + + case EEventItemActioned: + case EEventEditingStarted: + case EEventEditingStopped: + case EEventPenDownOnItem: + case EEventItemDraggingActioned: + { + break; + } + + default: + { + break; + }; + }; + } + + +// ----------------------------------------------------------------------------- +// CPapUiDialog::PreLayoutDynInitL +// ----------------------------------------------------------------------------- +// +void CPapUiDialog::PreLayoutDynInitL() + { + ChangeTitleL( ETrue ); + + TUid naviPaneUid; + naviPaneUid.iUid = EEikStatusPaneUidNavi; + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( naviPaneUid ); + if ( subPane.IsPresent()&&subPane.IsAppOwned() ) + { + iNaviPane = static_cast( + statusPane->ControlL( naviPaneUid ) ); + + // Set empty text to hide tabs. + iNaviDecorator = iNaviPane->CreateNavigationLabelL( KNullDesC ); + iNaviPane->PushL( *iNaviDecorator ); + } + + + // Initialize setting page + iSettingListBox = static_cast( + ControlOrNull( EPapSettingsListBox ) ); + iSettingListBox->SetMopParent( this ); + iSettingListBox->CreateScrollBarFrameL( ETrue ); + iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( + CEikScrollBarFrame::EOff, + CEikScrollBarFrame::EAuto ); + iSettingListBox->SetListBoxObserver( this ); + DrawSettingsListL(); + + iIsUIConstructionCompleted = ETrue; + + } + + +// ----------------------------------------------------------------------------- +// CPapUiDialog::ChangeTitleL +// ----------------------------------------------------------------------------- +// +void CPapUiDialog::ChangeTitleL( TBool aIsStarted ) + { + TUid titlePaneUid; + titlePaneUid.iUid = EEikStatusPaneUidTitle; + + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + CEikStatusPaneBase::TPaneCapabilities subPane = + statusPane->PaneCapabilities( titlePaneUid ); + + if ( subPane.IsPresent() && subPane.IsAppOwned() ) + { + CAknTitlePane* titlePane = static_cast( + statusPane->ControlL( titlePaneUid) ); + if ( aIsStarted ) + { + // Store previous application title text + const TDesC* prevText = titlePane->Text(); + iPreviousText = HBufC::NewL( prevText->Length() ); + iPreviousText->Des().Append( *prevText ); + TDesC* titleText = iEikonEnv->AllocReadResourceLC( + R_PAP_SETTINGS_TITLE ); + titlePane->SetTextL( *titleText ); + CleanupStack::PopAndDestroy( titleText ); + } + else + { + // Set calling application title text back + titlePane->SetTextL( *iPreviousText ); + } + } + } + + +// ----------------------------------------------------------------------------- +// CPapUiDialog::OkToExitL +// ----------------------------------------------------------------------------- +// +TBool CPapUiDialog::OkToExitL( TInt aButtonId ) + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CPapUiDialog::OkToExitL") ); + #endif + + TBool ret( EFalse ); + switch ( aButtonId ) + { + case EEikBidOk: + { + if( iIsUIConstructionCompleted ) + { + if ( iSettingListBox->IsFocused() ) + { + ShowSettingPageL( EFalse ); + } + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CPapUiDialog::OkToExitL - UI not ready - Ignoring key press.\n") ); + #endif + } + + break; + } + + case EAknSoftkeyOptions: + { + DisplayMenuL(); + break; + } + + case EAknSoftkeyBack: + case EAknCmdExit: + { + UpdateEapolData(); + ChangeTitleL( EFalse ); + ret = ETrue; + break; + } + + case EPapUiCmdChange: + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( EFalse ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CPapUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + + break; + } + + default: + { + break; + } + } + + if ( ret ) + { + *iButtonId = aButtonId; + } + + return ret; + } + + +// ----------------------------------------------------------------------------- +// CPapUiDialog::DrawSettingsListL +// ----------------------------------------------------------------------------- +// +void CPapUiDialog::DrawSettingsListL() + { + iSettingArray->Array()->ResetAndDestroy(); + TInt ordinal = 0; + + // --------------------------------------------------------------- + // Username setting item. If the username has never been set, + // shows "(not defined)", otherwise shows the username. + iSettingArray->AddTextItemL( iSettingUsername, + EPapSettingPageUserName, + R_PAP_USERNAME_SETTING_TITLE, + R_PAP_USERNAME_PAGE, + NULL, + ordinal++ ); + + // --------------------------------------------------------------- + // Password prompt setting item. Radio buttons Prompt/User defined. + iSettingArray->AddBinarySettingItemL( R_PAP_PASSWORD_POPUP_PAGE, + R_PAP_PASSWORD_SETTING_TITLE, + R_PAP_PASSWORD_PROMPT_CHOICES, + ordinal++, + iSettingPwPrompt ); + + // --------------------------------------------------------------- + // Password setting item. Never visible in the setting list, but the + // setting page opens when the user selects "User defined" in the + // password prompt setting item. + iSettingArray->AddPasswordItemL( iSettingPassword, + EPapSettingPagePassword, + R_PAP_PASSWORD_SETTING_TITLE, + R_PAP_PASSWORD_SETTING_PAGE, + NULL, + ordinal++ ); + + // Set the last item hidden + CAknSettingItem* item = iSettingArray->Array()->At( EPasswordItem ); + item->SetHidden( ETrue ); + + + iSettingListBox->Model()->SetItemTextArray( iSettingArray->Array() ); + iSettingListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); + iSettingArray->Array()->RecalculateVisibleIndicesL(); + iSettingListBox->HandleItemAdditionL(); + iSettingListBox->UpdateScrollBarsL(); + } + + +// ----------------------------------------------------------------------------- +// CPapUiDialog::DynInitMenuPaneL +// ----------------------------------------------------------------------------- +// +void CPapUiDialog::DynInitMenuPaneL( TInt aResourceId, + CEikMenuPane* aMenuPane ) + { + CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane ); + + if ( aResourceId == R_PAP_MENU_PANE ) + { + if ( aMenuPane && !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) + { + aMenuPane->DeleteMenuItem( EAknCmdHelp ); + } + + } + } + +// ----------------------------------------------------------------------------- +// CPapUiDialog::UpdateEapolData +// ----------------------------------------------------------------------------- +// +void CPapUiDialog::UpdateEapolData() + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CPapUiDialog::UpdateEapolData") ); + RDebug::Print(_L("Saving username: %S"), &iSettingUsername ); + RDebug::Print(_L("Saving pwprompt: %d"), iSettingPwPrompt ); + RDebug::Print(_L("Saving password: %S"), &iSettingPassword ); + #endif + + // username + if ( iSettingUsername.Length() ) + { + ( iUiData->GetPapUserName() ).Copy( iSettingUsername ); + } + + + // pwprompt + *( iUiData->GetPapPasswordPrompt() ) = iSettingPwPrompt; + + // password + ( iUiData->GetPapPassword() ).Copy( iSettingPassword ); + + iDataConnection->Update(); + } + + +// ----------------------------------------------------------------------------- +// CPapUiDialog::ProcessCommandL +// ----------------------------------------------------------------------------- +// +void CPapUiDialog::ProcessCommandL( TInt aCommand ) + { + if ( MenuShowing() ) + { + HideMenu(); + } + + switch( aCommand ) + { + case EAknCmdExit: + { + TryExitL( aCommand ); + break; + } + + case EAknCmdHelp: + { + HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), + iEikonEnv->EikAppUi()->AppHelpContextL() ); + break; + } + + case EPapUiCmdChange: + { + if( iIsUIConstructionCompleted ) + { + ShowSettingPageL( ETrue ); + } + else + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CPapUiDialog::ProcessCommandL - UI not ready - Ignoring key press.\n") ); + #endif + } + break; + } + + default: + { + break; + } + } + } + + +// ----------------------------------------------------------------------------- +// CPapUiDialog::ShowSettingPageL +// ----------------------------------------------------------------------------- +// +void CPapUiDialog::ShowSettingPageL( TInt aCalledFromMenu ) + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CPapUiDialog::ShowSettingPageL") ); + #endif + + TInt index = iSettingListBox->CurrentItemIndex(); + + if ( index == EUsernameItem ) + { + ShowUsernameSettingPageL(); + } + + else if ( index == EPasswordPromptItem ) + { + // The previous value is needed for comparison, + // after the user has done the editing + TBool oldChoice = iSettingPwPrompt; + + // Show the radio button page and let the user edit + CAknSettingItem* item = iSettingArray->Array()->At( index ); + item->EditItemL( aCalledFromMenu ); + item->StoreL(); + + // Check the new value + TBool newChoice = iSettingPwPrompt; + + // Prompt -> User defined + if ( oldChoice && !newChoice ) + { + // Ask to set a password + ShowPasswordSettingPageL(); + + // If the password item was cancelled, + // or if username was prompted and cancelled, + // restore "Prompt" for the password prompt setting + if ( iSettingArray->IsPwItemCancelled() || iUsernameCancelled ) + { + // Toggle the setting back to Prompt without showing the page + item->EditItemL( EFalse ); + item->StoreL(); + } + } + + // User defined -> User defined + else if ( !oldChoice && !newChoice ) + { + // Ask to set a new password + ShowPasswordSettingPageL(); + } + + // Prompt -> Prompt + else if ( oldChoice && newChoice ) + { + // Do nothing + } + + // User defined -> Prompt + else if ( !oldChoice && newChoice ) + { + // Remove the password + CPapUiPwSettingItem* pwItem = + static_cast< CPapUiPwSettingItem* >( + iSettingArray->Array()->At( EPasswordItem ) ); + pwItem->DeletePasswordL(); + + } + + else + { + // It shouldn't be possible to end up here + } + + } + + else + { + // shouldn't end up here + } + + DrawNow(); + } + +// ----------------------------------------------------------------------------- +// CPapUiDialog::ShowUsernameSettingPageL +// ----------------------------------------------------------------------------- +// +void CPapUiDialog::ShowUsernameSettingPageL() + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CPapUiDialog::ShowUsernameSettingPageL") ); + #endif + + iUsernameCancelled = EFalse; + + CAknSettingItem* item = iSettingArray->Array()->At( EUsernameItem ); + item->EditItemL( EFalse ); + item->StoreL(); + } + +// ----------------------------------------------------------------------------- +// CPapUiDialog::ShowPasswordSettingPageL +// ----------------------------------------------------------------------------- +// +void CPapUiDialog::ShowPasswordSettingPageL() + { + #if defined(_DEBUG) || defined(DEBUG) + RDebug::Print(_L("CPapUiDialog::ShowPasswordSettingPageL") ); + #endif + + CAknSettingItem* item = iSettingArray->Array()->At( EPasswordItem ); + + item->EditItemL( EFalse ); + item->StoreL(); + DrawNow(); + + // If password is set, then username must also be defined + if ( !iSettingUsername.Length() && !iSettingArray->IsPwItemCancelled() ) + { + // Show an info note about missing username + HBufC* message = NULL; + message = StringLoader::LoadLC( R_PAP_DEFINE_USERNAME_INFO_NOTE ); + CAknInformationNote* note = new( ELeave ) CAknInformationNote( ETrue ); + note->ExecuteLD( *message ); + CleanupStack::PopAndDestroy( message ); + + ShowUsernameSettingPageL(); + + // If the username is still empty, it can only mean that the user has + // cancelled the operation -> remove the temporarily accepted password + if ( !iSettingUsername.Length() ) + { + iUsernameCancelled = ETrue; + // Remove the password + CPapUiPwSettingItem* pwItem = + static_cast< CPapUiPwSettingItem* >( + iSettingArray->Array()->At( EPasswordItem ) ); + pwItem->DeletePasswordL(); + } + } + + } + +// ----------------------------------------------------------------------------- +// CPapUiDialog::GetHelpContext +// ----------------------------------------------------------------------------- +// +void CPapUiDialog::GetHelpContext( TCoeHelpContext& aContext ) const + { + aContext.iMajor = KHelpUidPlugin; + aContext.iContext = KSET_HLP_WLAN_EAP_PAP; + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/notifierui/data/papnotifdlgui.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/data/papnotifdlgui.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,154 @@ +/* +* Copyright (c) 2001-2009 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: Resource file of PapNotifDlg +* +*/ + +/* +* %version: 6 % +*/ + +// RESOURCE IDENTIFIER +NAME PAPN + + +// INCLUDES +#include +#include +#include +#include +#include +#include + +#include +#include "papnotifui.hrh" + + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + +RESOURCE DIALOG r_papnotif_username_password_query + { + flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | + EEikDialogFlagCbaButtons|EEikDialogFlagNotifyEsc; + buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + items = + { + DLG_LINE + { + type = EAknCtMultilineQuery; + id = EMultilineFirstLine; + control = AVERELL_DATA_QUERY + { + layout = EMultiDataFirstEdwin; + label = qtn_wlan_eap_pap_notif_username; + control = EDWIN + { + flags = 0; + width = 5; + lines = 1; + maxlength = KPapUsernameMaxLength; + default_case = EAknEditorLowerCase; + allowed_case_modes = EAknEditorAllCaseModes; + allowed_input_modes = EAknEditorAlphaInputMode | + EAknEditorNumericInputMode | + EAknEditorPredictiveInputMode; + default_input_mode = EAknEditorPredictiveInputMode; + }; + }; + }, + + DLG_LINE + { + type = EAknCtMultilineQuery; + id = EMultilineSecondLine; + control = AVERELL_DATA_QUERY + { + layout = EMultiDataSecondSecEd; + label = qtn_wlan_eap_pap_notif_password; + control = SECRETED + { + num_letters = KPapPasswordMaxLength; + }; + }; + } + }; + } + +RESOURCE CBA r_papnotif_softkeys_ok___select + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_ok; }, + CBA_BUTTON { }, + CBA_BUTTON { id = EAknSoftkeyOk; txt = qtn_msk_select; } + }; + } + + +RESOURCE DIALOG r_pap_challenge_message_query + { + flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | + EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc; + buttons = r_papnotif_softkeys_ok___select; + items = + { + DLG_LINE + { + type = EAknCtPopupHeadingPane; + id = EAknMessageQueryHeaderId; + control = AVKON_HEADING + { + label = qtn_wlan_eap_pap_notif_message; + }; + }, + + DLG_LINE + { + type = EAknCtMessageQuery; + id = EAknMessageQueryContentId; + control = AVKON_MESSAGE_QUERY + { + }; + } + }; + } + +RESOURCE DIALOG r_pap_challenge_reply_query + { + flags = EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | + EEikDialogFlagCbaButtons | EEikDialogFlagNotifyEsc; + buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + items = + { + DLG_LINE + { + type = EAknCtQuery; + id = EGeneralQuery; + control= AVKON_DATA_QUERY + { + layout = ECodeLayout; + label = qtn_wlan_eap_pap_notif_response; + control = SECRETED + { + num_letters = KPapPasswordMaxLength; + }; + }; + } + }; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papauthdialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papauthdialog.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,60 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of authentication query dialog class of PapNotifDialog. +* +*/ + +/* +* %version: 6 % +*/ + +#ifndef __PAPAUTHDIALOG_H__ +#define __PAPAUTHDIALOG_H__ + +// INCLUDES +#include +#include +#include +#include +#include +#include "papnotifdlgplugin.h" + + +// CLASS DECLARATION + +/** +*/ +class CPapAuthDialog : public CAknMultiLineDataQueryDialog + { + protected: + CPapAuthDialog( CPapNotifDialogPlugin* aPlugin ); + void ConstructL(); + + public: + static CPapAuthDialog* NewL( TDes& aUsername, TDes& aPassword, + CPapNotifDialogPlugin* aPlugin ); + ~CPapAuthDialog(); + + private: + virtual TBool OkToExitL( TInt aButtonId ); + void HandleResourceChange( TInt aType ); + + private: + CPapNotifDialogPlugin* iPlugin; // Pointer to the notifier plugin + + }; + +#endif // __PAPAUTHDIALOG_H__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papchallengemsgdialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papchallengemsgdialog.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,46 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of PAP Challenge Message Display Dialog +* +*/ + +/* +* %version: 5 % +*/ + +#ifndef __PAPCHALLENGEMSGDIALOG_H__ +#define __PAPCHALLENGEMSGDIALOG_H__ + +// INCLUDES +#include + + +class CPapChallengeMsgDialog : public CAknMessageQueryDialog + { + public: + static CPapChallengeMsgDialog* NewL( const TDesC& aMessage, + CPapNotifDialogPlugin* aPlugin ); + ~CPapChallengeMsgDialog(); + + private: + CPapChallengeMsgDialog( CPapNotifDialogPlugin* aPlugin ); + + virtual TBool OkToExitL( TInt aButtonId ); + void HandleResourceChange( TInt aType ); + + private: + CPapNotifDialogPlugin* iPlugin; // Pointer to the notifier plugin + }; + +#endif // __PAPCHALLENGEMSGDIALOG_H__ diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papchallengereplydialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papchallengereplydialog.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,50 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of PAP Challenge Reply Dialog +* +*/ + +/* +* %version: 6 % +*/ + +#ifndef __PAPCHALLENGEREPLYDIALOG_H__ +#define __PAPCHALLENGEREPLYDIALOG_H__ + +// INCLUDES +#include + + +class CPapChallengeReplyDialog : public CAknTextQueryDialog + { + public: + static CPapChallengeReplyDialog* NewL( TDes& aResponse, + CPapNotifDialogPlugin* aPlugin ); + ~CPapChallengeReplyDialog(); + + private: + CPapChallengeReplyDialog( TDes& aResponse, + CPapNotifDialogPlugin* aPlugin ); + + virtual TBool OkToExitL( TInt aButtonId ); + void HandleResourceChange( TInt aType ); + + private: + CPapNotifDialogPlugin* iPlugin; // Pointer to the notifier plugin + }; + + +#endif // __PAPCHALLENGEREPLYDIALOG_H__ + +// End of File \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papnotifdlgplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papnotifdlgplugin.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,138 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of PAP Notif Dialog Plugin +* +*/ + +/* +* %version: 7 % +*/ + +#ifndef __PAPNOTIFDLGPLUGIN_H__ +#define __PAPNOTIFDLGPLUGIN_H__ + + +// INCLUDES +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +// CONSTANTS + +// UIDs for dialogs + +// ID of PAP username & password dialog +const TUid KUidPapDialog = { 0x200159A9 }; + +// Channel used for screen +const TUid KScreenOutputChannel = { 0x00000123 }; + +// Number of dialogs in this plugin +const TInt KPluginGranularity = 1; + +// ROM folder +_LIT( KDriveZ, "z:" ); + +// RSC file name. +_LIT( KResourceFileName, "papnotifdlgui.rsc" ); + + +// GLOBAL FUNCTIONS + +/** +* Array of connection dialog plugins. +* @return A CArray of MEikSrvNotifierBase2 based classes. +*/ +IMPORT_C CArrayPtr< MEikSrvNotifierBase2 >* NotifierArray(); + + +// CLASS DECLARATION + +class CPapAuthDialog; +class CPapChallengeMsgDialog; +class CPapChallengeReplyDialog; + +/** + * PAP notifier dialog plugin class + */ +class CPapNotifDialogPlugin : public CBase, + public MEikSrvNotifierBase2 + { + public: + static CPapNotifDialogPlugin* NewL(); + + ~CPapNotifDialogPlugin(); + + TNotifierInfo RegisterL(); + TNotifierInfo Info() const; + + TPtrC8 StartL( const TDesC8& aBuffer ); + void StartL( const TDesC8& aBuffer, TInt aReplySlot, + const RMessagePtr2& aMessage ); + + TPtrC8 UpdateL( const TDesC8& aBuffer ); + void Cancel(); + void CompleteL( TInt aStatus ); + void Release(); + + public: // new + + TDes& Username(); + TDes& Password(); + + void SetAuthDlgDismissed(); + void SetChallengeMsgDismissed(); + void SetChallengeReplyDismissed(); + + protected: + CPapNotifDialogPlugin(); + + void ConstructL(); + + protected: + TNotifierInfo iInfo; // Notifier info + RMessagePtr2 iMessage; // Message + TInt iReplySlot; // Reply slot + TBool iCancelled; // ETrue if dialog cancelled + + private: + + TInt iResource; // Resource + + TPapUiNotifierInfo* iDataPtr; + TPckg* iDataPckgPtr; + + CPapAuthDialog* iPapAuthDialog; + CPapChallengeMsgDialog* iPapChallengeMsgDialog; + CPapChallengeReplyDialog*iPapChallengeReplyDialog; + + TUint iChallengeSize; + + TBool iAuthDlgDismissed; + TBool iChallengeMsgDismissed; + TBool iChallengeReplyDismissed; + + }; + + +#endif // __PAPNOTIFDLGPLUGIN_H__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papnotifui.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papnotifui.hrh Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 2001-2009 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: PAP Notifier UI hrh file +* +*/ + +/* +* %version: % +*/ + +#ifndef _PAPNOTIFUI_HRH_ +#define _PAPNOTIFUI_HRH_ + +#define KPapUsernameMaxLength 253 +#define KPapPasswordMaxLength 128 + + + +#endif //_PAPNOTIFUI_HRH_ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/notifierui/loc/papnotifdlg.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/loc/papnotifdlg.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,54 @@ +/* +* Copyright (c) 2001-2009 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: UI strings for WLAN PAP Notifier +* +*/ + +/* +* %version: % +*/ + +// LOCALISATION STRINGS + + +//d:Username query string. +//l:popup_query_data_code_window_t4/opt2 +//w: +//r:5.0.1 +// +#define qtn_wlan_eap_pap_notif_username "PAP user name:" + + +//d:Password query string. +//l:popup_query_data_code_window_t4/opt2 +//w: +//r:5.0.1 +// +#define qtn_wlan_eap_pap_notif_password "Password:" + +//d:Message query string for PAP challenge/response. +//l:heading_pane_t1 +//w: +//r:5.0.1 +// +#define qtn_wlan_eap_pap_notif_message "PAP challenge:" + +//d:User reply query string for PAP challenge/response. +//l:popup_query_data_window_t3/opt2 +//w: +//r:5.0.1 +// +#define qtn_wlan_eap_pap_notif_response "PAP reply:" + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papauthdialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papauthdialog.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,136 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of authentication query dialog class of Pap Notifier +* +*/ + +/* +* %version: 6 % +*/ + +// INCLUDE FILES +#include +#include "papnotifdlgplugin.h" +#include "papauthdialog.h" + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CPapAuthDialog::CPapAuthDialog +// ----------------------------------------------------------------------------- +// +CPapAuthDialog::CPapAuthDialog( CPapNotifDialogPlugin* aPlugin ) + : CAknMultiLineDataQueryDialog( ENoTone ), + iPlugin( aPlugin ) + { + } + + +// ----------------------------------------------------------------------------- +// CPapAuthDialog::NewL +// ----------------------------------------------------------------------------- +// +CPapAuthDialog* CPapAuthDialog::NewL( TDes& aUsername, TDes& aPassword, + CPapNotifDialogPlugin* aPlugin ) + { + CPapAuthDialog* self = new( ELeave ) CPapAuthDialog( aPlugin ); + CleanupStack::PushL( self ); + if ( aUsername.Length() ) + { + self->SetDataL( aUsername, aPassword ); + } + + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CPapAuthDialog::ConstructL +// ----------------------------------------------------------------------------- +// +void CPapAuthDialog::ConstructL() + { + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapAuthDialog::ConstructL") ); + #endif + } + + +// ----------------------------------------------------------------------------- +// CPapAuthDialog::~CPapAuthDialog +// ----------------------------------------------------------------------------- +// +CPapAuthDialog::~CPapAuthDialog() + { + } + + +// ----------------------------------------------------------------------------- +// CPapAuthDialog::OkToExitL +// ----------------------------------------------------------------------------- +// +TBool CPapAuthDialog::OkToExitL( TInt aButtonId ) + { + if ( CAknMultiLineDataQueryDialog::OkToExitL( aButtonId ) ) + { + if ( aButtonId == EAknSoftkeyOk ) + { + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapAuthDialog::OkToExitL, softkey OK") ); + #endif + + // save the user entries to be sent back to eapol + CAknMultilineQueryControl* firstControl = FirstControl(); + firstControl->GetText( iPlugin->Username() ); + + CAknMultilineQueryControl* secondControl = SecondControl(); + secondControl->GetText( iPlugin->Password() ); + + iPlugin->SetAuthDlgDismissed(); + iPlugin->CompleteL( KErrNone ); + return( ETrue ); + } + else + { + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapAuthDialog::OkToExitL, softkey Cancel") ); + #endif + + iPlugin->SetAuthDlgDismissed(); + iPlugin->CompleteL( KErrCancel ); + return( ETrue ); + } + } + + return( EFalse ); + } + + +// ----------------------------------------------------------------------------- +// CPapAuthDialog::HandleResourceChange +// ----------------------------------------------------------------------------- +// +void CPapAuthDialog::HandleResourceChange( TInt aType ) + { + CAknMultiLineDataQueryDialog::HandleResourceChange( aType ); + + if ( aType == KAknsMessageSkinChange ) + { + } + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papchallengemsgdialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papchallengemsgdialog.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,113 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of PAP Challenge Message Display Dialog +* +*/ + +/* +* %version: 7 % +*/ + +// INCLUDE FILES +#include "papnotifdlgplugin.h" +#include "papchallengemsgdialog.h" + + +// ----------------------------------------------------------------------------- +// CPapChallengeMsgDialog::CPapChallengeMsgDialog +// ----------------------------------------------------------------------------- +// +CPapChallengeMsgDialog::CPapChallengeMsgDialog( CPapNotifDialogPlugin* aPlugin ) +: CAknMessageQueryDialog( ENoTone ), + iPlugin( aPlugin ) + { + } + + +// ----------------------------------------------------------------------------- +// CPapChallengeMsgDialog::~CPapChallengeMsgDialog +// ----------------------------------------------------------------------------- +// +CPapChallengeMsgDialog::~CPapChallengeMsgDialog() + { + } + + +// ----------------------------------------------------------------------------- +// CPapChallengeMsgDialog::NewL +// ----------------------------------------------------------------------------- +// +CPapChallengeMsgDialog* CPapChallengeMsgDialog::NewL( const TDesC& aMessage, + CPapNotifDialogPlugin* aPlugin ) + { + CPapChallengeMsgDialog* self = new( ELeave ) CPapChallengeMsgDialog( aPlugin ); + + CleanupStack::PushL( self ); + if ( aMessage.Length() ) + { + self->SetMessageTextL( aMessage ); + } + + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CPapChallengeMsgDialog::OkToExitL +// ----------------------------------------------------------------------------- +// +TBool CPapChallengeMsgDialog::OkToExitL( TInt aButtonId ) + { + if ( CAknMessageQueryDialog::OkToExitL( aButtonId ) ) + { + if ( aButtonId == EAknSoftkeyOk ) + { + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapChallengeMsgDialog::OkToExitL, softkey OK") ); + #endif + iPlugin->SetChallengeMsgDismissed(); + iPlugin->CompleteL( KErrNone ); + } + else + { + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapChallengeMsgDialog::OkToExitL, softkey Cancel") ); + #endif + // Some cancel. + iPlugin->SetChallengeMsgDismissed(); + iPlugin->CompleteL( KErrCancel ); + } + + return( ETrue ); + } + + return( EFalse ); + } + + +// ----------------------------------------------------------------------------- +// CPapChallengeMsgDialog::HandleResourceChange +// ----------------------------------------------------------------------------- +// +void CPapChallengeMsgDialog::HandleResourceChange( TInt aType ) + { + CAknMessageQueryDialog::HandleResourceChange( aType ); + if ( aType == KAknsMessageSkinChange ) + { + } + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papchallengereplydialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papchallengereplydialog.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,101 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of PAP Challenge Reply Dialog +* +*/ + +/* +* %version: 6 % +*/ + +// INCLUDE FILES +#include "papnotifdlgplugin.h" +#include "papchallengereplydialog.h" + + +// ----------------------------------------------------------------------------- +// CPapChallengeReplyDialog::CPapChallengeReplyDialog +// ----------------------------------------------------------------------------- +// +CPapChallengeReplyDialog::CPapChallengeReplyDialog( TDes& aResponse, + CPapNotifDialogPlugin* aPlugin ) +: CAknTextQueryDialog( aResponse ), + iPlugin( aPlugin ) + { + } + + +// ----------------------------------------------------------------------------- +// CPapChallengeReplyDialog::~CPapChallengeReplyDialog +// ----------------------------------------------------------------------------- +// +CPapChallengeReplyDialog::~CPapChallengeReplyDialog() + { + } + + +// ----------------------------------------------------------------------------- +// CPapChallengeReplyDialog::NewL +// ----------------------------------------------------------------------------- +// +CPapChallengeReplyDialog* CPapChallengeReplyDialog::NewL( TDes& aResponse, + CPapNotifDialogPlugin* aPlugin ) + { + CPapChallengeReplyDialog* self = new( ELeave ) CPapChallengeReplyDialog( + aResponse, aPlugin ); + return self; +} + + +// ----------------------------------------------------------------------------- +// CPapChallengeReplyDialog::OkToExitL +// ----------------------------------------------------------------------------- +// +TBool CPapChallengeReplyDialog::OkToExitL( TInt aButtonId ) + { + if ( CAknTextQueryDialog::OkToExitL( aButtonId ) ) + { + if ( aButtonId==EAknSoftkeyOk ) + { + iPlugin->SetChallengeReplyDismissed(); + iPlugin->CompleteL( KErrNone ); + } + else + { + // Everything else is for cancel. + iPlugin->SetChallengeReplyDismissed(); + iPlugin->CompleteL( KErrCancel ); + } + + return( ETrue ); + } + + return( EFalse ); + } + + +// ----------------------------------------------------------------------------- +// CPapChallengeReplyDialog::HandleResourceChange +// ----------------------------------------------------------------------------- +// +void CPapChallengeReplyDialog::HandleResourceChange( TInt aType ) + { + CAknTextQueryDialog::HandleResourceChange( aType ); + if ( aType == KAknsMessageSkinChange ) + { + } + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papnotifdlgplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papnotifdlgplugin.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,489 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of PapNotifDlg dialog plugin. +* +*/ + +/* +* %version: 9 % +*/ + +// INCLUDE FILES +#include +#include +#include +#include +#include + +#include // For RProperty +#include // For KPSUidUikon and KUikGlobalNotesAllowed. + +#include +#include "papnotifdlgplugin.h" +#include "papauthdialog.h" +#include "papchallengemsgdialog.h" +#include "papchallengereplydialog.h" + +// CONSTANTS +//static const TUint KUtf8UnicodeRatio = 2; + +// ================= OTHER EXPORTED FUNCTIONS ============== + +// ----------------------------------------------------------------------------- +// CreateNotifiersL +// ----------------------------------------------------------------------------- +// +LOCAL_C void CreateNotifiersL( CArrayPtrFlat< MEikSrvNotifierBase2 >* aNotifiers ) + { + MEikSrvNotifierBase2 *serNotify; + serNotify = CPapNotifDialogPlugin::NewL(); + CleanupStack::PushL( serNotify ); + aNotifiers->AppendL( serNotify ); + CleanupStack::Pop( serNotify ); + } + + +// ----------------------------------------------------------------------------- +// NotifierArray +// ----------------------------------------------------------------------------- +// +EXPORT_C CArrayPtr< MEikSrvNotifierBase2 >* NotifierArray() + { + // NotifierArray() can't leave + CArrayPtrFlat< MEikSrvNotifierBase2 >* array = + new CArrayPtrFlat< MEikSrvNotifierBase2 >( KPluginGranularity ); + + if ( array ) + { + TRAPD( err, CreateNotifiersL( array ) ); + + if( err ) + { + TInt count = array->Count(); + + while( count-- ) + { + ( *array )[ count ]->Release(); + } + + delete array; + array = NULL; + } + } + + return( array ); + } + + +////////////////////////////////////////////////////////////// +// PAP dialog plugin +///////////////////////////////////////////////////////////// + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::CPapNotifDialogPlugin +// ----------------------------------------------------------------------------- +// +CPapNotifDialogPlugin::CPapNotifDialogPlugin() +: iCancelled( EFalse ), + iAuthDlgDismissed( EFalse ), + iChallengeMsgDismissed( EFalse ), + iChallengeReplyDismissed( EFalse ) + { + iManager = NULL; + } + + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::~CPapNotifDialogPlugin +// ----------------------------------------------------------------------------- +// +CPapNotifDialogPlugin::~CPapNotifDialogPlugin() + { + CCoeEnv::Static()->DeleteResourceFile( iResource ); + + if ( !iAuthDlgDismissed ) + { + delete iPapAuthDialog; + } + + if ( !iChallengeMsgDismissed ) + { + delete iPapChallengeMsgDialog; + } + + if ( !iChallengeReplyDismissed ) + { + delete iPapChallengeReplyDialog; + } + + } + + + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::RegisterL +// ----------------------------------------------------------------------------- +// +CPapNotifDialogPlugin::TNotifierInfo CPapNotifDialogPlugin::RegisterL() + { + iInfo.iUid = KUidPapDialog; + iInfo.iPriority = ENotifierPriorityHigh; + iInfo.iChannel = KUidPapDialog; + return iInfo; + } + + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::NewL +// ----------------------------------------------------------------------------- +// +CPapNotifDialogPlugin* CPapNotifDialogPlugin::NewL() + { + CPapNotifDialogPlugin* self = new( ELeave ) CPapNotifDialogPlugin(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::ConstructL +// ----------------------------------------------------------------------------- +// +void CPapNotifDialogPlugin::ConstructL() + { + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapNotifDialogPlugin::ConstructL") ); + #endif + + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), fileName ); + iResource = CCoeEnv::Static()->AddResourceFileL( fileName ); + } + + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::StartL +// ----------------------------------------------------------------------------- +// +TPtrC8 CPapNotifDialogPlugin::StartL( const TDesC8& /*aBuffer*/ ) + { + return KNullDesC8().Ptr(); + } + + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::StartL +// ----------------------------------------------------------------------------- +// +void CPapNotifDialogPlugin::StartL( const TDesC8& aBuffer, + TInt aReplySlot, + const RMessagePtr2& aMessage ) + { + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapNotifDialogPlugin::StartL") ); + #endif + + iCancelled = EFalse; + iReplySlot = aReplySlot; + iMessage = aMessage; + + // This object gets constructed only once but + // can get called many times. + // So initialize everything here. + iAuthDlgDismissed = EFalse; + iChallengeMsgDismissed = EFalse; + iChallengeReplyDismissed = EFalse; + iPapAuthDialog = NULL; + iPapChallengeMsgDialog = NULL; + iPapChallengeReplyDialog = NULL; + iDataPtr = NULL; + iDataPckgPtr = NULL; + + // We are about to display the password prompt. + // Since this part of the code can be executed during the bootup, check if + // the UI has really started up to display notes/dialogs. + TInt notesAllowed = 0; + TInt error = RProperty::Get( KPSUidUikon, KUikGlobalNotesAllowed, + notesAllowed ); + + // The above call can return error. Ignore the error. What we care is + // if notesAllowed has turned to 1 from 0. + if ( notesAllowed ) + { + iDataPtr = new( ELeave ) TPapUiNotifierInfo; + iDataPckgPtr = new( ELeave ) TPckg( *iDataPtr ); + iDataPckgPtr->Copy( aBuffer ); + + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapNotifDialogPlugin::StartL, state = %d"), iDataPtr->iState ); + #endif + + switch ( iDataPtr->iState ) + { + case TPapUiNotifierInfo::EPapUiNotifierAuthQueryDialog: + { + iPapAuthDialog = CPapAuthDialog::NewL( + iDataPtr->iUsrPwdInfo.iUserName, + iDataPtr->iUsrPwdInfo.iPassword, + this ); + + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapNotifDialogPlugin::StartL, executing auth dialog") ); + #endif + + iPapAuthDialog->ExecuteLD( R_PAPNOTIF_USERNAME_PASSWORD_QUERY ); + + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapNotifDialogPlugin::StartL, auth dialog executed") ); + #endif + + break; + } + + case TPapUiNotifierInfo::EPapUiNotifierPapChallengeSize: + { + iChallengeSize = iDataPtr->iSrvChallengeSize; + break; + } + + case TPapUiNotifierInfo::EPapUiNotifierPapChallengeMsgDialog: + { + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapNotifDialogPlugin::StartL, chal msg dialog start") ); + #endif + + HBufC16* challengetext = HBufC16::NewLC( KMaxPapChallengeLength ); + TPtr16 text = challengetext->Des(); + text.Copy( iDataPtr->iPapChallenge ); + + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapNotifDialogPlugin::StartL, create chal msg dialog") ); + #endif + + iPapChallengeMsgDialog = CPapChallengeMsgDialog::NewL( text, + this ); + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapNotifDialogPlugin::StartL, executing chal msg dialog") ); + #endif + + iPapChallengeMsgDialog->ExecuteLD( R_PAP_CHALLENGE_MESSAGE_QUERY ); + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapNotifDialogPlugin::StartL, chal msg dialog executed") ); + #endif + + CleanupStack::PopAndDestroy( challengetext ); + + break; + } + + case TPapUiNotifierInfo::EPapUiNotifierPapChallengeReplyQueryDialog: + { + // construct and show the challenge reply dialog, + // save the reply in the password field + iPapChallengeReplyDialog = CPapChallengeReplyDialog::NewL( + iDataPtr->iUsrPwdInfo.iPassword, this ); + iPapChallengeReplyDialog->ExecuteLD( R_PAP_CHALLENGE_REPLY_QUERY); + + break; + } + + default: + { + break; + } + + } + + } + + // In case if the notes are not allowed, this message gets completed when + // EAPOL time out occurs and a subsequent call to cancel + } + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::UpdateL +// ----------------------------------------------------------------------------- +// +TPtrC8 CPapNotifDialogPlugin::UpdateL( const TDesC8& /*aBuffer*/ ) + { + return KNullDesC8().Ptr(); + } + + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::Cancel +// ----------------------------------------------------------------------------- +// +void CPapNotifDialogPlugin::Cancel() + { + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapNotifDialogPlugin::Cancel") ); + #endif + + if ( !iCancelled ) + { + iCancelled = ETrue; + + if ( !iMessage.IsNull() ) + { + iMessage.Complete( KErrCancel ); + } + + if ( !iAuthDlgDismissed && iPapAuthDialog ) + { + iAuthDlgDismissed = ETrue; + delete iPapAuthDialog; + iPapAuthDialog = NULL; + } + + if ( !iChallengeMsgDismissed && iPapChallengeMsgDialog ) + { + iChallengeMsgDismissed = ETrue; + delete iPapChallengeMsgDialog; + iPapChallengeMsgDialog = NULL; + } + + if ( !iChallengeReplyDismissed && iPapChallengeReplyDialog ) + { + iChallengeReplyDismissed = ETrue; + delete iPapChallengeReplyDialog; + iPapChallengeReplyDialog = NULL; + } + + } + + if ( iDataPtr ) + { + delete iDataPtr; + iDataPtr = NULL; + } + + if ( iDataPckgPtr ) + { + delete iDataPckgPtr; + iDataPckgPtr = NULL; + } + } + + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::CompleteL +// ----------------------------------------------------------------------------- +// +void CPapNotifDialogPlugin::CompleteL( TInt aStatus ) + { + #if defined( _DEBUG ) || defined( DEBUG ) + RDebug::Print(_L("CPapNotifDialogPlugin::CompleteL") ); + #endif + + if ( aStatus == KErrNone && !iMessage.IsNull() ) + { + iMessage.WriteL( iReplySlot, *iDataPckgPtr ); + } + + iCancelled = ETrue; + + if ( !iMessage.IsNull() ) + { + iMessage.Complete( aStatus ); + } + + if ( iDataPtr ) + { + delete iDataPtr; + iDataPtr = NULL; + } + + if ( iDataPckgPtr ) + { + delete iDataPckgPtr; + iDataPckgPtr = NULL; + } + } + + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::Release +// ----------------------------------------------------------------------------- +// +void CPapNotifDialogPlugin::Release() + { + delete this; + } + + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::Info +// ----------------------------------------------------------------------------- +// +CPapNotifDialogPlugin::TNotifierInfo CPapNotifDialogPlugin::Info() const + { + return iInfo; + } + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::Username +// ----------------------------------------------------------------------------- +// +TDes& CPapNotifDialogPlugin::Username() + { + return ( iDataPtr->iUsrPwdInfo.iUserName ) ; + } + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::Password +// ----------------------------------------------------------------------------- +// +TDes& CPapNotifDialogPlugin::Password() + { + return ( iDataPtr->iUsrPwdInfo.iPassword ) ; + } + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::SetAuthDlgDismissed +// ----------------------------------------------------------------------------- +// +void CPapNotifDialogPlugin::SetAuthDlgDismissed() + { + iAuthDlgDismissed = ETrue; + } + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::SetChallengeMsgDismissed +// ----------------------------------------------------------------------------- +// +void CPapNotifDialogPlugin::SetChallengeMsgDismissed() + { + iChallengeMsgDismissed = ETrue; + } + +// ----------------------------------------------------------------------------- +// CPapNotifDialogPlugin::SetChallengeReplyDismissed +// ----------------------------------------------------------------------------- +// +void CPapNotifDialogPlugin::SetChallengeReplyDismissed() + { + iChallengeReplyDismissed = ETrue; + } + + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/rom/WlanEapSettingsUi.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/rom/WlanEapSettingsUi.iby Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,47 @@ +/* +* Copyright (c) 2001-2009 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: Image description file for project WLAN EAP Settings UI +* +*/ + +/* +* %version: 11.1.10 % +*/ + +#ifndef __WLANEAPSETTINGSUI_IBY__ +#define __WLANEAPSETTINGSUI_IBY__ + +#include + +#ifdef __PROTOCOL_WLAN + +ECOM_PLUGIN( eapnotifwrapper.dll,2000cf2e.rsc ) + +#ifdef FF_WLAN_EXTENSIONS +file=ABI_DIR\BUILD_DIR\leapnotifdlg.dll SHARED_LIB_DIR\leapnotifdlg.dll +ECOM_PLUGIN( eapfastnotifdlg.dll,200100a5.rsc ) +#endif // FF_WLAN_EXTENSIONS + +file=ABI_DIR\BUILD_DIR\mschapv2notifdlg.dll SHARED_LIB_DIR\mschapv2notifdlg.dll +file=ABI_DIR\BUILD_DIR\gtcnotifdlg.dll SHARED_LIB_DIR\gtcnotifdlg.dll + +file=ABI_DIR\BUILD_DIR\papnotifdlg.dll SHARED_LIB_DIR\papnotifdlg.dll + +ECOM_PLUGIN( EapPluginConfig.dll,102072bb.rsc ) + +#endif // __PROTOCOL_WLAN + +#endif // __WLANEAPSETTINGSUI_IBY__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wlaneapsettingsui/rom/WlanEapSettingsUiResources.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wlaneapsettingsui/rom/WlanEapSettingsUiResources.iby Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,56 @@ +/* +* Copyright (c) 2001-2009 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: Image description file for project WlanEapSettingsUi +* +*/ + +/* +* %version: tr1cfwln#18 % +*/ + +#ifndef __WLANEAPSETTINGSUIRESOURCES_IBY__ +#define __WLANEAPSETTINGSUIRESOURCES_IBY__ + +#include + +#ifdef __PROTOCOL_WLAN + +DATA=DATAZ_\RESOURCE_FILES_DIR\EapSimUi.rsc RESOURCE_FILES_DIR\EapSimUi.rsc +DATA=DATAZ_\RESOURCE_FILES_DIR\EapAkaUi.rsc RESOURCE_FILES_DIR\EapAkaUi.rsc +DATA=DATAZ_\RESOURCE_FILES_DIR\EapMschapv2Ui.rsc RESOURCE_FILES_DIR\EapMschapv2Ui.rsc +DATA=DATAZ_\RESOURCE_FILES_DIR\EapTlsUi.rsc RESOURCE_FILES_DIR\EapTlsUi.rsc +DATA=DATAZ_\RESOURCE_FILES_DIR\EapPeapUi.rsc RESOURCE_FILES_DIR\EapPeapUi.rsc +DATA=DATAZ_\RESOURCE_FILES_DIR\EapTtlsUi.rsc RESOURCE_FILES_DIR\EapTtlsUi.rsc +DATA=DATAZ_\RESOURCE_FILES_DIR\EapGtcUi.rsc RESOURCE_FILES_DIR\EapGtcUi.rsc +DATA=DATAZ_\RESOURCE_FILES_DIR\papui.rsc RESOURCE_FILES_DIR\papui.rsc + +#ifdef FF_WLAN_EXTENSIONS +DATA=DATAZ_\RESOURCE_FILES_DIR\EapLeapUi.rsc RESOURCE_FILES_DIR\EapLeapUi.rsc +DATA=DATAZ_\RESOURCE_FILES_DIR\LeapNotifDlgUi.rsc RESOURCE_FILES_DIR\LeapNotifDlgUi.rsc +DATA=DATAZ_\RESOURCE_FILES_DIR\eapfastui.rsc RESOURCE_FILES_DIR\eapfastui.rsc +DATA=DATAZ_\RESOURCE_FILES_DIR\eapfastnotifdlgui.rsc RESOURCE_FILES_DIR\eapfastnotifdlgui.rsc +#endif // FF_WLAN_EXTENSIONS + +DATA=DATAZ_\RESOURCE_FILES_DIR\MsChapv2NotifDlgUi.rsc RESOURCE_FILES_DIR\MsChapv2NotifDlgUi.rsc +DATA=DATAZ_\RESOURCE_FILES_DIR\GtcNotifDlgUi.rsc RESOURCE_FILES_DIR\GtcNotifDlgUi.rsc +DATA=DATAZ_\RESOURCE_FILES_DIR\papnotifdlgui.rsc RESOURCE_FILES_DIR\papnotifdlgui.rsc + +// For the EAPPluginConfig module +DATA=DATAZ_\RESOURCE_FILES_DIR\EapPluginConfigRes.rsc RESOURCE_FILES_DIR\EapPluginConfigRes.rsc + +#endif // __PROTOCOL_WLAN + +#endif // __WLANEAPSETTINGSUIRESOURCES_IBY__ + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/Rom/WPASecuritySettingsUI.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/Rom/WPASecuritySettingsUI.iby Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,32 @@ +/* +* Copyright (c) 2001-2009 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: Image description file for project WPASecuritySettingsUI +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +#ifndef __WPASECURITYSETTINGSUI_IBY__ +#define __WPASECURITYSETTINGSUI_IBY__ + +#ifdef __PROTOCOL_WLAN +FILE=ABI_DIR\BUILD_DIR\WPASecuritySettingsUI.dll SHARED_LIB_DIR\WPASecuritySettingsUI.dll +#else +// stub for non-WLAN products +FILE=ABI_DIR\BUILD_DIR\wpasecuritysettingsuistub.dll SHARED_LIB_DIR\WPASecuritySettingsUI.dll +#endif // __PROTOCOL_WLAN + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/Rom/WPASecuritySettingsUIResources.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/Rom/WPASecuritySettingsUIResources.iby Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,31 @@ +/* +* Copyright (c) 2001-2009 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: Image description file for project WPASecuritySettingsUI +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +#ifndef __WPASECURITYSETTINGSUIRESOURCES_IBY__ +#define __WPASECURITYSETTINGSUIRESOURCES_IBY__ + +#ifdef __PROTOCOL_WLAN + +DATA=DATAZ_\RESOURCE_FILES_DIR\WPASecuritySettingsUI.rsc RESOURCE_FILES_DIR\WPASecuritySettingsUI.rsc + +#endif // __PROTOCOL_WLAN + +#endif \ No newline at end of file diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/bwinscw/WPASecuritySettingsUI_EKA2_ALRu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/bwinscw/WPASecuritySettingsUI_EKA2_ALRu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,17 @@ +EXPORTS + ??1CWPASecuritySettings@@UAE@XZ @ 1 NONAME ; CWPASecuritySettings::~CWPASecuritySettings(void) + ??1CWPASecuritySettingsUi@@UAE@XZ @ 2 NONAME ; CWPASecuritySettingsUi::~CWPASecuritySettingsUi(void) + ?Cvt@CWPASecuritySettingsUi@@SAHXZ @ 3 NONAME ; int CWPASecuritySettingsUi::Cvt(void) + ?DeleteL@CWPASecuritySettings@@QBEXK@Z @ 4 NONAME ; void CWPASecuritySettings::DeleteL(unsigned long) const + ?EditL@CWPASecuritySettings@@QAEHAAVCWPASecuritySettingsUi@@ABVTDesC16@@@Z @ 5 NONAME ; int CWPASecuritySettings::EditL(class CWPASecuritySettingsUi &, class TDesC16 const &) + ?IsValid@CWPASecuritySettings@@QBEHXZ @ 6 NONAME ; int CWPASecuritySettings::IsValid(void) const + ?LoadL@CWPASecuritySettings@@QAEXKAAVCCommsDatabase@@@Z @ 7 NONAME ; void CWPASecuritySettings::LoadL(unsigned long, class CCommsDatabase &) + ?NewL@CWPASecuritySettings@@SAPAV1@W4TSecurityMode@@@Z @ 8 NONAME ; class CWPASecuritySettings * CWPASecuritySettings::NewL(enum TSecurityMode) + ?NewL@CWPASecuritySettingsUi@@SAPAV1@AAVCEikonEnv@@@Z @ 9 NONAME ; class CWPASecuritySettingsUi * CWPASecuritySettingsUi::NewL(class CEikonEnv &) + ?SaveL@CWPASecuritySettings@@QBEXKAAVCCommsDatabase@@W4TTypeOfSaving@@K@Z @ 10 NONAME ; void CWPASecuritySettings::SaveL(unsigned long, class CCommsDatabase &, enum TTypeOfSaving, unsigned long) const + ?SetWPAPreSharedKey@CWPASecuritySettings@@QAEHABVTDesC16@@@Z @ 11 NONAME ; int CWPASecuritySettings::SetWPAPreSharedKey(class TDesC16 const &) + ?LoadL@CWPASecuritySettings@@QAEXKAAVCMDBSession@CommsDat@@@Z @ 12 NONAME ; void CWPASecuritySettings::LoadL(unsigned long, class CommsDat::CMDBSession &) + ?SaveL@CWPASecuritySettings@@QBEXKAAVCMDBSession@CommsDat@@W4TTypeOfSaving@@K@Z @ 13 NONAME ; void CWPASecuritySettings::SaveL(unsigned long, class CommsDat::CMDBSession &, enum TTypeOfSaving, unsigned long) const + ?SetWPADisabledEAPPlugin@CWPASecuritySettings@@QAEHABVTDesC8@@@Z @ 14 NONAME ; int CWPASecuritySettings::SetWPADisabledEAPPlugin(class TDesC8 const &) + ?SetWPAEnabledEAPPlugin@CWPASecuritySettings@@QAEHABVTDesC8@@@Z @ 15 NONAME ; int CWPASecuritySettings::SetWPAEnabledEAPPlugin(class TDesC8 const &) + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/data/WPASecuritySettingsUI.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/data/WPASecuritySettingsUI.rss Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,330 @@ +/* +* Copyright (c) 2001-2009 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: This file contains all the resources for the WPA Security Settings UI. +* +*/ + +/* +* %version: tr1cfwln#21 % +*/ + +// RESOURCE IDENTIFIER +NAME AWAS // 4 letter ID + +// INCLUDES +#include +#include +#include +#include + +#include "WPASecuritySettingsUI.hrh" +#include + + +// RESOURCE DEFINITIONS + +RESOURCE RSS_SIGNATURE { } + +RESOURCE TBUF { buf="WPASecuritySettings"; } + + +//---------------------------------------------------- +// +// r_wpa_security_settings_menubar +// Menubar +// +//---------------------------------------------------- +// +RESOURCE MENU_BAR r_wpa_security_settings_menubar + { + titles= + { + MENU_TITLE + { + menu_pane = r_wpa_security_settings_menu; + } + }; + } + + + +//---------------------------------------------------- +// +// r_wpa_security_settings_menu +// The Options menu +// +//---------------------------------------------------- +// +RESOURCE MENU_PANE r_wpa_security_settings_menu + { + items= + { + MENU_ITEM + { + command = EWpaSelCmdChange; + txt = qtn_set_options_change; + flags = EEikMenuItemAction; + }, + + MENU_ITEM + { + command = EAknCmdHelp; + txt = qtn_options_help; + }, + + MENU_ITEM + { + command = EAknCmdExit; + txt = qtn_options_exit; + } + }; + } + + + +//---------------------------------------------------- +// +// r_wpasettings_pane_softkeys_options_back_edit +// WPA Security Settings softkeys +// +//---------------------------------------------------- +// +RESOURCE CBA r_wpasettings_pane_softkeys_options_back_edit + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOptions; txt = text_softkey_option; }, + CBA_BUTTON { id = EAknSoftkeyBack; txt = text_softkey_back; }, + CBA_BUTTON { id = EWpaSelCmdChange; txt = qtn_msk_change; } + }; + } + + + +//---------------------------------------------------- +// +// r_wpasettings_dialog +// WPA Security Settings main dialog +// +//---------------------------------------------------- +// +RESOURCE DIALOG r_wpasettings_dialog + { + flags = EEikDialogFlagWait | EEikDialogFlagNoDrag | + EEikDialogFlagNoTitleBar | EEikDialogFlagFillAppClientRect | + EEikDialogFlagCbaButtons; + + buttons = r_wpasettings_pane_softkeys_options_back_edit; + + items = + { + DLG_LINE + { + type = EAknCtSettingListBox; + id = KWpaMainSettingsListboxId; + control = LISTBOX + { + flags = EAknListBoxSelectionList; + }; + } + }; + } + + +//---------------------------------------------------- +// +// r_setting_app_edwin_key_data +// Window to enter key data +// +//---------------------------------------------------- +// +RESOURCE EDWIN r_setting_app_edwin_key_data + { + avkon_flags = EAknEditorFlagNoT9; + allowed_input_modes = EAknEditorTextInputMode | + EAknEditorNumericInputMode | + EAknEditorHalfWidthTextInputMode; + default_case = EAknEditorLowerCase; + maxlength = EMaxLengthOfPreSharedKey; + lines = 8; + } + + +//---------------------------------------------------- +// +// r_text_setting_page_key_data +// Setting page for entering key data +// +//---------------------------------------------------- +// +RESOURCE AVKON_SETTING_PAGE r_text_setting_page_key_data + { + softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK; + number= EAknSettingPageNoOrdinalDisplayed; + label= qtn_wlan_sett_preshared_key; + type = EEikCtEdwin; + editor_resource_id = r_setting_app_edwin_key_data; + } + + + +//---------------------------------------------------- +// +// r_setting_app_listbox +// Listbox for setting page +// +//---------------------------------------------------- +// +RESOURCE LISTBOX r_setting_app_listbox + { + flags = EEikListBoxMultipleSelection; + } + + + +//---------------------------------------------------- +// +// r_wpasettings_pane_softkeys_ok_cancel_select +// WEP Security Settings softkeys +// +//---------------------------------------------------- +// +RESOURCE CBA r_wpasettings_pane_softkeys_ok_cancel_select + { + buttons = + { + CBA_BUTTON { id = EAknSoftkeyOk; txt = text_softkey_ok; }, + CBA_BUTTON { id = EAknSoftkeyCancel; txt = text_softkey_cancel; }, + CBA_BUTTON { id = EAknSoftkeyOk; txt = qtn_msk_select; } + }; + } + + + +//---------------------------------------------------- +// +// r_radio_button_setting_page +// Setting page with radio buttons +// +//---------------------------------------------------- +// +RESOURCE AVKON_SETTING_PAGE r_radio_button_setting_page + { + number = EAknSettingPageNoOrdinalDisplayed; + softkey_resource = r_wpasettings_pane_softkeys_ok_cancel_select; + type = EAknSetListBox; + editor_resource_id= r_setting_app_listbox; + } + + + +//---------------------------------------------------- +// +// r_wpa_sec_sett_conf_query +// ConfirmationQuery dialog +// +//---------------------------------------------------- +// +RESOURCE DIALOG r_wpa_sec_sett_conf_query + { + flags = EGeneralQueryFlags; + buttons = R_AVKON_SOFTKEYS_YES_NO__YES; + items = + { + DLG_LINE + { + type = EAknCtQuery; + id = EGeneralQuery; + control = AVKON_CONFIRMATION_QUERY + { + layout = EConfirmationQueryLayout; + }; + } + }; + } + + + + +RESOURCE TBUF r_wpa_mode + { + buf = qtn_wlan_sett_wpa_mode; + } + +RESOURCE TBUF r_wpa_eap_config + { + buf = qtn_wlan_sett_eap_plugin_config; + } + +RESOURCE TBUF r_wpa_tkip_cipher + { + buf = qtn_wlan_sett_allow_tkip; + } + +RESOURCE TBUF r_wpa_unencrypted_conn + { + buf = qtn_wlan_sett_unencrypted_conn; + } + +RESOURCE TBUF r_wpa_mode_eap + { + buf = qtn_wlan_sett_wpa_mode_eap; + } + +RESOURCE TBUF r_wpa_mode_preshared_key + { + buf = qtn_wlan_sett_wpa_mode_preshared_key; + } + +RESOURCE TBUF r_wpa_cipher_allowed + { + buf = qtn_wlan_sett_tkip_allowed; + } + +RESOURCE TBUF r_wpa_cipher_not_allowed + { + buf = qtn_wlan_sett_tkip_not_allowed; + } + +RESOURCE TBUF r_wpa_unencrypted_conn_not_allow + { + buf = qtn_wlan_sett_unencrypted_conn_not_allow; + } + +RESOURCE TBUF r_wpa_unencrypted_conn_allow + { + buf = qtn_wlan_sett_unencrypted_conn_allow; + } + +RESOURCE TBUF r_wpa_preshared_key_must_be_defined + { + buf = qtn_selec_setting_compulsory; + } + +RESOURCE TBUF r_info_preshared_key_too_short + { + buf = qtn_wlan_info_preshared_key_too_short; + } + +RESOURCE TBUF r_info_preshared_key_not_hex + { + buf = qtn_wlan_info_preshared_key_not_hex; + } + +RESOURCE TBUF r_wpa_preshared_keydata_missing + { + buf = qtn_wlan_quest_preshared_key_data_missing; + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/eabi/WPASecuritySettingsUI_EKA2_ALRu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/eabi/WPASecuritySettingsUI_EKA2_ALRu.def Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,21 @@ +EXPORTS + _ZN20CWPASecuritySettings4NewLE13TSecurityMode @ 1 NONAME + _ZN20CWPASecuritySettings5EditLER22CWPASecuritySettingsUiRK7TDesC16 @ 2 NONAME + _ZN20CWPASecuritySettings5LoadLEmR14CCommsDatabase @ 3 NONAME + _ZN20CWPASecuritySettingsD0Ev @ 4 NONAME + _ZN20CWPASecuritySettingsD1Ev @ 5 NONAME + _ZN20CWPASecuritySettingsD2Ev @ 6 NONAME + _ZN22CWPASecuritySettingsUi3CvtEv @ 7 NONAME + _ZN22CWPASecuritySettingsUi4NewLER9CEikonEnv @ 8 NONAME + _ZN22CWPASecuritySettingsUiD0Ev @ 9 NONAME + _ZN22CWPASecuritySettingsUiD1Ev @ 10 NONAME + _ZN22CWPASecuritySettingsUiD2Ev @ 11 NONAME + _ZNK20CWPASecuritySettings5SaveLEmR14CCommsDatabase13TTypeOfSavingm @ 12 NONAME + _ZNK20CWPASecuritySettings7DeleteLEm @ 13 NONAME + _ZNK20CWPASecuritySettings7IsValidEv @ 14 NONAME + _ZN20CWPASecuritySettings18SetWPAPreSharedKeyERK7TDesC16 @ 15 NONAME + _ZN20CWPASecuritySettings5LoadLEmRN8CommsDat11CMDBSessionE @ 16 NONAME + _ZNK20CWPASecuritySettings5SaveLEmRN8CommsDat11CMDBSessionE13TTypeOfSavingm @ 17 NONAME + _ZN20CWPASecuritySettings22SetWPAEnabledEAPPluginERK6TDesC8 @ 18 NONAME + _ZN20CWPASecuritySettings23SetWPADisabledEAPPluginERK6TDesC8 @ 19 NONAME + diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/group/WPASecuritySettingsUI.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/group/WPASecuritySettingsUI.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,77 @@ +/* +* Copyright (c) 2001-2009 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: This is project specification file for the WPASecuritySettingsUI. +* +*/ + +/* +* %version: tr1cfwln#20 % +*/ + +#include +#include + +TARGET WPASecuritySettingsUI.dll +TARGETTYPE DLL + +CAPABILITY CAP_GENERAL_DLL +VENDORID VID_DEFAULT + + +START RESOURCE ../data/WPASecuritySettingsUI.rss +HEADER +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS +END // RESOURCE + + +SOURCEPATH ../src + +SOURCE WPASecuritySettings.cpp +SOURCE WPASecuritySettingsImpl.cpp +SOURCE WPASecuritySettingsUI.cpp +SOURCE WPASecuritySettingsUiImpl.cpp +SOURCE WPASecuritySettingsDlg.cpp +SOURCE WPASecuritySettingsUiPanic.cpp + +// Component specific internal headers +USERINCLUDE ../inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE +APP_LAYER_SYSTEMINCLUDE + +LIBRARY FeatMgr.lib +LIBRARY hlplch.lib +LIBRARY euser.lib +LIBRARY cone.lib +LIBRARY eikcore.lib +LIBRARY eikcoctl.lib +LIBRARY avkon.lib +LIBRARY eikdlg.lib +LIBRARY bafl.lib +LIBRARY commonengine.lib +LIBRARY commdb.lib +LIBRARY ecom.lib +LIBRARY commsdat.lib + +DEBUGLIBRARY flogger.lib + +#if defined(ARMCC) + DEFFILE ../eabi/WPASecuritySettingsUI_EKA2_ALR.def +#elif defined( WINSCW ) + DEFFILE ../bwinscw/WPASecuritySettingsUI_EKA2_ALR.def +#endif + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/group/bld.inf Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,47 @@ +/* +* Copyright (c) 2001-2009 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: This file provides the information required for building the whole of a WPASecuritySettingsUI. +* +*/ + +/* +* %version: tr1cfwln#19 % +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS + +// export iby files +../Rom/WPASecuritySettingsUI.iby CORE_MW_LAYER_IBY_EXPORT_PATH(WPASecuritySettingsUI.iby) +../Rom/WPASecuritySettingsUIResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(WPASecuritySettingsUIResources.iby) + +// export localised loc file +../loc/wpasecuritysettingsui.loc MW_LAYER_LOC_EXPORT_PATH(wpasecuritysettingsui.loc) + + +PRJ_MMPFILES +// real implementation for WLAN products +./WPASecuritySettingsUI.mmp +// stub implementation for non-WLAN products +./wpasecuritysettingsuistub.mmp + + +PRJ_TESTMMPFILES + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/group/wpasecuritysettingsuistub.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/group/wpasecuritysettingsuistub.mmp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,52 @@ +/* +* Copyright (c) 2001-2010 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: Project specification file for stub implementation of +* WPA UI for non-WLAN products to support linking. +* +*/ + +/* +* %version: 6 % +*/ + +#include +#include + +TARGET wpasecuritysettingsuistub.dll +TARGETTYPE DLL + +CAPABILITY CAP_GENERAL_DLL +VENDORID VID_DEFAULT + +SOURCEPATH ../src + +SOURCE wpasecuritysettingsstub.cpp +SOURCE wpasecuritysettingsuistub.cpp + +// Component specific internal headers +USERINCLUDE ../inc + +//Macro to /epoc32 headers +MW_LAYER_SYSTEMINCLUDE + +//Used libraries +LIBRARY euser.lib + +#if defined(ARMCC) + DEFFILE ../eabi/WPASecuritySettingsUI_EKA2_ALR.def +#elif defined( WINSCW ) + DEFFILE ../bwinscw/WPASecuritySettingsUI_EKA2_ALR.def +#endif + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/inc/SecuritySettingsLogger.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/inc/SecuritySettingsLogger.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,155 @@ +/* +* Copyright (c) 2001-2009 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: Logger utility. +* +*/ + +/* +* %version: tr1cfwln#6 % +*/ + +#ifndef SECURITYSETTINGSLOGGER_H +#define SECURITYSETTINGSLOGGER_H + + +// INCLUDES + +#include +#include +#include + + +#ifdef _DEBUG +#define __SEC_SETT_LOG__ +#endif // _DEBUG + + +#ifdef __SEC_SETT_LOG__ + +// CONSTANTS + +// SecuritySettingsLogger logging directory. +_LIT( KSecSettLogDir, "TestSecSett" ); +// SecSett log file name. +_LIT( KSecSettLogFile, "SecSett.log" ); +// Format string: enter function. +_LIT( KSecSettLogEnterFn, "-> %S" ); +// Format string: leave function. +_LIT( KSecSettLogLeaveFn, "<- %S" ); +// Format string: time. +_LIT( KSecSettLogTimeFormatString, "%H:%T:%S:%*C2" ); +// Format string: timestamp. +_LIT( KSecSettLogTimeStampFormatString, "%S %S" ); + +// DEFINES + +// Write log: enter function. +#define CLOG_ENTERFN( a ) \ + { \ + _LIT( temp, a ); \ + RFileLogger::WriteFormat \ + ( \ + KSecSettLogDir, \ + KSecSettLogFile, \ + EFileLoggingModeAppend, \ + KSecSettLogEnterFn, \ + &temp \ + ); \ + } + +// Write log: leave function. +#define CLOG_LEAVEFN( a ) \ + { \ + _LIT( temp, a ); \ + RFileLogger::WriteFormat \ + ( \ + KSecSettLogDir, \ + KSecSettLogFile, \ + EFileLoggingModeAppend, \ + KSecSettLogLeaveFn, \ + &temp \ + ); \ + } + +// Write log: string 'a'. +#define CLOG_WRITE( a ) \ + { \ + _LIT( temp, a ); \ + RFileLogger::Write \ + ( \ + KSecSettLogDir, \ + KSecSettLogFile, \ + EFileLoggingModeAppend, \ + temp \ + ); \ + } + +// Write log: formatted. +#define CLOG_WRITE_FORMAT( a, b ) \ + { \ + _LIT( temp, a ); \ + RFileLogger::WriteFormat \ + ( \ + KSecSettLogDir, \ + KSecSettLogFile, \ + EFileLoggingModeAppend, \ + temp, \ + b \ + ); \ + } + +// Write log: timestamp. +#define CLOG_WRITE_TIMESTAMP( a ) \ + { \ + _LIT( temp, a ); \ + TTime time; \ + time.HomeTime(); \ + TBuf<32> timeBuf; \ + TRAPD( err, time.FormatL( timeBuf, KSecSettLogTimeFormatString ) ); \ + if ( !err ) \ + { \ + RFileLogger::WriteFormat \ + ( \ + KSecSettLogDir, \ + KSecSettLogFile, \ + EFileLoggingModeAppend, \ + KSecSettLogTimeStampFormatString, \ + &temp, \ + &timeBuf \ + ); \ + } \ + } + +#else // not defined __SEC_SETT_LOG__ + +// DEFINES + +// Empty definition (disable log). +#define CLOG_ENTERFN( a ) + +// Empty definition (disable log). +#define CLOG_LEAVEFN( a ) + +// Empty definition (disable log). +#define CLOG_WRITE( a ) + +// Empty definition (disable log). +#define CLOG_WRITE_FORMAT( a, b ) + +// Empty definition (disable log). +#define CLOG_WRITE_TIMESTAMP( a ) + +#endif // __SEC_SETT_LOG__ + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsDefs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsDefs.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,33 @@ +/* +* Copyright (c) 2001-2009 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: Definitions. +* +*/ + +/* +* %version: tr1cfwln#9 % +*/ + +#ifndef WPASECURITYSETTINGSDEFS_H +#define WPASECURITYSETTINGSDEFS_H + + +// CONSTANTS + + +// UID of application containing help texts (General Settings). +LOCAL_D const TUid KWPASecuritySettingsUiHelpMajor = { 0x100058EC }; + + +#endif // WPASECURITYSETTINGSDEFS_H diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsDlg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsDlg.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,308 @@ +/* +* Copyright (c) 2001-2009 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: Declares dialog. +* +*/ + +/* +* %version: tr1cfwln#21 % +*/ + +#ifndef WPA_SECURITY_SETTINGS_DLG_H +#define WPA_SECURITY_SETTINGS_DLG_H + + +// ENUMERATIONS + +// Members to be showed in the setting pages +enum TWpaMember + { + EWpaMode, // WPA mode + EWpaEapConfig, // EAP Plugin configuration + EWpaWpa2Only, // Wpa2 only mode + EWpaPreSharedKey, // Pre-shared key + EWpaUnencryptedConn + }; + + +// INCLUDES +#include +#include +#include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS +#include +#else +#include +#include +#endif +#include "WPASecuritySettingsImpl.h" + +// FORWARD DECLARATIONS +class CAknTitlePane; +class CWPASecuritySettingsImpl; +class CEAPPluginConfigurationIf; + + +// CLASS DECLARATION +/** +* CWPASecuritySettingsDlg dialog class +*/ +NONSHARABLE_CLASS( CWPASecuritySettingsDlg ) : public CAknDialog, + public MEikListBoxObserver + { + + public: // Constructors and destructor + + /** + * Create and launch dialog. + * @param aSecuritySettings Security settings + * @param aTitle Title of the dialog + * @return The ID of the button that closed the dialog + */ + TInt ConstructAndRunLD( CWPASecuritySettingsImpl* aSecuritySettings, + const TDesC& aTitle ); + + + /** + * Two-phase construction. + * @param aEventStore A reference to hold the events happened + * @param aIapId Id of the IAP. + * @param aPlugin The EAP Configuration plugin. + * @return The constructed CWPASecuritySettingsDlg object. + */ + static CWPASecuritySettingsDlg* NewL( TInt& aEventStore, + const TUint32 aIapId, + CEAPPluginConfigurationIf* aPlugin ); + + /** + * Destructor. + */ + ~CWPASecuritySettingsDlg(); + + + protected: + /** + * Constructor. + * @param aEventStore A reference to hold the events happened + * @param aIapId Id of the IAP. + * @param aPlugin The EAP Configuration plugin. + */ + CWPASecuritySettingsDlg( TInt& aEventStore, const TUint32 aIapId, + CEAPPluginConfigurationIf* aPlugin ); + + + public: // Functions from base classes + /** + * Handle key events. + * @param aKeyEvent: key event + * @param aType: type of event + * @return The key response, if it was consumed or not. + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType ); + + private: // Functions from base classes + + /** + * This function is called by the dialog framework before the dialog is + * sized and laid out. + */ + virtual void PreLayoutDynInitL(); + + + /** + * Handles a dialog button press for the specified button + * @param aButtonId The ID of the button that was activated. + * @return ETrue to validate and exit the dialog, + * EFalse to keep the dialog active + */ + TBool OkToExitL( TInt aButtonId ); + + + /** + * Processes user commands. + * @param aCommandId ID of the command to respond to. + */ + virtual void ProcessCommandL( TInt aCommandId ); + + + /** + * Handles list box events. + * @param aListBox The originating list box. + * @param aEventType A code for the event. + */ + void HandleListBoxEventL( CEikListBox* aListBox, + TListBoxEvent aEventType ); + + /** + * Get help context. + * @param aContext Help context is returned here. + */ + void GetHelpContext( TCoeHelpContext& aContext ) const; + + /** + * Initialize menu pane. + * @param aResourceId Menu pane resource id. + * @param CEikMenuPane Menu pane. + */ + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + + protected: // New functions + + /** + * Handles listbox data change + */ + void HandleListboxDataChangeL(); + + + /** + * Fills up the listbox with data + * @param aItemArray Array where to add the elements + * @param arr Array to be used as list elements + * @param aRes Array of resource IDs to be used for the + * elements of arr + */ + void FillListWithDataL( CDesCArrayFlat& aItemArray, + const TWpaMember& arr, const TInt* aRes ); + + + /** + * Updates one 'textual' listbox item for the given member + * @param aMember Value specifying which member has to be added to + * the list + * @param aRes Resource ID for the 'title text' for this member + * @param aPos The current position of the item in the list + */ + void UpdateTextualListBoxItemL( TWpaMember aMember, TInt aRes, + TInt aPos ); + + + /** + * Creates one 'textual' listbox item for the given member + * @param aMember Value specifying which member has to be added to + * the list + * @param aRes Resource ID for the 'title text' for this member + * @return The created listbox item text. + */ + HBufC* CreateTextualListBoxItemL( TWpaMember aMember, TInt aRes ); + + + /** + * Changes one setting. The setting, which is + * highlighted as current in the listbox is changed. + * @param aQuick ETrue if the setting is "two-choices", and can be + * automatically changed, without showing the list of + * elements + */ + void ChangeSettingsL( TBool aQuick ); + + + /** + * Shows a popup setting page (radio buttons) for the given member + * @param aDataMember The member which needs to be changed + * @return A boolean indicating whether the current setting + * has been changed or not. + */ + TBool ShowPopupSettingPageL( TWpaMember aDataMember ); + + + /** + * Shows a popup text setting page for the given member + * @return A boolean indicating whether the current setting + * has been changed or not. + */ + TBool ShowPopupTextSettingPageL(); + + + /** + * Fills up a pop-up radio button setting page with the currently + * valid and available choices for the given member. + * @param aData The member whose new setting is needed + * @param aCurrvalue The current value of the setting + * @return An array of choices for the given member, pushed to the + * CleanupStack. + */ + CDesCArrayFlat* FillPopupSettingPageLC( TWpaMember aData, + TInt& aCurrvalue ); + + + /** + * Updates the given member's data with the new setting from the setting + * page. + * @param aData The member to update + * @param aCurrvalue The new value + * @return A boolean indicating if the value is actually changed + */ + TBool UpdateFromPopupSettingPage( TWpaMember aData, TBool aCurrvalue ); + + + /** + * Cleanup for the iEapConfigActive semaphore flag + * @since S60 5.0 + * @param aPtr Pointer to this class + */ + static void ResetEapConfigFlag( TAny* aPtr ); + + /** + * @see CEikDialog + */ + void HandleDialogPageEventL( TInt aEventID ); + + private: //data + + // Stores the name of the connection, to be showed as the title. + TBuf iConnectionName; + + // Title pane. Not owned. + CAknTitlePane* iTitlePane; + + // Pointer to the old title. Owned. + HBufC* iOldTitleText; + + // Owned through resources, destroyed automatically by the dialog. + CAknSettingStyleListBox* iList; + + // Array of the items. Not owned. + CDesCArrayFlat* iItemArray; + + // Fields of the main view. Not owned. + TWpaMember* iFieldsMain; + + // Titles of the main view. Not owned. + TInt* iTitlesMain; + + // Pointer to the WPA Security Settings. Not owned. + CWPASecuritySettingsImpl* iSecuritySettings; + + // To hold the events. Not owned. + TInt* iEventStore; + + // The Id of the AP. + TUint32 iIapId; + + // The EAP Configuration plugin. Not owned. + CEAPPluginConfigurationIf* iPlugin; + + // Indicates whether the EAP plugin configuration is active + TBool iEapConfigActive; + + TBuf8 iEnabledPluginList; + TBuf8 iDisabledPluginList; + }; + + +#endif // WPA_SECURITY_SETTINGS_DLG_H + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsImpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsImpl.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,322 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of class CWPASecuritySettingsImpl. +* +*/ + +/* +* %version: tr1cfwln#28 % +*/ + +#ifndef WPASECURITYSETTINGSIMPL_H +#define WPASECURITYSETTINGSIMPL_H + +// INCLUDES +#include +#include + +#include + +#include +using namespace CommsDat; + + + +// CONST DECLARATIONS +#define KWLANEAPLISTLENGTH 1024 // Max length of the EAP Plugin list + + +// FORWARD DECLARATIONS +class CCommsDatabase; +class CEAPPluginConfigurationIf; + +// CLASS DECLARATION + +/** +* WPA Security Settings. +* Implementation behind proxy class CWPASecuritySettings. +*/ +NONSHARABLE_CLASS( CWPASecuritySettingsImpl ) : public CBase + { + + public: // Constructors and destructor + + /** + * Two-phased constructor. Leaves on failure. + * @param aSecurityMode The chosen security mode. It can be + * ESecurityMode8021x or ESecurityModeWpa + * @return The constructed CWPASecuritySettings object. + */ + static CWPASecuritySettingsImpl* NewL( TSecurityMode aSecurityMode ); + + /** + * Destructor. + */ + virtual ~CWPASecuritySettingsImpl(); + + + protected: // Constructors + + /** + * Constructor. + * @param aSecurityMode The chosen security mode. It can be + * ESecurityMode8021x or ESecurityModeWpa + */ + CWPASecuritySettingsImpl( TSecurityMode aSecurityMode ); + + /** + * Second-phase constructor. + */ + void ConstructL(); + + + public: // New methods + + /** + * Load from database. + * @param aIapId Wlan Service Table Id of the IAP to be loaded + * @param aCommsDb Comms database. + */ + void LoadL( TUint32 aIapId, CCommsDatabase& aCommsDb ); + + + /** + * Save to database. + * @param aIapId Wlan Service Table Id of the IAP to be saved + * @param aCommsDb Comms database. + * @param aTypeOfSaving Tells what kind of AP we are going to save: it + * can be ESavingEditedAP, ESavingBrandNewAP, or + * ESavingNewAPAsACopy + * @param aOldIapId The old Id of the IAP; it is used to save the EAP + * configuration, only when aIsNewAP is ETrue + */ + void SaveL( TUint32 aIapId, CCommsDatabase& aCommsDb, + TTypeOfSaving aTypeOfSaving, TUint32 aOldIapId ); + + + /** + * Delete from database. It actually just removes EAP Configuration. + * @param aIapId Id of the IAP to be saved + */ + void DeleteL( TUint32 aIapId ); + + + /** + * Tells if the settings are valid and can be saved + * @return ETrue if all the compulsory settings have been entered + */ + TBool IsValid(); + + + /** + * Sets the Pre-shared key + * @param aPreSharedKey The key to be set + * @return KErrNone if successful, or an error code + */ + TInt SetWPAPreSharedKey( const TDesC& aPreSharedKey ); + + /** + * Gets the type of Security set. + * @return The security mode in use. It can be ESecurityMode8021x or + * ESecurityModeWpa + */ + inline TSecurityMode SecurityMode() const; + + + /** + * Tells if Pre-shared key is in use or not + * @return ETrue if Pre-shared key is in use + */ + inline TBool WPAMode() const; + + + /** + * Sets the use of Pre-shared key. + * @param aWPAMode ETrue if pre-shared key is in use + */ + inline void SetWPAMode( const TBool aWPAMode ); + + + /** + * Tells if it is WPA2 Only mode + * @return ETrue if it is WPA2 Only mode + */ + inline TBool Wpa2Only() const; + + + /** + * Sets the WPA2 Only mode enabling variable + * @param aAllowed ETrue if WPA2 Only mode is enabled + */ + inline void SetWpa2Only( const TBool aAllowed ); + + + /** + * Tells if 802.1x Unencrypted connection is allowed + * @return ETrue if Unencrypted connection is allowed + */ + inline TBool WPAUnencryptedConn() const; + + + /** + * Sets the 802.1x Unencrypted connection enabling variable + * @param aUnencryptedConn ETrue if Unencrypted connection is allowed + */ + inline void SetWPAUnencryptedConn( const TBool aUnencryptedConn ); + + + /** + * Returns the Pre-shared key + * @return The pre-shared key + */ + inline TDes8* WPAPreSharedKey(); + + + /** + * Sets the Pre-shared key + * @param aPreSharedKey The key to be set + */ + inline void SetWPAPreSharedKey( const TDesC8& aPreSharedKey ); + + + /** + * Returns the content of the WlanEapList column of WLANServiceTable + * @return The content string + */ + inline TDes* WPAEAPPlugin(); + + /** + * Returns the content of the WlanEnabledEapList column of + * WLANServiceTable + * @return The content string. Ownership not passed! + */ + inline HBufC8* WPAEnabledEAPPlugin(); + + /** + * Returns the content of the WlanDisabledEapList column of + * WLANServiceTable + * @return The content string. Ownership not passed! + */ + inline HBufC8* WPADisabledEAPPlugin(); + + /** + * Sets the content of the WlanEapList column of WLANServiceTable + * @param aPluginList The content string to be set + */ + inline void SetWPAEAPPlugin( const TDes& aPluginList ); + + /** + * Sets the content of the WlanEnabledEapList column of WLANServiceTable + * (for expanded EAP types) + * @param aEnabledPluginList Enumeration of enabled plugins + * @return KErrNone if successful, or an error code + */ + TInt SetWPAEnabledEAPPlugin( const TDesC8& aEnabledPluginList ); + + /** + * Sets the content of the WlanDisabledEapList column of WLANServiceTable + * (for expanded EAP types) + * @param aDisabledPluginList Enumeration of disabled plugins + * @return KErrNone if successful, or an error code + */ + TInt SetWPADisabledEAPPlugin( const TDesC8& aDisabledPluginList ); + + /** + * Sets the Id of the AP + * @param aIapId The Id to be set + */ + inline void SetIapId( const TUint32 aIapId ); + + /** + * Returns the Id of the AP + * @return The Id + */ + inline const TUint32 IapId(); + + /** + * Returns the pointer to the EAP Configuration plugin + * @return The EAP Configuration plugin + */ + inline CEAPPluginConfigurationIf* Plugin(); + + /** + * Load from database. + * @param aIapId Wlan Service Table Id of the IAP to be loaded + * @param aSession CommsDat session. + */ + void LoadL( TUint32 aIapId, CMDBSession& aSession ); + + + /** + * Save to database. + * @param aIapId Wlan Service Table Id of the IAP to be saved + * @param aSession CommsDat session. + * @param aTypeOfSaving Tells what kind of AP we are going to save: it + * can be ESavingEditedAP, ESavingBrandNewAP, or + * ESavingNewAPAsACopy + * @param aOldIapId The old Id of the IAP; it is used to save the EAP + * configuration, only when aIsNewAP is ETrue + */ + void SaveL( TUint32 aIapId, CMDBSession& aSession, + TTypeOfSaving aTypeOfSaving, TUint32 aOldIapId ); + + private: + /** + * Checks whether the given string is a valid PSK + * @since S60 5.0 + * @param aPsk The string to be checked + * @return ETrue if the string is a valid PSK, EFalse otherwise. + */ + TBool IsValidPsk( const TDesC8& aPsk ); + + private: // Data + + // Security mode in use + TSecurityMode iSecurityMode; + + // Pre-shared key in use or not + TBool iWPAMode; + + // The content of the WlanEapList column of WLANServiceTable + TBuf iWPAEAPPlugin; + + // The pre-shared key + TBuf8 iWPAPreSharedKey; + + // The content of the WlanEnabledEapList column of WLANServiceTable. + // Owned. + HBufC8 *iWPAEnabledEAPPlugin; + + // The content of the WlanDisabledEapList column of WLANServiceTable. + // Owned. + HBufC8 *iWPADisabledEAPPlugin; + + // WPA2 Only mode enabled or not + TBool iWpa2Only; + + // 802.1x unencrypted connection allowed or not + TBool iWPAUnencryptedConn; + + // The Id of the AP. + TUint32 iIapId; + + // The EAP Configuration plugin. Owned. + CEAPPluginConfigurationIf* iPlugin; + }; + +// Include inline functions +#include "WPASecuritySettingsImpl.inl" + + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsImpl.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsImpl.inl Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,189 @@ +/* +* Copyright (c) 2001-2009 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: CWPASecuritySettingsImpl inline functions +* +*/ + +/* +* %version: tr1cfwln#16 % +*/ + +#ifndef WPASECURITYSETTINGSIMPL_INL +#define WPASECURITYSETTINGSIMPL_INL + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::SecurityMode +// --------------------------------------------------------- +// +inline TSecurityMode CWPASecuritySettingsImpl::SecurityMode() const + { + return iSecurityMode; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::WPAMode +// --------------------------------------------------------- +// +inline TBool CWPASecuritySettingsImpl::WPAMode() const + { + return iWPAMode; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::Wpa2Only +// --------------------------------------------------------- +// +inline TBool CWPASecuritySettingsImpl::Wpa2Only() const + { + return iWpa2Only; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::WPAUnencryptedConn +// --------------------------------------------------------- +// +inline TBool CWPASecuritySettingsImpl::WPAUnencryptedConn() const + { + return iWPAUnencryptedConn; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::WPAPreSharedKey +// --------------------------------------------------------- +// +inline TDes8* CWPASecuritySettingsImpl::WPAPreSharedKey() + { + return &iWPAPreSharedKey; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::WPAEAPPlugin +// --------------------------------------------------------- +// +inline TDes* CWPASecuritySettingsImpl::WPAEAPPlugin() + { + return &iWPAEAPPlugin; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::WPAEnabledEAPPlugin +// --------------------------------------------------------- +// +inline HBufC8* CWPASecuritySettingsImpl::WPAEnabledEAPPlugin() + { + return iWPAEnabledEAPPlugin; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::WPADisabledEAPPlugin +// --------------------------------------------------------- +// +inline HBufC8* CWPASecuritySettingsImpl::WPADisabledEAPPlugin() + { + return iWPADisabledEAPPlugin; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::SetWPAMode +// --------------------------------------------------------- +// +inline void CWPASecuritySettingsImpl::SetWPAMode( const TBool aWPAMode ) + { + iWPAMode = aWPAMode; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::SetWpa2Only +// --------------------------------------------------------- +// +inline void CWPASecuritySettingsImpl::SetWpa2Only( const TBool aWpa2Only ) + { + iWpa2Only = aWpa2Only; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::SetWPAUnencryptedConn +// --------------------------------------------------------- +// +inline void CWPASecuritySettingsImpl::SetWPAUnencryptedConn( const TBool aUnencryptedConn ) + { + iWPAUnencryptedConn = aUnencryptedConn; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::SetWPAPreSharedKey +// --------------------------------------------------------- +// +inline void CWPASecuritySettingsImpl::SetWPAPreSharedKey( + const TDesC8& aWPAPreSharedKey ) + { + iWPAPreSharedKey = aWPAPreSharedKey; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::SetIapId +// --------------------------------------------------------- +// +void CWPASecuritySettingsImpl::SetIapId( const TUint32 aIapId ) + { + iIapId = aIapId; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::IapId +// --------------------------------------------------------- +// +const TUint32 CWPASecuritySettingsImpl::IapId() + { + return iIapId; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::SetWPAEAPPlugin +// --------------------------------------------------------- +// +void CWPASecuritySettingsImpl::SetWPAEAPPlugin( const TDes& aPluginList ) + { + iWPAEAPPlugin.Copy( aPluginList ); + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::Plugin +// --------------------------------------------------------- +// +CEAPPluginConfigurationIf* CWPASecuritySettingsImpl::Plugin() + { + return iPlugin; + } + + +#endif + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUI.hrh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUI.hrh Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,57 @@ +/* +* Copyright (c) 2001-2009 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: This file contains declarations for resources of WPASecuritySettingsUI. The file can be included in C++ or resource file. +* +*/ + +/* +* %version: % +*/ + +#ifndef WPASecuritySettingsUI_HRH +#define WPASecuritySettingsUI_HRH + + +// Menu command IDs +enum TWpaSelectorMenuCommands + { + EWpaSelCmdChange = 2468 + }; + + +// dialog line IDs +enum TWpaSelectorDllDlgLineId + { + KWpaMainSettingsListboxId = 3 + }; + + + + +// The minimum length of PreSharedKey in ASCII encoding +#define EMinLengthOfPreSharedKeyAscii 8 + +// The maximum length of PreSharedKey in ASCII encoding +#define EMaxLengthOfPreSharedKeyAscii 63 + +// The required length of PreSharedKey in hexadecimal digits +#define ELengthOfPreSharedKeyHex 64 + +// The maximum number of bytes occupied by the PSK +#define EMaxLengthOfPreSharedKey ELengthOfPreSharedKeyHex + + +#endif // WPASecuritySettingsUI_HRH + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUiImpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUiImpl.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,98 @@ +/* +* Copyright (c) 2001-2009 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: Declaration of class CWPASecuritySettingsUiImpl. +* +*/ + +/* +* %version: tr1cfwln#8 % +*/ + +#ifndef WPASECURITYSETTINGSUIIMPL_H +#define WPASECURITYSETTINGSUIIMPL_H + +// INCLUDES + +#include + + +// FORWARD DECLARATIONS + +class CEikonEnv; +class CWPASecuritySettings; +class CWPASecuritySettingsUiImpl; +class CWPASecuritySettingsImpl; + + +// CLASS DECLARATION + +/** +* WPA Security Settings UI implementation (behind proxy class +* CWPASecuritySettingsUi) +*/ +NONSHARABLE_CLASS( CWPASecuritySettingsUiImpl ) : public CBase + { + + public: // Constructors and destructor + + /** + * Two-phased constructor. Leaves on failure. + * @param aEikEnv Eikon environment. + * @return The constructed CWPASecuritySettingsUiImpl object. + */ + static CWPASecuritySettingsUiImpl* NewL( CEikonEnv& aEikEnv ); + + /** + * Destructor. + */ + virtual ~CWPASecuritySettingsUiImpl(); + + protected: // Constructors + + /** + * Constructor. + * @param aEikEnv Eikon environment. + */ + CWPASecuritySettingsUiImpl( CEikonEnv& aEikEnv ); + + /** + * Second-phase constructor. + */ + void ConstructL(); + + public: // New methods + + /** + * Edit the settings. + * @param aSettings Settings to edit. + * @param aTitle Title Pane text to display during edit. + * @return Exit code. Value from CWPASecuritySettings::TEvent bits + * combined. + */ + TInt EditL( CWPASecuritySettingsImpl& aSettings, const TDesC& aTitle ); + + + private: // Data + + // To hold the events + TInt iEventStore; + + // Resource file offset. + TInt iResOffset; + + // Eikon environment. Not owned. + CEikonEnv* iEikEnv; + }; + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUiPanic.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUiPanic.h Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,45 @@ +/* +* Copyright (c) 2001-2009 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: Panic function and codes. +* +*/ + +/* +* %version: tr1cfwln#8 % +*/ + +#ifndef WPASECURITYSETTINGSUIPANIC_H +#define WPASECURITYSETTINGSUIPANIC_H + +// TYPES + +/** +* Panic reasons for WPA Security Settings UI. +*/ +enum TWpaSecuritySettingsPanicCodes + { + EUnknownCase, + ETableNotFound + }; + + +// FUNCTION DECLARATIONS + +/** +* Panic the thread. +* @param aReason Reason for the panic. +*/ +void Panic( TWpaSecuritySettingsPanicCodes aPanic ); + +#endif diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/loc/wpasecuritysettingsui.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/loc/wpasecuritysettingsui.loc Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,153 @@ +/* +* Copyright (c) 2001-2009 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: This is a localisation file for WPASecuritySettingsUI A .loc file is the one and only place where the logical strings to be localised are defined. +* +*/ + +/* +* %version: tr1cfwln#7 % +*/ + +// LOCALISATION STRINGS + + +//d:Command in options menu. +//d:Modifies the currently selected item. +//l:list_single_pane_t1_cp2 +//w: +//r:3.0 +// +#define qtn_set_options_change "Change" + + +//d:First element of the Selection List +//l:list_setting_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wpa_mode "WPA/WPA2 mode" + + +//d:Possible second element of the Selection List +//l:list_setting_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_eap_plugin_config "EAP plug-in configuration" + + +//d:Possible second element of the Selection List +//l:list_setting_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_preshared_key "Pre-shared key" + + +//d:Third element of the Selection List +//l:list_setting_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_allow_tkip "WPA2-only mode" + + +//d:Fourth element of the Selection List +//l:list_setting_pane_t1 +//w: +//r:5.0 +// +#define qtn_wlan_sett_unencrypted_conn "Unencrypted connection" + + +//d:Setting item for the first element of the Selection List +//d:(qtn_wlan_sett_wpa_mode) +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wpa_mode_eap "EAP" + + +//d:Setting item for the first element of the Selection List +//d:(qtn_wlan_sett_wpa_mode) +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_wpa_mode_preshared_key "Pre-shared key" + + +//d:Setting item for the third element of the Selection List +//d:(qtn_wlan_sett_allow_tkip) +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_tkip_allowed "No" + + +//d:Setting item for the third element of the Selection List +//d:(qtn_wlan_sett_allow_tkip) +//l:list_set_graphic_pane_t1 +//w: +//r:3.0 +// +#define qtn_wlan_sett_tkip_not_allowed "Yes" + + +//d:Setting item for the fourth element of the Selection List +//d:(qtn_wlan_sett_unencrypted_conn) +//l:list_set_graphic_pane_t1 +//w: +//r:5.0 +// +#define qtn_wlan_sett_unencrypted_conn_not_allow "Not allowed" + + +//d:Setting item for the fourth element of the Selection List +//d:(qtn_wlan_sett_unencrypted_conn) +//l:list_set_graphic_pane_t1 +//w: +//r:5.0 +// +#define qtn_wlan_sett_unencrypted_conn_allow "Allowed" + + +//d:Information note for the user when the entered key is too short +//l:popup_snote_single_text_window +//w: +//r:3.0 +// +#define qtn_wlan_info_preshared_key_too_short "Key must be at least 8 characters long" + + +//d:Information note for the user when the entered key is not hexadecimal +//l:popup_snote_single_text_window +//w: +//r:5.0 +// +#define qtn_wlan_info_preshared_key_not_hex "Invalid characters in pre-shared key. 64-digit key must be in hexadecimal format." + + +//d:Confirmation query showed to the user when not all compulsory data have +//d:been entered +//l:popup_note_window +//w: +//r:3.0 +// +#define qtn_wlan_quest_preshared_key_data_missing "Pre-shared key data is compulsory. Security settings will not be saved. Continue?" + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettings.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettings.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,171 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWPASecuritySettings. +* +*/ + +/* +* %version: tr1cfwln#18 % +*/ + +// INCLUDE FILES + +#include "WPASecuritySettingsImpl.h" +#include "WPASecuritySettingsUiImpl.h" + +#include + + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWPASecuritySettings::NewL +// --------------------------------------------------------- +// +EXPORT_C CWPASecuritySettings* CWPASecuritySettings::NewL( + TSecurityMode aSecurityMode ) + { + CWPASecuritySettings* settings = new ( ELeave ) CWPASecuritySettings(); + CleanupStack::PushL( settings ); + settings->iImpl = CWPASecuritySettingsImpl::NewL( aSecurityMode ); + CleanupStack::Pop( settings ); + return settings; + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::~CWPASecuritySettings +// --------------------------------------------------------- +// +EXPORT_C CWPASecuritySettings::~CWPASecuritySettings() + { + delete iImpl; + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::LoadL +// --------------------------------------------------------- +// +EXPORT_C void CWPASecuritySettings::LoadL( TUint32 aIapId, + CCommsDatabase& aCommsDb ) + { + iImpl->LoadL( aIapId, aCommsDb ); + iImpl->SetIapId( aIapId ); + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::SaveL +// --------------------------------------------------------- +// +EXPORT_C void CWPASecuritySettings::SaveL( TUint32 aIapId, + CCommsDatabase& aCommsDb, + TTypeOfSaving aTypeOfSaving, + TUint32 aOldIapId ) const + { + iImpl->SaveL( aIapId, aCommsDb, aTypeOfSaving, aOldIapId ); + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::EditL +// --------------------------------------------------------- +// +EXPORT_C TInt CWPASecuritySettings::EditL( CWPASecuritySettingsUi& aUi, + const TDesC& aTitle ) + { + return aUi.iImpl->EditL( *iImpl, aTitle ); + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::DeleteL +// --------------------------------------------------------- +// +EXPORT_C void CWPASecuritySettings::DeleteL( TUint32 aIapId ) const + { + iImpl->DeleteL( aIapId ); + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::IsValid +// --------------------------------------------------------- +// +EXPORT_C TBool CWPASecuritySettings::IsValid() const + { + return iImpl->IsValid(); + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::SetWPAPreSharedKey +// --------------------------------------------------------- +// +EXPORT_C TInt CWPASecuritySettings::SetWPAPreSharedKey( + const TDesC& aPreSharedKey ) + { + return iImpl->SetWPAPreSharedKey( aPreSharedKey ); + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::LoadL +// --------------------------------------------------------- +// +EXPORT_C void CWPASecuritySettings::LoadL( TUint32 aIapId, + CMDBSession& aSession ) + { + iImpl->LoadL( aIapId, aSession ); + iImpl->SetIapId( aIapId ); + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::SaveL +// --------------------------------------------------------- +// +EXPORT_C void CWPASecuritySettings::SaveL( TUint32 aIapId, + CMDBSession& aSession, + TTypeOfSaving aTypeOfSaving, + TUint32 aOldIapId ) const + { + iImpl->SaveL( aIapId, aSession, aTypeOfSaving, aOldIapId ); + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::SaveL +// --------------------------------------------------------- +// +EXPORT_C TInt CWPASecuritySettings::SetWPAEnabledEAPPlugin( + const TDesC8& aEnabledPluginList ) + { + return iImpl->SetWPAEnabledEAPPlugin( aEnabledPluginList ); + } + +// --------------------------------------------------------- +// CWPASecuritySettings::SaveL +// --------------------------------------------------------- +// +EXPORT_C TInt CWPASecuritySettings::SetWPADisabledEAPPlugin( + const TDesC8& aDisabledPluginList ) + { + return iImpl->SetWPADisabledEAPPlugin( aDisabledPluginList ); + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsDlg.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsDlg.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,1128 @@ +/* +* Copyright (c) 2001-2010 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: Implementation of dialog. +* +*/ + +/* +* %version: tr1cfwln#33 % +*/ + +// INCLUDE FILES +#include "WPASecuritySettingsDlg.h" +#include "WPASecuritySettingsUiPanic.h" + +#include "WPASecuritySettingsUI.hrh" + +#include "WPASecuritySettingsDefs.h" + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include + + +// CONSTANT DECLARATIONS + +// Number of fields of main view +LOCAL_D const TInt KNumOfFieldsMain = 3; + +// Menu List item format +_LIT( KTxtMenuListItemFormat, " \t%S\t\t" ); + +// Number of spaces and tabs in KTxtMenuListItemFormat string +LOCAL_D const TInt KSpaceAndTabsLength = 4; + + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::CWPASecuritySettingsDlg +// --------------------------------------------------------- +// +CWPASecuritySettingsDlg::CWPASecuritySettingsDlg( TInt& aEventStore, + const TUint32 aIapId, + CEAPPluginConfigurationIf* aPlugin ) +: iEventStore( &aEventStore ), + iIapId( aIapId ), + iPlugin( aPlugin ) + { + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::~CWPASecuritySettingsDlg +// --------------------------------------------------------- +// +CWPASecuritySettingsDlg::~CWPASecuritySettingsDlg() + { + if ( iTitlePane ) + { + // set old text back, if we have it... + if ( iOldTitleText ) + { + TRAP_IGNORE( iTitlePane->SetTextL( *iOldTitleText ) ); + delete iOldTitleText; + } + } + + FeatureManager::UnInitializeLib(); + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::NewL +// --------------------------------------------------------- +// +CWPASecuritySettingsDlg* CWPASecuritySettingsDlg::NewL( TInt& aEventStore, + const TUint32 aIapId, + CEAPPluginConfigurationIf* aPlugin ) + { + CWPASecuritySettingsDlg* secSett = new ( ELeave )CWPASecuritySettingsDlg( + aEventStore, aIapId, aPlugin ); + return secSett; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::ConstructAndRunLD +// --------------------------------------------------------- +// +TInt CWPASecuritySettingsDlg::ConstructAndRunLD( + CWPASecuritySettingsImpl* aSecuritySettings, + const TDesC& aTitle ) + { + CleanupStack::PushL( this ); + + const TInt Titles_Wpa_Main[KNumOfFieldsMain+2] = + { + R_WPA_MODE, + R_WPA_EAP_CONFIG, + R_WPA_MODE_PRESHARED_KEY, + R_WPA_TKIP_CIPHER, + R_WPA_UNENCRYPTED_CONN + }; + + const TInt Fields_Wpa_Main[KNumOfFieldsMain+2] = + { + EWpaMode, + EWpaEapConfig, + EWpaPreSharedKey, + EWpaWpa2Only, + EWpaUnencryptedConn + }; + + iSecuritySettings = aSecuritySettings; + iConnectionName = aTitle; + + iFieldsMain = ( TWpaMember* ) Fields_Wpa_Main; + iTitlesMain = MUTABLE_CAST( TInt*, Titles_Wpa_Main ); + + if ( !iSecuritySettings->WPAMode() && !iPlugin ) + { + iSecuritySettings->SetWPAMode( ETrue ); + *iEventStore |= CWPASecuritySettings::EModified; + } + + FeatureManager::InitializeLibL(); + + ConstructL( R_WPA_SECURITY_SETTINGS_MENUBAR ); + + // ExecuteLD will PushL( this ), so we have to Pop it... + CleanupStack::Pop( this ); // this + + return ExecuteLD( R_WPASETTINGS_DIALOG ); + } + + + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::OkToExitL +// --------------------------------------------------------- +// +TBool CWPASecuritySettingsDlg::OkToExitL( TInt aButtonId ) + { + // Translate the button presses into commands for the appui & current + // view to handle + TBool retval( EFalse ); + if ( aButtonId == EAknSoftkeyOptions ) + { + DisplayMenuL(); + } + else if ( aButtonId == EEikCmdExit ) // ShutDown requested + { + *iEventStore |= CWPASecuritySettings::EShutDownReq; + retval = ETrue; + } + else if ( aButtonId == EAknSoftkeyBack || aButtonId == EAknCmdExit ) + { + if ( iSecuritySettings->WPAMode() ) + { + if ( iSecuritySettings->IsValid() ) + { + *iEventStore |= CWPASecuritySettings::EValid; + retval = ETrue; + } + else if ( aButtonId == EAknSoftkeyBack ) + { + HBufC* stringHolder = StringLoader::LoadL( + R_WPA_PRESHARED_KEYDATA_MISSING, iEikonEnv ); + CleanupStack::PushL( stringHolder ); + + CAknQueryDialog *queryDialog = new (ELeave) CAknQueryDialog(); + + queryDialog->PrepareLC( R_WPA_SEC_SETT_CONF_QUERY ); + queryDialog->SetPromptL( stringHolder->Des() ); + retval = queryDialog->RunLD(); + + CleanupStack::PopAndDestroy( stringHolder ); // stringHolder + } + else + { + retval = ETrue; + } + } + else + { + *iEventStore |= CWPASecuritySettings::EValid; + retval = ETrue; + } + + if ( aButtonId == EAknCmdExit ) + { + *iEventStore |= CWPASecuritySettings::EExitReq; + } + } + + else if( aButtonId == EWpaSelCmdChange ) + { + ChangeSettingsL( ETrue ); + retval = EFalse; // don't exit the dialog + } + + return retval; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::OfferKeyEventL +// --------------------------------------------------------- +// +TKeyResponse CWPASecuritySettingsDlg::OfferKeyEventL( + const TKeyEvent& aKeyEvent, TEventCode aType ) + { + TKeyResponse retval( EKeyWasNotConsumed ); + + // Only interested in standard key events + if ( aType == EEventKey ) + { + // If a menu is showing offer key events to it. + if ( CAknDialog::MenuShowing() ) + { + retval = CAknDialog::OfferKeyEventL( aKeyEvent, aType ); + } + else + { + if ( iList ) + { + // as list IS consuming, must handle because it IS the SHUTDOWN... + // or, a view switch is shutting us down... + if ( aKeyEvent.iCode == EKeyEscape ) + { + ProcessCommandL( EEikCmdExit ); + retval = EKeyWasConsumed; + } + else + { + retval = iList->OfferKeyEventL( aKeyEvent, aType ); + if ( *iEventStore & CWPASecuritySettings::EShutDownReq ) + { + ProcessCommandL( EEikCmdExit ); + } + else if ( *iEventStore & CWPASecuritySettings::EExitReq ) + { + ProcessCommandL( EAknCmdExit ); + } + } + } + else + { + if ( aKeyEvent.iCode == EKeyOK ) + { + ProcessCommandL( EWpaSelCmdChange ); + retval = EKeyWasConsumed; + } + } + } + } + + return retval; + } + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::HandleDialogPageEventL +// --------------------------------------------------------- +// +void CWPASecuritySettingsDlg::HandleDialogPageEventL( TInt aEventID ) + { + CAknDialog::HandleDialogPageEventL( aEventID ); + if( *iEventStore & CWPASecuritySettings::EExitReq ) + { + // Exit requested, exit with EAknCmdExit. + TryExitL( EAknCmdExit ); + } + + } + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::HandleListboxDataChangeL +// --------------------------------------------------------- +// +void CWPASecuritySettingsDlg::HandleListboxDataChangeL() + { + // fill up our new list with data + CDesCArrayFlat* itemArray = new ( ELeave ) CDesCArrayFlat( 4 ); + CleanupStack::PushL( itemArray ); + + FillListWithDataL( *itemArray, *iFieldsMain, iTitlesMain ); + + iList->Model()->SetItemTextArray( itemArray ); + + CleanupStack::Pop( itemArray ); // now it is owned by the LB, so pop it + iItemArray = itemArray; + + iList->HandleItemAdditionL(); + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::ProcessCommandL +// --------------------------------------------------------- +// +void CWPASecuritySettingsDlg::ProcessCommandL( TInt aCommandId ) + { + if ( MenuShowing() ) + { + HideMenu(); + } + + switch ( aCommandId ) + { + case EWpaSelCmdChange: + { + ChangeSettingsL( EFalse ); + break; + } + + case EAknCmdHelp: + { + HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), + iEikonEnv->EikAppUi()->AppHelpContextL() ); + break; + } + + case EAknSoftkeyBack: + case EAknCmdExit: + case EEikCmdExit: + { + TryExitL( aCommandId ); + break; + } + + default: + { + // silently ignore it + break; + } + } + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::HandleListBoxEventL +// --------------------------------------------------------- +// +void CWPASecuritySettingsDlg::HandleListBoxEventL( CEikListBox* /*aListBox*/, + TListBoxEvent aEventType ) + { + switch ( aEventType ) + { + case EEventEnterKeyPressed: + case EEventItemSingleClicked: + { + ChangeSettingsL( ETrue ); + break; + } + + case EEventEditingStarted: + case EEventEditingStopped: + case EEventPenDownOnItem: + case EEventItemDraggingActioned: + { + break; + } + + default: + { + // New events like + // EEventPanningStarted + // EEventPanningStopped + // EEventFlickStarted + // EEventFlickStopped + // EEventEmptyListClicked + // EEventEmptyAreaClicked + break; + }; + }; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::PreLayoutDynInitL() +// --------------------------------------------------------- +// +void CWPASecuritySettingsDlg::PreLayoutDynInitL() + { + // first get StatusPane + CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); + + // then get TitlePane + iTitlePane = ( CAknTitlePane* ) statusPane->ControlL( TUid::Uid( + EEikStatusPaneUidTitle ) ); + // if not already stored, store it for restoring + if ( !iOldTitleText ) + { + iOldTitleText = iTitlePane->Text()->AllocL(); + } + + // set new titlepane text + iTitlePane->SetTextL( iConnectionName ); + + iList = STATIC_CAST( CAknSettingStyleListBox*, + Control( KWpaMainSettingsListboxId ) ); + + iList->CreateScrollBarFrameL( ETrue ); + iList->ScrollBarFrame()->SetScrollBarVisibilityL + ( CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto ); + + HandleListboxDataChangeL(); + + iList->SetCurrentItemIndex( 0 ); + iList->SetListBoxObserver( this ); + } + + + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::DynInitMenuPaneL +// --------------------------------------------------------- +// +void CWPASecuritySettingsDlg::DynInitMenuPaneL( TInt aResourceId, + CEikMenuPane* aMenuPane ) + { + CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane ); + if ( aResourceId == R_WPA_SECURITY_SETTINGS_MENU ) + { + if ( aMenuPane && !FeatureManager::FeatureSupported( KFeatureIdHelp ) ) + { + aMenuPane->DeleteMenuItem( EAknCmdHelp ); + } + } + } + + +//---------------------------------------------------------- +// CWPASecuritySettingsDlg::FillListWithDataL +//---------------------------------------------------------- +// +void CWPASecuritySettingsDlg::FillListWithDataL( CDesCArrayFlat& aItemArray, + const TWpaMember& arr, + const TInt* aRes ) + { + TWpaMember* wpaMember = MUTABLE_CAST( TWpaMember*, &arr ); + + TInt numOfFields = iSecuritySettings->SecurityMode() == ESecurityModeWpa ? + KNumOfFieldsMain : KNumOfFieldsMain-1; + + for( TInt i = 0; i < numOfFields; i++ ) + { + // 802.1x has no WpaMode (PSK not supported) and no Wpa2Only selection + if ( iSecuritySettings->SecurityMode() == ESecurityMode8021x && + (*wpaMember == EWpaMode ||*wpaMember == EWpaWpa2Only ) ) + { + wpaMember++; + aRes++; + } + // If PSK in use, EAP plug-in configuration is not shown + if ( *wpaMember == EWpaEapConfig && iSecuritySettings->WPAMode() ) + { + wpaMember++; + aRes++; + } + + if ( *wpaMember == EWpaEapConfig ) + { + // Define a heap descriptor to hold all the item text + // HBufC is non-modifiable + HBufC* title = iEikonEnv->AllocReadResourceLC( *aRes ); + + // Define a heap descriptor to hold all the item text + HBufC* itemText = HBufC::NewLC( title->Length() + + KSpaceAndTabsLength ); + + // Define a modifiable pointer descriptor to be able to append + // text to the non-modifiable heap descriptor itemText + TPtr itemTextPtr = itemText->Des(); + itemTextPtr.Format( KTxtMenuListItemFormat, title ); + + aItemArray.AppendL( *itemText ); + + CleanupStack::PopAndDestroy( 2, title ); // itemText, title + + // If Eap in use, PreSharedKey is not shown + wpaMember++; + aRes++; + } + else // EWpaMode, EWpaPreSharedKey, EWpaWpa2Only, EWpaUnencryptedConn: + { + if (( *wpaMember != EWpaUnencryptedConn ) || + (FeatureManager::FeatureSupported( KFeatureIdFfWlanAuthenticationOnlySupport ) ) ) + { + HBufC* itemText = CreateTextualListBoxItemL( *wpaMember, *aRes ); + CleanupStack::PushL( itemText ); + aItemArray.AppendL( itemText->Des() ); + CleanupStack::PopAndDestroy( itemText ); + } + } + + wpaMember++; + aRes++; + } + } + + +//---------------------------------------------------------- +// CWPASecuritySettingsDlg::UpdateTextualListBoxItemL +//---------------------------------------------------------- +// +void CWPASecuritySettingsDlg::UpdateTextualListBoxItemL( TWpaMember aMember, + TInt aRes, TInt aPos ) + { + HBufC* itemText; + HBufC* title; + + if ( aMember == EWpaEapConfig ) + { + title = iEikonEnv->AllocReadResourceLC( aRes ); + + // Define a heap descriptor to hold all the item text + itemText = HBufC::NewLC( title->Length() + KSpaceAndTabsLength ); + + // Define a modifiable pointer descriptor to be able to append + // text to the non-modifiable heap descriptor itemText + TPtr itemTextPtr = itemText->Des(); + itemTextPtr.Format( KTxtMenuListItemFormat, title ); + } + else + { + itemText = CreateTextualListBoxItemL( aMember, aRes ); + CleanupStack::PushL( itemText ); + } + + // first try to add, if Leaves, list will be untouched + iItemArray->InsertL( aPos, itemText->Des() ); + // if successful, previous item is scrolled up with one, + // so delete that one... + if ( ++aPos < iItemArray->MdcaCount() ) + { + iItemArray->Delete( aPos ); + } + + CleanupStack::PopAndDestroy( itemText ); + + if ( aMember == EWpaEapConfig ) + { + CleanupStack::PopAndDestroy( title ); // title + } + } + + +//---------------------------------------------------------- +// CWPASecuritySettingsDlg::CreateTextualListBoxItemL +//---------------------------------------------------------- +// +HBufC* CWPASecuritySettingsDlg::CreateTextualListBoxItemL( TWpaMember aMember, + TInt aRes ) + { + // Define a heap descriptor to hold all the item text + // HBufC is non-modifiable + HBufC* title = iEikonEnv->AllocReadResourceLC( aRes ); + + // both variables needed independently of the following conditions so I + // must declare them here... + HBufC16* value; + TUint32 valueResourceID; + + switch ( aMember ) + { + case EWpaMode: + { + valueResourceID = iSecuritySettings->WPAMode() ? + R_WPA_MODE_PRESHARED_KEY : R_WPA_MODE_EAP; + break; + } + + case EWpaWpa2Only: + { + valueResourceID = iSecuritySettings->Wpa2Only() ? + R_WPA_CIPHER_NOT_ALLOWED : R_WPA_CIPHER_ALLOWED; + break; + } + + case EWpaUnencryptedConn: + { + valueResourceID = iSecuritySettings->WPAUnencryptedConn() ? + R_WPA_UNENCRYPTED_CONN_ALLOW : R_WPA_UNENCRYPTED_CONN_NOT_ALLOW; + break; + } + + case EWpaPreSharedKey: + { + valueResourceID = + iSecuritySettings->WPAPreSharedKey()->Length() == 0 ? + R_WPA_PRESHARED_KEY_MUST_BE_DEFINED : 0; + + break; + } + + default: + { + valueResourceID = 0; + break; + } + } + + _LIT( KStars, "****" ); + _LIT( KTxtListItemFormat, " \t%S\t\t%S" ); + _LIT( KTxtCompulsory, "\t*" ); + + if ( valueResourceID ) + { + // Read up value text from resource + value = iEikonEnv->AllocReadResourceLC( valueResourceID ); + } + else + { + value = HBufC::NewLC( KStars().Length() ); + value->Des().Copy( KStars ); + } + + // Define a heap descriptor to hold all the item text + // +4 for space and tab characters + TInt length = title->Length() + value->Length() + KSpaceAndTabsLength; + if ( aMember == EWpaPreSharedKey ) // Compulsory + { + length += KTxtCompulsory().Length(); + } + + HBufC* itemText = HBufC::NewLC( length ); + + // Define a modifiable pointer descriptor to be able to append text to the + // non-modifiable heap descriptor itemText + TPtr itemTextPtr = itemText->Des(); + itemTextPtr.Format( KTxtListItemFormat, title, value ); + if ( aMember == EWpaPreSharedKey ) // Compulsory + { + itemTextPtr.Append( KTxtCompulsory ); + } + CleanupStack::Pop( itemText ); // itemtext, + + CleanupStack::PopAndDestroy( 2 ); // title, value + + return itemText; + } + + + +//---------------------------------------------------------- +// CWPASecuritySettingsDlg::ShowPopupSettingPageL +//---------------------------------------------------------- +// +TBool CWPASecuritySettingsDlg::ShowPopupSettingPageL( TWpaMember aData ) + { + TInt currvalue( 0 ); + TBool retval( EFalse ); + TInt attr_resid( 0 ); + + CDesCArrayFlat* items = FillPopupSettingPageLC( aData, currvalue ); + + + if ( aData == EWpaUnencryptedConn) + { + attr_resid = R_WPA_UNENCRYPTED_CONN; + } + else + { + attr_resid = aData == EWpaMode ? R_WPA_MODE : R_WPA_TKIP_CIPHER; + } + + HBufC* titlebuf = iEikonEnv->AllocReadResourceLC( attr_resid ); + CAknRadioButtonSettingPage* dlg = new ( ELeave )CAknRadioButtonSettingPage( + R_RADIO_BUTTON_SETTING_PAGE, currvalue, items ); + CleanupStack::PushL( dlg ); + TPtrC ptr( titlebuf->Des() ); + dlg->SetSettingTextL( ptr ); + CleanupStack::Pop( dlg ); // dlg + + if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenAccepted ) ) + { + retval = UpdateFromPopupSettingPage( aData, ( TBool )currvalue ); + } + + CleanupStack::PopAndDestroy( titlebuf ); + CleanupStack::PopAndDestroy( items ); // items. It deletes also all + // elements in the array. + return retval; + } + + + +//---------------------------------------------------------- +// CWPASecuritySettingsDlg::ShowPopupTextSettingPageL +//---------------------------------------------------------- +// +TBool CWPASecuritySettingsDlg::ShowPopupTextSettingPageL() + { + TBool retval( EFalse ); + + HBufC16* bufKeyData = HBufC16::NewLC( EMaxLengthOfPreSharedKey ); + TPtr16 ptrKeyData( bufKeyData->Des() ); + + TBool showPage( ETrue ); + while ( showPage ) + { + CAknTextSettingPage* settingPage = + new( ELeave )CAknTextSettingPage( R_TEXT_SETTING_PAGE_KEY_DATA, + ptrKeyData, EAknSettingPageNoOrdinalDisplayed ); + + if ( settingPage->ExecuteLD( CAknSettingPage::EUpdateWhenAccepted ) ) + { + HBufC8* buf8 = HBufC8::NewLC( bufKeyData->Des().Length() ); + buf8->Des().Copy( bufKeyData->Des() ); + + if ( bufKeyData->Des().Length() < EMinLengthOfPreSharedKeyAscii ) + { + HBufC* stringLabel; + + stringLabel = StringLoader::LoadL( + R_INFO_PRESHARED_KEY_TOO_SHORT, + iEikonEnv ); + + CleanupStack::PushL( stringLabel ); + + CAknInformationNote* dialog = new ( ELeave ) + CAknInformationNote( ETrue ); + dialog->ExecuteLD( *stringLabel ); + + CleanupStack::PopAndDestroy( stringLabel ); // stringLabel + + ptrKeyData.Zero(); + } + else + { + if ( iSecuritySettings->SetWPAPreSharedKey( ptrKeyData ) != + KErrNone ) + { + HBufC* stringLabel; + stringLabel = StringLoader::LoadL( + R_INFO_PRESHARED_KEY_NOT_HEX ); + CleanupStack::PushL( stringLabel ); + + CAknInformationNote* dialog = new ( ELeave ) + CAknInformationNote( ETrue ); + CleanupStack::Pop( stringLabel ); + + dialog->ExecuteLD( *stringLabel ); + + delete stringLabel; + } + else + { + retval = ETrue; + showPage = EFalse; + } + + } + + CleanupStack::PopAndDestroy( buf8 ); // buf8 + } + else + { + showPage = EFalse; + } + } + + CleanupStack::PopAndDestroy( bufKeyData ); // bufKeyData + + return retval; + } + + + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::FillPopupSettingPageLC +// --------------------------------------------------------- +// +CDesCArrayFlat* CWPASecuritySettingsDlg::FillPopupSettingPageLC( + TWpaMember aData, + TInt& aCurrvalue ) + { + CDesCArrayFlat* items = new( ELeave)CDesCArrayFlat( 1 ); + CleanupStack::PushL( items ); + + if ( aData == EWpaMode ) + { + if ( iPlugin ) + { + aCurrvalue = iSecuritySettings->WPAMode(); + + items->AppendL( *iEikonEnv->AllocReadResourceLC( R_WPA_MODE_EAP ) ); + CleanupStack::PopAndDestroy(); + } + else + { + aCurrvalue = 0; + } + + items->AppendL( *iEikonEnv->AllocReadResourceLC( + R_WPA_MODE_PRESHARED_KEY ) ); + CleanupStack::PopAndDestroy(); + } + else if ( aData == EWpaWpa2Only ) + { + items->AppendL( *iEikonEnv->AllocReadResourceLC( + R_WPA_CIPHER_ALLOWED ) ); + CleanupStack::PopAndDestroy(); + items->AppendL( *iEikonEnv->AllocReadResourceLC( + R_WPA_CIPHER_NOT_ALLOWED ) ); + CleanupStack::PopAndDestroy(); + + aCurrvalue = iSecuritySettings->Wpa2Only(); + } + else // EWpaUnencryptedConn + { + items->AppendL( *iEikonEnv->AllocReadResourceLC( + R_WPA_UNENCRYPTED_CONN_NOT_ALLOW ) ); + CleanupStack::PopAndDestroy(); + items->AppendL( *iEikonEnv->AllocReadResourceLC( + R_WPA_UNENCRYPTED_CONN_ALLOW ) ); + CleanupStack::PopAndDestroy(); + + aCurrvalue = iSecuritySettings->WPAUnencryptedConn(); + } + + return items; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::UpdateFromPopupSettingPage +// --------------------------------------------------------- +// +TBool CWPASecuritySettingsDlg::UpdateFromPopupSettingPage( TWpaMember aData, + TBool aCurrvalue ) + { + TBool retVal( EFalse ); + + if ( aData == EWpaMode ) + { + if ( !iPlugin ) + { + aCurrvalue = ETrue; + } + + if ( iSecuritySettings->WPAMode() != aCurrvalue ) + { + iSecuritySettings->SetWPAMode( aCurrvalue ); + retVal = ETrue; + } + } + else if ( aData == EWpaWpa2Only ) + { + if ( iSecuritySettings->Wpa2Only() != aCurrvalue ) + { + iSecuritySettings->SetWpa2Only( aCurrvalue ); + retVal = ETrue; + } + } + else // EWpaUnencryptedConn + { + if ( iSecuritySettings->WPAUnencryptedConn() != aCurrvalue ) + { + iSecuritySettings->SetWPAUnencryptedConn( aCurrvalue ); + retVal = ETrue; + } + } + + return retVal; + } + + + + +//---------------------------------------------------------- +// CWPASecuritySettingsDlg::ChangeSettingsL +//---------------------------------------------------------- +// +void CWPASecuritySettingsDlg::ResetEapConfigFlag( TAny* aPtr ) + { + CWPASecuritySettingsDlg* self = + static_cast( aPtr ); + + self->iEapConfigActive = EFalse; + } + + +//---------------------------------------------------------- +// CWPASecuritySettingsDlg::ChangeSettingsL +//---------------------------------------------------------- +// +void CWPASecuritySettingsDlg::ChangeSettingsL( TBool aQuick ) + { + TInt itemIndex; + TInt shift; + + itemIndex = ( Max( iList->CurrentItemIndex(), 0 ) ); + + //In 802.1x the first item is EapConfig and second item is UncryptedConn + if (iSecuritySettings->SecurityMode() == ESecurityMode8021x) + { + shift = ( itemIndex == EWpaMode ) ? 1 : 3; + } + else + { + shift = ( itemIndex >= EWpaWpa2Only || + ( itemIndex == EWpaEapConfig && + iSecuritySettings->WPAMode() ) ) ? 1 : 0; + } + + TWpaMember* ptr = iFieldsMain + itemIndex + shift; + TInt* titPtr = iTitlesMain + itemIndex + shift; + + switch ( *ptr ) + { + case EWpaMode: + { // Pop-up setting item + TBool changed( ETrue ); + if ( aQuick ) + { + if ( iPlugin ) + { + iSecuritySettings->SetWPAMode( + !iSecuritySettings->WPAMode() ); + } + else + { + changed = EFalse; + } + } + else + { + changed = ShowPopupSettingPageL( EWpaMode ); + } + + if ( changed ) + { + UpdateTextualListBoxItemL( *ptr, *titPtr, itemIndex ); + *iEventStore |= CWPASecuritySettings::EModified; + + TInt shiftItem = iSecuritySettings->WPAMode() ? 2 : 1; + + ptr += shiftItem; + titPtr += shiftItem; + + UpdateTextualListBoxItemL( *ptr, *titPtr, itemIndex+1 ); + iList->SetCurrentItemIndexAndDraw( itemIndex+1 ); + } + break; + } + + case EWpaWpa2Only: + { // Setting item with two available values + TBool changed( ETrue ); + if ( aQuick ) + { + iSecuritySettings->SetWpa2Only( + !iSecuritySettings->Wpa2Only() ); + } + else + { + changed = ShowPopupSettingPageL( EWpaWpa2Only ); + } + + if ( changed ) + { + UpdateTextualListBoxItemL( *ptr, *titPtr, itemIndex ); + *iEventStore |= CWPASecuritySettings::EModified; + } + break; + } + + case EWpaUnencryptedConn: + { // Setting item with two available values + TBool changed( ETrue ); + if ( aQuick ) + { + iSecuritySettings->SetWPAUnencryptedConn( + !iSecuritySettings->WPAUnencryptedConn() ); + } + else + { + changed = ShowPopupSettingPageL( EWpaUnencryptedConn ); + } + + if ( changed ) + { + UpdateTextualListBoxItemL( *ptr, *titPtr, itemIndex ); + *iEventStore |= CWPASecuritySettings::EModified; + } + break; + } + + case EWpaPreSharedKey: + { // Text setting item + if ( ShowPopupTextSettingPageL() ) + { + UpdateTextualListBoxItemL( *ptr, *titPtr, itemIndex ); + *iEventStore |= CWPASecuritySettings::EModified; + } + break; + } + + case EWpaEapConfig: + { + if ( iPlugin && !iEapConfigActive ) + { + iEapConfigActive = ETrue; + CleanupStack::PushL( TCleanupItem( ResetEapConfigFlag, this ) ); + + + // using expanded EAP types + iEnabledPluginList = ( + iSecuritySettings->WPAEnabledEAPPlugin()? + (TDesC8&)*iSecuritySettings->WPAEnabledEAPPlugin(): + KNullDesC8 ); + + iDisabledPluginList = ( + iSecuritySettings->WPADisabledEAPPlugin()? + (TDesC8&)*iSecuritySettings->WPADisabledEAPPlugin(): + KNullDesC8 ); + + TInt buttonId = iPlugin->EAPPluginConfigurationL( + iEnabledPluginList, + iDisabledPluginList, + iIapId, + iConnectionName ); + + CleanupStack::PopAndDestroy( 1 ); // ResetEapConfigFlag + + if ( buttonId == EEikCmdExit ) // ShutDown requested + { + *iEventStore |= CWPASecuritySettings::EShutDownReq; + } + else if ( buttonId == EAknCmdExit ) + { + *iEventStore |= CWPASecuritySettings::EExitReq; + } + + if ( !iSecuritySettings->WPAEnabledEAPPlugin() || + iEnabledPluginList != + *iSecuritySettings->WPAEnabledEAPPlugin() ) + { + User::LeaveIfError( + iSecuritySettings->SetWPAEnabledEAPPlugin( + iEnabledPluginList ) ); + *iEventStore |= CWPASecuritySettings::EModified; + } + + if ( !iSecuritySettings->WPADisabledEAPPlugin() || + iDisabledPluginList != + *iSecuritySettings->WPADisabledEAPPlugin() ) + { + User::LeaveIfError( + iSecuritySettings->SetWPADisabledEAPPlugin( + iDisabledPluginList ) ); + *iEventStore |= CWPASecuritySettings::EModified; + } + + // If exiting from the menu, pass it on + if( buttonId == EAknCmdExit ) + { + if (aQuick == EFalse) + { + TryExitL( buttonId ); + } + // Don't exit here if aQuick==ETrue. + // Framework command chain will + // cause a KERN-EXEC 3 panic. Handle the exit in + // HandleDialogPageEventL(). + } + } + + return; + } + + + default: + { + __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) ); + break; + } + } + + iList->ScrollToMakeItemVisible( itemIndex ); + iList->SetCurrentItemIndexAndDraw( itemIndex ); + } + + + +// --------------------------------------------------------- +// CWPASecuritySettingsDlg::GetHelpContext +// --------------------------------------------------------- +// +void CWPASecuritySettingsDlg::GetHelpContext( TCoeHelpContext& aContext ) const + { + aContext.iMajor = KWPASecuritySettingsUiHelpMajor; + if ( iSecuritySettings->SecurityMode() == ESecurityModeWpa ) + { + aContext.iContext = KSET_HLP_WLAN_WPA_MAIN; + } + else // iSecuritySettings->SecurityMode() == ESecurityMode8021x + { + aContext.iContext = KSET_HLP_WLAN_8021X_MAIN; + } + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsImpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsImpl.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,879 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWPASecuritySettingsImpl. +* +*/ + +/* +* %version: tr1cfwln#29 % +*/ + +// INCLUDE FILES + +#include "WPASecuritySettingsUiPanic.h" + +#include "WPASecuritySettingsUI.hrh" + +#include +#include +#include +#include "WPASecuritySettingsImpl.h" + +#include +#include +#include + + +// CONSTANTS +LOCAL_D const TUint32 KUidNone = 0; // Invalid id +LOCAL_D const TUint32 E8021X = 4; // 802.1X security mode +LOCAL_D const TUint32 EWpa = 8; // Wpa security mode +LOCAL_D const TUint32 EWpa2 = 16; // Wpa2 only security mode + +LOCAL_D const TUint32 KExpEapTypeLength = 8; // expanded EAP type length + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::NewL +// --------------------------------------------------------- +// +CWPASecuritySettingsImpl* CWPASecuritySettingsImpl::NewL( + TSecurityMode aSecurityMode ) + { + CWPASecuritySettingsImpl* settings = new ( ELeave ) + CWPASecuritySettingsImpl( aSecurityMode ); + CleanupStack::PushL( settings ); + settings->ConstructL(); + CleanupStack::Pop( settings ); + return settings; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::CWPASecuritySettingsImpl +// --------------------------------------------------------- +// +CWPASecuritySettingsImpl::CWPASecuritySettingsImpl( + TSecurityMode aSecurityMode ) +: iSecurityMode( aSecurityMode ), + iWPAMode( EFalse ), + iWpa2Only( EFalse ), + iWPAUnencryptedConn( EFalse ) + { + iWPAEAPPlugin.Zero(); + iWPAPreSharedKey.Zero(); + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::ConstructL +// --------------------------------------------------------- +// +void CWPASecuritySettingsImpl::ConstructL() + { + _LIT8( KMatchString, "EAPPConfig" ); + TRAPD( err, iPlugin = CEAPPluginConfigurationIf::NewL( KMatchString ) ); + if ( err != KErrNone && err != KEComErrNoInterfaceIdentified ) + { + User::Leave( err ); + } + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::~CWPASecuritySettingsImpl +// --------------------------------------------------------- +// +CWPASecuritySettingsImpl::~CWPASecuritySettingsImpl() + { + delete iWPAEnabledEAPPlugin; + delete iWPADisabledEAPPlugin; + delete iPlugin; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::LoadL +// --------------------------------------------------------- +// +void CWPASecuritySettingsImpl::LoadL( TUint32 aIapId, + CCommsDatabase& aCommsDb ) + { + if ( aIapId == KUidNone ) + { + return; + } + + CCommsDbTableView* wLanServiceTable; + + wLanServiceTable = aCommsDb.OpenViewMatchingUintLC( + TPtrC( WLAN_SERVICE ), TPtrC( WLAN_SERVICE_ID ), aIapId ); + + TInt errorCode = wLanServiceTable->GotoFirstRecord(); + if ( errorCode == KErrNone ) + { + if ( iSecurityMode == ESecurityMode8021x ) + { + // in 802.1x PSK mode is not supported + iWPAMode = EFalse; + } + else + { + // Get WPA Mode + TRAPD( err, wLanServiceTable->ReadUintL( TPtrC( WLAN_ENABLE_WPA_PSK ), + ( TUint32& ) iWPAMode ) ); + if ( err != KErrNone ) + { // do not leave if value is not present in table... + if ( err != KErrUnknown ) + User::Leave( err ); + } + } + + TUint32 secMode = 0; + // Get WPA2 Only Mode + TRAPD( err, wLanServiceTable->ReadUintL( TPtrC( WLAN_SECURITY_MODE ), + secMode ) ); + if ( err != KErrNone ) + { // do not leave if value is not present in table... + if ( err != KErrUnknown ) + User::Leave( err ); + } + + iWpa2Only = secMode == EWpa2; + + // Get Unencrypted Connection mode for 802.1x + if ( iSecurityMode == ESecurityMode8021x ) + { + // WLAN_WPA_KEY_LENGTH is used also for Unencrypted Connection mode + TRAPD( err2, wLanServiceTable->ReadUintL( TPtrC( WLAN_WPA_KEY_LENGTH ), + ( TUint32& ) iWPAUnencryptedConn ) ); + if ( err2 != KErrNone ) + { // do not leave if value is not present in table... + if ( err2 != KErrUnknown ) + User::Leave( err2 ); + } + } + + // Get EAP list + iWPAEAPPlugin.Copy( *wLanServiceTable->ReadLongTextLC( + TPtrC( WLAN_EAPS ) ) ); + CleanupStack::PopAndDestroy(); + + if ( !iWPAEAPPlugin.Length() ) + { + // no data found in the old column, use the new ones + + // enabled EAP types + HBufC *data = wLanServiceTable->ReadLongTextLC( + TPtrC( WLAN_ENABLED_EAPS ) ); + + TPtrC8 reint( reinterpret_cast( data->Ptr() ), + data->Size() ); + + delete iWPAEnabledEAPPlugin; iWPAEnabledEAPPlugin = NULL; + iWPAEnabledEAPPlugin = reint.AllocL(); + + CleanupStack::PopAndDestroy( data ); + + + // 2. disabled EAP types + data = wLanServiceTable->ReadLongTextLC( + TPtrC( WLAN_DISABLED_EAPS ) ); + + reint.Set( reinterpret_cast( data->Ptr() ), + data->Size() ); + + delete iWPADisabledEAPPlugin; iWPADisabledEAPPlugin = NULL; + iWPADisabledEAPPlugin = reint.AllocL(); + + CleanupStack::PopAndDestroy( data ); + } + else + { + // generate appropriate entries in the new enabled and disabled list, + // overwriting those values + + // count the + and - signs to determine the size of enabled and + // disabled descriptors + TLex lex( iWPAEAPPlugin ); + + TInt numPlus = 0; + TInt numMinus = 0; + TChar ch; + while ( !lex.Eos() ) + { + ch = lex.Get(); + if ( ch == '+' ) ++numPlus; + else if ( ch == '-' ) ++numMinus; + } + + // each entry consumes 8 bytes in binary format + delete iWPAEnabledEAPPlugin; iWPAEnabledEAPPlugin = NULL; + iWPAEnabledEAPPlugin = HBufC8::NewL( 8 * numPlus ); + + delete iWPADisabledEAPPlugin; iWPADisabledEAPPlugin = NULL; + iWPADisabledEAPPlugin = HBufC8::NewL( 8 * numMinus ); + + lex.Assign( iWPAEAPPlugin ); + + while ( !lex.Eos() ) + { + // beginning of implementation UID + TInt16 implUid = 0; + + if ( lex.Val( implUid ) != KErrNone || !implUid ) + { + // if the old string is corrupted, null out both lists + iWPAEnabledEAPPlugin->Des().Zero(); + iWPADisabledEAPPlugin->Des().Zero(); + break; + } + + // append it to the appropriate list ('+' enabled, '-' disabled) + _LIT8( KPadding, "\xFE\0\0\0\0\0\0" ); + _LIT8( KMsChapV2Padding, "\xFE\xFF\xFF\xFF\0\0\0"); + const TInt KPlainMsChapV2ImplUid = 99; + + if ( implUid > 0 ) + { + iWPAEnabledEAPPlugin->Des().Append( + Abs( implUid ) == KPlainMsChapV2ImplUid? + KMsChapV2Padding: KPadding ); + iWPAEnabledEAPPlugin->Des().Append( Abs( implUid ) ); + } + else if (implUid < 0 ) + { + iWPADisabledEAPPlugin->Des().Append( + Abs( implUid ) == KPlainMsChapV2ImplUid? + KMsChapV2Padding: KPadding ); + iWPADisabledEAPPlugin->Des().Append( Abs( implUid ) ); + } + + // swallow the delimiter (',') + lex.Get(); + } + + // finally, wipe old column data + iWPAEAPPlugin.Zero(); + } + + // Get PreShared Key + if ( iSecurityMode != ESecurityMode8021x ) + { + wLanServiceTable->ReadTextL( TPtrC( WLAN_WPA_PRE_SHARED_KEY ), + iWPAPreSharedKey ); + } + + if ( !IsValidPsk( iWPAPreSharedKey ) ) + { + // invalid key format + iWPAPreSharedKey.Zero(); + } + } + + CleanupStack::PopAndDestroy( wLanServiceTable ); // wLanServiceTable + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::SaveL +// --------------------------------------------------------- +// +void CWPASecuritySettingsImpl::SaveL( TUint32 aIapId, + CCommsDatabase& aCommsDb, + TTypeOfSaving aTypeOfSaving, + TUint32 aOldIapId ) + { + CCommsDbTableView* wLanServiceTable; + + // Caller MUST initiate a transaction, WE WILL NOT. + + wLanServiceTable = aCommsDb.OpenViewMatchingUintLC( + TPtrC( WLAN_SERVICE ), TPtrC( WLAN_SERVICE_ID ), aIapId ); + TInt errorCode = wLanServiceTable->GotoFirstRecord(); + + if ( errorCode == KErrNone ) + { + wLanServiceTable->UpdateRecord(); + } + else + { + TUint32 dummyUid( KUidNone ); + User::LeaveIfError( wLanServiceTable->InsertRecord( dummyUid ) ); + + // Save link to LAN service + wLanServiceTable->WriteUintL( TPtrC( WLAN_SERVICE_ID ), aIapId ); + } + + // Save WPA Mode + if ( iSecurityMode != ESecurityMode8021x ) + { + wLanServiceTable->WriteUintL( TPtrC( WLAN_ENABLE_WPA_PSK ), + ( TUint32& ) iWPAMode ); + } + + TUint32 secMode; + + if ( iSecurityMode == ESecurityMode8021x ) + { + secMode = E8021X; + } + else if ( iWpa2Only ) + { + secMode = EWpa2; + } + else + { + secMode = EWpa; + } + + // Save security mode + wLanServiceTable->WriteUintL( TPtrC( WLAN_SECURITY_MODE ), secMode ); + + // With expanded EAP types allowed we no longer need the old column + iWPAEAPPlugin.Zero(); + + // Save EAP list + wLanServiceTable->WriteLongTextL( TPtrC( WLAN_EAPS ), iWPAEAPPlugin ); + + + // Save the expanded EAPs + wLanServiceTable->WriteTextL( TPtrC( WLAN_ENABLED_EAPS ), + iWPAEnabledEAPPlugin? + (const TDesC8&)*iWPAEnabledEAPPlugin: + (const TDesC8&)KNullDesC8 ); + + wLanServiceTable->WriteTextL( TPtrC( WLAN_DISABLED_EAPS ), + iWPADisabledEAPPlugin? + (const TDesC8&)*iWPADisabledEAPPlugin: + (const TDesC8&)KNullDesC8 ); + + + + if ( iSecurityMode == ESecurityMode8021x ) + { + // In 802.1x WpaKeyLength is not used + // and the field is reused to save UnencryptedConn mode + wLanServiceTable->WriteUintL( TPtrC( WLAN_WPA_KEY_LENGTH ), + ( TUint32& ) iWPAUnencryptedConn ); + } + else + { + // Save PreShared Key + wLanServiceTable->WriteTextL( TPtrC( WLAN_WPA_PRE_SHARED_KEY ), + iWPAPreSharedKey ); + + // Save PreShared Key Length + wLanServiceTable->WriteUintL( TPtrC( WLAN_WPA_KEY_LENGTH ), + iWPAPreSharedKey.Length() ); + } + + wLanServiceTable->PutRecordChanges(); + + if ( iPlugin ) + { + if ( aTypeOfSaving == ESavingBrandNewAP ) + { + iPlugin->ChangeIapIDL( aOldIapId, aIapId ); + } + else if ( aTypeOfSaving == ESavingNewAPAsACopy ) + { + iPlugin->CopySettingsL( aOldIapId, aIapId ); + } + } + + CleanupStack::PopAndDestroy( wLanServiceTable ); // wLanServiceTable + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::DeleteL +// --------------------------------------------------------- +// +void CWPASecuritySettingsImpl::DeleteL( TUint32 aIapId ) + { + if ( iPlugin ) + { + iPlugin->DeleteSettingsL( aIapId ); + } + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::IsValid +// --------------------------------------------------------- +// +TBool CWPASecuritySettingsImpl::IsValid() + { + TBool retval = ETrue; + if ( iWPAMode || !iPlugin ) + { + retval = IsValidPsk( iWPAPreSharedKey ); + } + + return retval; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::IsValidPsk +// --------------------------------------------------------- +// +TBool CWPASecuritySettingsImpl::IsValidPsk( const TDesC8& aPsk ) + { + TBool ret( EFalse ); + + TInt len = aPsk.Length(); + + ret = ( len >= EMinLengthOfPreSharedKeyAscii && + len <= EMaxLengthOfPreSharedKeyAscii ); + + if ( !ret && len == ELengthOfPreSharedKeyHex ) + { + // perhaps it is hex + ret = ETrue; + + for ( TInt i = 0; i < len; ++i ) + { + TChar ch( aPsk[i] ); + if ( !ch.IsHexDigit() ) + { + // got a bad character + ret = EFalse; + break; + } + } + } + + return ret; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::SetWPAPreSharedKey +// --------------------------------------------------------- +// +TInt CWPASecuritySettingsImpl::SetWPAPreSharedKey( + const TDesC& aPreSharedKey ) + { + TInt ret( KErrNone ); + + HBufC8* buf8 = HBufC8::New( aPreSharedKey.Length() ); + + if ( buf8 ) + { + TPtr8 pskPtr( buf8->Des() ); + pskPtr.Copy( aPreSharedKey ); + + if ( IsValidPsk( pskPtr ) ) + { + SetWPAPreSharedKey( pskPtr ); + SetWPAMode( ETrue ); + } + else + { + ret = KErrArgument; + } + + delete buf8; + } + else + { + ret = KErrNoMemory; + } + + return ret; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::SetWPAEnabledEAPPlugin +// --------------------------------------------------------- +// +TInt CWPASecuritySettingsImpl::SetWPAEnabledEAPPlugin( + const TDesC8& aEnabledPluginList ) + { + delete iWPAEnabledEAPPlugin; iWPAEnabledEAPPlugin = NULL; + + if ( aEnabledPluginList.Length() % KExpEapTypeLength ) + { + // valid expanded EAP types occupy 8 bytes each + return KErrArgument; + } + + if ( aEnabledPluginList.Length() ) + { + iWPAEnabledEAPPlugin = aEnabledPluginList.Alloc(); + if ( !iWPAEnabledEAPPlugin ) + { + return KErrNoMemory; + } + } + + return KErrNone; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::SetWPADisabledEAPPlugin +// --------------------------------------------------------- +// +TInt CWPASecuritySettingsImpl::SetWPADisabledEAPPlugin( + const TDesC8& aDisabledPluginList ) + { + delete iWPADisabledEAPPlugin; iWPADisabledEAPPlugin = NULL; + + if ( aDisabledPluginList.Length() % KExpEapTypeLength ) + { + // valid expanded EAP types occupy 8 bytes each + return KErrArgument; + } + + if ( aDisabledPluginList.Length() ) + { + iWPADisabledEAPPlugin = aDisabledPluginList.Alloc(); + if ( !iWPADisabledEAPPlugin ) + { + return KErrNoMemory; + } + } + + return KErrNone; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::LoadL +// --------------------------------------------------------- +// +void CWPASecuritySettingsImpl::LoadL( TUint32 aIapId, + CMDBSession& aSession ) + { + if ( aIapId == KUidNone ) + { + return; + } + + // Load WLAN service table + // first get WLAN table id + CMDBGenericRecord* generic = static_cast + ( CCDRecordBase::RecordFactoryL( 0 ) ); + CleanupStack::PushL( generic ); + generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL ); + generic->LoadL( aSession ); + TMDBElementId wlanTableId = generic->TableId(); + + CMDBField* sidField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanServiceId ) ); + + // prime with service id + *sidField = aIapId; + + if( generic->FindL( aSession) ) + { + if ( iSecurityMode == ESecurityMode8021x ) + { + // in 802.1x PSK mode is not supported + iWPAMode = EFalse; + } + else + { + // Get WPA mode + CMDBField* enableWpaPskField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanEnableWpaPsk ) ); + iWPAMode = *enableWpaPskField; + } + + // Get WPA2 Only Mode + CMDBField* secModeField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanSecMode ) ); + TUint32 secMode = *secModeField; + iWpa2Only = secMode == EWpa2; + + // Get 802.1x Unencrypted Connection saved in reused WpaKeyLengthField + if ( iSecurityMode == ESecurityMode8021x ) + { + CMDBField* WpaKeyLengthField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanWpaKeyLength ) ); + iWPAUnencryptedConn = *WpaKeyLengthField; + } + + // Get EAP plugins + CMDBField* wlanEapsField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanEaps ) ); + iWPAEAPPlugin = *wlanEapsField; + + if ( !iWPAEAPPlugin.Length() ) + { + // no data found in the old column, use the new ones + + // enabled EAP types + CMDBField* wlanEnabledEapsField = + static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanEnabledEaps ) ); + + delete iWPAEnabledEAPPlugin; iWPAEnabledEAPPlugin = NULL; + iWPAEnabledEAPPlugin = + ( ( const TDesC8& ) *wlanEnabledEapsField ).AllocL(); + + + // disabled EAP types + CMDBField* wlanDisabledEapsField = + static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanDisabledEaps ) ); + + delete iWPADisabledEAPPlugin; iWPADisabledEAPPlugin = NULL; + iWPADisabledEAPPlugin = + ( ( const TDesC8& ) *wlanDisabledEapsField ).AllocL(); + + } + else + { + // generate appropriate entries in the new enabled and disabled list, + // overwriting those values + + // count the + and - signs to determine the size of enabled and + // disabled descriptors + TLex lex( iWPAEAPPlugin ); + + TInt numPlus = 0; + TInt numMinus = 0; + TChar ch; + while ( !lex.Eos() ) + { + ch = lex.Get(); + if ( ch == '+' ) ++numPlus; + else if ( ch == '-' ) ++numMinus; + } + + // each entry consumes 8 bytes in binary format + delete iWPAEnabledEAPPlugin; iWPAEnabledEAPPlugin = NULL; + iWPAEnabledEAPPlugin = HBufC8::NewL( 8 * numPlus ); + + delete iWPADisabledEAPPlugin; iWPADisabledEAPPlugin = NULL; + iWPADisabledEAPPlugin = HBufC8::NewL( 8 * numMinus ); + + lex.Assign( iWPAEAPPlugin ); + + while ( !lex.Eos() ) + { + // beginning of implementation UID + TInt16 implUid = 0; + + if ( lex.Val( implUid ) != KErrNone || !implUid ) + { + // if the old string is corrupted, null out both lists + iWPAEnabledEAPPlugin->Des().Zero(); + iWPADisabledEAPPlugin->Des().Zero(); + break; + } + + // append it to the appropriate list ('+' enabled, '-' disabled) + _LIT8( KPadding, "\xFE\0\0\0\0\0\0" ); + _LIT8( KMsChapV2Padding, "\xFE\xFF\xFF\xFF\0\0\0"); + const TInt KPlainMsChapV2ImplUid = 99; + + if ( implUid > 0 ) + { + iWPAEnabledEAPPlugin->Des().Append( + Abs( implUid ) == KPlainMsChapV2ImplUid? + KMsChapV2Padding: KPadding ); + iWPAEnabledEAPPlugin->Des().Append( Abs( implUid ) ); + } + else if (implUid < 0 ) + { + iWPADisabledEAPPlugin->Des().Append( + Abs( implUid ) == KPlainMsChapV2ImplUid? + KMsChapV2Padding: KPadding ); + iWPADisabledEAPPlugin->Des().Append( Abs( implUid ) ); + } + + // swallow the delimiter (',') + lex.Get(); + } + + // finally, wipe old column data + iWPAEAPPlugin.Zero(); + } + + // GetWPA preshared key + if ( iSecurityMode != ESecurityMode8021x ) + { + CMDBField* wpaPskField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanWpaPreSharedKey ) ); + iWPAPreSharedKey = *wpaPskField; + } + + if ( !IsValidPsk( iWPAPreSharedKey ) ) + { + // invalid key format + iWPAPreSharedKey.Zero(); + } + } + + CleanupStack::PopAndDestroy( generic ); + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsImpl::SaveL +// --------------------------------------------------------- +// +void CWPASecuritySettingsImpl::SaveL( TUint32 aIapId, + CMDBSession& aSession, + TTypeOfSaving aTypeOfSaving, + TUint32 aOldIapId ) + { + const TInt KRetryWait = 100000; // Wait time between retries in TTimeIntervalMicroSeconds32 + const TInt KRetryCount = 50; // Max retry count + + // Load WLAN service table + // first get WLAN table id + CMDBGenericRecord* generic = static_cast + ( CCDRecordBase::RecordFactoryL( 0 ) ); + CleanupStack::PushL( generic ); + generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL ); + generic->LoadL( aSession ); + TMDBElementId wlanTableId = generic->TableId(); + + CMDBField* sidField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanServiceId ) ); + + // prime with service id + *sidField = aIapId; + + TBool found = generic->FindL( aSession); + + // If loading failed, WLAN service record will be + // created and StoreL()-d, otherwise, ModifyL() + + if ( iSecurityMode != ESecurityMode8021x ) + { + // Set WPA mode + CMDBField* enableWpaPskField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanEnableWpaPsk ) ); + enableWpaPskField->SetL( iWPAMode ); + } + + // Set security mode + TUint32 secMode; + if ( iSecurityMode == ESecurityMode8021x ) + { + secMode = E8021X; + } + else if ( iWpa2Only ) + { + secMode = EWpa2; + } + else + { + secMode = EWpa; + } + CMDBField* secModeField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanSecMode ) ); + secModeField->SetL( secMode ); + + // Save EAP list + CMDBField* wlanEapsField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanEaps ) ); + + // when using the expanded EAP types, wipe out data in the old column + iWPAEAPPlugin.Zero(); + + wlanEapsField->SetL( iWPAEAPPlugin ); + + // Save the expanded EAPs + CMDBField* wlanEnabledEapsField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanEnabledEaps ) ); + wlanEnabledEapsField->SetL( iWPAEnabledEAPPlugin? + (const TDesC8&)*iWPAEnabledEAPPlugin: + (const TDesC8&)KNullDesC8 ); + + + CMDBField* wlanDisabledEapsField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanDisabledEaps ) ); + wlanDisabledEapsField->SetL( iWPADisabledEAPPlugin? + (const TDesC8&)*iWPADisabledEAPPlugin: + (const TDesC8&)KNullDesC8 ); + + // Save PreShared Key length + CMDBField* keyLengthField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanWpaKeyLength ) ); + if ( iSecurityMode == ESecurityMode8021x ) + { + // In 802.1x keyLengthField is reused to contain Unencrypted Connection info + keyLengthField->SetL( iWPAUnencryptedConn ); + } + else + { + keyLengthField->SetL( iWPAPreSharedKey.Length() ); + + // Save PreShared Key + CMDBField* wpaPskField = static_cast*> + ( generic->GetFieldByIdL( KCDTIdWlanWpaPreSharedKey ) ); + wpaPskField->SetL( iWPAPreSharedKey ); + } + + TInt error( KErrNone ); + + // Saving changes + for ( TInt i( 0 ); i < KRetryCount; i++ ) + { + + // If table existed modify it + if( found ) + { + TRAP( error, generic->ModifyL( aSession ) ); + } + + // Otherwise store a new record + else + { + generic->SetRecordId( KCDNewRecordRequest ); + TRAP( error, generic->StoreL( aSession ) ); + } + + // If operation failed with KErrLocked, we'll retry. + if ( KErrLocked == error ) + { + User::After( KRetryWait ); + } + + // Otherwise break the retry loop. + else + { + break; + } + } + + // If the save operation failed, leave now. + User::LeaveIfError( error ); + + CleanupStack::PopAndDestroy( generic ); + + if ( iPlugin ) + { + if ( aTypeOfSaving == ESavingBrandNewAP ) + { + iPlugin->ChangeIapIDL( aOldIapId, aIapId ); + } + else if ( aTypeOfSaving == ESavingNewAPAsACopy ) + { + iPlugin->CopySettingsL( aOldIapId, aIapId ); + } + } + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUI.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUI.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,68 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWPASecuritySettingsUi. +* +*/ + +/* +* %version: tr1cfwln#10 % +*/ + +// INCLUDE FILES +#include "WPASecuritySettingsUiImpl.h" + +#include + + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWPASecuritySettingsUi::NewLC +// --------------------------------------------------------- +// +EXPORT_C CWPASecuritySettingsUi* CWPASecuritySettingsUi::NewL( + CEikonEnv& aEikEnv ) + { + CWPASecuritySettingsUi* secSett = new( ELeave )CWPASecuritySettingsUi; + CleanupStack::PushL( secSett ); + secSett->iImpl = CWPASecuritySettingsUiImpl::NewL( aEikEnv ); + CleanupStack::Pop( secSett ); // secSett + return secSett; + } + + + +// --------------------------------------------------------- +// CWPASecuritySettingsUi::~CWPASecuritySettingsUi +// --------------------------------------------------------- +// +EXPORT_C CWPASecuritySettingsUi::~CWPASecuritySettingsUi() + { + delete iImpl; + } + + + +// --------------------------------------------------------- +// CWPASecuritySettingsUi::Cvt() +// --------------------------------------------------------- +// +EXPORT_C TInt CWPASecuritySettingsUi::Cvt() + { + return KErrNone; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUiImpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUiImpl.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,118 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of class CWPASecuritySettingsUiImpl. +* +*/ + +/* +* %version: tr1cfwln#11 % +*/ + +// INCLUDE FILES +#include "WPASecuritySettingsUiImpl.h" +#include "WPASecuritySettingsDlg.h" +#include "WPASecuritySettingsImpl.h" + +#include +#include + +#include + + +// CONSTANTS +_LIT( KDriveZ, "z:" ); // ROM folder +_LIT( KResourceFileName, "WPASecuritySettingsUI.rsc" ); // RSC file name. + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWPASecuritySettingsUiImpl::NewL +// --------------------------------------------------------- +// +CWPASecuritySettingsUiImpl* CWPASecuritySettingsUiImpl::NewL( + CEikonEnv& aEikEnv ) + { + CWPASecuritySettingsUiImpl* uiImpl = + new( ELeave ) CWPASecuritySettingsUiImpl( aEikEnv ); + CleanupStack::PushL( uiImpl ); + uiImpl->ConstructL(); + CleanupStack::Pop( uiImpl ); // uiImpl + return uiImpl; + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsUiImpl::CWPASecuritySettingsUiImpl +// --------------------------------------------------------- +// +CWPASecuritySettingsUiImpl::CWPASecuritySettingsUiImpl( CEikonEnv& aEikEnv ) +: iEventStore( ENone ), + iEikEnv( &aEikEnv ) + { + } + + +// --------------------------------------------------------- +// CWPASecuritySettingsUiImpl::~CWPASecuritySettingsUiImpl +// --------------------------------------------------------- +// +CWPASecuritySettingsUiImpl::~CWPASecuritySettingsUiImpl() + { + if ( iResOffset ) + { + iEikEnv->DeleteResourceFile( iResOffset ); + } + } + + + +// --------------------------------------------------------- +// CWPASecuritySettingsUiImpl::ConstructL +// --------------------------------------------------------- +// +void CWPASecuritySettingsUiImpl::ConstructL() + { + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KResourceFileName ); + + BaflUtils::NearestLanguageFile( iEikEnv->FsSession(), fileName ); + iResOffset = iEikEnv->AddResourceFileL( fileName ); + } + + + +// --------------------------------------------------------- +// CWPASecuritySettingsUiImpl::EditL +// --------------------------------------------------------- +// +TInt CWPASecuritySettingsUiImpl::EditL( CWPASecuritySettingsImpl& aSettings, + const TDesC& aTitle ) + { + iEventStore = ENone; + + CWPASecuritySettingsDlg* secSettDlg = + CWPASecuritySettingsDlg::NewL( iEventStore, + aSettings.IapId(), + aSettings.Plugin() ); + secSettDlg->ConstructAndRunLD( &aSettings, aTitle ); + + return iEventStore; + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUiPanic.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUiPanic.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,42 @@ +/* +* Copyright (c) 2001-2009 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: Implementation of panic function. +* +*/ + +/* +* %version: tr1cfwln#8 % +*/ + +// INCLUDE FILES + +#include "WPASecuritySettingsUiPanic.h" + +#include + + +// ================= LOCAL FUNCTIONS ======================= + +// --------------------------------------------------------- +// Panic() +// --------------------------------------------------------- +// +void Panic( TWpaSecuritySettingsPanicCodes aPanic ) + { + _LIT( kWpaSet, "WPASecuritySettingsUi" ); + User::Panic( kWpaSet, aPanic ); + } + + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/src/wpasecuritysettingsstub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/src/wpasecuritysettingsstub.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,156 @@ +/* +* Copyright (c) 2001-2009 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: Stub implementation of class CWPASecuritySettings for +* non-WLAN products to support linking +* +*/ + +/* +* %version: 2 % +*/ + +// INCLUDE FILES +#include + + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWPASecuritySettings::NewL +// --------------------------------------------------------- +// +EXPORT_C CWPASecuritySettings* CWPASecuritySettings::NewL( + TSecurityMode /*aSecurityMode*/ ) + { + User::Leave(KErrNotSupported); + return NULL; + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::~CWPASecuritySettings +// --------------------------------------------------------- +// +EXPORT_C CWPASecuritySettings::~CWPASecuritySettings() + { + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::LoadL +// --------------------------------------------------------- +// +EXPORT_C void CWPASecuritySettings::LoadL( TUint32 /*aIapId*/, + CCommsDatabase& /*aCommsDb*/ ) + { + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::SaveL +// --------------------------------------------------------- +// +EXPORT_C void CWPASecuritySettings::SaveL( TUint32 /*aIapId*/, + CCommsDatabase& /*aCommsDb*/, + TTypeOfSaving /*aTypeOfSaving*/, + TUint32 /*aOldIapId*/ ) const + { + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::EditL +// --------------------------------------------------------- +// +EXPORT_C TInt CWPASecuritySettings::EditL( CWPASecuritySettingsUi& /*aUi*/, + const TDesC& /*aTitle*/ ) + { + return KErrNotSupported; + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::DeleteL +// --------------------------------------------------------- +// +EXPORT_C void CWPASecuritySettings::DeleteL( TUint32 /*aIapId*/ ) const + { + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::IsValid +// --------------------------------------------------------- +// +EXPORT_C TBool CWPASecuritySettings::IsValid() const + { + return EFalse; + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::SetWPAPreSharedKey +// --------------------------------------------------------- +// +EXPORT_C TInt CWPASecuritySettings::SetWPAPreSharedKey( + const TDesC& /*aPreSharedKey*/ ) + { + return KErrNotSupported; + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::LoadL +// --------------------------------------------------------- +// +EXPORT_C void CWPASecuritySettings::LoadL( TUint32 /*aIapId*/, + CMDBSession& /*aSession*/ ) + { + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::SaveL +// --------------------------------------------------------- +// +EXPORT_C void CWPASecuritySettings::SaveL( TUint32 /*aIapId*/, + CMDBSession& /*aSession*/, + TTypeOfSaving /*aTypeOfSaving*/, + TUint32 /*aOldIapId*/ ) const + { + } + + +// --------------------------------------------------------- +// CWPASecuritySettings::SaveL +// --------------------------------------------------------- +// +EXPORT_C TInt CWPASecuritySettings::SetWPAEnabledEAPPlugin( + const TDesC8& /*aEnabledPluginList*/ ) + { + return KErrNotSupported; + } + +// --------------------------------------------------------- +// CWPASecuritySettings::SaveL +// --------------------------------------------------------- +// +EXPORT_C TInt CWPASecuritySettings::SetWPADisabledEAPPlugin( + const TDesC8& /*aDisabledPluginList*/ ) + { + return KErrNotSupported; + } + +// End of File diff -r bad0cc58d154 -r c74b3d9f6b9e wlansecuritysettings/wpasecuritysettingsui/src/wpasecuritysettingsuistub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlansecuritysettings/wpasecuritysettingsui/src/wpasecuritysettingsuistub.cpp Wed Sep 01 12:23:57 2010 +0100 @@ -0,0 +1,61 @@ +/* +* Copyright (c) 2001-2009 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: Stub implementation of class CWPASecuritySettingsUi for +* non-WLAN products to support linking +* +*/ + +/* +* %version: 2 % +*/ + +// INCLUDE FILES +#include + + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CWPASecuritySettingsUi::NewLC +// --------------------------------------------------------- +// +EXPORT_C CWPASecuritySettingsUi* CWPASecuritySettingsUi::NewL( + CEikonEnv& /*aEikEnv*/ ) + { + User::Leave(KErrNotSupported); + return NULL; + } + + + +// --------------------------------------------------------- +// CWPASecuritySettingsUi::~CWPASecuritySettingsUi +// --------------------------------------------------------- +// +EXPORT_C CWPASecuritySettingsUi::~CWPASecuritySettingsUi() + { + } + + + +// --------------------------------------------------------- +// CWPASecuritySettingsUi::Cvt() +// --------------------------------------------------------- +// +EXPORT_C TInt CWPASecuritySettingsUi::Cvt() + { + return KErrNotSupported; + } +// End of File